Ignore:
Timestamp:
Nov 20, 2018 10:55:41 AM (5 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_s_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!
     
    113116
    114117       USE indices,                                                            &
    115            ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt,        &
    116                   wall_flags_0
     118           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt
    117119
    118120       USE kinds
     
    143145                IF ( ukomp > 0.0_wp )  THEN
    144146                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    145                                          ( sk(k,j,i) - sk(k,j,i-1) ) * ddx     &
    146                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    147                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     147                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
    148148                ELSE
    149149                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    150                                          ( sk(k,j,i+1) - sk(k,j,i) ) * ddx     &
    151                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    152                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     150                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
    153151                ENDIF
    154152!
     
    157155                IF ( vkomp > 0.0_wp )  THEN
    158156                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    159                                          ( sk(k,j,i) - sk(k,j-1,i) ) * ddy     &
    160                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    161                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     157                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
    162158                ELSE
    163159                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    164                                          ( sk(k,j+1,i) - sk(k,j,i) ) * ddy     &
    165                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    166                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     160                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
    167161                ENDIF
    168162!
     
    171165                IF ( wkomp > 0.0_wp )  THEN
    172166                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    173                                          ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k) &
    174                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    175                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     167                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
    176168                ELSE
    177169                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    178                                          ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1) &
    179                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    180                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     170                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
    181171                ENDIF
    182172
     
    205195
    206196       USE indices,                                                            &
    207            ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_0
     197           ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt
    208198
    209199       USE kinds
     
    233223          IF ( ukomp > 0.0_wp )  THEN
    234224             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    235                                          ( sk(k,j,i) - sk(k,j,i-1) ) * ddx     &
    236                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    237                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     225                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
    238226          ELSE
    239227             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    240                                          ( sk(k,j,i+1) - sk(k,j,i) ) * ddx     &
    241                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    242                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     228                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
    243229          ENDIF
    244230!
     
    247233          IF ( vkomp > 0.0_wp )  THEN
    248234             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    249                                          ( sk(k,j,i) - sk(k,j-1,i) ) * ddy     &
    250                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    251                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     235                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
    252236          ELSE
    253237             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    254                                          ( sk(k,j+1,i) - sk(k,j,i) ) * ddy     &
    255                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    256                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     238                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
    257239          ENDIF
    258240!
     
    261243          IF ( wkomp > 0.0_wp )  THEN
    262244             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    263                                          ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k) &
    264                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    265                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     245                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
    266246          ELSE
    267247             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    268                                          ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1) &
    269                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    270                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     248                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
    271249          ENDIF
    272250
Note: See TracChangeset for help on using the changeset viewer.