Ignore:
Timestamp:
Dec 18, 2019 11:55:56 AM (4 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/nesting_offl_mod.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!
     
    191195               nysv, nysg, nyn, nyng, nzb, nz, nzt,                            &
    192196               topo_top_ind,                                                   &
    193                wall_flags_static_0
     197               wall_flags_total_0
    194198
    195199    USE kinds
     
    866870                volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzw(k) * dy   &
    867871                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    868                                               BTEST( wall_flags_static_0(k,j,i), 1 ) )
     872                                       BTEST( wall_flags_total_0(k,j,i), 1 ) )
    869873             ENDDO
    870874          ENDDO
     
    876880                volume_flow_l(1) = volume_flow_l(1) - u(k,j,i) * dzw(k) * dy   &
    877881                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    878                                               BTEST( wall_flags_static_0(k,j,i), 1 ) )
     882                                       BTEST( wall_flags_total_0(k,j,i), 1 ) )
    879883             ENDDO
    880884          ENDDO
     
    886890                volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzw(k) * dx   &
    887891                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    888                                               BTEST( wall_flags_static_0(k,j,i), 2 ) )
     892                                       BTEST( wall_flags_total_0(k,j,i), 2 ) )
    889893             ENDDO
    890894          ENDDO
     
    896900                volume_flow_l(2) = volume_flow_l(2) - v(k,j,i) * dzw(k) * dx   &
    897901                                     * MERGE( 1.0_wp, 0.0_wp,                  &
    898                                               BTEST( wall_flags_static_0(k,j,i), 2 ) )
     902                                       BTEST( wall_flags_total_0(k,j,i), 2 ) )
    899903             ENDDO
    900904          ENDDO
     
    10011005                                                fac_dt ) *                     &
    10021006                             MERGE( 1.0_wp, 0.0_wp,                            &
    1003                                     BTEST( wall_flags_static_0(k,j,0), 1 ) )
     1007                                    BTEST( wall_flags_total_0(k,j,0), 1 ) )
    10041008                u(k,j,-1) = u(k,j,0)
    10051009             ENDDO
     
    10131017                                                 fac_dt ) *                    &
    10141018                            MERGE( 1.0_wp, 0.0_wp,                             &
    1015                                    BTEST( wall_flags_static_0(k,j,-1), 3 ) )
     1019                                   BTEST( wall_flags_total_0(k,j,-1), 3 ) )
    10161020             ENDDO
    10171021             w(nzt,j,-1) = w(nzt-1,j,-1)
     
    10241028                                                 fac_dt ) *                    &
    10251029                               MERGE( 1.0_wp, 0.0_wp,                          &
    1026                                       BTEST( wall_flags_static_0(k,j,-1), 2 ) )
     1030                                      BTEST( wall_flags_total_0(k,j,-1), 2 ) )
    10271031             ENDDO
    10281032             v_ref_l(nzb+1:nzt) = v_ref_l(nzb+1:nzt) + v(nzb+1:nzt,j,-1)
     
    10801084                                                    fac_dt ) *                 &
    10811085                             MERGE( 1.0_wp, 0.0_wp,                            &
    1082                                     BTEST( wall_flags_static_0(k,j,nxr+1), 1 ) )
     1086                                    BTEST( wall_flags_total_0(k,j,nxr+1), 1 ) )
    10831087             ENDDO
    10841088             u_ref_l(nzb+1:nzt) = u_ref_l(nzb+1:nzt) + u(nzb+1:nzt,j,nxr+1)
     
    10901094                                                    fac_dt ) *                 &
    10911095                             MERGE( 1.0_wp, 0.0_wp,                            &
    1092                                     BTEST( wall_flags_static_0(k,j,nxr+1), 3 ) )
     1096                                    BTEST( wall_flags_total_0(k,j,nxr+1), 3 ) )
    10931097             ENDDO
    10941098             w(nzt,j,nxr+1) = w(nzt-1,j,nxr+1)
     
    11011105                                                    fac_dt ) *                 &
    11021106                             MERGE( 1.0_wp, 0.0_wp,                            &
    1103                                     BTEST( wall_flags_static_0(k,j,nxr+1), 2 ) )
     1107                                    BTEST( wall_flags_total_0(k,j,nxr+1), 2 ) )
    11041108             ENDDO
    11051109             v_ref_l(nzb+1:nzt) = v_ref_l(nzb+1:nzt) + v(nzb+1:nzt,j,nxr+1)
     
    11581162                                                fac_dt ) *                     &
    11591163                           MERGE( 1.0_wp, 0.0_wp,                              &
    1160                                   BTEST( wall_flags_static_0(k,0,i), 2 ) )
     1164                                  BTEST( wall_flags_total_0(k,0,i), 2 ) )
    11611165                v(k,-1,i) = v(k,0,i)
    11621166             ENDDO
     
    11701174                                                 fac_dt ) *                    &
    11711175                           MERGE( 1.0_wp, 0.0_wp,                              &
    1172                                   BTEST( wall_flags_static_0(k,-1,i), 3 ) )
     1176                                  BTEST( wall_flags_total_0(k,-1,i), 3 ) )
    11731177             ENDDO
    11741178             w(nzt,-1,i) = w(nzt-1,-1,i)
     
    11811185                                                 fac_dt ) *                    &
    11821186                           MERGE( 1.0_wp, 0.0_wp,                              &
    1183                                   BTEST( wall_flags_static_0(k,-1,i), 1 ) )
     1187                                  BTEST( wall_flags_total_0(k,-1,i), 1 ) )
    11841188             ENDDO
    11851189             u_ref_l(nzb+1:nzt) = u_ref_l(nzb+1:nzt) + u(nzb+1:nzt,-1,i)
     
    12391243                                                    fac_dt ) *                 &
    12401244                               MERGE( 1.0_wp, 0.0_wp,                          &
    1241                                       BTEST( wall_flags_static_0(k,nyn+1,i), 2 ) )
     1245                                    BTEST( wall_flags_total_0(k,nyn+1,i), 2 ) )
    12421246             ENDDO
    12431247             v_ref_l(nzb+1:nzt) = v_ref_l(nzb+1:nzt) + v(nzb+1:nzt,nyn+1,i)
     
    12491253                                                    fac_dt ) *                 &
    12501254                               MERGE( 1.0_wp, 0.0_wp,                          &
    1251                                       BTEST( wall_flags_static_0(k,nyn+1,i), 3 ) )
     1255                                    BTEST( wall_flags_total_0(k,nyn+1,i), 3 ) )
    12521256             ENDDO
    12531257             w(nzt,nyn+1,i) = w(nzt-1,nyn+1,i)
     
    12601264                                                    fac_dt ) *                 &
    12611265                               MERGE( 1.0_wp, 0.0_wp,                          &
    1262                                       BTEST( wall_flags_static_0(k,nyn+1,i), 1 ) )
     1266                                    BTEST( wall_flags_total_0(k,nyn+1,i), 1 ) )
    12631267
    12641268             ENDDO
     
    13181322                                                 fac_dt ) *                    &
    13191323                           MERGE( 1.0_wp, 0.0_wp,                              &
    1320                                   BTEST( wall_flags_static_0(nzt+1,j,i), 1 ) )
     1324                                  BTEST( wall_flags_total_0(nzt+1,j,i), 1 ) )
    13211325             u_ref_l(nzt+1) = u_ref_l(nzt+1) + u(nzt+1,j,i)
    13221326          ENDDO
     
    13341338                                                 fac_dt ) *                    &
    13351339                           MERGE( 1.0_wp, 0.0_wp,                              &
    1336                                   BTEST( wall_flags_static_0(nzt+1,j,i), 2 ) )
     1340                                  BTEST( wall_flags_total_0(nzt+1,j,i), 2 ) )
    13371341             v_ref_l(nzt+1) = v_ref_l(nzt+1) + v(nzt+1,j,i)
    13381342          ENDDO
     
    13501354                                               fac_dt ) *                      &
    13511355                           MERGE( 1.0_wp, 0.0_wp,                              &
    1352                                   BTEST( wall_flags_static_0(nzt,j,i), 3 ) )
     1356                                  BTEST( wall_flags_total_0(nzt,j,i), 3 ) )
    13531357             w(nzt+1,j,i) = w(nzt,j,i)
    13541358          ENDDO
     
    21332137!--    After boundary data is initialized, mask topography at the
    21342138!--    boundaries for the velocity components.
    2135        u = MERGE( u, 0.0_wp, BTEST( wall_flags_static_0, 1 ) )
    2136        v = MERGE( v, 0.0_wp, BTEST( wall_flags_static_0, 2 ) )
    2137        w = MERGE( w, 0.0_wp, BTEST( wall_flags_static_0, 3 ) )
     2139       u = MERGE( u, 0.0_wp, BTEST( wall_flags_total_0, 1 ) )
     2140       v = MERGE( v, 0.0_wp, BTEST( wall_flags_total_0, 2 ) )
     2141       w = MERGE( w, 0.0_wp, BTEST( wall_flags_total_0, 3 ) )
    21382142!
    21392143!--    Initial calculation of the boundary layer depth from the prescribed
Note: See TracChangeset for help on using the changeset viewer.