Ignore:
Timestamp:
Apr 3, 2020 11:34:29 AM (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/advec_v_up.f90

    r4360 r4488  
    11!> @file advec_v_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_v_up_mod
    4345 
     
    5456
    5557
    56 !------------------------------------------------------------------------------!
     58!--------------------------------------------------------------------------------------------------!
    5759! Description:
    5860! ------------
    5961!> Call for all grid points
    60 !------------------------------------------------------------------------------!
    61     SUBROUTINE advec_v_up
     62!--------------------------------------------------------------------------------------------------!
     63 SUBROUTINE advec_v_up
    6264
    63        USE arrays_3d,                                                          &
    64            ONLY:  ddzu, tend, u, v, w
     65    USE arrays_3d,                                                                                 &
     66        ONLY:  ddzu, 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, nysv, nzb, nzt
     74    USE indices,                                                                                   &
     75        ONLY:  nxl, nxr, nyn, nysv, 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) ::  wkomp !< advection velocity along z-direction       
     86    REAL(wp) ::  ukomp !< advection velocity along x-direction
     87    REAL(wp) ::  vkomp !< advection velocity along y-direction
     88    REAL(wp) ::  wkomp !< advection velocity along z-direction       
    8789
    8890
    89        DO  i = nxl, nxr
    90           DO  j = nysv, nyn
    91              DO  k = nzb+1, nzt
     91    DO  i = nxl, nxr
     92       DO  j = nysv, nyn
     93          DO  k = nzb+1, nzt
    9294!
    93 !--             x-direction
    94                 ukomp = 0.25_wp * ( u(k,j,i)   + u(k,j-1,i) +                  &
    95                                  u(k,j,i+1) + u(k,j-1,i+1) ) - u_gtrans
    96                 IF ( ukomp > 0.0_wp )  THEN
    97                    tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    98                                          ( v(k,j,i) - v(k,j,i-1) ) * ddx
    99                 ELSE
    100                    tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    101                                          ( v(k,j,i+1) - v(k,j,i) ) * ddx
    102                 ENDIF
     95!--          x-direction
     96             ukomp = 0.25_wp * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1) ) - u_gtrans
     97             IF ( ukomp > 0.0_wp )  THEN
     98                tend(k,j,i) = tend(k,j,i) - ukomp * ( v(k,j,i) - v(k,j,i-1) ) * ddx
     99             ELSE
     100                tend(k,j,i) = tend(k,j,i) - ukomp * ( v(k,j,i+1) - v(k,j,i) ) * ddx
     101             ENDIF
    103102!
    104 !--             y-direction
    105                 vkomp = v(k,j,i) - v_gtrans
    106                 IF ( vkomp > 0.0_wp )  THEN
    107                    tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    108                                          ( v(k,j,i) - v(k,j-1,i) ) * ddy
    109                 ELSE
    110                    tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    111                                          ( v(k,j+1,i) - v(k,j,i) ) * ddy
    112                 ENDIF
     103!--          y-direction
     104             vkomp = v(k,j,i) - v_gtrans
     105             IF ( vkomp > 0.0_wp )  THEN
     106                tend(k,j,i) = tend(k,j,i) - vkomp * ( v(k,j,i) - v(k,j-1,i) ) * ddy
     107             ELSE
     108                tend(k,j,i) = tend(k,j,i) - vkomp * ( v(k,j+1,i) - v(k,j,i) ) * ddy
     109             ENDIF
    113110!
    114 !--             z-direction
    115                 wkomp = 0.25_wp * ( w(k,j,i)  + w(k-1,j,i) +                   &
    116                                  w(k,j-1,i) + w(k-1,j-1,i) )
    117                 IF ( wkomp > 0.0_wp )  THEN
    118                    tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    119                                          ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    120                 ELSE
    121                    tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    122                                          ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
    123                 ENDIF
     111!--          z-direction
     112             wkomp = 0.25_wp * ( w(k,j,i) + w(k-1,j,i) + w(k,j-1,i) + w(k-1,j-1,i) )
     113             IF ( wkomp > 0.0_wp )  THEN
     114                tend(k,j,i) = tend(k,j,i) - wkomp * ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
     115             ELSE
     116                tend(k,j,i) = tend(k,j,i) - wkomp * ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
     117             ENDIF
    124118
    125              ENDDO
    126119          ENDDO
    127120       ENDDO
     121    ENDDO
    128122
    129     END SUBROUTINE advec_v_up
     123 END SUBROUTINE advec_v_up
    130124
    131125
    132 !------------------------------------------------------------------------------!
     126!--------------------------------------------------------------------------------------------------!
    133127! Description:
    134128! ------------
    135129!> Call for grid point i,j
    136 !------------------------------------------------------------------------------!
    137     SUBROUTINE advec_v_up_ij( i, j )
     130!--------------------------------------------------------------------------------------------------!
     131 SUBROUTINE advec_v_up_ij( i, j )
    138132
    139        USE arrays_3d,                                                          &
    140            ONLY:  ddzu, tend, u, v, w
     133    USE arrays_3d,                                                                                 &
     134        ONLY:  ddzu, tend, u, v, w
    141135
    142        USE control_parameters,                                                 &
    143            ONLY:  u_gtrans, v_gtrans
     136    USE control_parameters,                                                                        &
     137        ONLY:  u_gtrans, v_gtrans
    144138
    145        USE grid_variables,                                                     &
    146            ONLY:  ddx, ddy
     139    USE grid_variables,                                                                            &
     140        ONLY:  ddx, ddy
    147141
    148        USE indices,                                                            &
    149            ONLY:  nzb, nzt
     142    USE indices,                                                                                   &
     143        ONLY:  nzb, nzt
    150144
    151        USE kinds
     145    USE kinds
    152146
    153147
    154        IMPLICIT NONE
     148    IMPLICIT NONE
    155149
    156        INTEGER(iwp) ::  i !< grid index along x-direction
    157        INTEGER(iwp) ::  j !< grid index along y-direction
    158        INTEGER(iwp) ::  k !< grid index along z-direction
     150    INTEGER(iwp) ::  i !< grid index along x-direction
     151    INTEGER(iwp) ::  j !< grid index along y-direction
     152    INTEGER(iwp) ::  k !< grid index along z-direction
    159153
    160        REAL(wp) ::  ukomp !< advection velocity along x-direction
    161        REAL(wp) ::  vkomp !< advection velocity along y-direction
    162        REAL(wp) ::  wkomp !< advection velocity along z-direction
     154    REAL(wp) ::  ukomp !< advection velocity along x-direction
     155    REAL(wp) ::  vkomp !< advection velocity along y-direction
     156    REAL(wp) ::  wkomp !< advection velocity along z-direction
    163157
    164158
    165        DO  k = nzb+1, nzt
     159    DO  k = nzb+1, nzt
    166160!
    167 !--       x-direction
    168           ukomp = 0.25_wp * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1) &
    169                          ) - u_gtrans
    170           IF ( ukomp > 0.0_wp )  THEN
    171              tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    172                                          ( v(k,j,i) - v(k,j,i-1) ) * ddx
    173           ELSE
    174              tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    175                                          ( v(k,j,i+1) - v(k,j,i) ) * ddx
    176           ENDIF
     161!--    x-direction
     162       ukomp = 0.25_wp * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1) ) - u_gtrans
     163       IF ( ukomp > 0.0_wp )  THEN
     164          tend(k,j,i) = tend(k,j,i) - ukomp * ( v(k,j,i) - v(k,j,i-1) ) * ddx
     165       ELSE
     166          tend(k,j,i) = tend(k,j,i) - ukomp * ( v(k,j,i+1) - v(k,j,i) ) * ddx
     167       ENDIF
    177168!
    178 !--       y-direction
    179           vkomp = v(k,j,i) - v_gtrans
    180           IF ( vkomp > 0.0_wp )  THEN
    181              tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    182                                          ( v(k,j,i) - v(k,j-1,i) ) * ddy
    183           ELSE
    184              tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    185                                          ( v(k,j+1,i) - v(k,j,i) ) * ddy
    186           ENDIF
     169!--    y-direction
     170       vkomp = v(k,j,i) - v_gtrans
     171       IF ( vkomp > 0.0_wp )  THEN
     172          tend(k,j,i) = tend(k,j,i) - vkomp * ( v(k,j,i) - v(k,j-1,i) ) * ddy
     173       ELSE
     174          tend(k,j,i) = tend(k,j,i) - vkomp * ( v(k,j+1,i) - v(k,j,i) ) * ddy
     175       ENDIF
    187176!
    188 !--       z-direction
    189           wkomp = 0.25_wp * ( w(k,j,i) + w(k-1,j,i) + w(k,j-1,i) + w(k-1,j-1,i) )
    190           IF ( wkomp > 0.0_wp )  THEN
    191              tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    192                                          ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    193           ELSE
    194              tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    195                                          ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
    196           ENDIF
     177!--    z-direction
     178       wkomp = 0.25_wp * ( w(k,j,i) + w(k-1,j,i) + w(k,j-1,i) + w(k-1,j-1,i) )
     179       IF ( wkomp > 0.0_wp )  THEN
     180          tend(k,j,i) = tend(k,j,i) - wkomp * ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
     181       ELSE
     182          tend(k,j,i) = tend(k,j,i) - wkomp * ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
     183       ENDIF
    197184
    198        ENDDO
     185    ENDDO
    199186
    200     END SUBROUTINE advec_v_up_ij
     187 END SUBROUTINE advec_v_up_ij
    201188
    202189 END MODULE advec_v_up_mod
Note: See TracChangeset for help on using the changeset viewer.