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/prognostic_equations.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!
     
    206210        ONLY:  advc_flags_s,                                                   &
    207211               nbgp, nxl, nxlg, nxlu, nxr, nxrg, nyn, nyng, nys, nysg, nysv,   &
    208                nzb, nzt, wall_flags_static_0
     212               nzb, nzt, wall_flags_total_0
    209213
    210214    USE kinds
     
    376380                                                     * ( u(k,j,i) - u_init(k) ) &
    377381                                        ) * MERGE( 1.0_wp, 0.0_wp,              &
    378                                                    BTEST( wall_flags_static_0(k,j,i), 1 )&
     382                                           BTEST( wall_flags_total_0(k,j,i), 1 )&
    379383                                                 )
    380384             ENDDO
     
    454458                                                     * ( v(k,j,i) - v_init(k) )&
    455459                                        ) * MERGE( 1.0_wp, 0.0_wp,             &
    456                                                    BTEST( wall_flags_static_0(k,j,i), 2 )&
     460                                          BTEST( wall_flags_total_0(k,j,i), 2 )&
    457461                                                 )
    458462             ENDDO
     
    528532                                             - tsc(5) * rdf(k) * w(k,j,i)      &
    529533                                     ) * MERGE( 1.0_wp, 0.0_wp,                &
    530                                                 BTEST( wall_flags_static_0(k,j,i), 3 )&
     534                                          BTEST( wall_flags_total_0(k,j,i), 3 )&
    531535                                              )
    532536          ENDDO
     
    626630                                          )                                    &
    627631                                       * MERGE( 1.0_wp, 0.0_wp,                &
    628                                                 BTEST( wall_flags_static_0(k,j,i), 0 )&
     632                                          BTEST( wall_flags_total_0(k,j,i), 0 )&
    629633                                              )
    630634             ENDDO
     
    716720                                        )                                      &
    717721                                       * MERGE( 1.0_wp, 0.0_wp,                &
    718                                                 BTEST( wall_flags_static_0(k,j,i), 0 )&
     722                                          BTEST( wall_flags_total_0(k,j,i), 0 )&
    719723                                              )               
    720724                IF ( q_p(k,j,i) < 0.0_wp )  q_p(k,j,i) = 0.1_wp * q(k,j,i)
     
    814818                                        )                                      &
    815819                                       * MERGE( 1.0_wp, 0.0_wp,                &
    816                                                 BTEST( wall_flags_static_0(k,j,i), 0 )&
     820                                          BTEST( wall_flags_total_0(k,j,i), 0 )&
    817821                                              )
    818822                IF ( s_p(k,j,i) < 0.0_wp )  s_p(k,j,i) = 0.1_wp * s(k,j,i)
     
    927931!-- Prognostic equation for u-velocity component
    928932    !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) &
    929     !$ACC PRESENT(u, tend, tu_m, u_init, rdf, wall_flags_static_0) &
     933    !$ACC PRESENT(u, tend, tu_m, u_init, rdf, wall_flags_total_0) &
    930934    !$ACC PRESENT(tsc(2:5)) &
    931935    !$ACC PRESENT(u_p)
     
    938942                                                        ( u(k,j,i) - u_init(k) ) &
    939943                                     ) * MERGE( 1.0_wp, 0.0_wp,                  &
    940                                                  BTEST( wall_flags_static_0(k,j,i), 1 ) &
     944                                           BTEST( wall_flags_total_0(k,j,i), 1 ) &
    941945                                              )
    942946          ENDDO
     
    10301034!-- Prognostic equation for v-velocity component
    10311035    !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) &
    1032     !$ACC PRESENT(v, tend, tv_m, v_init, rdf, wall_flags_static_0) &
     1036    !$ACC PRESENT(v, tend, tv_m, v_init, rdf, wall_flags_total_0) &
    10331037    !$ACC PRESENT(tsc(2:5)) &
    10341038    !$ACC PRESENT(v_p)
     
    10411045                                                      ( v(k,j,i) - v_init(k) ) &
    10421046                                     ) * MERGE( 1.0_wp, 0.0_wp,                &
    1043                                                 BTEST( wall_flags_static_0(k,j,i), 2 )&
     1047                                          BTEST( wall_flags_total_0(k,j,i), 2 )&
    10441048                                              )
    10451049          ENDDO
     
    11291133!-- Prognostic equation for w-velocity component
    11301134    !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) &
    1131     !$ACC PRESENT(w, tend, tw_m, v_init, rdf, wall_flags_static_0) &
     1135    !$ACC PRESENT(w, tend, tw_m, v_init, rdf, wall_flags_total_0) &
    11321136    !$ACC PRESENT(tsc(2:5)) &
    11331137    !$ACC PRESENT(w_p)
     
    11391143                                               - tsc(5) * rdf(k) * w(k,j,i)    &
    11401144                                     ) * MERGE( 1.0_wp, 0.0_wp,                &
    1141                                                 BTEST( wall_flags_static_0(k,j,i), 3 )&
     1145                                          BTEST( wall_flags_total_0(k,j,i), 3 )&
    11421146                                              )
    11431147          ENDDO
     
    12671271!--    Prognostic equation for potential temperature
    12681272       !$ACC PARALLEL LOOP COLLAPSE(3) PRIVATE(i, j, k) &
    1269        !$ACC PRESENT(pt, tend, tpt_m, wall_flags_static_0) &
     1273       !$ACC PRESENT(pt, tend, tpt_m, wall_flags_total_0) &
    12701274       !$ACC PRESENT(pt_init, rdf_sc, ptdf_x, ptdf_y) &
    12711275       !$ACC PRESENT(tsc(3:5)) &
     
    12811285                                          )                                    &
    12821286                                   * MERGE( 1.0_wp, 0.0_wp,                    &
    1283                                              BTEST( wall_flags_static_0(k,j,i), 0 )   &
     1287                                       BTEST( wall_flags_total_0(k,j,i), 0 )   &
    12841288                                          )
    12851289             ENDDO
     
    14021406                                                      ( q(k,j,i) - q_init(k) ) &
    14031407                                        ) * MERGE( 1.0_wp, 0.0_wp,             &
    1404                                                    BTEST( wall_flags_static_0(k,j,i), 0 ) &
     1408                                         BTEST( wall_flags_total_0(k,j,i), 0 ) &
    14051409                                                 )
    14061410                IF ( q_p(k,j,i) < 0.0_wp )  q_p(k,j,i) = 0.1_wp * q(k,j,i)
     
    15231527                                        )                                      &
    15241528                                   * MERGE( 1.0_wp, 0.0_wp,                    &
    1525                                              BTEST( wall_flags_static_0(k,j,i), 0 )   &
     1529                                       BTEST( wall_flags_total_0(k,j,i), 0 )   &
    15261530                                          )
    15271531                IF ( s_p(k,j,i) < 0.0_wp )  s_p(k,j,i) = 0.1_wp * s(k,j,i)
Note: See TracChangeset for help on using the changeset viewer.