Ignore:
Timestamp:
Apr 26, 2020 3:57:55 PM (9 months ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

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

    r4360 r4509  
    11!> @file advec_w_up.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.
     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.
    98!
    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.
     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.
    1312!
    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/>.
     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$
     26! file re-formatted to follow the PALM coding standard
     27!
     28! 4360 2020-01-07 11:25:50Z suehring
    2729! Corrected "Former revisions" section
    2830!
     
    3941!> NOTE: vertical advection at k=1 still has wrong grid spacing for w>0
    4042!>       The same problem occurs for all topography boundaries!
    41 !------------------------------------------------------------------------------!
     43!--------------------------------------------------------------------------------------------------!
    4244 MODULE advec_w_up_mod
    4345 
     
    5456
    5557
    56 !------------------------------------------------------------------------------!
     58!--------------------------------------------------------------------------------------------------!
    5759! Description:
    5860! ------------
    5961!> Call for all grid points
    60 !------------------------------------------------------------------------------!
    61     SUBROUTINE advec_w_up
     62!--------------------------------------------------------------------------------------------------!
     63 SUBROUTINE advec_w_up
    6264
    63        USE arrays_3d,                                                          &
    64            ONLY:  ddzw, tend, u, v, w
     65    USE arrays_3d,                                                                                 &
     66        ONLY:  ddzw, tend, u, v, w
    6567
    66        USE control_parameters,                                                 &
    67            ONLY:  u_gtrans, v_gtrans
     68    USE control_parameters,                                                                        &
     69        ONLY:  u_gtrans, v_gtrans
    6870
    69        USE grid_variables,                                                     &
    70            ONLY:  ddx, ddy
     71    USE grid_variables,                                                                            &
     72        ONLY:  ddx, ddy
    7173
    72        USE indices,                                                            &
    73            ONLY:  nxl, nxr, nyn, nys, nzb, nzt
     74    USE indices,                                                                                   &
     75        ONLY:  nxl, nxr, nyn, nys, nzb, nzt
    7476
    75        USE kinds
     77    USE kinds
    7678
    7779
    78        IMPLICIT NONE
     80    IMPLICIT NONE
    7981
    80        INTEGER(iwp) ::  i !< grid index along x-direction
    81        INTEGER(iwp) ::  j !< grid index along y-direction
    82        INTEGER(iwp) ::  k !< grid index along z-direction
     82    INTEGER(iwp) ::  i !< grid index along x-direction
     83    INTEGER(iwp) ::  j !< grid index along y-direction
     84    INTEGER(iwp) ::  k !< grid index along z-direction
    8385
    84        REAL(wp) ::  ukomp !< advection velocity along x-direction
    85        REAL(wp) ::  vkomp !< advection velocity along y-direction
     86    REAL(wp) ::  ukomp !< advection velocity along x-direction
     87    REAL(wp) ::  vkomp !< advection velocity along y-direction
    8688
    8789
    88        DO  i = nxl, nxr
    89           DO  j = nys, nyn
    90              DO  k = nzb+1, nzt-1
     90    DO  i = nxl, nxr
     91       DO  j = nys, nyn
     92          DO  k = nzb+1, nzt-1
    9193!
    92 !--             x-direction
    93                 ukomp = 0.25_wp * ( u(k,j,i)   + u(k,j,i+1) +                  &
    94                                  u(k+1,j,i) + u(k+1,j,i+1) ) - u_gtrans
    95                 IF ( ukomp > 0.0_wp )  THEN
    96                    tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    97                                          ( w(k,j,i) - w(k,j,i-1) ) * ddx
    98                 ELSE
    99                    tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    100                                          ( w(k,j,i+1) - w(k,j,i) ) * ddx
    101                 ENDIF
     94!--          x-direction
     95             ukomp = 0.25_wp * ( u(k,j,i)   + u(k,j,i+1) + u(k+1,j,i) + u(k+1,j,i+1) ) - u_gtrans
     96             IF ( ukomp > 0.0_wp )  THEN
     97                tend(k,j,i) = tend(k,j,i) - ukomp * ( w(k,j,i) - w(k,j,i-1) ) * ddx
     98             ELSE
     99                tend(k,j,i) = tend(k,j,i) - ukomp * ( w(k,j,i+1) - w(k,j,i) ) * ddx
     100             ENDIF
    102101!
    103 !--             y-direction
    104                 vkomp = 0.25_wp * ( v(k,j,i) + v(k,j+1,i) +                    &
    105                                  v(k+1,j,i) + v(k+1,j+1,i) ) - v_gtrans
    106                 IF ( vkomp > 0.0_wp )  THEN
    107                    tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    108                                          ( w(k,j,i) - w(k,j-1,i) ) * ddy
    109                 ELSE
    110                    tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    111                                          ( w(k,j+1,i) - w(k,j,i) ) * ddy
    112                 ENDIF
     102!--          y-direction
     103             vkomp = 0.25_wp * ( v(k,j,i) + v(k,j+1,i) + v(k+1,j,i) + v(k+1,j+1,i) ) - v_gtrans
     104             IF ( vkomp > 0.0_wp )  THEN
     105                tend(k,j,i) = tend(k,j,i) - vkomp * ( w(k,j,i) - w(k,j-1,i) ) * ddy
     106             ELSE
     107                tend(k,j,i) = tend(k,j,i) - vkomp * ( w(k,j+1,i) - w(k,j,i) ) * ddy
     108             ENDIF
    113109!
    114 !--             z-direction
    115                 IF ( w(k,j,i) > 0.0_wp )  THEN
    116                    tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    117                                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
    118                 ELSE
    119                    tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                      &
    120                                          ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
    121                 ENDIF
     110!--          z-direction
     111             IF ( w(k,j,i) > 0.0_wp )  THEN
     112                tend(k,j,i) = tend(k,j,i) - w(k,j,i) * ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
     113             ELSE
     114                tend(k,j,i) = tend(k,j,i) - w(k,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
     115             ENDIF
    122116
    123              ENDDO
    124117          ENDDO
    125118       ENDDO
     119    ENDDO
    126120
    127     END SUBROUTINE advec_w_up
     121 END SUBROUTINE advec_w_up
    128122
    129123
    130 !------------------------------------------------------------------------------!
     124!--------------------------------------------------------------------------------------------------!
    131125! Description:
    132126! ------------
    133127!> Call for grid point i,j
    134 !------------------------------------------------------------------------------!
    135     SUBROUTINE advec_w_up_ij( i, j )
     128!--------------------------------------------------------------------------------------------------!
     129 SUBROUTINE advec_w_up_ij( i, j )
    136130
    137        USE arrays_3d,                                                          &
    138            ONLY:  ddzw, tend, u, v, w
     131    USE arrays_3d,                                                                                 &
     132        ONLY:  ddzw, tend, u, v, w
    139133
    140        USE control_parameters,                                                 &
    141            ONLY:  u_gtrans, v_gtrans
     134    USE control_parameters,                                                                        &
     135        ONLY:  u_gtrans, v_gtrans
    142136
    143        USE grid_variables,                                                     &
    144            ONLY:  ddx, ddy
     137    USE grid_variables,                                                                            &
     138        ONLY:  ddx, ddy
    145139
    146        USE indices,                                                            &
    147            ONLY:  nzb, nzt
     140    USE indices,                                                                                   &
     141        ONLY:  nzb, nzt
    148142
    149        USE kinds
     143    USE kinds
    150144
    151145
    152        IMPLICIT NONE
     146    IMPLICIT NONE
    153147
    154        INTEGER(iwp) ::  i !< grid index along x-direction
    155        INTEGER(iwp) ::  j !< grid index along y-direction
    156        INTEGER(iwp) ::  k !< grid index along z-direction
     148    INTEGER(iwp) ::  i !< grid index along x-direction
     149    INTEGER(iwp) ::  j !< grid index along y-direction
     150    INTEGER(iwp) ::  k !< grid index along z-direction
    157151
    158        REAL(wp) ::  ukomp !< advection velocity along x-direction
    159        REAL(wp) ::  vkomp !< advection velocity along y-direction
     152    REAL(wp) ::  ukomp !< advection velocity along x-direction
     153    REAL(wp) ::  vkomp !< advection velocity along y-direction
    160154
    161155
    162        DO  k = nzb+1, nzt-1
     156    DO  k = nzb+1, nzt-1
    163157!
    164 !--       x-direction
    165           ukomp = 0.25_wp * ( u(k,j,i) + u(k,j,i+1) + u(k+1,j,i) + u(k+1,j,i+1) &
    166                          ) - u_gtrans
    167           IF ( ukomp > 0.0_wp )  THEN
    168              tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    169                                          ( w(k,j,i) - w(k,j,i-1) ) * ddx
    170           ELSE
    171              tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    172                                          ( w(k,j,i+1) - w(k,j,i) ) * ddx
    173           ENDIF
     158!--    x-direction
     159       ukomp = 0.25_wp * ( u(k,j,i) + u(k,j,i+1) + u(k+1,j,i) + u(k+1,j,i+1) ) - u_gtrans
     160       IF ( ukomp > 0.0_wp )  THEN
     161          tend(k,j,i) = tend(k,j,i) - ukomp * ( w(k,j,i) - w(k,j,i-1) ) * ddx
     162       ELSE
     163          tend(k,j,i) = tend(k,j,i) - ukomp * ( w(k,j,i+1) - w(k,j,i) ) * ddx
     164       ENDIF
    174165!
    175 !--       y-direction
    176           vkomp = 0.25_wp * ( v(k,j,i) + v(k,j+1,i) + v(k+1,j,i) + v(k+1,j+1,i) &
    177                          ) - v_gtrans
    178           IF ( vkomp > 0.0_wp )  THEN
    179              tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    180                                          ( w(k,j,i) - w(k,j-1,i) ) * ddy
    181           ELSE
    182              tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    183                                          ( w(k,j+1,i) - w(k,j,i) ) * ddy
    184           ENDIF
     166!--    y-direction
     167       vkomp = 0.25_wp * ( v(k,j,i) + v(k,j+1,i) + v(k+1,j,i) + v(k+1,j+1,i) ) - v_gtrans
     168       IF ( vkomp > 0.0_wp )  THEN
     169          tend(k,j,i) = tend(k,j,i) - vkomp * ( w(k,j,i) - w(k,j-1,i) ) * ddy
     170       ELSE
     171          tend(k,j,i) = tend(k,j,i) - vkomp * ( w(k,j+1,i) - w(k,j,i) ) * ddy
     172       ENDIF
    185173!
    186 !--       z-direction
    187           IF ( w(k,j,i) > 0.0_wp )  THEN
    188              tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                            &
    189                                          ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
    190           ELSE
    191              tend(k,j,i) = tend(k,j,i) - w(k,j,i) *                            &
    192                                          ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
    193           ENDIF
     174!--    z-direction
     175       IF ( w(k,j,i) > 0.0_wp )  THEN
     176          tend(k,j,i) = tend(k,j,i) - w(k,j,i) * ( w(k,j,i) - w(k-1,j,i) ) * ddzw(k)
     177       ELSE
     178          tend(k,j,i) = tend(k,j,i) - w(k,j,i) * ( w(k+1,j,i) - w(k,j,i) ) * ddzw(k+1)
     179       ENDIF
    194180
    195        ENDDO
     181    ENDDO
    196182
    197     END SUBROUTINE advec_w_up_ij
     183 END SUBROUTINE advec_w_up_ij
    198184
    199185 END MODULE advec_w_up_mod
Note: See TracChangeset for help on using the changeset viewer.