83 |
# ifdef ALLOW_KPP |
# ifdef ALLOW_KPP |
84 |
# include "KPP.h" |
# include "KPP.h" |
85 |
# endif |
# endif |
|
# ifdef ALLOW_GMREDI |
|
|
# include "GMREDI.h" |
|
|
# endif |
|
86 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
87 |
#ifdef ALLOW_TIMEAVE |
#ifdef ALLOW_TIMEAVE |
88 |
#include "TIMEAVE_STATV.h" |
#include "TIMEAVE_STATV.h" |
150 |
_RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
151 |
_RL KappaRU (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
_RL KappaRU (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
152 |
_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) |
|
153 |
|
|
154 |
INTEGER iMin, iMax |
INTEGER iMin, iMax |
155 |
INTEGER jMin, jMax |
INTEGER jMin, jMax |
215 |
C uninitialised but inert locations. |
C uninitialised but inert locations. |
216 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
217 |
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 |
|
218 |
rhoKM1 (i,j) = 0. _d 0 |
rhoKM1 (i,j) = 0. _d 0 |
219 |
rhok (i,j) = 0. _d 0 |
rhok (i,j) = 0. _d 0 |
220 |
phiSurfX(i,j) = 0. _d 0 |
phiSurfX(i,j) = 0. _d 0 |
222 |
ENDDO |
ENDDO |
223 |
ENDDO |
ENDDO |
224 |
|
|
225 |
|
C-- Call to routine for calculation of |
226 |
|
C Eliassen-Palm-flux-forced U-tendency, |
227 |
|
C if desired: |
228 |
|
#ifdef INCLUDE_EP_FORCING_CODE |
229 |
|
CALL CALC_EP_FORCING(myThid) |
230 |
|
#endif |
231 |
|
|
232 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
233 |
C-- HPF directive to help TAMC |
C-- HPF directive to help TAMC |
234 |
CHPF$ INDEPENDENT |
CHPF$ INDEPENDENT |
262 |
C-- Set up work arrays that need valid initial values |
C-- Set up work arrays that need valid initial values |
263 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
264 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
265 |
|
DO k=1,Nr |
266 |
|
phiHyd(i,j,k) = 0. _d 0 |
267 |
|
KappaRU(i,j,k) = 0. _d 0 |
268 |
|
KappaRV(i,j,k) = 0. _d 0 |
269 |
|
ENDDO |
270 |
fVerU (i,j,1) = 0. _d 0 |
fVerU (i,j,1) = 0. _d 0 |
271 |
fVerU (i,j,2) = 0. _d 0 |
fVerU (i,j,2) = 0. _d 0 |
272 |
fVerV (i,j,1) = 0. _d 0 |
fVerV (i,j,1) = 0. _d 0 |
392 |
C-- end of dynamics k loop (1:Nr) |
C-- end of dynamics k loop (1:Nr) |
393 |
ENDDO |
ENDDO |
394 |
|
|
|
|
|
|
|
|
395 |
C-- Implicit viscosity |
C-- Implicit viscosity |
396 |
IF (implicitViscosity.AND.momStepping) THEN |
IF (implicitViscosity.AND.momStepping) THEN |
397 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 3 |
|
398 |
CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
399 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
400 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
403 |
U gUNm1, |
U gUNm1, |
404 |
I myThid ) |
I myThid ) |
405 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 4 |
|
406 |
CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
407 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
408 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
422 |
|
|
423 |
#ifdef INCLUDE_CD_CODE |
#ifdef INCLUDE_CD_CODE |
424 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 5 |
|
425 |
CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
426 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
427 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
430 |
U vVelD, |
U vVelD, |
431 |
I myThid ) |
I myThid ) |
432 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
|
idkey = iikey + 6 |
|
433 |
CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte |
434 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
435 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |