Changeset 3538


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

Location:
palm/trunk/SOURCE
Files:
11 edited

Legend:

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

    r3302 r3538  
    2525! -----------------
    2626! $Id$
     27! Remove unnecessary double-masking of topography
     28!
     29! 3302 2018-10-03 02:39:40Z raasch
    2730! Stokes drift velocity added
    2831!
     
    116119
    117120       USE indices,                                                            &
    118            ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb,             &
    119                   nzt, wall_flags_0
     121           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt
    120122
    121123       USE kinds
     
    163165                                                   ( sk(k-1,j,i) - sk(k,j,i) ) &
    164166                                                 ) * dd2zu(k)                  &
    165                                       ) * MERGE( 1.0_wp, 0.0_wp,               &
    166                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     167                                      )
    167168             ENDDO
    168169          ENDDO
     
    189190
    190191       USE indices,                                                            &
    191            ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_0
     192           ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt
    192193
    193194       USE kinds
     
    233234                                                  ( sk(k-1,j,i) - sk(k,j,i) )  &
    234235                                                ) * dd2zu(k)                   &
    235                                     ) * MERGE( 1.0_wp, 0.0_wp,                 &
    236                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     236                                    )
    237237       ENDDO
    238238
  • 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
  • palm/trunk/SOURCE/advec_u_pw.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!
     
    105108
    106109       USE indices,                                                            &
    107            ONLY:  nxlu, nxr, nyn, nys, nzb, nzt, wall_flags_0
     110           ONLY:  nxlu, nxr, nyn, nys, nzb, nzt
    108111
    109112       USE kinds
     
    132135                         - u(k-1,j,i) * ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
    133136                                                                  * ddzw(k)    &
    134                                                       )                        &
    135                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    136                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     137                                                      )
    137138             ENDDO
    138139          ENDDO
     
    159160
    160161       USE indices,                                                            &
    161            ONLY:  nzb, nzt, wall_flags_0
     162           ONLY:  nzb, nzt
    162163
    163164       USE kinds
     
    184185                         - u(k-1,j,i) * ( w(k-1,j,i) + w(k-1,j,i-1) ) )        &
    185186                                                                  * ddzw(k)    &
    186                                                 )                              &
    187                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    188                                                BTEST( wall_flags_0(k,j,i), 1 ) )
     187                                                )
    189188       ENDDO
    190189
  • 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
  • palm/trunk/SOURCE/advec_v_pw.f90

    r2718 r3538  
    2626! -----------------
    2727! $Id$
     28! Remove unnecessary double-masking of topography
     29!
     30! 2718 2018-01-02 08:49:38Z maronga
    2831! Corrected "Former revisions" section
    2932!
     
    106109
    107110       USE indices,                                                            &
    108            ONLY:  nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_0
     111           ONLY:  nxl, nxr, nyn, nysv, nzb, nzt
    109112
    110113       USE kinds
     
    134137                         - v(k-1,j,i) * ( w(k-1,j-1,i) + w(k-1,j,i) ) )        &
    135138                                                                  * ddzw(k)    &
    136                                                       )                        &
    137                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    138                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     139                                                      )
    139140             ENDDO
    140141          ENDDO
     
    161162
    162163       USE indices,                                                            &
    163            ONLY:  nzb, nzt, wall_flags_0
     164           ONLY:  nzb, nzt
    164165
    165166       USE kinds
     
    187188                         - v(k-1,j,i) * ( w(k-1,j-1,i) + w(k-1,j,i) ) )        &
    188189                                                                  * ddzw(k)    &
    189                                                 )                              &
    190                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    191                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     190                                                )
    192191       ENDDO
    193192 
  • palm/trunk/SOURCE/advec_v_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:  nxl, nxr, nyn, nysv, nzb, nzt, wall_flags_0
     109           ONLY:  nxl, nxr, nyn, nysv, nzb, nzt
    107110
    108111       USE kinds
     
    129132                IF ( ukomp > 0.0_wp )  THEN
    130133                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    131                                          ( v(k,j,i) - v(k,j,i-1) ) * ddx       &
    132                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    133                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     134                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
    134135                ELSE
    135136                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    136                                          ( v(k,j,i+1) - v(k,j,i) ) * ddx       &
    137                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    138                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     137                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
    139138                ENDIF
    140139!
     
    143142                IF ( vkomp > 0.0_wp )  THEN
    144143                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    145                                          ( v(k,j,i) - v(k,j-1,i) ) * ddy       &
    146                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    147                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     144                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
    148145                ELSE
    149146                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    150                                          ( v(k,j+1,i) - v(k,j,i) ) * ddy       &
    151                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    152                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     147                                         ( v(k,j+1,i) - v(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                                          ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)   &
    161                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    162                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     155                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    163156                ELSE
    164157                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    165                                          ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1) &
    166                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    167                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     158                                         ( v(k+1,j,i) - v(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
     
    215206          IF ( ukomp > 0.0_wp )  THEN
    216207             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    217                                          ( v(k,j,i) - v(k,j,i-1) ) * ddx       &
    218                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    219                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     208                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
    220209          ELSE
    221210             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    222                                          ( v(k,j,i+1) - v(k,j,i) ) * ddx       &
    223                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    224                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     211                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
    225212          ENDIF
    226213!
     
    229216          IF ( vkomp > 0.0_wp )  THEN
    230217             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    231                                          ( v(k,j,i) - v(k,j-1,i) ) * ddy       &
    232                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    233                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     218                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
    234219          ELSE
    235220             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    236                                          ( v(k,j+1,i) - v(k,j,i) ) * ddy       &
    237                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    238                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     221                                         ( v(k,j+1,i) - v(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                                          ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)   &
    246                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    247                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     228                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    248229          ELSE
    249230             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    250                                          ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1) &
    251                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    252                                                BTEST( wall_flags_0(k,j,i), 2 ) )
     231                                         ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
    253232          ENDIF
    254233
  • palm/trunk/SOURCE/advec_w_pw.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!
     
    105108
    106109       USE indices,                                                            &
    107            ONLY:  nxl, nxr, nyn, nys, nzb, nzt, wall_flags_0
     110           ONLY:  nxl, nxr, nyn, nys, nzb, nzt
    108111
    109112       USE kinds
     
    133136                         - w(k-1,j,i) * ( w(k,j,i) + w(k-1,j,i) ) )            &
    134137                                                                  * ddzu(k+1)  &
    135                                                       )                        &
    136                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    137                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     138                                                      )
    138139             ENDDO
    139140          ENDDO
     
    160161
    161162       USE indices,                                                            &
    162            ONLY:  nzb, nzt, wall_flags_0
     163           ONLY:  nzb, nzt
    163164
    164165       USE kinds
     
    185186                         - w(k-1,j,i) * ( w(k,j,i) + w(k-1,j,i) ) )            &
    186187                                                                  * ddzu(k+1)  &
    187                                                 )                              &
    188                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    189                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     188                                                )
    190189       ENDDO
    191190    END SUBROUTINE advec_w_pw_ij
  • palm/trunk/SOURCE/advec_w_up.f90

    r3255 r3538  
    2525! -----------------
    2626! $Id$
     27! Remove unnecessary double-masking of topography
     28!
     29! 3255 2018-09-17 11:57:36Z suehring
    2730! Missing wall flags added
    2831!
     
    107110
    108111       USE indices,                                                            &
    109            ONLY:  nxl, nxr, nyn, nys, nzb, nzt, wall_flags_0
     112           ONLY:  nxl, nxr, nyn, nys, nzb, nzt
    110113
    111114       USE kinds
     
    131134                IF ( ukomp > 0.0_wp )  THEN
    132135                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    133                                          ( w(k,j,i) - w(k,j,i-1) ) * ddx       &
    134                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    135                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     136                                         ( w(k,j,i) - w(k,j,i-1) ) * ddx
    136137                ELSE
    137138                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    138                                          ( w(k,j,i+1) - w(k,j,i) ) * ddx       &
    139                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    140                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     139                                         ( w(k,j,i+1) - w(k,j,i) ) * ddx
    141140                ENDIF
    142141!
     
    146145                IF ( vkomp > 0.0_wp )  THEN
    147146                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    148                                          ( w(k,j,i) - w(k,j-1,i) ) * ddy       &
    149                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    150                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     147                                         ( w(k,j,i) - w(k,j-1,i) ) * ddy
    151148                ELSE
    152149                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    153                                          ( w(k,j+1,i) - w(k,j,i) ) * ddy       &
    154                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    155                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     150                                         ( w(k,j+1,i) - w(k,j,i) ) * ddy
    156151                ENDIF
    157152!
     
    159154                IF ( w(k,j,i) > 0.0_wp )  THEN
    160155                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    161                                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)   &
    162                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    163                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     156                                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
    164157                ELSE
    165158                   tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    166                                          ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1) &
    167                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    168                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     159                                         ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
    169160                ENDIF
    170161
     
    193184
    194185       USE indices,                                                            &
    195            ONLY:  nzb, nzt, wall_flags_0
     186           ONLY:  nzb, nzt
    196187
    197188       USE kinds
     
    215206          IF ( ukomp > 0.0_wp )  THEN
    216207             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    217                                          ( w(k,j,i) - w(k,j,i-1) ) * ddx       &
    218                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    219                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     208                                         ( w(k,j,i) - w(k,j,i-1) ) * ddx
    220209          ELSE
    221210             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    222                                          ( w(k,j,i+1) - w(k,j,i) ) * ddx       &
    223                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    224                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     211                                         ( w(k,j,i+1) - w(k,j,i) ) * ddx
    225212          ENDIF
    226213!
     
    230217          IF ( vkomp > 0.0_wp )  THEN
    231218             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    232                                          ( w(k,j,i) - w(k,j-1,i) ) * ddy       &
    233                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    234                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     219                                         ( w(k,j,i) - w(k,j-1,i) ) * ddy
    235220          ELSE
    236221             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    237                                          ( w(k,j+1,i) - w(k,j,i) ) * ddy       &
    238                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    239                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     222                                         ( w(k,j+1,i) - w(k,j,i) ) * ddy
    240223          ENDIF
    241224!
     
    243226          IF ( w(k,j,i) > 0.0_wp )  THEN
    244227             tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                            &
    245                                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)   &
    246                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    247                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     228                                         ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
    248229          ELSE
    249230             tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                            &
    250                                          ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1) &
    251                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    252                                                BTEST( wall_flags_0(k,j,i), 3 ) )
     231                                         ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
    253232          ENDIF
    254233
  • palm/trunk/SOURCE/buoyancy.f90

    r3294 r3538  
    2525! -----------------
    2626! $Id$
     27! Remove unnecessary double-masking of topography
     28!
     29! 3294 2018-10-01 02:37:10Z raasch
    2730! module use statements moved to global declaration section
    2831!
     
    152155       USE indices,                                                            &
    153156           ONLY:  nxl, nxlg, nxlu, nxr, nxrg, nyn, nyng, nys, nysg, nzb,       &
    154                   nzt, wall_flags_0
     157                  nzt
    155158
    156159
     
    179182                             ( var(k,j,i)   - ref_state(k) )   / ref_state(k) + &
    180183                             ( var(k+1,j,i) - ref_state(k+1) ) / ref_state(k+1) &
    181                           ) * MERGE( 1.0_wp, 0.0_wp,                            &
    182                                      BTEST( wall_flags_0(k,j,i), 0 ) )
     184                          )
    183185                ENDDO
    184186             ENDDO
     
    200202                           0.5_wp * ( ( pt(k,j,i-1)         + pt(k,j,i)         ) &
    201203                                    - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) &
    202                                     ) / pt_surface                                &
    203                                       * MERGE( 1.0_wp, 0.0_wp,                    &
    204                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     204                                    ) / pt_surface
    205205                   ENDDO
    206206                ENDDO
     
    215215                           0.5_wp * ( ( pt(k,j,i)         + pt(k+1,j,i)         ) &
    216216                                    - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) &
    217                                     ) / pt_surface                                &
    218                                       * MERGE( 1.0_wp, 0.0_wp,                    &
    219                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     217                                    ) / pt_surface
    220218                   ENDDO
    221219                ENDDO
     
    247245
    248246       USE indices,                                                            &
    249            ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_0
     247           ONLY:  nxlg, nxrg, nyng, nysg, nzb, nzt
    250248
    251249       IMPLICIT NONE
     
    270268                        ( var(k,j,i)   - ref_state(k)   ) / ref_state(k)   +   &
    271269                        ( var(k+1,j,i) - ref_state(k+1) ) / ref_state(k+1)     &
    272                                                                           )    &
    273                                       * MERGE( 1.0_wp, 0.0_wp,                 &
    274                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     270                                                                          )
    275271          ENDDO
    276272
     
    288284                           0.5_wp * ( ( pt(k,j,i-1)         + pt(k,j,i)         ) &
    289285                                    - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) &
    290                                     ) / pt_surface                                &
    291                                       * MERGE( 1.0_wp, 0.0_wp,                    &
    292                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     286                                    ) / pt_surface
    293287             ENDDO
    294288
     
    299293                           0.5_wp * ( ( pt(k,j,i)         + pt(k+1,j,i)         ) &
    300294                                    - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) &
    301                                     ) / pt_surface                                &
    302                                       * MERGE( 1.0_wp, 0.0_wp,                    &
    303                                                BTEST( wall_flags_0(k,j,i), 0 ) )
     295                                    ) / pt_surface
    304296             ENDDO
    305297
  • palm/trunk/SOURCE/coriolis.f90

    r3241 r3538  
    2525! -----------------
    2626! $Id$
     27! Note concerning topography masking added
     28!
     29! 3241 2018-09-12 15:02:00Z raasch
    2730! unused variables removed
    2831!
     
    8992! ------------
    9093!> Computation of all Coriolis terms in the equations of motion.
     94!>
     95!> @note In this routine the topography is masked, even though this
     96!>       is again done in prognostic_equations. However, omitting the masking
     97!>       here lead to slightly different results. Reason unknown.
    9198!------------------------------------------------------------------------------!
    9299 MODULE coriolis_mod
  • palm/trunk/SOURCE/init_grid.f90

    r3294 r3538  
    2525! -----------------
    2626! $Id$
     27! Comment added
     28!
     29! 3294 2018-10-01 02:37:10Z raasch
    2730! ocean renamed ocean_mode
    2831!
     
    16471650          DO  j = nys, nyn
    16481651             DO  k = nzb, nzt
     1652!
     1653!--             Flag topography for all grid points which are below
     1654!--             the local topography height.
     1655!--             Note, each topography is flagged as building.
    16491656                IF ( zu(k) - ocean_offset <= buildings_f%var_2d(j,i) )  THEN
    16501657                    topo_3d(k,j,i) = IBCLR( topo_3d(k,j,i), 0 )
    1651                     topo_3d(k,j,i) = IBSET( topo_3d(k,j,i), 2 ) !indicates terrain
     1658                    topo_3d(k,j,i) = IBSET( topo_3d(k,j,i), 2 ) !indicates building
    16521659                ENDIF
    16531660             ENDDO
Note: See TracChangeset for help on using the changeset viewer.