Ignore:
Timestamp:
Dec 18, 2019 11:55:56 AM (5 years ago)
Author:
motisi
Message:

Introduction of wall_flags_total_0, which currently sets bits based on static topography information used in wall_flags_static_0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/diffusion_v.f90

    r4329 r4346  
    2525! -----------------
    2626! $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
    2731! Renamed wall_flags_0 to wall_flags_static_0
    2832!
     
    7377       
    7478       USE indices,                                                            &
    75            ONLY:  nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_static_0
     79           ONLY:  nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_total_0
    7680       
    7781       USE kinds
     
    104108       !$ACC PRIVATE(surf_e, surf_s, flag, kmxm, kmxp, kmzm, kmzp) &
    105109       !$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) &
    107111       !$ACC PRESENT(u, v, w) &
    108112       !$ACC PRESENT(ddzu, ddzw, drho_air, rho_air_zw) &
     
    121125!--             It is sufficient to masked only east- and west-facing surfaces, which
    122126!--             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 ) )
    126130!
    127131!--             Interpolate eddy diffusivities on staggered gridpoints
     
    195199!--             momentum flux at model top. 
    196200                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 ) )
    198202                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 ) ) *   &
    200204                              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 ) )
    202206                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 ) )
    204208!
    205209!--             Interpolate eddy diffusivities on staggered gridpoints
     
    313317       
    314318       USE indices,                                                            &
    315            ONLY:  nzb, nzt, wall_flags_static_0
     319           ONLY:  nzb, nzt, wall_flags_total_0
    316320       
    317321       USE kinds
     
    349353!--       It is sufficient to masked only east- and west-facing surfaces, which
    350354!--       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 ) )
    354358!
    355359!--       Interpolate eddy diffusivities on staggered gridpoints
     
    419423!--       momentum flux at model top. 
    420424          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 ) )
    422426          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 ) ) *     &
    424428                        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 ) )
    426430          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 ) )
    428432!
    429433!--       Interpolate eddy diffusivities on staggered gridpoints
Note: See TracChangeset for help on using the changeset viewer.