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_s_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:
     
    3439! 981 2012-08-09 14:57:44Z maronga
    3540! Typo removed
    36 !
    37 ! RCS Log replace by Id keyword, revision history cleaned up
    38 !
    39 ! Revision 1.11  2006/02/23 09:43:44  raasch
    40 ! nzb_2d replaced by nzb_s_inner
    4141!
    4242! Revision 1.1  1997/08/29 08:54:33  raasch
     
    6767    SUBROUTINE advec_s_up( sk )
    6868
    69        USE arrays_3d
    70        USE control_parameters
    71        USE grid_variables
    72        USE indices
     69       USE arrays_3d,                                                          &
     70           ONLY:  ddzu, tend, u, v, w
     71
     72       USE control_parameters,                                                 &
     73           ONLY:  u_gtrans, v_gtrans
     74
     75       USE grid_variables,                                                     &
     76           ONLY:  ddx, ddy
     77
     78       USE indices,                                                            &
     79           ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
     80
     81       USE kinds
     82
    7383
    7484       IMPLICIT NONE
    7585
    76        INTEGER ::  i, j, k
    77 
    78        REAL ::  ukomp, vkomp, wkomp
     86       INTEGER(iwp) ::  i !:
     87       INTEGER(iwp) ::  j !:
     88       INTEGER(iwp) ::  k !:
     89
     90       REAL(wp) ::  ukomp !:
     91       REAL(wp) ::  vkomp !:
     92       REAL(wp) ::  wkomp !:
    7993#if defined( __nopointer )
    80        REAL, DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk
     94       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
    8195#else
    82        REAL, DIMENSION(:,:,:), POINTER ::  sk
     96       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
    8397#endif
    8498
     
    91105                ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans
    92106                IF ( ukomp > 0.0 )  THEN
    93                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     107                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    94108                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
    95109                ELSE
    96                    tend(k,j,i) = tend(k,j,i) - ukomp * &
     110                   tend(k,j,i) = tend(k,j,i) - ukomp *                         &
    97111                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
    98112                ENDIF
     
    101115                vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans
    102116                IF ( vkomp > 0.0 )  THEN
    103                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     117                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    104118                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
    105119                ELSE
    106                    tend(k,j,i) = tend(k,j,i) - vkomp * &
     120                   tend(k,j,i) = tend(k,j,i) - vkomp *                         &
    107121                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
    108122                ENDIF
     
    111125                wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
    112126                IF ( wkomp > 0.0 )  THEN
    113                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     127                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    114128                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
    115129                ELSE
    116                    tend(k,j,i) = tend(k,j,i) - wkomp * &
     130                   tend(k,j,i) = tend(k,j,i) - wkomp *                         &
    117131                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
    118132                ENDIF
     
    130144    SUBROUTINE advec_s_up_ij( i, j, sk )
    131145
    132        USE arrays_3d
    133        USE control_parameters
    134        USE grid_variables
    135        USE indices
     146       USE arrays_3d,                                                          &
     147           ONLY:  ddzu, tend, u, v, w
     148
     149       USE control_parameters,                                                 &
     150           ONLY:  u_gtrans, v_gtrans
     151
     152       USE grid_variables,                                                     &
     153           ONLY:  ddx, ddy
     154
     155       USE indices,                                                            &
     156           ONLY:  nzb_s_inner, nzt
     157
     158       USE kinds
     159
    136160
    137161       IMPLICIT NONE
    138162
    139        INTEGER ::  i, j, k
    140 
    141        REAL ::  ukomp, vkomp, wkomp
     163       INTEGER(iwp) ::  i !:
     164       INTEGER(iwp) ::  j !:
     165       INTEGER(iwp) ::  k !:
     166
     167       REAL(wp) ::  ukomp !:
     168       REAL(wp) ::  vkomp !:
     169       REAL(wp) ::  wkomp !:
     170       
    142171#if defined( __nopointer )
    143        REAL, DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk
     172       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
    144173#else
    145        REAL, DIMENSION(:,:,:), POINTER ::  sk
     174       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
    146175#endif
    147176
     
    152181          ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans
    153182          IF ( ukomp > 0.0 )  THEN
    154              tend(k,j,i) = tend(k,j,i) - ukomp * &
     183             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    155184                                         ( sk(k,j,i) - sk(k,j,i-1) ) * ddx
    156185          ELSE
    157              tend(k,j,i) = tend(k,j,i) - ukomp * &
     186             tend(k,j,i) = tend(k,j,i) - ukomp *                               &
    158187                                         ( sk(k,j,i+1) - sk(k,j,i) ) * ddx
    159188          ENDIF
     
    162191          vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans
    163192          IF ( vkomp > 0.0 )  THEN
    164              tend(k,j,i) = tend(k,j,i) - vkomp * &
     193             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    165194                                         ( sk(k,j,i) - sk(k,j-1,i) ) * ddy
    166195          ELSE
    167              tend(k,j,i) = tend(k,j,i) - vkomp * &
     196             tend(k,j,i) = tend(k,j,i) - vkomp *                               &
    168197                                         ( sk(k,j+1,i) - sk(k,j,i) ) * ddy
    169198          ENDIF
     
    172201          wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) )
    173202          IF ( wkomp > 0.0 )  THEN
    174              tend(k,j,i) = tend(k,j,i) - wkomp * &
     203             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    175204                                         ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k)
    176205          ELSE
    177              tend(k,j,i) = tend(k,j,i) - wkomp * &
     206             tend(k,j,i) = tend(k,j,i) - wkomp *                               &
    178207                                         ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1)
    179208          ENDIF
Note: See TracChangeset for help on using the changeset viewer.