Ignore:
Timestamp:
May 30, 2017 5:47:52 PM (4 years ago)
Author:
suehring
Message:

Adjustments according new topography and surface-modelling concept implemented

File:
1 edited

Legend:

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

    r2101 r2232  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! Adjustments to new topography and surface concept
    2323!
    2424! Former revisions:
     
    195195
    196196       USE indices,                                                            &
    197            ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzb_s_inner,&
    198                   nzt
     197           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt,        &
     198                  wall_flags_0
    199199
    200200       USE kinds
     
    225225          DO  j = nys, nyn
    226226
    227              DO  k = nzb_s_inner(j,i)+1, nzt
     227             DO  k = nzb+1, nzt
    228228                IF ( w_subs(k) < 0.0_wp )  THEN    ! large-scale subsidence
    229229                   tmp_tend = - w_subs(k) *                                    &
    230                               ( var(k+1,j,i) - var(k,j,i) ) * ddzu(k+1)
     230                              ( var(k+1,j,i) - var(k,j,i) ) * ddzu(k+1) *      &
     231                                        MERGE( 1.0_wp, 0.0_wp,                 &
     232                                               BTEST( wall_flags_0(k,j,i), 0 ) )
    231233                ELSE                               ! large-scale ascent
    232234                   tmp_tend = - w_subs(k) *                                    &
    233                               ( var(k,j,i) - var(k-1,j,i) ) * ddzu(k)
     235                              ( var(k,j,i) - var(k-1,j,i) ) * ddzu(k) *        &
     236                                        MERGE( 1.0_wp, 0.0_wp,                 &
     237                                               BTEST( wall_flags_0(k,j,i), 0 ) )
    234238                ENDIF
    235239
     
    238242                IF ( large_scale_forcing )  THEN
    239243                   sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend    &
    240                                    * weight_substep(intermediate_timestep_count)
     244                                 * weight_substep(intermediate_timestep_count) &
     245                                 * MERGE( 1.0_wp, 0.0_wp,                      &
     246                                          BTEST( wall_flags_0(k,j,i), 0 ) )
    241247                ENDIF
    242248             ENDDO
     
    304310
    305311       USE indices,                                                            &
    306            ONLY:  nxl, nxlg, nxrg, nyng, nys, nysg, nzb_s_inner, nzb, nzt
     312           ONLY:  nxl, nxlg, nxrg, nyng, nys, nysg, nzb, nzt, wall_flags_0
    307313
    308314       USE kinds
     
    330336!
    331337!--    Influence of w_subsidence on the current tendency term
    332        DO  k = nzb_s_inner(j,i)+1, nzt
     338       DO  k = nzb+1, nzt
    333339          IF ( w_subs(k) < 0.0_wp )  THEN      ! large-scale subsidence
    334              tmp_tend = - w_subs(k) * ( var(k+1,j,i) - var(k,j,i) ) * ddzu(k+1)
     340             tmp_tend = - w_subs(k) * ( var(k+1,j,i) - var(k,j,i) )            &
     341                                    * ddzu(k+1)                                &
     342                                    * MERGE( 1.0_wp, 0.0_wp,                   &
     343                                             BTEST( wall_flags_0(k,j,i), 0 ) )
    335344          ELSE                                 ! large-scale ascent
    336              tmp_tend = - w_subs(k) * ( var(k,j,i) - var(k-1,j,i) ) * ddzu(k)
     345             tmp_tend = - w_subs(k) * ( var(k,j,i) - var(k-1,j,i) ) * ddzu(k)  &
     346                                    * MERGE( 1.0_wp, 0.0_wp,                   &
     347                                             BTEST( wall_flags_0(k,j,i), 0 ) )
    337348          ENDIF
    338349
     
    341352          IF ( large_scale_forcing )  THEN
    342353             sums_ls_l(k,ls_index) = sums_ls_l(k,ls_index) + tmp_tend          &
    343                                    * weight_substep(intermediate_timestep_count)
     354                                  * weight_substep(intermediate_timestep_count)&
     355                                  * MERGE( 1.0_wp, 0.0_wp,                     &
     356                                           BTEST( wall_flags_0(k,j,i), 0 ) )
    344357          ENDIF
    345358       ENDDO
Note: See TracChangeset for help on using the changeset viewer.