Changeset 4346 for palm/trunk/SOURCE/diffusion_u.f90
- Timestamp:
- Dec 18, 2019 11:55:56 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/diffusion_u.f90
r4329 r4346 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Introduction of wall_flags_total_0, which currently sets bits based on static 28 ! topography information used in wall_flags_static_0 29 ! 30 ! 4329 2019-12-10 15:46:36Z motisi 27 31 ! Renamed wall_flags_0 to wall_flags_static_0 28 32 ! … … 75 79 76 80 USE indices, & 77 ONLY: nxlu, nxr, nyn, nys, nzb, nzt, wall_flags_ static_081 ONLY: nxlu, nxr, nyn, nys, nzb, nzt, wall_flags_total_0 78 82 79 83 USE kinds … … 108 112 !$ACC PRIVATE(surf_e, surf_s, flag, kmym, kmyp, kmzm, kmzp) & 109 113 !$ACC PRIVATE(mask_bottom, mask_north, mask_south, mask_top) & 110 !$ACC PRESENT(wall_flags_ static_0, km) &114 !$ACC PRESENT(wall_flags_total_0, km) & 111 115 !$ACC PRESENT(u, v, w) & 112 116 !$ACC PRESENT(ddzu, ddzw, drho_air, rho_air_zw) & … … 124 128 !-- It is sufficient to masked only north- and south-facing surfaces, which 125 129 !-- need special treatment for the u-component. 126 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 1 ) )127 mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j-1,i), 1 ) )128 mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j+1,i), 1 ) )130 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 1 ) ) 131 mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j-1,i), 1 ) ) 132 mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j+1,i), 1 ) ) 129 133 ! 130 134 !-- Interpolate eddy diffusivities on staggered gridpoints … … 199 203 !-- momentum flux at model top. 200 204 mask_bottom = MERGE( 1.0_wp, 0.0_wp, & 201 BTEST( wall_flags_static_0(k-1,j,i), 8 ) )205 BTEST( wall_flags_total_0(k-1,j,i), 8 ) ) 202 206 mask_top = MERGE( 1.0_wp, 0.0_wp, & 203 BTEST( wall_flags_static_0(k+1,j,i), 8 ) ) *&207 BTEST( wall_flags_total_0(k+1,j,i), 8 ) ) * & 204 208 MERGE( 1.0_wp, 0.0_wp, & 205 BTEST( wall_flags_static_0(k+1,j,i), 9 ) )209 BTEST( wall_flags_total_0(k+1,j,i), 9 ) ) 206 210 flag = MERGE( 1.0_wp, 0.0_wp, & 207 BTEST( wall_flags_static_0(k,j,i), 1 ) )211 BTEST( wall_flags_total_0(k,j,i), 1 ) ) 208 212 ! 209 213 !-- Interpolate eddy diffusivities on staggered gridpoints … … 322 326 323 327 USE indices, & 324 ONLY: nzb, nzt, wall_flags_ static_0328 ONLY: nzb, nzt, wall_flags_total_0 325 329 326 330 USE kinds … … 356 360 !-- It is sufficient to masked only north- and south-facing surfaces, which 357 361 !-- need special treatment for the u-component. 358 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 1 ) )359 mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j-1,i), 1 ) )360 mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j+1,i), 1 ) )362 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 1 ) ) 363 mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j-1,i), 1 ) ) 364 mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j+1,i), 1 ) ) 361 365 ! 362 366 !-- Interpolate eddy diffusivities on staggered gridpoints … … 425 429 !-- momentum flux at model top. 426 430 mask_bottom = MERGE( 1.0_wp, 0.0_wp, & 427 BTEST( wall_flags_ static_0(k-1,j,i), 8 ) )431 BTEST( wall_flags_total_0(k-1,j,i), 8 ) ) 428 432 mask_top = MERGE( 1.0_wp, 0.0_wp, & 429 BTEST( wall_flags_ static_0(k+1,j,i), 8 ) ) *&433 BTEST( wall_flags_total_0(k+1,j,i), 8 ) ) * & 430 434 MERGE( 1.0_wp, 0.0_wp, & 431 BTEST( wall_flags_ static_0(k+1,j,i), 9 ) )435 BTEST( wall_flags_total_0(k+1,j,i), 9 ) ) 432 436 flag = MERGE( 1.0_wp, 0.0_wp, & 433 BTEST( wall_flags_ static_0(k,j,i), 1 ) )437 BTEST( wall_flags_total_0(k,j,i), 1 ) ) 434 438 ! 435 439 !-- Interpolate eddy diffusivities on staggered gridpoints
Note: See TracChangeset
for help on using the changeset viewer.