Ignore:
Timestamp:
Mar 20, 2014 8:40:49 AM (10 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_u_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 ! i loop is starting from nxlu (needed for non-cyclic boundary conditions)
    33 !
    34 ! 75 2007-03-22 09:54:05Z raasch
    35 ! uxrp eliminated
    36 !
    37 ! RCS Log replace by Id keyword, revision history cleaned up
    38 !
    39 ! Revision 1.12  2006/02/23 09:45:04  raasch
    40 ! nzb_2d replaced by nzb_u_inner
    4135!
    4236! Revision 1.1  1997/08/29 08:55:25  raasch
     
    6761    SUBROUTINE advec_u_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:  nxlu, nxr, nyn, nys, nzb_u_inner, nzt
     74
     75       USE kinds
     76
    7377
    7478       IMPLICIT NONE
    7579
    76        INTEGER ::  i, j, k
    77 
    78        REAL ::  ukomp, vkomp, wkomp
    79 
    80 
     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 !:
     87
     88       
    8189       DO  i = nxlu, nxr
    8290          DO  j = nys, nyn
     
    8694                ukomp = u(k,j,i) - u_gtrans
    8795                IF ( ukomp > 0.0 )  THEN
    88                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     96                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    8997                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
    9098                ELSE
    91                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     99                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    92100                                          ( u(k,j,i+1) - u(k,j,i) ) * ddx
    93101                ENDIF
    94102!
    95103!--             y-direction
    96                 vkomp = 0.25 * ( v(k,j,i)   + v(k,j+1,i) + &
     104                vkomp = 0.25 * ( v(k,j,i)   + v(k,j+1,i) +                     &
    97105                                 v(k,j,i-1) + v(k,j+1,i-1) ) - v_gtrans
    98106                IF ( vkomp > 0.0 )  THEN
    99                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     107                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    100108                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
    101109                ELSE
    102                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     110                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    103111                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
    104112                ENDIF
    105113!
    106114!--             z-direction
    107                 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) +                     &
    108116                                 w(k,j,i-1) + w(k-1,j,i-1) )
    109117                IF ( wkomp > 0.0 )  THEN
    110                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     118                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    111119                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
    112120                ELSE
    113                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     121                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    114122                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
    115123                ENDIF
     
    127135    SUBROUTINE advec_u_up_ij( i, j )
    128136
    129        USE arrays_3d
    130        USE control_parameters
    131        USE grid_variables
    132        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_u_inner, nzt
     148
     149       USE kinds
     150
    133151
    134152       IMPLICIT NONE
    135153
    136        INTEGER ::  i, j, k
    137 
    138        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 !:
    139161
    140162
     
    144166          ukomp = u(k,j,i) - u_gtrans
    145167          IF ( ukomp > 0.0 )  THEN
    146              tend(k,j,i) = tend(k,j,i) - ukomp * &
     168             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    147169                                         ( u(k,j,i) - u(k,j,i-1) ) * ddx
    148170          ELSE
    149              tend(k,j,i) = tend(k,j,i) - ukomp * &
     171             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    150172                                         ( u(k,j,i+1) - u(k,j,i) ) * ddx
    151173          ENDIF
    152174!
    153175!--       y-direction
    154           vkomp = 0.25 * ( v(k,j,i) + v(k,j+1,i) + v(k,j,i-1) + v(k,j+1,i-1) &
     176          vkomp = 0.25 * ( v(k,j,i) + v(k,j+1,i) + v(k,j,i-1) + v(k,j+1,i-1)   &
    155177                         ) - v_gtrans
    156178          IF ( vkomp > 0.0 )  THEN
    157              tend(k,j,i) = tend(k,j,i) - vkomp * &
     179             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    158180                                         ( u(k,j,i) - u(k,j-1,i) ) * ddy
    159181          ELSE
    160              tend(k,j,i) = tend(k,j,i) - vkomp * &
     182             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    161183                                         ( u(k,j+1,i) - u(k,j,i) ) * ddy
    162184          ENDIF
     
    165187          wkomp = 0.25 * ( w(k,j,i) + w(k-1,j,i) + w(k,j,i-1) + w(k-1,j,i-1) )
    166188          IF ( wkomp > 0.0 )  THEN
    167              tend(k,j,i) = tend(k,j,i) - wkomp * &
     189             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    168190                                         ( u(k,j,i) - u(k-1,j,i) ) * ddzu(k)
    169191          ELSE
    170              tend(k,j,i) = tend(k,j,i) - wkomp * &
     192             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    171193                                         ( u(k+1,j,i) - u(k,j,i) ) * ddzu(k+1)
    172194          ENDIF
Note: See TracChangeset for help on using the changeset viewer.