153 |
_RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
154 |
_RL KappaRU (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
_RL KappaRU (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
155 |
_RL KappaRV (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
_RL KappaRV (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
|
_RL sigmaX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
|
|
_RL sigmaY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
|
|
_RL sigmaR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
|
156 |
|
|
157 |
INTEGER iMin, iMax |
INTEGER iMin, iMax |
158 |
INTEGER jMin, jMax |
INTEGER jMin, jMax |
218 |
C uninitialised but inert locations. |
C uninitialised but inert locations. |
219 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
220 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
|
DO k=1,Nr |
|
|
phiHyd(i,j,k) = 0. _d 0 |
|
|
KappaRU(i,j,k) = 0. _d 0 |
|
|
KappaRV(i,j,k) = 0. _d 0 |
|
|
sigmaX(i,j,k) = 0. _d 0 |
|
|
sigmaY(i,j,k) = 0. _d 0 |
|
|
sigmaR(i,j,k) = 0. _d 0 |
|
|
ENDDO |
|
221 |
rhoKM1 (i,j) = 0. _d 0 |
rhoKM1 (i,j) = 0. _d 0 |
222 |
rhok (i,j) = 0. _d 0 |
rhok (i,j) = 0. _d 0 |
223 |
phiSurfX(i,j) = 0. _d 0 |
phiSurfX(i,j) = 0. _d 0 |
225 |
ENDDO |
ENDDO |
226 |
ENDDO |
ENDDO |
227 |
|
|
228 |
|
C-- Call to routine for calculation of |
229 |
|
C Eliassen-Palm-flux-forced U-tendency, |
230 |
|
C if desired: |
231 |
|
#ifdef INCLUDE_EP_FORCING_CODE |
232 |
|
CALL CALC_EP_FORCING(myThid) |
233 |
|
#endif |
234 |
|
|
235 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
236 |
C-- HPF directive to help TAMC |
C-- HPF directive to help TAMC |
237 |
CHPF$ INDEPENDENT |
CHPF$ INDEPENDENT |
265 |
C-- Set up work arrays that need valid initial values |
C-- Set up work arrays that need valid initial values |
266 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
267 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
268 |
|
DO k=1,Nr |
269 |
|
phiHyd(i,j,k) = 0. _d 0 |
270 |
|
KappaRU(i,j,k) = 0. _d 0 |
271 |
|
KappaRV(i,j,k) = 0. _d 0 |
272 |
|
ENDDO |
273 |
fVerU (i,j,1) = 0. _d 0 |
fVerU (i,j,1) = 0. _d 0 |
274 |
fVerU (i,j,2) = 0. _d 0 |
fVerU (i,j,2) = 0. _d 0 |
275 |
fVerV (i,j,1) = 0. _d 0 |
fVerV (i,j,1) = 0. _d 0 |
395 |
C-- end of dynamics k loop (1:Nr) |
C-- end of dynamics k loop (1:Nr) |
396 |
ENDDO |
ENDDO |
397 |
|
|
|
|
|
|
|
|
398 |
C-- Implicit viscosity |
C-- Implicit viscosity |
399 |
IF (implicitViscosity.AND.momStepping) THEN |
IF (implicitViscosity.AND.momStepping) THEN |
400 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 3 |
|
401 |
CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
402 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
403 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
406 |
U gUNm1, |
U gUNm1, |
407 |
I myThid ) |
I myThid ) |
408 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 4 |
|
409 |
CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
410 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
411 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
425 |
|
|
426 |
#ifdef INCLUDE_CD_CODE |
#ifdef INCLUDE_CD_CODE |
427 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 5 |
|
428 |
CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
429 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
430 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
433 |
U vVelD, |
U vVelD, |
434 |
I myThid ) |
I myThid ) |
435 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 6 |
|
436 |
CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
437 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
438 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |