Ignore:
Timestamp:
Nov 20, 2018 10:55:41 AM (3 years ago)
Author:
suehring
Message:

Remove unnecessary double masking of topography in advection and buoyancy terms

File:
1 edited

Legend:

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

    r2718 r3538  
    2525! -----------------
    2626! $Id$
     27! Remove unnecessary double-masking of topography
     28!
     29! 2718 2018-01-02 08:49:38Z maronga
    2730! Corrected "Former revisions" section
    2831!
     
    104107
    105108       USE indices,                                                            &
    106            ONLY:  nxlu, nxr, nyn, nys, nzb, nzt, wall_flags_0
     109           ONLY:  nxlu, nxr, nyn, nys, nzb, nzt
    107110
    108111       USE kinds
     
    128131                IF ( ukomp > 0.0_wp )  THEN
    129132                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    130                                          ( u(k,j,i) - u(k,j,i-1) ) * ddx       &
    131                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    132                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     133                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
    133134                ELSE
    134135                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    135                                           ( u(k,j,i+1) - u(k,j,i) ) * ddx      &
    136                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    137                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     136                                          ( u(k,j,i+1) - u(k,j,i) ) * ddx
    138137                ENDIF
    139138!
     
    143142                IF ( vkomp > 0.0_wp )  THEN
    144143                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    145                                          ( u(k,j,i) - u(k,j-1,i) ) * ddy       &
    146                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    147                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     144                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
    148145                ELSE
    149146                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    150                                          ( u(k,j+1,i) - u(k,j,i) ) * ddy       &
    151                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    152                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     147                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
    153148                ENDIF
    154149!
     
    158153                IF ( wkomp > 0.0_wp )  THEN
    159154                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    160                                          ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)   &
    161                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    162                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     155                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
    163156                ELSE
    164157                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    165                                          ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1) &
    166                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    167                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     158                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
    168159                ENDIF
    169160
     
    192183
    193184       USE indices,                                                            &
    194            ONLY:  nzb, nzt, wall_flags_0
     185           ONLY:  nzb, nzt
    195186
    196187       USE kinds
     
    214205          IF ( ukomp > 0.0_wp )  THEN
    215206             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    216                                          ( u(k,j,i) - u(k,j,i-1) ) * ddx       &
    217                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    218                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     207                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
    219208          ELSE
    220209             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    221                                          ( u(k,j,i+1) - u(k,j,i) ) * ddx       &
    222                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    223                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     210                                         ( u(k,j,i+1) - u(k,j,i) ) * ddx
    224211          ENDIF
    225212!
     
    229216          IF ( vkomp > 0.0_wp )  THEN
    230217             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    231                                          ( u(k,j,i) - u(k,j-1,i) ) * ddy       &
    232                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    233                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     218                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
    234219          ELSE
    235220             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    236                                          ( u(k,j+1,i) - u(k,j,i) ) * ddy       &
    237                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    238                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     221                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
    239222          ENDIF
    240223!
     
    243226          IF ( wkomp > 0.0_wp )  THEN
    244227             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    245                                          ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)   &
    246                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    247                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     228                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
    248229          ELSE
    249230             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    250                                          ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1) &
    251                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    252                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     231                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
    253232          ENDIF
    254233
Note: See TracChangeset for help on using the changeset viewer.