Ignore:
Timestamp:
Mar 20, 2014 8:40:49 AM (7 years ago)
Author:
raasch
Message:

ONLY-attribute added to USE-statements,
kind-parameters added to all INTEGER and REAL declaration statements,
kinds are defined in new module kinds,
old module precision_kind is removed,
revision history before 2012 removed,
comment fields (!:) to be used for variable explanations added to all variable declaration statements

File:
1 edited

Legend:

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

    r1310 r1320  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! ONLY-attribute added to USE-statements,
     23! kind-parameters added to all INTEGER and REAL declaration statements,
     24! kinds are defined in new module kinds,
     25! revision history before 2012 removed,
     26! comment fields (!:) to be used for variable explanations added to
     27! all variable declaration statements
    2328!
    2429! Former revisions:
     
    2833! 1036 2012-10-22 13:43:42Z raasch
    2934! code put under GPL (PALM 3.9)
    30 !
    31 ! 106 2007-08-16 14:30:26Z raasch
    32 ! j loop is starting from nysv (needed for non-cyclic boundary conditions)
    33 !
    34 ! 75 2007-03-22 09:54:05Z raasch
    35 ! vynp eliminated
    36 !
    37 ! RCS Log replace by Id keyword, revision history cleaned up
    38 !
    39 ! Revision 1.12  2006/02/23 09:46:37  raasch
    40 ! nzb_2d replaced by nzb_v_inner
    4135!
    4236! Revision 1.1  1997/08/29 08:56:05  raasch
     
    6761    SUBROUTINE advec_v_up
    6862
    69        USE arrays_3d
    70        USE control_parameters
    71        USE grid_variables
    72        USE indices
     63       USE arrays_3d,                                                          &
     64           ONLY:  ddzu, tend, u, v, w
     65
     66       USE control_parameters,                                                 &
     67           ONLY:  u_gtrans, v_gtrans
     68
     69       USE grid_variables,                                                     &
     70           ONLY:  ddx, ddy
     71
     72       USE indices,                                                            &
     73           ONLY:  nxl, nxr, nyn, nysv, nzb_v_inner, nzt
     74
     75       USE kinds
     76
    7377
    7478       IMPLICIT NONE
    7579
    76        INTEGER ::  i, j, k
    77        REAL    ::  ukomp, vkomp, wkomp
     80       INTEGER(iwp) ::  i !:
     81       INTEGER(iwp) ::  j !:
     82       INTEGER(iwp) ::  k !:
     83
     84       REAL(wp) ::  ukomp !:
     85       REAL(wp) ::  vkomp !:
     86       REAL(wp) ::  wkomp !:       
    7887
    7988
     
    8392!
    8493!--             x-direction
    85                 ukomp = 0.25 * ( u(k,j,i)   + u(k,j-1,i) + &
     94                ukomp = 0.25 * ( u(k,j,i)   + u(k,j-1,i) +                     &
    8695                                 u(k,j,i+1) + u(k,j-1,i+1) ) - u_gtrans
    8796                IF ( ukomp > 0.0 )  THEN
    88                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     97                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    8998                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
    9099                ELSE
    91                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     100                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    92101                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
    93102                ENDIF
     
    96105                vkomp = v(k,j,i) - v_gtrans
    97106                IF ( vkomp > 0.0 )  THEN
    98                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     107                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    99108                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
    100109                ELSE
    101                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     110                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    102111                                         ( v(k,j+1,i) - v(k,j,i) ) * ddy
    103112                ENDIF
    104113!
    105114!--             z-direction
    106                 wkomp = 0.25 * ( w(k,j,i)  + w(k-1,j,i) + &
     115                wkomp = 0.25 * ( w(k,j,i)  + w(k-1,j,i) +                      &
    107116                                 w(k,j-1,i) + w(k-1,j-1,i) )
    108117                IF ( wkomp > 0.0 )  THEN
    109                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     118                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    110119                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    111120                ELSE
    112                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     121                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    113122                                         ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
    114123                ENDIF
     
    126135    SUBROUTINE advec_v_up_ij( i, j )
    127136
    128        USE arrays_3d
    129        USE control_parameters
    130        USE grid_variables
    131        USE indices
     137       USE arrays_3d,                                                          &
     138           ONLY:  ddzu, tend, u, v, w
     139
     140       USE control_parameters,                                                 &
     141           ONLY:  u_gtrans, v_gtrans
     142
     143       USE grid_variables,                                                     &
     144           ONLY:  ddx, ddy
     145
     146       USE indices,                                                            &
     147           ONLY:  nzb_v_inner, nzt
     148
     149       USE kinds
     150
    132151
    133152       IMPLICIT NONE
    134153
    135        INTEGER ::  i, j, k
    136 
    137        REAL ::  ukomp, vkomp, wkomp
     154       INTEGER(iwp) ::  i !:
     155       INTEGER(iwp) ::  j !:
     156       INTEGER(iwp) ::  k !:
     157
     158       REAL(wp) ::  ukomp !:
     159       REAL(wp) ::  vkomp !:
     160       REAL(wp) ::  wkomp !:
    138161
    139162
     
    141164!
    142165!--       x-direction
    143           ukomp = 0.25 * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1) &
     166          ukomp = 0.25 * ( u(k,j,i) + u(k,j-1,i) + u(k,j,i+1) + u(k,j-1,i+1)   &
    144167                         ) - u_gtrans
    145168          IF ( ukomp > 0.0 )  THEN
    146              tend(k,j,i) = tend(k,j,i) - ukomp * &
     169             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    147170                                         ( v(k,j,i) - v(k,j,i-1) ) * ddx
    148171          ELSE
    149              tend(k,j,i) = tend(k,j,i) - ukomp * &
     172             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    150173                                         ( v(k,j,i+1) - v(k,j,i) ) * ddx
    151174          ENDIF
     
    154177          vkomp = v(k,j,i) - v_gtrans
    155178          IF ( vkomp > 0.0 )  THEN
    156              tend(k,j,i) = tend(k,j,i) - vkomp * &
     179             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    157180                                         ( v(k,j,i) - v(k,j-1,i) ) * ddy
    158181          ELSE
    159              tend(k,j,i) = tend(k,j,i) - vkomp * &
     182             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    160183                                         ( v(k,j+1,i) - v(k,j,i) ) * ddy
    161184          ENDIF
     
    164187          wkomp = 0.25 * ( w(k,j,i) + w(k-1,j,i) + w(k,j-1,i) + w(k-1,j-1,i) )
    165188          IF ( wkomp > 0.0 )  THEN
    166              tend(k,j,i) = tend(k,j,i) - wkomp * &
     189             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    167190                                         ( v(k,j,i) - v(k-1,j,i) ) * ddzu(k)
    168191          ELSE
    169              tend(k,j,i) = tend(k,j,i) - wkomp * &
     192             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    170193                                         ( v(k+1,j,i) - v(k,j,i) ) * ddzu(k+1)
    171194          ENDIF
Note: See TracChangeset for help on using the changeset viewer.