40 |
# include "KPP.h" |
# include "KPP.h" |
41 |
#endif |
#endif |
42 |
|
|
43 |
|
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
44 |
|
#include "AVER.h" |
45 |
|
#endif |
46 |
|
|
47 |
C == Routine arguments == |
C == Routine arguments == |
48 |
C myTime - Current time in simulation |
C myTime - Current time in simulation |
49 |
C myIter - Current iteration number in simulation |
C myIter - Current iteration number in simulation |
104 |
_RL sigmaY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL sigmaY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
105 |
_RL sigmaR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL sigmaR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
106 |
|
|
107 |
C This is currently also used by IVDC and Diagnostics |
C This is currently used by IVDC and Diagnostics |
|
C #ifdef INCLUDE_CONVECT_CALL |
|
108 |
_RL ConvectCount (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL ConvectCount (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
|
C #endif |
|
109 |
|
|
110 |
INTEGER iMin, iMax |
INTEGER iMin, iMax |
111 |
INTEGER jMin, jMax |
INTEGER jMin, jMax |
113 |
INTEGER i, j |
INTEGER i, j |
114 |
INTEGER k, km1, kup, kDown |
INTEGER k, km1, kup, kDown |
115 |
|
|
116 |
|
Cjmc : add for phiHyd output <- but not working if multi tile per CPU |
117 |
|
c CHARACTER*(MAX_LEN_MBUF) suff |
118 |
|
c LOGICAL DIFFERENT_MULTIPLE |
119 |
|
c EXTERNAL DIFFERENT_MULTIPLE |
120 |
|
Cjmc(end) |
121 |
|
|
122 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
123 |
INTEGER isbyte |
INTEGER isbyte |
124 |
PARAMETER( isbyte = 4 ) |
PARAMETER( isbyte = 4 ) |
256 |
DO k=1,Nr |
DO k=1,Nr |
257 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
258 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
259 |
#ifdef INCLUDE_CONVECT_CALL |
C This is currently also used by IVDC and Diagnostics |
260 |
ConvectCount(i,j,k) = 0. |
ConvectCount(i,j,k) = 0. |
|
#endif |
|
261 |
KappaRT(i,j,k) = 0. _d 0 |
KappaRT(i,j,k) = 0. _d 0 |
262 |
KappaRS(i,j,k) = 0. _d 0 |
KappaRS(i,j,k) = 0. _d 0 |
263 |
ENDDO |
ENDDO |
323 |
I rhoKm1, rhoK, |
I rhoKm1, rhoK, |
324 |
U ConvectCount, KappaRT, KappaRS, |
U ConvectCount, KappaRT, KappaRS, |
325 |
I myTime, myIter, myThid) |
I myTime, myIter, myThid) |
326 |
END IF |
ENDIF |
327 |
|
|
328 |
C-- end of diagnostic k loop (Nr:1) |
C-- end of diagnostic k loop (Nr:1) |
329 |
ENDDO |
ENDDO |
489 |
C-- Implicit diffusion |
C-- Implicit diffusion |
490 |
IF (implicitDiffusion) THEN |
IF (implicitDiffusion) THEN |
491 |
|
|
492 |
IF (tempStepping) THEN |
IF (tempStepping) THEN |
493 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
494 |
idkey = iikey + 1 |
idkey = iikey + 1 |
495 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
645 |
C-- End If implicitViscosity.AND.momStepping |
C-- End If implicitViscosity.AND.momStepping |
646 |
ENDIF |
ENDIF |
647 |
|
|
648 |
|
Cjmc : add for phiHyd output <- but not working if multi tile per CPU |
649 |
|
c IF ( DIFFERENT_MULTIPLE(dumpFreq,myTime+deltaTClock,myTime) |
650 |
|
c & .AND. buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN |
651 |
|
c WRITE(suff,'(I10.10)') myIter+1 |
652 |
|
c CALL WRITE_FLD_XYZ_RL('PH.',suff,phiHyd,myIter+1,myThid) |
653 |
|
c ENDIF |
654 |
|
Cjmc(end) |
655 |
|
|
656 |
|
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
657 |
|
IF (taveFreq.GT.0.) THEN |
658 |
|
DO K=1,Nr |
659 |
|
CALL TIMEAVER_1FLD_XYZ(phiHyd, phiHydtave, |
660 |
|
I deltaTclock, bi, bj, K, myThid) |
661 |
|
IF (ivdc_kappa.NE.0.) THEN |
662 |
|
CALL TIMEAVER_1FLD_XYZ(ConvectCount, ConvectCountTave, |
663 |
|
I deltaTclock, bi, bj, K, myThid) |
664 |
|
ENDIF |
665 |
|
ENDDO |
666 |
|
ENDIF |
667 |
|
#endif /* INCLUDE_DIAGNOSTICS_INTERFACE_CODE */ |
668 |
|
|
669 |
ENDDO |
ENDDO |
670 |
ENDDO |
ENDDO |
671 |
|
|