Changeset 1340 for palm/trunk/SOURCE/diffusion_u.f90
- Timestamp:
- Mar 25, 2014 7:45:13 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/diffusion_u.f90
r1321 r1340 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! REAL constants defined as wp-kind 23 23 ! 24 24 ! Former revisions: … … 131 131 ! 132 132 !-- Interpolate eddy diffusivities on staggered gridpoints 133 kmyp = 0.25 *&133 kmyp = 0.25_wp * & 134 134 ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 135 kmym = 0.25 *&135 kmym = 0.25_wp * & 136 136 ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) ) 137 137 138 138 tend(k,j,i) = tend(k,j,i) & 139 & + 2.0 * (&139 & + 2.0_wp * ( & 140 140 & km(k,j,i) * ( u(k,j,i+1) - u(k,j,i) ) & 141 141 & - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 142 & ) * ddx2&142 & ) * ddx2 & 143 143 & + ( kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & 144 144 & + kmyp * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx & … … 150 150 ! 151 151 !-- Wall functions at the north and south walls, respectively 152 IF ( wall_u(j,i) /= 0.0 ) THEN152 IF ( wall_u(j,i) /= 0.0_wp ) THEN 153 153 154 154 DO k = nzb_u_inner(j,i)+1, nzb_u_outer(j,i) 155 kmyp = 0.25 *&155 kmyp = 0.25_wp * & 156 156 ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 157 kmym = 0.25 *&157 kmym = 0.25_wp * & 158 158 ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) ) 159 159 160 160 tend(k,j,i) = tend(k,j,i) & 161 + 2.0 * (&161 + 2.0_wp * ( & 162 162 km(k,j,i) * ( u(k,j,i+1) - u(k,j,i) ) & 163 163 - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 164 ) * ddx2&164 ) * ddx2 & 165 165 + ( fyp(j,i) * ( & 166 166 kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & … … 182 182 ! 183 183 !-- Interpolate eddy diffusivities on staggered gridpoints 184 kmzp = 0.25 *&184 kmzp = 0.25_wp * & 185 185 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 186 kmzm = 0.25 *&186 kmzm = 0.25_wp * & 187 187 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 188 188 … … 211 211 ! 212 212 !-- Interpolate eddy diffusivities on staggered gridpoints 213 kmzp = 0.25 *&213 kmzp = 0.25_wp * & 214 214 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 215 kmzm = 0.25 *&215 kmzm = 0.25_wp * & 216 216 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 217 217 … … 231 231 ! 232 232 !-- Interpolate eddy diffusivities on staggered gridpoints 233 kmzp = 0.25 *&233 kmzp = 0.25_wp * & 234 234 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 235 kmzm = 0.25 *&235 kmzm = 0.25_wp * & 236 236 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 237 237 … … 303 303 ! 304 304 !-- Interpolate eddy diffusivities on staggered gridpoints 305 kmyp = 0.25 *&305 kmyp = 0.25_wp * & 306 306 ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 307 kmym = 0.25 *&307 kmym = 0.25_wp * & 308 308 ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) ) 309 309 310 310 tend(k,j,i) = tend(k,j,i) & 311 & + 2.0 * (&311 & + 2.0_wp * ( & 312 312 & km(k,j,i) * ( u(k,j,i+1) - u(k,j,i) ) & 313 313 & - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 314 & ) * ddx2&314 & ) * ddx2 & 315 315 & + ( kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & 316 316 & + kmyp * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx & … … 325 325 DO k = 1, nzt 326 326 IF( k > nzb_u_inner(j,i) .AND. k <= nzb_u_outer(j,i) .AND. & 327 wall_u(j,i) /= 0.0 ) THEN328 329 kmyp = 0.25 *&327 wall_u(j,i) /= 0.0_wp ) THEN 328 329 kmyp = 0.25_wp * & 330 330 ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 331 kmym = 0.25 *&331 kmym = 0.25_wp * & 332 332 ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) ) 333 333 334 334 tend(k,j,i) = tend(k,j,i) & 335 + 2.0 * (&335 + 2.0_wp * ( & 336 336 km(k,j,i) * ( u(k,j,i+1) - u(k,j,i) ) & 337 337 - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 338 ) * ddx2&338 ) * ddx2 & 339 339 + ( fyp(j,i) * ( & 340 340 kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & … … 357 357 ! 358 358 !-- Interpolate eddy diffusivities on staggered gridpoints 359 kmzp = 0.25 *&359 kmzp = 0.25_wp * & 360 360 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 361 kmzm = 0.25 *&361 kmzm = 0.25_wp * & 362 362 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 363 363 … … 394 394 ! 395 395 !-- Interpolate eddy diffusivities on staggered gridpoints 396 kmzp = 0.25 *&396 kmzp = 0.25_wp * & 397 397 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 398 kmzm = 0.25 *&398 kmzm = 0.25_wp * & 399 399 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 400 400 … … 422 422 ! 423 423 !-- Interpolate eddy diffusivities on staggered gridpoints 424 kmzp = 0.25 *&424 kmzp = 0.25_wp * & 425 425 ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 426 kmzm = 0.25 *&426 kmzm = 0.25_wp * & 427 427 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 428 428 … … 478 478 ! 479 479 !-- Interpolate eddy diffusivities on staggered gridpoints 480 kmyp = 0.25 * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )481 kmym = 0.25 * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )480 kmyp = 0.25_wp * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 481 kmym = 0.25_wp * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) ) 482 482 483 483 tend(k,j,i) = tend(k,j,i) & 484 & + 2.0 * (&484 & + 2.0_wp * ( & 485 485 & km(k,j,i) * ( u(k,j,i+1) - u(k,j,i) ) & 486 486 & - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 487 & ) * ddx2&487 & ) * ddx2 & 488 488 & + ( kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & 489 489 & + kmyp * ( v(k,j+1,i) - v(k,j+1,i-1) ) * ddx & … … 495 495 ! 496 496 !-- Wall functions at the north and south walls, respectively 497 IF ( wall_u(j,i) .NE. 0.0 ) THEN497 IF ( wall_u(j,i) .NE. 0.0_wp ) THEN 498 498 499 499 ! … … 503 503 504 504 DO k = nzb_u_inner(j,i)+1, nzb_u_outer(j,i) 505 kmyp = 0.25 * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) )506 kmym = 0.25 * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+km(k,j-1,i-1) )505 kmyp = 0.25_wp * ( km(k,j,i)+km(k,j+1,i)+km(k,j,i-1)+km(k,j+1,i-1) ) 506 kmym = 0.25_wp * ( km(k,j,i)+km(k,j-1,i)+km(k,j,i-1)+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) * ( u(k,j,i+1) - u(k,j,i) ) & 511 511 - km(k,j,i-1) * ( u(k,j,i) - u(k,j,i-1) ) & 512 ) * ddx2&512 ) * ddx2 & 513 513 + ( fyp(j,i) * ( & 514 514 kmyp * ( u(k,j+1,i) - u(k,j,i) ) * ddy & … … 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,i-1)+km(k+1,j,i-1) )533 kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )532 kmzp = 0.25_wp * ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 533 kmzm = 0.25_wp * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 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,i-1)+km(k+1,j,i-1) )560 kmzm = 0.25 * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) )559 kmzp = 0.25_wp * ( km(k,j,i)+km(k+1,j,i)+km(k,j,i-1)+km(k+1,j,i-1) ) 560 kmzm = 0.25_wp * ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 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,i-1)+km(k+1,j,i-1) ) 579 kmzm = 0.25 *&579 kmzm = 0.25_wp * & 580 580 ( km(k,j,i)+km(k-1,j,i)+km(k,j,i-1)+km(k-1,j,i-1) ) 581 581
Note: See TracChangeset
for help on using the changeset viewer.