Changeset 1320 for palm/trunk/SOURCE/advec_s_up.f90
- Timestamp:
- Mar 20, 2014 8:40:49 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_s_up.f90
r1310 r1320 20 20 ! Current revisions: 21 21 ! ----------------- 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 23 28 ! 24 29 ! Former revisions: … … 34 39 ! 981 2012-08-09 14:57:44Z maronga 35 40 ! Typo removed 36 !37 ! RCS Log replace by Id keyword, revision history cleaned up38 !39 ! Revision 1.11 2006/02/23 09:43:44 raasch40 ! nzb_2d replaced by nzb_s_inner41 41 ! 42 42 ! Revision 1.1 1997/08/29 08:54:33 raasch … … 67 67 SUBROUTINE advec_s_up( sk ) 68 68 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 73 83 74 84 IMPLICIT NONE 75 85 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 !: 79 93 #if defined( __nopointer ) 80 REAL , DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: sk94 REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: sk !: 81 95 #else 82 REAL , DIMENSION(:,:,:), POINTER :: sk96 REAL(wp), DIMENSION(:,:,:), POINTER :: sk 83 97 #endif 84 98 … … 91 105 ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans 92 106 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 * & 94 108 ( sk(k,j,i) - sk(k,j,i-1) ) * ddx 95 109 ELSE 96 tend(k,j,i) = tend(k,j,i) - ukomp * &110 tend(k,j,i) = tend(k,j,i) - ukomp * & 97 111 ( sk(k,j,i+1) - sk(k,j,i) ) * ddx 98 112 ENDIF … … 101 115 vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans 102 116 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 * & 104 118 ( sk(k,j,i) - sk(k,j-1,i) ) * ddy 105 119 ELSE 106 tend(k,j,i) = tend(k,j,i) - vkomp * &120 tend(k,j,i) = tend(k,j,i) - vkomp * & 107 121 ( sk(k,j+1,i) - sk(k,j,i) ) * ddy 108 122 ENDIF … … 111 125 wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) ) 112 126 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 * & 114 128 ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k) 115 129 ELSE 116 tend(k,j,i) = tend(k,j,i) - wkomp * &130 tend(k,j,i) = tend(k,j,i) - wkomp * & 117 131 ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1) 118 132 ENDIF … … 130 144 SUBROUTINE advec_s_up_ij( i, j, sk ) 131 145 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 136 160 137 161 IMPLICIT NONE 138 162 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 142 171 #if defined( __nopointer ) 143 REAL , DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: sk172 REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: sk !: 144 173 #else 145 REAL , DIMENSION(:,:,:), POINTER :: sk174 REAL(wp), DIMENSION(:,:,:), POINTER :: sk 146 175 #endif 147 176 … … 152 181 ukomp = 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - u_gtrans 153 182 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 * & 155 184 ( sk(k,j,i) - sk(k,j,i-1) ) * ddx 156 185 ELSE 157 tend(k,j,i) = tend(k,j,i) - ukomp * &186 tend(k,j,i) = tend(k,j,i) - ukomp * & 158 187 ( sk(k,j,i+1) - sk(k,j,i) ) * ddx 159 188 ENDIF … … 162 191 vkomp = 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - v_gtrans 163 192 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 * & 165 194 ( sk(k,j,i) - sk(k,j-1,i) ) * ddy 166 195 ELSE 167 tend(k,j,i) = tend(k,j,i) - vkomp * &196 tend(k,j,i) = tend(k,j,i) - vkomp * & 168 197 ( sk(k,j+1,i) - sk(k,j,i) ) * ddy 169 198 ENDIF … … 172 201 wkomp = 0.5 * ( w(k,j,i) + w(k-1,j,i) ) 173 202 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 * & 175 204 ( sk(k,j,i) - sk(k-1,j,i) ) * ddzu(k) 176 205 ELSE 177 tend(k,j,i) = tend(k,j,i) - wkomp * &206 tend(k,j,i) = tend(k,j,i) - wkomp * & 178 207 ( sk(k+1,j,i)-sk(k,j,i) ) * ddzu(k+1) 179 208 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.