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_s.f90

    r4329 r4346  
    2525! -----------------
    2626! $Id$
    27 ! Renamed wall_flags_0 to wall_flags_static_0
     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
     31! Renamed wall_flags_0 to wall_flags_total_0
    2832!
    2933! 4182 2019-08-22 15:20:23Z scharf
     
    8690       
    8791       USE indices,                                                            &
    88            ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt, wall_flags_static_0
     92           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt,        &
     93                  wall_flags_total_0
    8994       
    9095       USE kinds
     
    135140       !$ACC PRIVATE(surf_e, surf_s, flag, mask_top, mask_bottom) &
    136141       !$ACC PRIVATE(mask_north, mask_south, mask_west, mask_east) &
    137        !$ACC PRESENT(wall_flags_static_0, kh) &
     142       !$ACC PRESENT(wall_flags_total_0, kh) &
    138143       !$ACC PRESENT(s) &
    139144       !$ACC PRESENT(ddzu, ddzw, drho_air, rho_air_zw) &
     
    159164!
    160165!--             Predetermine flag to mask topography and wall-bounded grid points
    161                 flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     166                flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    162167!
    163168!--             Predetermine flag to mask wall-bounded grid points, equivalent to
    164169!--             former s_outer array
    165                 mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i-1), 0 ) )
    166                 mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i+1), 0 ) )
    167                 mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j-1,i), 0 ) )
    168                 mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j+1,i), 0 ) )
     170                mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 0 ) )
     171                mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 0 ) )
     172                mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j-1,i), 0 ) )
     173                mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j+1,i), 0 ) )
    169174
    170175                tend(k,j,i) = tend(k,j,i)                                      &
     
    300305!--             flux at model top.
    301306                mask_bottom = MERGE( 1.0_wp, 0.0_wp,                           &
    302                                      BTEST( wall_flags_static_0(k-1,j,i), 8 ) )
     307                                 BTEST( wall_flags_total_0(k-1,j,i), 8 ) )
    303308                mask_top    = MERGE( 1.0_wp, 0.0_wp,                           &
    304                                      BTEST( wall_flags_static_0(k+1,j,i), 8 ) ) *     &
     309                                 BTEST( wall_flags_total_0(k+1,j,i), 8 ) ) *   &
    305310                              MERGE( 1.0_wp, 0.0_wp,                           &
    306                                      BTEST( wall_flags_static_0(k+1,j,i), 9 ) )
     311                                 BTEST( wall_flags_total_0(k+1,j,i), 9 ) )
    307312                flag        = MERGE( 1.0_wp, 0.0_wp,                           &
    308                                      BTEST( wall_flags_static_0(k,j,i), 0 ) )
     313                                 BTEST( wall_flags_total_0(k,j,i), 0 ) )
    309314
    310315                tend(k,j,i) = tend(k,j,i)                                      &
     
    415420       
    416421       USE indices,                                                            &
    417            ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_static_0
     422           ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_total_0
    418423       
    419424       USE kinds
     
    465470!
    466471!--       Predetermine flag to mask topography and wall-bounded grid points
    467           flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     472          flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    468473!
    469474!--       Predetermine flag to mask wall-bounded grid points, equivalent to
    470475!--       former s_outer array
    471           mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i-1), 0 ) )
    472           mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i+1), 0 ) )
    473           mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j-1,i), 0 ) )
    474           mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j+1,i), 0 ) )
     476          mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 0 ) )
     477          mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 0 ) )
     478          mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j-1,i), 0 ) )
     479          mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j+1,i), 0 ) )
    475480!
    476481!--       Finally, determine flag to mask both topography itself as well
     
    610615!--       flux at model top.   
    611616          mask_bottom = MERGE( 1.0_wp, 0.0_wp,                                 &
    612                                BTEST( wall_flags_static_0(k-1,j,i), 8 ) )
     617                               BTEST( wall_flags_total_0(k-1,j,i), 8 ) )
    613618          mask_top    = MERGE( 1.0_wp, 0.0_wp,                                 &
    614                                BTEST( wall_flags_static_0(k+1,j,i), 8 ) )  *          &
     619                               BTEST( wall_flags_total_0(k+1,j,i), 8 ) )  *    &
    615620                        MERGE( 1.0_wp, 0.0_wp,                                 &
    616                                BTEST( wall_flags_static_0(k+1,j,i), 9 ) )
     621                               BTEST( wall_flags_total_0(k+1,j,i), 9 ) )
    617622          flag        = MERGE( 1.0_wp, 0.0_wp,                                 &
    618                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     623                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    619624
    620625          tend(k,j,i) = tend(k,j,i)                                            &
Note: See TracChangeset for help on using the changeset viewer.