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

    r2101 r2232  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! topography representation via flags
    2323!
    2424! Former revisions:
     
    9595
    9696       USE indices,                                                            &
    97            ONLY:  nxl, nxr, nyn, nys, nzb_w_inner, nzt
     97           ONLY:  nxl, nxr, nyn, nys, nzb, nzt, wall_flags_0
    9898
    9999       USE kinds
     
    112112       DO  i = nxl, nxr
    113113          DO  j = nys, nyn
    114              DO  k = nzb_w_inner(j,i)+1, nzt-1
     114             DO  k = nzb+1, nzt-1
    115115!
    116116!--             x-direction
     
    119119                IF ( ukomp > 0.0_wp )  THEN
    120120                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    121                                          ( w(k,j,i) - w(k,j,i-1) ) * ddx
     121                                         ( w(k,j,i) - w(k,j,i-1) ) * ddx       &
     122                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     123                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    122124                ELSE
    123125                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    124                                          ( w(k,j,i+1) - w(k,j,i) ) * ddx
     126                                         ( w(k,j,i+1) - w(k,j,i) ) * ddx       &
     127                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     128                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    125129                ENDIF
    126130!
     
    130134                IF ( vkomp > 0.0_wp )  THEN
    131135                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    132                                          ( w(k,j,i) - w(k,j-1,i) ) * ddy
     136                                         ( w(k,j,i) - w(k,j-1,i) ) * ddy       &
     137                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     138                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    133139                ELSE
    134140                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    135                                          ( w(k,j+1,i) - w(k,j,i) ) * ddy
     141                                         ( w(k,j+1,i) - w(k,j,i) ) * ddy       &
     142                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     143                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    136144                ENDIF
    137145!
     
    139147                IF ( w(k,j,i) > 0.0_wp )  THEN
    140148                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    141                                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
     149                                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)   &
     150                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     151                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    142152                ELSE
    143153                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    144                                          ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
     154                                         ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1) &
     155                                      * MERGE( 1.0_wp, 0.0_wp,                 &
     156                                               BTEST( wall_flags_0(k,j,i), 3 ) )
    145157                ENDIF
    146158
     
    169181
    170182       USE indices,                                                            &
    171            ONLY:  nzb_w_inner, nzt
     183           ONLY:  nzb, nzt, wall_flags_0
    172184
    173185       USE kinds
     
    184196
    185197
    186        DO  k = nzb_w_inner(j,i)+1, nzt-1
     198       DO  k = nzb+1, nzt-1
    187199!
    188200!--       x-direction
Note: See TracChangeset for help on using the changeset viewer.