Changeset 4346 for palm/trunk/SOURCE/diffusion_v.f90
- Timestamp:
- Dec 18, 2019 11:55:56 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/diffusion_v.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 ! … … 73 77 74 78 USE indices, & 75 ONLY: nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_ static_079 ONLY: nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_total_0 76 80 77 81 USE kinds … … 104 108 !$ACC PRIVATE(surf_e, surf_s, flag, kmxm, kmxp, kmzm, kmzp) & 105 109 !$ACC PRIVATE(mask_bottom, mask_east, mask_west, mask_top) & 106 !$ACC PRESENT(wall_flags_ static_0, km) &110 !$ACC PRESENT(wall_flags_total_0, km) & 107 111 !$ACC PRESENT(u, v, w) & 108 112 !$ACC PRESENT(ddzu, ddzw, drho_air, rho_air_zw) & … … 121 125 !-- It is sufficient to masked only east- and west-facing surfaces, which 122 126 !-- need special treatment for the v-component. 123 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 2 ) )124 mask_east = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i+1), 2 ) )125 mask_west = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i-1), 2 ) )127 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 2 ) ) 128 mask_east = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 2 ) ) 129 mask_west = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 2 ) ) 126 130 ! 127 131 !-- Interpolate eddy diffusivities on staggered gridpoints … … 195 199 !-- momentum flux at model top. 196 200 mask_bottom = MERGE( 1.0_wp, 0.0_wp, & 197 BTEST( wall_flags_static_0(k-1,j,i), 8 ) )201 BTEST( wall_flags_total_0(k-1,j,i), 8 ) ) 198 202 mask_top = MERGE( 1.0_wp, 0.0_wp, & 199 BTEST( wall_flags_static_0(k+1,j,i), 8 ) ) *&203 BTEST( wall_flags_total_0(k+1,j,i), 8 ) ) * & 200 204 MERGE( 1.0_wp, 0.0_wp, & 201 BTEST( wall_flags_static_0(k+1,j,i), 9 ) )205 BTEST( wall_flags_total_0(k+1,j,i), 9 ) ) 202 206 flag = MERGE( 1.0_wp, 0.0_wp, & 203 BTEST( wall_flags_static_0(k,j,i), 2 ) )207 BTEST( wall_flags_total_0(k,j,i), 2 ) ) 204 208 ! 205 209 !-- Interpolate eddy diffusivities on staggered gridpoints … … 313 317 314 318 USE indices, & 315 ONLY: nzb, nzt, wall_flags_ static_0319 ONLY: nzb, nzt, wall_flags_total_0 316 320 317 321 USE kinds … … 349 353 !-- It is sufficient to masked only east- and west-facing surfaces, which 350 354 !-- need special treatment for the v-component. 351 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i), 2 ) )352 mask_east = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i+1), 2 ) )353 mask_west = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_ static_0(k,j,i-1), 2 ) )355 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 2 ) ) 356 mask_east = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 2 ) ) 357 mask_west = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 2 ) ) 354 358 ! 355 359 !-- Interpolate eddy diffusivities on staggered gridpoints … … 419 423 !-- momentum flux at model top. 420 424 mask_bottom = MERGE( 1.0_wp, 0.0_wp, & 421 BTEST( wall_flags_ static_0(k-1,j,i), 8 ) )425 BTEST( wall_flags_total_0(k-1,j,i), 8 ) ) 422 426 mask_top = MERGE( 1.0_wp, 0.0_wp, & 423 BTEST( wall_flags_ static_0(k+1,j,i), 8 ) ) *&427 BTEST( wall_flags_total_0(k+1,j,i), 8 ) ) * & 424 428 MERGE( 1.0_wp, 0.0_wp, & 425 BTEST( wall_flags_ static_0(k+1,j,i), 9 ) )429 BTEST( wall_flags_total_0(k+1,j,i), 9 ) ) 426 430 flag = MERGE( 1.0_wp, 0.0_wp, & 427 BTEST( wall_flags_ static_0(k,j,i), 2 ) )431 BTEST( wall_flags_total_0(k,j,i), 2 ) ) 428 432 ! 429 433 !-- Interpolate eddy diffusivities on staggered gridpoints
Note: See TracChangeset
for help on using the changeset viewer.