45 |
_RL str13(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1) |
_RL str13(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1) |
46 |
_RL str23(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1) |
_RL str23(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1) |
47 |
|
|
48 |
|
#ifdef ALLOW_SMAG_3D |
49 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
50 |
C i, j, k :: loop indices |
C i, j, k :: loop indices |
51 |
INTEGER i, j, k |
INTEGER i, j, k |
83 |
C str11 = u_x |
C str11 = u_x |
84 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
85 |
DO i=1-OLx,sNx+OLx-1 |
DO i=1-OLx,sNx+OLx-1 |
86 |
str11(i,j,k) = |
str11(i,j,k) = recip_dxF(i,j,bi,bj) |
87 |
& recip_dxF(i,j,bi,bj)*( |
& *( uVel(i+1, j , k ,bi,bj)-uVel( i , j , k ,bi,bj) ) |
|
& uVel(i+1, j , k ,bi,bj)-uVel( i , j , k ,bi,bj) ) |
|
88 |
ENDDO |
ENDDO |
89 |
ENDDO |
ENDDO |
90 |
|
|
91 |
C str22 = v_y |
C str22 = v_y |
92 |
DO j=1-OLy,sNy+OLy-1 |
DO j=1-OLy,sNy+OLy-1 |
93 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
94 |
str22(i,j,k) = |
str22(i,j,k) = recip_dyF(i,j,bi,bj) |
95 |
& recip_dyF(i,j,bi,bj)*( |
& *( vVel( i ,j+1, k ,bi,bj)-vVel( i , j , k ,bi,bj) ) |
|
& vVel( i ,j+1, k ,bi,bj)-vVel( i , j , k ,bi,bj) ) |
|
96 |
ENDDO |
ENDDO |
97 |
ENDDO |
ENDDO |
98 |
|
|
99 |
C str33 = w_z |
C str33 = w_z |
100 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
101 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
102 |
str33(i,j,k) = |
str33(i,j,k) = recip_drF(k)*rkSign |
103 |
& recip_drF(k)*rkSign*( |
& *( maskp1*wVel( i , j ,kp1,bi,bj)-wVel( i , j , k ,bi,bj) ) |
|
& maskp1*wVel( i , j ,kp1,bi,bj)-wVel( i , j , k ,bi,bj) ) |
|
104 |
ENDDO |
ENDDO |
105 |
ENDDO |
ENDDO |
106 |
|
|
108 |
DO j=2-OLy,sNy+OLy |
DO j=2-OLy,sNy+OLy |
109 |
DO i=2-OLx,sNx+OLx |
DO i=2-OLx,sNx+OLx |
110 |
str12(i,j,k) = halfRL*( |
str12(i,j,k) = halfRL*( |
111 |
& recip_dyU(i,j,bi,bj)*( |
& recip_dyU(i,j,bi,bj) |
112 |
& uVel( i , j , k ,bi,bj)-uVel( i ,j-1, k ,bi,bj) ) |
& *( uVel( i , j , k ,bi,bj)-uVel( i ,j-1, k ,bi,bj) ) |
113 |
& +recip_dxV(i,j,bi,bj)*( |
& +recip_dxV(i,j,bi,bj) |
114 |
& vVel( i , j , k ,bi,bj)-vVel(i-1, j , k ,bi,bj) ) |
& *( vVel( i , j , k ,bi,bj)-vVel(i-1, j , k ,bi,bj) ) |
115 |
& ) |
& ) |
116 |
ENDDO |
ENDDO |
117 |
ENDDO |
ENDDO |
129 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
130 |
DO i=2-OLx,sNx+OLx |
DO i=2-OLx,sNx+OLx |
131 |
str13(i,j,k) = halfRL*( |
str13(i,j,k) = halfRL*( |
132 |
& recip_drC(k)*rkSign*( |
& recip_drC(k)*rkSign |
133 |
& uVel( i , j , k ,bi,bj)*twoRL ) |
& *( uVel( i , j , k ,bi,bj)*twoRL ) |
134 |
& +recip_dxC(i,j,bi,bj)*( |
& +recip_dxC(i,j,bi,bj) |
135 |
& wVel( i , j , k ,bi,bj)-wVel(i-1, j , k ,bi,bj) ) |
& *( wVel( i , j , k ,bi,bj)-wVel(i-1, j , k ,bi,bj) ) |
136 |
& ) |
& ) |
137 |
ENDDO |
ENDDO |
138 |
ENDDO |
ENDDO |
139 |
DO j=2-OLy,sNy+OLy |
DO j=2-OLy,sNy+OLy |
140 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
141 |
str23(i,j,k) = halfRL*( |
str23(i,j,k) = halfRL*( |
142 |
& recip_drC(k)*rkSign*( |
& recip_drC(k)*rkSign |
143 |
& vVel( i , j , k ,bi,bj)*twoRL ) |
& *( vVel( i , j , k ,bi,bj)*twoRL ) |
144 |
& +recip_dyC(i,j,bi,bj)*( |
& +recip_dyC(i,j,bi,bj) |
145 |
& wVel( i , j , k ,bi,bj)-wVel( i ,j-1, k ,bi,bj) ) |
& *( wVel( i , j , k ,bi,bj)-wVel( i ,j-1, k ,bi,bj) ) |
146 |
& ) |
& ) |
147 |
ENDDO |
ENDDO |
148 |
ENDDO |
ENDDO |
151 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
152 |
DO i=2-OLx,sNx+OLx |
DO i=2-OLx,sNx+OLx |
153 |
str13(i,j,k) = halfRL*( |
str13(i,j,k) = halfRL*( |
154 |
& recip_drC(k)*rkSign*( |
& recip_drC(k)*rkSign |
155 |
& uVel( i , j , k ,bi,bj)-uVel( i , j ,k-1 ,bi,bj) ) |
& *( uVel( i , j , k ,bi,bj)-uVel( i , j ,k-1 ,bi,bj) ) |
156 |
& +recip_dxC(i,j,bi,bj)*( |
& +recip_dxC(i,j,bi,bj) |
157 |
& wVel( i , j , k ,bi,bj)-wVel(i-1, j , k ,bi,bj) ) |
& *( wVel( i , j , k ,bi,bj)-wVel(i-1, j , k ,bi,bj) ) |
158 |
& ) |
& ) |
159 |
ENDDO |
ENDDO |
160 |
ENDDO |
ENDDO |
162 |
DO j=2-OLy,sNy+OLy |
DO j=2-OLy,sNy+OLy |
163 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
164 |
str23(i,j,k) = halfRL*( |
str23(i,j,k) = halfRL*( |
165 |
& recip_drC(k)*rkSign*( |
& recip_drC(k)*rkSign |
166 |
& vVel( i , j , k ,bi,bj)-vVel( i , j ,k-1,bi,bj) ) |
& *( vVel( i , j , k ,bi,bj)-vVel( i , j ,k-1,bi,bj) ) |
167 |
& +recip_dyC(i,j,bi,bj)*( |
& +recip_dyC(i,j,bi,bj) |
168 |
& wVel( i , j , k ,bi,bj)-wVel( i ,j-1, k ,bi,bj) ) |
& *( wVel( i , j , k ,bi,bj)-wVel( i ,j-1, k ,bi,bj) ) |
169 |
& ) |
& ) |
170 |
ENDDO |
ENDDO |
171 |
ENDDO |
ENDDO |
213 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
214 |
DO i=2-OLx,sNx+OLx |
DO i=2-OLx,sNx+OLx |
215 |
str13(i,j,k) = |
str13(i,j,k) = |
216 |
& recip_drF(Nr)*rkSign*( |
& recip_drF(Nr)*rkSign |
217 |
c & recip_drC(k)*rkSign*( |
c & recip_drC(k)*rkSign |
218 |
& 0. _d 0 - uVel( i , j ,k-1 ,bi,bj) ) |
& *( 0. _d 0 - uVel( i , j ,k-1 ,bi,bj) ) |
219 |
ENDDO |
ENDDO |
220 |
ENDDO |
ENDDO |
221 |
|
|
223 |
DO j=2-OLy,sNy+OLy |
DO j=2-OLy,sNy+OLy |
224 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
225 |
str23(i,j,k) = |
str23(i,j,k) = |
226 |
& recip_drF(Nr)*rkSign*( |
& recip_drF(Nr)*rkSign |
227 |
c & recip_drC(k)*rkSign*( |
c & recip_drC(k)*rkSign |
228 |
& 0. _d 0 - vVel( i , j ,k-1,bi,bj) ) |
& *( 0. _d 0 - vVel( i , j ,k-1,bi,bj) ) |
229 |
ENDDO |
ENDDO |
230 |
ENDDO |
ENDDO |
231 |
|
|
236 |
c STOP 'S/R MOM_CALC_3D_STRAIN: should not be used on the cube!' |
c STOP 'S/R MOM_CALC_3D_STRAIN: should not be used on the cube!' |
237 |
c ENDIF |
c ENDIF |
238 |
|
|
239 |
|
#endif /* ALLOW_SMAG_3D */ |
240 |
RETURN |
RETURN |
241 |
END |
END |