Changeset 51 for palm/trunk/SOURCE/diffusion_v.f90
- Timestamp:
- Mar 7, 2007 8:38:00 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/diffusion_v.f90
r39 r51 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! wall functions now include diabatic conditions, call of routine wall_fluxes 7 7 ! 8 8 ! Former revisions: … … 55 55 56 56 INTEGER :: i, j, k 57 REAL :: kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp , vsus57 REAL :: kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp 58 58 REAL :: ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1) 59 59 REAL :: z0(nys-1:nyn+1,nxl-1:nxr+1) 60 60 REAL :: tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) 61 REAL, DIMENSION(nzb:nzt+1) :: vsus 61 62 REAL, DIMENSION(:,:), POINTER :: vsws 62 63 REAL, DIMENSION(:,:,:), POINTER :: km, u, v, w … … 100 101 !-- Wall functions at the left and right walls, respectively 101 102 IF ( wall_v(j,i) /= 0.0 ) THEN 103 104 ! 105 !-- Calculate the horizontal momentum flux v'u' 106 CALL wall_fluxes( i, j, nzb_v_inner(j,i)+1, nzb_v_outer(j,i), & 107 vsus, 0.0, 1.0, 0.0, 0.0 ) 108 102 109 DO k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i) 103 vsus = kappa * v(k,j,i) / LOG( 0.5 * dx / z0(j,i))104 vsus = -vsus * ABS( vsus )105 110 kmxp_x = 0.25 * & 106 111 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) … … 132 137 + kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy & 133 138 ) & 134 + wall_v(j,i) * vsus 139 + wall_v(j,i) * vsus(k) & 135 140 ) * ddx 136 141 ENDDO … … 204 209 205 210 INTEGER :: i, j, k 206 REAL :: kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp , vsus211 REAL :: kmxm_x, kmxm_y, kmxp_x, kmxp_y, kmzm, kmzp 207 212 REAL :: ddzu(1:nzt+1), ddzw(1:nzt+1), km_damp_x(nxl-1:nxr+1) 208 213 REAL :: z0(nys-1:nyn+1,nxl-1:nxr+1) 209 214 REAL :: tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) 215 REAL, DIMENSION(nzb:nzt+1) :: vsus 210 216 REAL, DIMENSION(:,:), POINTER :: vsws 211 217 REAL, DIMENSION(:,:,:), POINTER :: km, u, v, w … … 245 251 !-- Wall functions at the left and right walls, respectively 246 252 IF ( wall_v(j,i) /= 0.0 ) THEN 253 254 ! 255 !-- Calculate the horizontal momentum flux v'u' 256 CALL wall_fluxes( i, j, nzb_v_inner(j,i)+1, nzb_v_outer(j,i), & 257 vsus, 0.0, 1.0, 0.0, 0.0 ) 258 247 259 DO k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i) 248 vsus = kappa * v(k,j,i) / LOG( 0.5 * dx / z0(j,i))249 vsus = -vsus * ABS( vsus )250 260 kmxp_x = 0.25 * & 251 261 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) … … 277 287 + kmxm_y * ( u(k,j,i) - u(k,j-1,i) ) * ddy & 278 288 ) & 279 + wall_v(j,i) * vsus 289 + wall_v(j,i) * vsus(k) & 280 290 ) * ddx 281 291 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.