Ignore:
Timestamp:
Jun 29, 2020 12:36:47 PM (4 years ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

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

    r4360 r4583  
    11!> @file diffusion_w.f90
    2 !------------------------------------------------------------------------------!
     2!--------------------------------------------------------------------------------------------------!
    33! This file is part of the PALM model system.
    44!
    5 ! PALM is free software: you can redistribute it and/or modify it under the
    6 ! terms of the GNU General Public License as published by the Free Software
    7 ! Foundation, either version 3 of the License, or (at your option) any later
    8 ! version.
    9 !
    10 ! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
    11 ! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
    12 ! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    13 !
    14 ! You should have received a copy of the GNU General Public License along with
    15 ! PALM. If not, see <http://www.gnu.org/licenses/>.
     5! PALM is free software: you can redistribute it and/or modify it under the terms of the GNU General
     6! Public License as published by the Free Software Foundation, either version 3 of the License, or
     7! (at your option) any later version.
     8!
     9! PALM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
     10! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
     11! Public License for more details.
     12!
     13! You should have received a copy of the GNU General Public License along with PALM. If not, see
     14! <http://www.gnu.org/licenses/>.
    1615!
    1716! Copyright 1997-2020 Leibniz Universitaet Hannover
    18 !------------------------------------------------------------------------------!
     17!--------------------------------------------------------------------------------------------------!
    1918!
    2019! Current revisions:
     
    2524! -----------------
    2625! $Id$
    27 ! Introduction of wall_flags_total_0, which currently sets bits based on static
    28 ! topography information used in wall_flags_static_0
    29 !
     26! file re-formatted to follow the PALM coding standard
     27!
     28! 4360 2020-01-07 11:25:50Z suehring
     29! Introduction of wall_flags_total_0, which currently sets bits based on static topography
     30! information used in wall_flags_static_0
     31!
    3032! 4329 2019-12-10 15:46:36Z motisi
    3133! Renamed wall_flags_0 to wall_flags_static_0
    32 ! 
     34!
    3335! 4182 2019-08-22 15:20:23Z scharf
    3436! Corrected "Former revisions" section
    35 ! 
     37!
    3638! 3655 2019-01-07 16:51:22Z knoop
    3739! OpenACC port for SPEC
     
    4446! ------------
    4547!> Diffusion term of the w-component
    46 !------------------------------------------------------------------------------!
     48!--------------------------------------------------------------------------------------------------!
    4749 MODULE diffusion_w_mod
    48  
     50
    4951
    5052    PRIVATE
     
    5961
    6062
    61 !------------------------------------------------------------------------------!
     63!--------------------------------------------------------------------------------------------------!
    6264! Description:
    6365! ------------
    6466!> Call for all grid points
    65 !------------------------------------------------------------------------------!
     67!--------------------------------------------------------------------------------------------------!
    6668    SUBROUTINE diffusion_w
    6769
    68        USE arrays_3d,                                                          &         
    69            ONLY :  ddzu, ddzw, km, tend, u, v, w, drho_air_zw, rho_air
    70            
    71        USE grid_variables,                                                     &     
     70       USE arrays_3d,                                                                              &
     71           ONLY :  ddzu, ddzw, drho_air_zw, km, rho_air, tend, u, v, w
     72
     73       USE grid_variables,                                                                         &
    7274           ONLY :  ddx, ddy
    73            
    74        USE indices,                                                            &           
     75
     76       USE indices,                                                                                &
    7577           ONLY :  nxl, nxr, nyn, nys, nzb, nzt, wall_flags_total_0
    76            
     78
    7779       USE kinds
    7880
    79        USE surface_mod,                                                        &
     81       USE surface_mod,                                                                            &
    8082           ONLY :  surf_def_v, surf_lsm_v, surf_usm_v
    8183
     
    8991       INTEGER(iwp) ::  surf_e        !< End index of surface elements at (j,i)-gridpoint
    9092       INTEGER(iwp) ::  surf_s        !< Start index of surface elements at (j,i)-gridpoint
    91        
     93
    9294       REAL(wp) ::  flag              !< flag to mask topography grid points
    9395       REAL(wp) ::  kmxm              !< diffusion coefficient on leftward side of the w-gridbox - interpolated onto xu-y grid
     
    9597       REAL(wp) ::  kmym              !< diffusion coefficient on southward side of the w-gridbox - interpolated onto x-yv grid
    9698       REAL(wp) ::  kmyp              !< diffusion coefficient on northward side of the w-gridbox - interpolated onto x-yv grid
     99       REAL(wp) ::  mask_east         !< flag to mask vertical wall east of the grid point
     100       REAL(wp) ::  mask_north        !< flag to mask vertical wall north of the grid point
     101       REAL(wp) ::  mask_south        !< flag to mask vertical wall south of the grid point
    97102       REAL(wp) ::  mask_west         !< flag to mask vertical wall west of the grid point
    98        REAL(wp) ::  mask_east         !< flag to mask vertical wall east of the grid point
    99        REAL(wp) ::  mask_south        !< flag to mask vertical wall south of the grid point
    100        REAL(wp) ::  mask_north        !< flag to mask vertical wall north of the grid point
    101103
    102104
     
    116118             DO  k = nzb+1, nzt-1
    117119!
    118 !--             Predetermine flag to mask topography and wall-bounded grid points.
    119                 flag       = MERGE( 1.0_wp, 0.0_wp,                            &
    120                                     BTEST( wall_flags_total_0(k,j,i),   3 ) )
    121                 mask_east  = MERGE( 1.0_wp, 0.0_wp,                            &
    122                                     BTEST( wall_flags_total_0(k,j,i+1), 3 ) )
    123                 mask_west  = MERGE( 1.0_wp, 0.0_wp,                            &
    124                                     BTEST( wall_flags_total_0(k,j,i-1), 3 ) )
    125                 mask_south = MERGE( 1.0_wp, 0.0_wp,                            &
    126                                     BTEST( wall_flags_total_0(k,j-1,i), 3 ) )
    127                 mask_north = MERGE( 1.0_wp, 0.0_wp,                            &
    128                                     BTEST( wall_flags_total_0(k,j+1,i), 3 ) )
     120!--             Predetermine flag to mask topography and wall-bounded grid points.
     121                flag       = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i),   3 ) )
     122                mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 3 ) )
     123                mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 3 ) )
     124                mask_south = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j-1,i), 3 ) )
     125                mask_north = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j+1,i), 3 ) )
    129126!
    130127!--             Interpolate eddy diffusivities on staggered gridpoints
    131                 kmxp = 0.25_wp * ( km(k,j,i)   + km(k,j,i+1)   +               &
     128                kmxp = 0.25_wp * ( km(k,j,i)   + km(k,j,i+1)   +                                   &
    132129                                   km(k+1,j,i) + km(k+1,j,i+1) )
    133                 kmxm = 0.25_wp * ( km(k,j,i)   + km(k,j,i-1)   +               &
     130                kmxm = 0.25_wp * ( km(k,j,i)   + km(k,j,i-1)   +                                   &
    134131                                   km(k+1,j,i) + km(k+1,j,i-1) )
    135                 kmyp = 0.25_wp * ( km(k,j,i)   + km(k+1,j,i)   +               &
     132                kmyp = 0.25_wp * ( km(k,j,i)   + km(k+1,j,i)   +                                   &
    136133                                   km(k,j+1,i) + km(k+1,j+1,i) )
    137                 kmym = 0.25_wp * ( km(k,j,i)   + km(k+1,j,i)   +               &
     134                kmym = 0.25_wp * ( km(k,j,i)   + km(k+1,j,i)   +                                   &
    138135                                   km(k,j-1,i) + km(k+1,j-1,i) )
    139136
    140                 tend(k,j,i) = tend(k,j,i)                                      &
    141                        + ( mask_east *  kmxp * (                               &
    142                                    ( w(k,j,i+1)   - w(k,j,i)   ) * ddx         &
    143                                  + ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1)   &
    144                                                )                               &
    145                          - mask_west * kmxm *  (                               &
    146                                    ( w(k,j,i)     - w(k,j,i-1) ) * ddx         &
    147                                  + ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1)   &
    148                                                )                               &
    149                          ) * ddx                                 * flag        &
    150                        + ( mask_north * kmyp * (                               &
    151                                    ( w(k,j+1,i)   - w(k,j,i)   ) * ddy         &
    152                                  + ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1)   &
    153                                                )                               &
    154                          - mask_south * kmym * (                               &
    155                                    ( w(k,j,i)     - w(k,j-1,i) ) * ddy         &
    156                                  + ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1)   &
    157                                                )                               &
    158                          ) * ddy                                 * flag        &
    159                        + 2.0_wp * (                                            &
    160                          km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) )   * ddzw(k+1) &
    161                                      * rho_air(k+1)                            &
    162                        - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)   &
    163                                      * rho_air(k)                              &
    164                                   ) * ddzu(k+1) * drho_air_zw(k) * flag
    165              ENDDO
    166 
    167 !
    168 !--          Add horizontal momentum flux v'w' at north- (l=0) and south-facing (l=1)
    169 !--          surfaces. Note, in the the flat case, loops won't be entered as
    170 !--          start_index > end_index. Furtermore, note, no vertical natural surfaces
    171 !--          so far.           
     137                tend(k,j,i) = tend(k,j,i)                                                          &
     138                              + ( mask_east *  kmxp * (                                            &
     139                                          ( w(k,j,i+1)   - w(k,j,i)   ) * ddx                      &
     140                                        + ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1)                &
     141                                                      )                                            &
     142                                - mask_west * kmxm *  (                                            &
     143                                          ( w(k,j,i)     - w(k,j,i-1) ) * ddx                      &
     144                                        + ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1)                &
     145                                                      )                                            &
     146                                ) * ddx                                 * flag                     &
     147                              + ( mask_north * kmyp * (                                            &
     148                                          ( w(k,j+1,i)   - w(k,j,i)   ) * ddy                      &
     149                                        + ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1)                &
     150                                                      )                                            &
     151                                - mask_south * kmym * (                                            &
     152                                          ( w(k,j,i)     - w(k,j-1,i) ) * ddy                      &
     153                                        + ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1)                &
     154                                                      )                                            &
     155                                ) * ddy                                 * flag                     &
     156                              + 2.0_wp * (                                                         &
     157                                km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) )   * ddzw(k+1)              &
     158                                            * rho_air(k+1)                                         &
     159                              - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)                &
     160                                            * rho_air(k)                                           &
     161                                         ) * ddzu(k+1) * drho_air_zw(k) * flag
     162             ENDDO
     163
     164!
     165!--          Add horizontal momentum flux v'w' at north- (l=0) and south-facing (l=1) surfaces.
     166!--          Note, in the the flat case, loops won't be entered as start_index > end_index.
     167!--          Furtermore, note, no vertical natural surfaces so far.
    172168!--          Default-type surfaces
    173169             DO  l = 0, 1
     
    176172                DO  m = surf_s, surf_e
    177173                   k           = surf_def_v(l)%k(m)
    178                    tend(k,j,i) = tend(k,j,i) +                                 &
    179                                      surf_def_v(l)%mom_flux_w(m) * ddy
    180                 ENDDO   
     174                   tend(k,j,i) = tend(k,j,i) + surf_def_v(l)%mom_flux_w(m) * ddy
     175                ENDDO
    181176             ENDDO
    182177!
     
    187182                DO  m = surf_s, surf_e
    188183                   k           = surf_lsm_v(l)%k(m)
    189                    tend(k,j,i) = tend(k,j,i) +                                 &
    190                                      surf_lsm_v(l)%mom_flux_w(m) * ddy
    191                 ENDDO   
     184                   tend(k,j,i) = tend(k,j,i) + surf_lsm_v(l)%mom_flux_w(m) * ddy
     185                ENDDO
    192186             ENDDO
    193187!
     
    198192                DO  m = surf_s, surf_e
    199193                   k           = surf_usm_v(l)%k(m)
    200                    tend(k,j,i) = tend(k,j,i) +                                 &
    201                                      surf_usm_v(l)%mom_flux_w(m) * ddy
    202                 ENDDO   
    203              ENDDO
    204 !
    205 !--          Add horizontal momentum flux u'w' at east- (l=2) and west-facing (l=3)
    206 !--          surface.
     194                   tend(k,j,i) = tend(k,j,i) + surf_usm_v(l)%mom_flux_w(m) * ddy
     195                ENDDO
     196             ENDDO
     197!
     198!--          Add horizontal momentum flux u'w' at east- (l=2) and west-facing (l=3) surface.
    207199!--          Default-type surfaces
    208200             DO  l = 2, 3
     
    211203                DO  m = surf_s, surf_e
    212204                   k           = surf_def_v(l)%k(m)
    213                    tend(k,j,i) = tend(k,j,i) +                                 &
    214                                      surf_def_v(l)%mom_flux_w(m) * ddx
    215                 ENDDO   
     205                   tend(k,j,i) = tend(k,j,i) + surf_def_v(l)%mom_flux_w(m) * ddx
     206                ENDDO
    216207             ENDDO
    217208!
     
    222213                DO  m = surf_s, surf_e
    223214                   k           = surf_lsm_v(l)%k(m)
    224                    tend(k,j,i) = tend(k,j,i) +                                 &
    225                                      surf_lsm_v(l)%mom_flux_w(m) * ddx
    226                 ENDDO   
     215                   tend(k,j,i) = tend(k,j,i) + surf_lsm_v(l)%mom_flux_w(m) * ddx
     216                ENDDO
    227217             ENDDO
    228218!
     
    233223                DO  m = surf_s, surf_e
    234224                   k           = surf_usm_v(l)%k(m)
    235                    tend(k,j,i) = tend(k,j,i) +                                 &
    236                                      surf_usm_v(l)%mom_flux_w(m) * ddx
    237                 ENDDO   
     225                   tend(k,j,i) = tend(k,j,i) + surf_usm_v(l)%mom_flux_w(m) * ddx
     226                ENDDO
    238227             ENDDO
    239228
     
    244233
    245234
    246 !------------------------------------------------------------------------------!
     235!--------------------------------------------------------------------------------------------------!
    247236! Description:
    248237! ------------
    249238!> Call for grid point i,j
    250 !------------------------------------------------------------------------------!
     239!--------------------------------------------------------------------------------------------------!
    251240    SUBROUTINE diffusion_w_ij( i, j )
    252241
    253        USE arrays_3d,                                                          &         
    254            ONLY :  ddzu, ddzw, km, tend, u, v, w, drho_air_zw, rho_air
    255            
    256        USE grid_variables,                                                     &     
     242       USE arrays_3d,                                                                              &
     243           ONLY :  ddzu, ddzw, drho_air_zw, km, rho_air, tend, u, v, w
     244
     245       USE grid_variables,                                                                         &
    257246           ONLY :  ddx, ddy
    258            
    259        USE indices,                                                            &           
     247
     248       USE indices,                                                                                &
    260249           ONLY :  nzb, nzt, wall_flags_total_0
    261            
     250
    262251       USE kinds
    263252
    264        USE surface_mod,                                                        &
     253       USE surface_mod,                                                                            &
    265254           ONLY :  surf_def_v, surf_lsm_v, surf_usm_v
    266255
     
    275264       INTEGER(iwp) ::  surf_e        !< End index of surface elements at (j,i)-gridpoint
    276265       INTEGER(iwp) ::  surf_s        !< Start index of surface elements at (j,i)-gridpoint
    277        
     266
    278267       REAL(wp) ::  flag              !< flag to mask topography grid points
    279268       REAL(wp) ::  kmxm              !< diffusion coefficient on leftward side of the w-gridbox - interpolated onto xu-y grid
     
    281270       REAL(wp) ::  kmym              !< diffusion coefficient on southward side of the w-gridbox - interpolated onto x-yv grid
    282271       REAL(wp) ::  kmyp              !< diffusion coefficient on northward side of the w-gridbox - interpolated onto x-yv grid
     272       REAL(wp) ::  mask_east         !< flag to mask vertical wall east of the grid point
     273       REAL(wp) ::  mask_north        !< flag to mask vertical wall north of the grid point
     274       REAL(wp) ::  mask_south        !< flag to mask vertical wall south of the grid point
    283275       REAL(wp) ::  mask_west         !< flag to mask vertical wall west of the grid point
    284        REAL(wp) ::  mask_east         !< flag to mask vertical wall east of the grid point
    285        REAL(wp) ::  mask_south        !< flag to mask vertical wall south of the grid point
    286        REAL(wp) ::  mask_north        !< flag to mask vertical wall north of the grid point
    287276
    288277
    289278       DO  k = nzb+1, nzt-1
    290279!
    291 !--       Predetermine flag to mask topography and wall-bounded grid points. 
    292           flag       = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i),   3 ) ) 
     280!--       Predetermine flag to mask topography and wall-bounded grid points.
     281          flag       = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i),   3 ) )
    293282          mask_east  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i+1), 3 ) )
    294283          mask_west  = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_total_0(k,j,i-1), 3 ) )
     
    302291          kmym = 0.25_wp * ( km(k,j,i)+km(k+1,j,i)+km(k,j-1,i)+km(k+1,j-1,i) )
    303292
    304           tend(k,j,i) = tend(k,j,i)                                            &
    305                        + ( mask_east *  kmxp * (                               &
    306                                    ( w(k,j,i+1)   - w(k,j,i)   ) * ddx         &
    307                                  + ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1)   &
    308                                                )                               &
    309                          - mask_west * kmxm *  (                               &
    310                                    ( w(k,j,i)     - w(k,j,i-1) ) * ddx         &
    311                                  + ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1)   &
    312                                                )                               &
    313                          ) * ddx                                 * flag        &
    314                        + ( mask_north * kmyp * (                               &
    315                                    ( w(k,j+1,i)   - w(k,j,i)   ) * ddy         &
    316                                  + ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1)   &
    317                                                )                               &
    318                          - mask_south * kmym * (                               &
    319                                    ( w(k,j,i)     - w(k,j-1,i) ) * ddy         &
    320                                  + ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1)   &
    321                                                )                               &
    322                          ) * ddy                                 * flag        &
    323                        + 2.0_wp * (                                            &
    324                          km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)   &
    325                                      * rho_air(k+1)                            &
    326                        - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)   &
    327                                      * rho_air(k)                              &
    328                                   ) * ddzu(k+1) * drho_air_zw(k) * flag
    329        ENDDO
    330 !
    331 !--    Add horizontal momentum flux v'w' at north- (l=0) and south-facing (l=1)
    332 !--    surfaces. Note, in the the flat case, loops won't be entered as
    333 !--    start_index > end_index. Furtermore, note, no vertical natural surfaces
    334 !--    so far.           
     293          tend(k,j,i) = tend(k,j,i)                                                                &
     294                        + ( mask_east *  kmxp * (                                                  &
     295                                    ( w(k,j,i+1)   - w(k,j,i)   ) * ddx                            &
     296                                  + ( u(k+1,j,i+1) - u(k,j,i+1) ) * ddzu(k+1)                      &
     297                                                )                                                  &
     298                          - mask_west * kmxm *  (                                                  &
     299                                    ( w(k,j,i)     - w(k,j,i-1) ) * ddx                            &
     300                                  + ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1)                      &
     301                                                )                                                  &
     302                          ) * ddx                                 * flag                           &
     303                        + ( mask_north * kmyp * (                                                  &
     304                                    ( w(k,j+1,i)   - w(k,j,i)   ) * ddy                            &
     305                                  + ( v(k+1,j+1,i) - v(k,j+1,i) ) * ddzu(k+1)                      &
     306                                                )                                                  &
     307                          - mask_south * kmym * (                                                  &
     308                                    ( w(k,j,i)     - w(k,j-1,i) ) * ddy                            &
     309                                  + ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1)                      &
     310                                                )                                                  &
     311                          ) * ddy                                 * flag                           &
     312                        + 2.0_wp * (                                                               &
     313                          km(k+1,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)                      &
     314                                      * rho_air(k+1)                                               &
     315                        - km(k,j,i)   * ( w(k,j,i)   - w(k-1,j,i) ) * ddzw(k)                      &
     316                                      * rho_air(k)                                                 &
     317                                   ) * ddzu(k+1) * drho_air_zw(k) * flag
     318       ENDDO
     319!
     320!--    Add horizontal momentum flux v'w' at north- (l=0) and south-facing (l=1) surfaces. Note, in
     321!--    the the flat case, loops won't be entered as start_index > end_index. Furtermore, note, no
     322!--    vertical natural surfaces so far.
    335323!--    Default-type surfaces
    336324       DO  l = 0, 1
     
    339327          DO  m = surf_s, surf_e
    340328             k           = surf_def_v(l)%k(m)
    341              tend(k,j,i) = tend(k,j,i) +                                       &
    342                                      surf_def_v(l)%mom_flux_w(m) * ddy
    343           ENDDO   
     329             tend(k,j,i) = tend(k,j,i) + surf_def_v(l)%mom_flux_w(m) * ddy
     330          ENDDO
    344331       ENDDO
    345332!
     
    350337          DO  m = surf_s, surf_e
    351338             k           = surf_lsm_v(l)%k(m)
    352              tend(k,j,i) = tend(k,j,i) +                                       &
    353                                      surf_lsm_v(l)%mom_flux_w(m) * ddy
    354           ENDDO   
     339             tend(k,j,i) = tend(k,j,i) + surf_lsm_v(l)%mom_flux_w(m) * ddy
     340          ENDDO
    355341       ENDDO
    356342!
     
    361347          DO  m = surf_s, surf_e
    362348             k           = surf_usm_v(l)%k(m)
    363              tend(k,j,i) = tend(k,j,i) +                                       &
    364                                      surf_usm_v(l)%mom_flux_w(m) * ddy
    365           ENDDO   
    366        ENDDO
    367 !
    368 !--    Add horizontal momentum flux u'w' at east- (l=2) and west-facing (l=3)
    369 !--    surfaces.
     349             tend(k,j,i) = tend(k,j,i) + surf_usm_v(l)%mom_flux_w(m) * ddy
     350          ENDDO
     351       ENDDO
     352!
     353!--    Add horizontal momentum flux u'w' at east- (l=2) and west-facing (l=3) surfaces.
    370354!--    Default-type surfaces
    371355       DO  l = 2, 3
     
    374358          DO  m = surf_s, surf_e
    375359             k           = surf_def_v(l)%k(m)
    376              tend(k,j,i) = tend(k,j,i) +                                       &
    377                                      surf_def_v(l)%mom_flux_w(m) * ddx
    378           ENDDO   
     360             tend(k,j,i) = tend(k,j,i) + surf_def_v(l)%mom_flux_w(m) * ddx
     361          ENDDO
    379362       ENDDO
    380363!
     
    385368          DO  m = surf_s, surf_e
    386369             k           = surf_lsm_v(l)%k(m)
    387              tend(k,j,i) = tend(k,j,i) +                                       &
    388                                      surf_lsm_v(l)%mom_flux_w(m) * ddx
    389           ENDDO   
     370             tend(k,j,i) = tend(k,j,i) + surf_lsm_v(l)%mom_flux_w(m) * ddx
     371          ENDDO
    390372       ENDDO
    391373!
     
    396378          DO  m = surf_s, surf_e
    397379             k           = surf_usm_v(l)%k(m)
    398              tend(k,j,i) = tend(k,j,i) +                                       &
    399                                      surf_usm_v(l)%mom_flux_w(m) * ddx
    400           ENDDO   
     380             tend(k,j,i) = tend(k,j,i) + surf_usm_v(l)%mom_flux_w(m) * ddx
     381          ENDDO
    401382       ENDDO
    402383
Note: See TracChangeset for help on using the changeset viewer.