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/salsa_mod.f90

    r4342 r4346  
    2626! -----------------
    2727! $Id$
     28! Introduction of wall_flags_total_0, which currently sets bits based on static
     29! topography information used in wall_flags_static_0
     30!
     31! 4342 2019-12-16 13:49:14Z Giersch
    2832! cdc replaced by canopy_drag_coeff
    2933!
     
    259263
    260264    USE indices,                                                                                   &
    261         ONLY:  nbgp, nx, nxl, nxlg, nxr, nxrg, ny, nyn, nyng, nys, nysg, nzb, nz, nzt, wall_flags_static_0
     265        ONLY:  nbgp, nx, nxl, nxlg, nxr, nxrg, ny, nyn, nyng, nys, nysg, nzb, nz, nzt,             &
     266               wall_flags_total_0
    262267
    263268    USE kinds
     
    16551660       ALLOCATE( salsa_advc_flags_s(nzb:nzt+1,nysg:nyng,nxlg:nxrg) )
    16561661!
    1657 !--    In case of decycling, set Neuman boundary conditions for wall_flags_static_0 bit 31 instead of
     1662!--    In case of decycling, set Neuman boundary conditions for wall_flags_total_0 bit 31 instead of
    16581663!--    cyclic boundary conditions. Bit 31 is used to identify extended degradation zones (please see
    16591664!--    the following comment). Note, since several also other modules may access this bit but may
    1660 !--    have other boundary conditions, the original value of wall_flags_static_0 bit 31 must not be
     1665!--    have other boundary conditions, the original value of wall_flags_total_0 bit 31 must not be
    16611666!--    modified. Hence, store the boundary conditions directly on salsa_advc_flags_s.
    16621667!--    salsa_advc_flags_s will be later overwritten in ws_init_flags_scalar and bit 31 won't be used
     
    16641669!--    Initialize with flag 31 only.
    16651670       salsa_advc_flags_s = 0
    1666        salsa_advc_flags_s = MERGE( IBSET( salsa_advc_flags_s, 31 ), 0, BTEST( wall_flags_static_0, 31 ) )
     1671       salsa_advc_flags_s = MERGE( IBSET( salsa_advc_flags_s, 31 ), 0, BTEST( wall_flags_total_0, 31 ) )
    16671672
    16681673       IF ( decycle_salsa_ns )  THEN
     
    17841789       DO  j = nys, nyn
    17851790
    1786           k_topo_top(j,i) = MAXLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,j,i), 12 ) ), DIM = 1 ) - 1
     1791          k_topo_top(j,i) = MAXLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,j,i), 12 ) ), &
     1792                                       DIM = 1 ) - 1
    17871793
    17881794          CALL salsa_driver( i, j, 1 )
     
    23102316!
    23112317!--          Predetermine flag to mask topography
    2312              flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     2318             flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    23132319!
    23142320!--          a) Number concentrations
     
    25212527!
    25222528!--          Predetermine flag to mask topography
    2523              flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     2529             flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    25242530!
    25252531!--          Regime 2a:
     
    30683074!
    30693075!--    Predetermine flag to mask topography
    3070        flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     3076       flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    30713077!
    30723078!--    Wind velocity for dry depositon on vegetation
     
    74437449!
    74447450!-- Predetermine flag to mask topography
    7445     flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(:,j,i), 0 ) )
     7451    flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(:,j,i), 0 ) )
    74467452
    74477453    DO  ib = 1, nbins_aerosol   ! aerosol size bins
     
    78597865
    78607866    USE indices,                                                                                   &
    7861         ONLY:  wall_flags_static_0
     7867        ONLY:  wall_flags_total_0
    78627868
    78637869    USE surface_mod,                                                                               &
     
    79517957          tend(k,j,i) = tend(k,j,i) - MAX( 0.0_wp, ( rs(k+1,j,i) * sedim_vd(k+1,j,i,ib) -          &
    79527958                                                     rs(k,j,i) * sedim_vd(k,j,i,ib) ) * ddzu(k) )  &
    7953                                     * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k-1,j,i), 0 ) )
     7959                                    * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k-1,j,i), 0 ) )
    79547960          rs_p(k,j,i) = rs(k,j,i) + ( dt_3d * ( tsc(2) * tend(k,j,i) + tsc(3) * trs_m(k,j,i) )     &
    79557961                                      - tsc(5) * rdf_sc(k) * ( rs(k,j,i) - rs_init(k) ) )          &
    7956                                   * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     7962                                  * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    79577963          IF ( rs_p(k,j,i) < 0.0_wp )  rs_p(k,j,i) = 0.1_wp * rs(k,j,i)
    79587964       ENDDO
     
    79647970          rs_p(k,j,i) = rs(k,j,i) + ( dt_3d * ( tsc(2) * tend(k,j,i) + tsc(3) * trs_m(k,j,i) )     &
    79657971                                                - tsc(5) * rdf_sc(k) * ( rs(k,j,i) - rs_init(k) ) )&
    7966                                   * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     7972                                  * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    79677973          IF ( rs_p(k,j,i) < 0.0_wp )  rs_p(k,j,i) = 0.1_wp * rs(k,j,i)
    79687974       ENDDO
     
    80038009        ONLY:  diffusion_s
    80048010    USE indices,                                                                                   &
    8005         ONLY:  wall_flags_static_0
     8011        ONLY:  wall_flags_total_0
    80068012    USE surface_mod,                                                                               &
    80078013        ONLY :  surf_def_h, surf_def_v, surf_lsm_h, surf_lsm_v, surf_usm_h, surf_usm_v
     
    80888094                                   sedim_vd(nzb+2:nzt+1,j,i,ib) - rs(nzb+1:nzt,j,i) *              &
    80898095                                   sedim_vd(nzb+1:nzt,j,i,ib) ) * ddzu(nzb+1:nzt) ) *              &
    8090                                    MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(nzb:nzt-1,j,i), 0 ) )
     8096                                   MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(nzb:nzt-1,j,i), 0 ) )
    80918097          ENDIF
    80928098          DO  k = nzb+1, nzt
    80938099             rs_p(k,j,i) = rs(k,j,i) +  ( dt_3d  * ( tsc(2) * tend(k,j,i) + tsc(3) * trs_m(k,j,i) )&
    80948100                                                  - tsc(5) * rdf_sc(k) * ( rs(k,j,i) - rs_init(k) )&
    8095                                         ) * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     8101                                        ) * MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    80968102             IF ( rs_p(k,j,i) < 0.0_wp )  rs_p(k,j,i) = 0.1_wp * rs(k,j,i)
    80978103          ENDDO
     
    84248430                DO  j = nysg, nyng
    84258431                   DO  k = nzb+1, nzt
    8426                       flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     8432                      flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    84278433                      sq(k,j,i) = sq_init(k) * flag
    84288434                   ENDDO
     
    84498455                DO  j = nysg, nyng
    84508456                   DO  k = nzb+1, nzt
    8451                       flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     8457                      flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    84528458                      sq(k,j,i) = sq(k,j,copied) * flag
    84538459                   ENDDO
     
    84858491                DO  j = ss, ee
    84868492                   DO  k = nzb+1, nzt
    8487                       flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     8493                      flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    84888494                      sq(k,j,i) = sq_init(k) * flag
    84898495                   ENDDO
     
    85108516                DO  j = ss, ee
    85118517                   DO  k = nzb+1, nzt
    8512                       flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 0 ) )
     8518                      flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i), 0 ) )
    85138519                      sq(k,j,i) = sq(k,copied,i) * flag
    85148520                   ENDDO
     
    1000610012                         ENDDO
    1000710013                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10008                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10014                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10015                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1000910016                      ENDDO
    1001010017                   ENDDO
     
    1002110028                         ENDDO
    1002210029                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10023                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10030                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10031                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1002410032                      ENDDO
    1002510033                   ENDDO
     
    1003510043                         ENDDO
    1003610044                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10037                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10045                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10046                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1003810047                      ENDDO
    1003910048                   ENDDO
     
    1005310062                         ENDDO
    1005410063                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10055                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10064                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10065                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1005610066                      ENDDO
    1005710067                   ENDDO
     
    1007110081                         ENDDO
    1007210082                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10073                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10083                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10084                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1007410085                      ENDDO
    1007510086                   ENDDO
     
    1008910100                         ENDDO
    1009010101                         sums_l(k,ind,tn) = sums_l(k,ind,tn) + temp_bin * rmask(j,i,sr)  *         &
    10091                                            MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_static_0(k,j,i), 22 ) )
     10102                                           MERGE( 1.0_wp, 0.0_wp,                                  &
     10103                                           BTEST( wall_flags_total_0(k,j,i), 22 ) )
    1009210104                      ENDDO
    1009310105                   ENDDO
     
    1070410716                   DO  k = nzb_do, nzt_do
    1070510717                      local_pf(i,j,k) = MERGE( aerosol_number(ib)%conc(k,j,i), REAL( fill_value,   &
    10706                                                KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10718                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1070710719                   ENDDO
    1070810720                ENDDO
     
    1071310725                   DO  k = nzb_do, nzt_do
    1071410726                      local_pf(i,j,k) = MERGE( nbins_av(k,j,i,ib), REAL( fill_value, KIND = wp ),  &
    10715                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10727                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1071610728                   ENDDO
    1071710729                ENDDO
     
    1073610748                      ENDDO
    1073710749                      local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),            &
    10738                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10750                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1073910751                   ENDDO
    1074010752                ENDDO
     
    1074510757                   DO  k = nzb_do, nzt_do
    1074610758                      local_pf(i,j,k) = MERGE( mbins_av(k,j,i,ib), REAL( fill_value, KIND = wp ),  &
    10747                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10759                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1074810760                   ENDDO
    1074910761                ENDDO
     
    1077010782                         local_pf(i,j,k) = MERGE( salsa_gas(found_index)%conc(k,j,i),              &
    1077110783                                                  REAL( fill_value,  KIND = wp ),                  &
    10772                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10784                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1077310785                      ENDDO
    1077410786                   ENDDO
     
    1078410796                      DO  k = nzb_do, nzt_do
    1078510797                         local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,         &
    10786                                                   KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10798                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1078710799                      ENDDO
    1078810800                   ENDDO
     
    1081410826
    1081510827                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    10816                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10828                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1081710829                      ENDDO
    1081810830                   ENDDO
     
    1082310835                      DO  k = nzb_do, nzt_do
    1082410836                         local_pf(i,j,k) = MERGE( ldsa_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10825                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10837                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1082610838                      ENDDO
    1082710839                   ENDDO
     
    1084410856                         ENDDO
    1084510857                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    10846                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10858                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1084710859                      ENDDO
    1084810860                   ENDDO
     
    1085310865                      DO  k = nzb_do, nzt_do
    1085410866                         local_pf(i,j,k) = MERGE( nufp_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10855                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10867                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1085610868                      ENDDO
    1085710869                   ENDDO
     
    1087210884                         ENDDO
    1087310885                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    10874                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10886                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1087510887                      ENDDO
    1087610888                   ENDDO
     
    1088110893                      DO  k = nzb_do, nzt_do
    1088210894                         local_pf(i,j,k) = MERGE( ntot_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10883                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10895                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1088410896                      ENDDO
    1088510897                   ENDDO
     
    1090310915                         ENDDO
    1090410916                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    10905                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10917                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1090610918                      ENDDO
    1090710919                   ENDDO
     
    1091210924                      DO  k = nzb_do, nzt_do
    1091310925                         local_pf(i,j,k) = MERGE( pm01_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10914                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10926                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1091510927                      ENDDO
    1091610928                   ENDDO
     
    1093410946                         ENDDO
    1093510947                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    10936                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10948                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1093710949                      ENDDO
    1093810950                   ENDDO
     
    1094310955                      DO  k = nzb_do, nzt_do
    1094410956                         local_pf(i,j,k) = MERGE( pm25_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10945                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10957                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1094610958                      ENDDO
    1094710959                   ENDDO
     
    1096510977                         ENDDO
    1096610978                         local_pf(i,j,k) = MERGE( temp_bin,  REAL( fill_value, KIND = wp ),        &
    10967                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10979                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1096810980                      ENDDO
    1096910981                   ENDDO
     
    1097410986                      DO  k = nzb_do, nzt_do
    1097510987                         local_pf(i,j,k) = MERGE( pm10_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    10976                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     10988                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1097710989                      ENDDO
    1097810990                   ENDDO
     
    1099511007                            ENDDO
    1099611008                            local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),      &
    10997                                                      BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11009                                                     BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1099811010                         ENDDO
    1099911011                      ENDDO
     
    1101111023                         DO  k = nzb_do, nzt_do
    1101211024                            local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,      &
    11013                                                      KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11025                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1101411026                         ENDDO
    1101511027                      ENDDO
     
    1103311045                         ENDDO
    1103411046                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11035                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11047                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1103611048                      ENDDO
    1103711049                   ENDDO
     
    1104311055                      DO  k = nzb_do, nzt_do
    1104411056                         local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,         &
    11045                                                   KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11057                                              KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1104611058                      ENDDO
    1104711059                   ENDDO
     
    1111411126                   DO  k = nzb_do, nzt_do
    1111511127                      local_pf(i,j,k) = MERGE( aerosol_number(ib)%conc(k,j,i), REAL( fill_value,   &
    11116                                                KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11128                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1111711129                   ENDDO
    1111811130                ENDDO
     
    1112311135                   DO  k = nzb_do, nzt_do
    1112411136                      local_pf(i,j,k) = MERGE( nbins_av(k,j,i,ib), REAL( fill_value, KIND = wp ),  &
    11125                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11137                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1112611138                   ENDDO
    1112711139                ENDDO
     
    1114411156                      ENDDO
    1114511157                      local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),            &
    11146                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11158                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1114711159                   ENDDO
    1114811160                ENDDO
     
    1115311165                   DO  k = nzb_do, nzt_do
    1115411166                      local_pf(i,j,k) = MERGE( mbins_av(k,j,i,ib), REAL( fill_value, KIND = wp ),  &
    11155                                                BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11167                                               BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1115611168                   ENDDO
    1115711169                ENDDO
     
    1117611188                         local_pf(i,j,k) = MERGE( salsa_gas(found_index)%conc(k,j,i),              &
    1117711189                                                  REAL( fill_value, KIND = wp ),                   &
    11178                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11190                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1117911191                      ENDDO
    1118011192                   ENDDO
     
    1119211204                      DO  k = nzb_do, nzt_do
    1119311205                         local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,         &
    11194                                                   KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11206                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1119511207                      ENDDO
    1119611208                   ENDDO
     
    1121911231                         ENDDO
    1122011232                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11221                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11233                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1122211234                      ENDDO
    1122311235                   ENDDO
     
    1122811240                      DO  k = nzb_do, nzt_do
    1122911241                         local_pf(i,j,k) = MERGE( ldsa_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11230                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11242                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1123111243                      ENDDO
    1123211244                   ENDDO
     
    1124611258                         ENDDO
    1124711259                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11248                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11260                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1124911261                      ENDDO
    1125011262                   ENDDO
     
    1125511267                      DO  k = nzb_do, nzt_do
    1125611268                         local_pf(i,j,k) = MERGE( nufp_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11257                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11269                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1125811270                      ENDDO
    1125911271                   ENDDO
     
    1127111283                         ENDDO
    1127211284                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11273                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11285                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1127411286                      ENDDO
    1127511287                   ENDDO
     
    1128011292                      DO  k = nzb_do, nzt_do
    1128111293                         local_pf(i,j,k) = MERGE( ntot_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11282                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11294                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1128311295                      ENDDO
    1128411296                   ENDDO
     
    1130011312                         ENDDO
    1130111313                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11302                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11314                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1130311315                      ENDDO
    1130411316                   ENDDO
     
    1130911321                      DO  k = nzb_do, nzt_do
    1131011322                         local_pf(i,j,k) = MERGE( pm01_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11311                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11323                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1131211324                      ENDDO
    1131311325                   ENDDO
     
    1132911341                         ENDDO
    1133011342                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11331                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11343                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1133211344                      ENDDO
    1133311345                   ENDDO
     
    1133811350                      DO  k = nzb_do, nzt_do
    1133911351                         local_pf(i,j,k) = MERGE( pm25_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11340                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11352                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1134111353                      ENDDO
    1134211354                   ENDDO
     
    1135811370                         ENDDO
    1135911371                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11360                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11372                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1136111373                      ENDDO
    1136211374                   ENDDO
     
    1136711379                      DO  k = nzb_do, nzt_do
    1136811380                         local_pf(i,j,k) = MERGE( pm10_av(k,j,i), REAL( fill_value, KIND = wp ),   &
    11369                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11381                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1137011382                      ENDDO
    1137111383                   ENDDO
     
    1138511397                            ENDDO
    1138611398                            local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),      &
    11387                                                      BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11399                                                     BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1138811400                         ENDDO
    1138911401                      ENDDO
     
    1140311415                         DO  k = nzb_do, nzt_do
    1140411416                            local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,      &
    11405                                                      KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11417                                                     KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1140611418                         ENDDO
    1140711419                      ENDDO
     
    1142111433                         ENDDO
    1142211434                         local_pf(i,j,k) = MERGE( temp_bin, REAL( fill_value, KIND = wp ),         &
    11423                                                   BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11435                                                  BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1142411436                      ENDDO
    1142511437                   ENDDO
     
    1143111443                      DO  k = nzb_do, nzt_do
    1143211444                         local_pf(i,j,k) = MERGE( to_be_resorted(k,j,i), REAL( fill_value,         &
    11433                                                   KIND = wp ), BTEST( wall_flags_static_0(k,j,i), 0 ) )
     11445                                               KIND = wp ), BTEST( wall_flags_total_0(k,j,i), 0 ) )
    1143411446                      ENDDO
    1143511447                   ENDDO
     
    1152111533                      im = mask_i(mid,i)
    1152211534                      jm = mask_j(mid,j)
    11523                       ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11535                      ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11536                                                    DIM = 1 ) - 1
    1152411537                      DO  k = 1, mask_size_l(mid,3)
    1152511538                         kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1152611539!
    1152711540!--                      Set value if not in building
    11528                          IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11541                         IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1152911542                            local_pf(i,j,k) = fill_value
    1153011543                         ELSE
     
    1157511588                      im = mask_i(mid,i)
    1157611589                      jm = mask_j(mid,j)
    11577                       ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11590                      ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11591                                                    DIM = 1 ) - 1
    1157811592                      DO  k = 1, mask_size_l(mid,3)
    1157911593                         kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1158011594!
    1158111595!--                      Set value if not in building
    11582                          IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11596                         IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1158311597                            local_pf(i,j,k) = fill_value
    1158411598                         ELSE
     
    1165411668                         im = mask_i(mid,i)
    1165511669                         jm = mask_j(mid,j)
    11656                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11670                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11671                                                       DIM = 1 ) - 1
    1165711672                         DO  k = 1, mask_size_l(mid,3)
    1165811673                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1165911674!
    1166011675!--                         Set value if not in building
    11661                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11676                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1166211677                               local_pf(i,j,k) = fill_value
    1166311678                            ELSE
     
    1170311718                         im = mask_i(mid,i)
    1170411719                         jm = mask_j(mid,j)
    11705                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11720                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11721                                                       DIM = 1 ) - 1
    1170611722                         DO  k = 1, mask_size_l(mid,3)
    1170711723                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1170811724!
    1170911725!--                         Set value if not in building
    11710                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11726                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1171111727                               local_pf(i,j,k) = fill_value
    1171211728                            ELSE
     
    1175011766                         im = mask_i(mid,i)
    1175111767                         jm = mask_j(mid,j)
    11752                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11768                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11769                                                       DIM = 1 ) - 1
    1175311770                         DO  k = 1, mask_size_l(mid,3)
    1175411771                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1175511772!
    1175611773!--                         Set value if not in building
    11757                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11774                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1175811775                               local_pf(i,j,k) = fill_value
    1175911776                            ELSE
     
    1180111818                         im = mask_i(mid,i)
    1180211819                         jm = mask_j(mid,j)
    11803                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11820                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11821                                                       DIM = 1 ) - 1
    1180411822                         DO  k = 1, mask_size_l(mid,3)
    1180511823                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1180611824!
    1180711825!--                         Set value if not in building
    11808                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11826                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1180911827                               local_pf(i,j,k) = fill_value
    1181011828                            ELSE
     
    1185211870                         im = mask_i(mid,i)
    1185311871                         jm = mask_j(mid,j)
    11854                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11872                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11873                                                       DIM = 1 ) - 1
    1185511874                         DO  k = 1, mask_size_l(mid,3)
    1185611875                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1185711876!
    1185811877!--                         Set value if not in building
    11859                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11878                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1186011879                               local_pf(i,j,k) = fill_value
    1186111880                            ELSE
     
    1190311922                         im = mask_i(mid,i)
    1190411923                         jm = mask_j(mid,j)
    11905                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11924                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11925                                                       DIM = 1 ) - 1
    1190611926                         DO  k = 1, mask_size_l(mid,3)
    1190711927                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1190811928!
    1190911929!--                         Set value if not in building
    11910                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11930                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1191111931                               local_pf(i,j,k) = fill_value
    1191211932                            ELSE
     
    1195511975                         im = mask_i(mid,i)
    1195611976                         jm = mask_j(mid,j)
    11957                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     11977                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     11978                                                       DIM = 1 ) - 1
    1195811979                         DO  k = 1, mask_size_l(mid,3)
    1195911980                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1196011981!
    1196111982!--                         Set value if not in building
    11962                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     11983                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1196311984                               local_pf(i,j,k) = fill_value
    1196411985                            ELSE
     
    1201112032                         im = mask_i(mid,i)
    1201212033                         jm = mask_j(mid,j)
    12013                          ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     12034                         ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     12035                                          DIM = 1 ) - 1
    1201412036                         DO  k = 1, mask_size_l(mid,3)
    1201512037                            kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1201612038!
    1201712039!--                         Set value if not in building
    12018                             IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     12040                            IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1201912041                               local_pf(i,j,k) = fill_value
    1202012042                            ELSE
     
    1205512077                im = mask_i(mid,i)
    1205612078                jm = mask_j(mid,j)
    12057                 ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_static_0(:,jm,im), 5 )), DIM = 1 ) - 1
     12079                ktt = MINLOC( MERGE( 1, 0, BTEST( wall_flags_total_0(:,jm,im), 5 )), &
     12080                                 DIM = 1 ) - 1
    1205812081                DO  k = 1, mask_size_l(mid,3)
    1205912082                   kk = MIN( ktt+mask_k(mid,k), nzt+1 )
    1206012083!--                Set value if not in building
    12061                    IF ( BTEST( wall_flags_static_0(kk,jm,im), 6 ) )  THEN
     12084                   IF ( BTEST( wall_flags_total_0(kk,jm,im), 6 ) )  THEN
    1206212085                      local_pf(i,j,k) = fill_value
    1206312086                   ELSE
Note: See TracChangeset for help on using the changeset viewer.