Changeset 1340 for palm/trunk/SOURCE/diffusion_v.f90
- Timestamp:
- Mar 25, 2014 7:45:13 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/diffusion_v.f90
r1321 r1340 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! REAL constants defined as wp-kind 23 23 ! 24 24 ! Former revisions: … … 129 129 ! 130 130 !-- Interpolate eddy diffusivities on staggered gridpoints 131 kmxp = 0.25 * &131 kmxp = 0.25_wp * & 132 132 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 133 kmxm = 0.25 * &133 kmxm = 0.25_wp * & 134 134 ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 135 135 … … 140 140 & - kmxm * ( u(k,j,i) - u(k,j-1,i) ) * ddy & 141 141 & ) * ddx & 142 & + 2.0 * (&142 & + 2.0_wp * ( & 143 143 & km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 144 144 & - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 145 & ) * ddy2145 & ) * ddy2 146 146 ENDDO 147 147 148 148 ! 149 149 !-- Wall functions at the left and right walls, respectively 150 IF ( wall_v(j,i) /= 0.0 ) THEN150 IF ( wall_v(j,i) /= 0.0_wp ) THEN 151 151 152 152 DO k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i) 153 kmxp = 0.25 *&153 kmxp = 0.25_wp * & 154 154 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 155 kmxm = 0.25 *&155 kmxm = 0.25_wp * & 156 156 ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 157 157 158 158 tend(k,j,i) = tend(k,j,i) & 159 + 2.0 * (&159 + 2.0_wp * ( & 160 160 km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 161 161 - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 162 ) * ddy2&162 ) * ddy2 & 163 163 + ( fxp(j,i) * ( & 164 164 kmxp * ( v(k,j,i+1) - v(k,j,i) ) * ddx & … … 180 180 ! 181 181 !-- Interpolate eddy diffusivities on staggered gridpoints 182 kmzp = 0.25 * &182 kmzp = 0.25_wp * & 183 183 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 184 kmzm = 0.25 * &184 kmzm = 0.25_wp * & 185 185 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 186 186 … … 209 209 ! 210 210 !-- Interpolate eddy diffusivities on staggered gridpoints 211 kmzp = 0.25 *&211 kmzp = 0.25_wp * & 212 212 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 213 kmzm = 0.25 *&213 kmzm = 0.25_wp * & 214 214 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 215 215 … … 229 229 ! 230 230 !-- Interpolate eddy diffusivities on staggered gridpoints 231 kmzp = 0.25 *&231 kmzp = 0.25_wp * & 232 232 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 233 kmzm = 0.25 *&233 kmzm = 0.25_wp * & 234 234 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 235 235 … … 301 301 ! 302 302 !-- Interpolate eddy diffusivities on staggered gridpoints 303 kmxp = 0.25 *&303 kmxp = 0.25_wp * & 304 304 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 305 kmxm = 0.25 *&305 kmxm = 0.25_wp * & 306 306 ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 307 307 … … 312 312 & - kmxm * ( u(k,j,i) - u(k,j-1,i) ) * ddy & 313 313 & ) * ddx & 314 & + 2.0 * (&314 & + 2.0_wp * ( & 315 315 & km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 316 316 & - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 317 & ) * ddy2317 & ) * ddy2 318 318 ENDIF 319 319 ENDDO … … 323 323 DO k = 1, nzt 324 324 IF( k > nzb_v_inner(j,i) .AND. k <= nzb_v_outer(j,i) .AND. & 325 wall_v(j,i) /= 0.0 ) THEN326 327 kmxp = 0.25 *&325 wall_v(j,i) /= 0.0_wp ) THEN 326 327 kmxp = 0.25_wp * & 328 328 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 329 kmxm = 0.25 *&329 kmxm = 0.25_wp * & 330 330 ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 331 331 332 332 tend(k,j,i) = tend(k,j,i) & 333 + 2.0 * (&333 + 2.0_wp * ( & 334 334 km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 335 335 - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 336 ) * ddy2&336 ) * ddy2 & 337 337 + ( fxp(j,i) * ( & 338 338 kmxp * ( v(k,j,i+1) - v(k,j,i) ) * ddx & … … 355 355 ! 356 356 !-- Interpolate eddy diffusivities on staggered gridpoints 357 kmzp = 0.25 *&357 kmzp = 0.25_wp * & 358 358 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 359 kmzm = 0.25 *&359 kmzm = 0.25_wp * & 360 360 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 361 361 … … 392 392 ! 393 393 !-- Interpolate eddy diffusivities on staggered gridpoints 394 kmzp = 0.25 *&394 kmzp = 0.25_wp * & 395 395 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 396 kmzm = 0.25 *&396 kmzm = 0.25_wp * & 397 397 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 398 398 … … 420 420 ! 421 421 !-- Interpolate eddy diffusivities on staggered gridpoints 422 kmzp = 0.25 *&422 kmzp = 0.25_wp * & 423 423 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 424 kmzm = 0.25 *&424 kmzm = 0.25_wp * & 425 425 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 426 426 … … 476 476 ! 477 477 !-- Interpolate eddy diffusivities on staggered gridpoints 478 kmxp = 0.25 * ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) )479 kmxm = 0.25 * ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) )478 kmxp = 0.25_wp * ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 479 kmxm = 0.25_wp * ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 480 480 481 481 tend(k,j,i) = tend(k,j,i) & … … 485 485 & - kmxm * ( u(k,j,i) - u(k,j-1,i) ) * ddy & 486 486 & ) * ddx & 487 & + 2.0 * (&487 & + 2.0_wp * ( & 488 488 & km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 489 489 & - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 490 & ) * ddy2490 & ) * ddy2 491 491 ENDDO 492 492 493 493 ! 494 494 !-- Wall functions at the left and right walls, respectively 495 IF ( wall_v(j,i) /= 0.0 ) THEN495 IF ( wall_v(j,i) /= 0.0_wp ) THEN 496 496 497 497 ! … … 501 501 502 502 DO k = nzb_v_inner(j,i)+1, nzb_v_outer(j,i) 503 kmxp = 0.25 *&503 kmxp = 0.25_wp * & 504 504 ( km(k,j,i)+km(k,j,i+1)+km(k,j-1,i)+km(k,j-1,i+1) ) 505 kmxm = 0.25 *&505 kmxm = 0.25_wp * & 506 506 ( km(k,j,i)+km(k,j,i-1)+km(k,j-1,i)+km(k,j-1,i-1) ) 507 507 508 508 tend(k,j,i) = tend(k,j,i) & 509 + 2.0 * (&509 + 2.0_wp * ( & 510 510 km(k,j,i) * ( v(k,j+1,i) - v(k,j,i) ) & 511 511 - km(k,j-1,i) * ( v(k,j,i) - v(k,j-1,i) ) & 512 ) * ddy2&512 ) * ddy2 & 513 513 + ( fxp(j,i) * ( & 514 514 kmxp * ( v(k,j,i+1) - v(k,j,i) ) * ddx & … … 530 530 ! 531 531 !-- Interpolate eddy diffusivities on staggered gridpoints 532 kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )533 kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )532 kmzp = 0.25_wp * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 533 kmzm = 0.25_wp * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 534 534 535 535 tend(k,j,i) = tend(k,j,i) & … … 557 557 ! 558 558 !-- Interpolate eddy diffusivities on staggered gridpoints 559 kmzp = 0.25 * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )560 kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) )559 kmzp = 0.25_wp * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 560 kmzm = 0.25_wp * ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 561 561 562 562 tend(k,j,i) = tend(k,j,i) & … … 575 575 ! 576 576 !-- Interpolate eddy diffusivities on staggered gridpoints 577 kmzp = 0.25 * &577 kmzp = 0.25_wp * & 578 578 ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) ) 579 kmzm = 0.25 * &579 kmzm = 0.25_wp * & 580 580 ( km(k,j,i)+km(k-1,j,i)+km(k,j-1,i)+km(k-1,j-1,i) ) 581 581
Note: See TracChangeset
for help on using the changeset viewer.