11 |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
12 |
I xA, yA, maskUp, uFld, vFld, wFld, |
I xA, yA, maskUp, uFld, vFld, wFld, |
13 |
I uTrans, vTrans, rTrans, rTransKp1, |
I uTrans, vTrans, rTrans, rTransKp1, |
14 |
I diffKh, diffK4, KappaR, TracerN, TracAB, |
I diffKh, diffK4, KappaR, diffKr4, TracerN, TracAB, |
15 |
I deltaTLev, trIdentity, |
I deltaTLev, trIdentity, |
16 |
I advectionScheme, vertAdvecScheme, |
I advectionScheme, vertAdvecScheme, |
17 |
I calcAdvection, implicitAdvection, applyAB_onTracer, |
I calcAdvection, implicitAdvection, applyAB_onTracer, |
18 |
I trUseGMRedi, trUseKPP, |
I trUseDiffKr4, trUseGMRedi, trUseKPP, |
19 |
U fVerT, gTracer, |
U fVerT, gTracer, |
20 |
I myTime, myIter, myThid ) |
I myTime, myIter, myThid ) |
21 |
|
|
67 |
C rTrans :: 2-D arrays of volume transports at W points |
C rTrans :: 2-D arrays of volume transports at W points |
68 |
C rTransKp1 :: 2-D array of volume trans at W pts, interf k+1 |
C rTransKp1 :: 2-D array of volume trans at W pts, interf k+1 |
69 |
C diffKh :: horizontal diffusion coefficient |
C diffKh :: horizontal diffusion coefficient |
70 |
C diffK4 :: bi-harmonic diffusion coefficient |
C diffK4 :: horizontal bi-harmonic diffusion coefficient |
71 |
C KappaR :: 2-D array for vertical diffusion coefficient, interf k |
C KappaR :: 2-D array for vertical diffusion coefficient, interf k |
72 |
|
C diffKr4 :: 1-D array for vertical bi-harmonic diffusion coefficient |
73 |
C TracerN :: tracer field @ time-step n (Note: only used |
C TracerN :: tracer field @ time-step n (Note: only used |
74 |
C if applying AB on tracer field rather than on tendency gTr) |
C if applying AB on tracer field rather than on tendency gTr) |
75 |
C TracAB :: current tracer field (@ time-step n if applying AB on gTr |
C TracAB :: current tracer field (@ time-step n if applying AB on gTr |
80 |
C calcAdvection :: =False if Advec computed with multiDim scheme |
C calcAdvection :: =False if Advec computed with multiDim scheme |
81 |
C implicitAdvection:: =True if vertical Advec computed implicitly |
C implicitAdvection:: =True if vertical Advec computed implicitly |
82 |
C applyAB_onTracer :: apply Adams-Bashforth on Tracer (rather than on gTr) |
C applyAB_onTracer :: apply Adams-Bashforth on Tracer (rather than on gTr) |
83 |
|
C trUseDiffKr4 :: true if this tracer uses vertical bi-harmonic diffusion |
84 |
C trUseGMRedi :: true if this tracer uses GM-Redi |
C trUseGMRedi :: true if this tracer uses GM-Redi |
85 |
C trUseKPP :: true if this tracer uses KPP |
C trUseKPP :: true if this tracer uses KPP |
86 |
C myTime :: current time |
C myTime :: current time |
100 |
_RL rTransKp1(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL rTransKp1(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
101 |
_RL diffKh, diffK4 |
_RL diffKh, diffK4 |
102 |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
103 |
|
_RL diffKr4(Nr) |
104 |
_RL TracerN(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL TracerN(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
105 |
_RL TracAB (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL TracAB (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
106 |
_RL deltaTLev(Nr) |
_RL deltaTLev(Nr) |
108 |
INTEGER advectionScheme, vertAdvecScheme |
INTEGER advectionScheme, vertAdvecScheme |
109 |
LOGICAL calcAdvection |
LOGICAL calcAdvection |
110 |
LOGICAL implicitAdvection, applyAB_onTracer |
LOGICAL implicitAdvection, applyAB_onTracer |
111 |
LOGICAL trUseGMRedi, trUseKPP |
LOGICAL trUseDiffKr4, trUseGMRedi, trUseKPP |
112 |
_RL myTime |
_RL myTime |
113 |
INTEGER myIter, myThid |
INTEGER myIter, myThid |
114 |
|
|
576 |
ENDIF |
ENDIF |
577 |
ENDIF |
ENDIF |
578 |
|
|
579 |
|
IF ( trUseDiffKr4 ) THEN |
580 |
|
IF ( applyAB_onTracer ) THEN |
581 |
|
CALL GAD_BIHARM_R( bi,bj,k, diffKr4, TracerN, df, myThid ) |
582 |
|
ELSE |
583 |
|
CALL GAD_BIHARM_R( bi,bj,k, diffKr4, TracAB, df, myThid ) |
584 |
|
ENDIF |
585 |
|
ENDIF |
586 |
|
|
587 |
#ifdef ALLOW_GMREDI |
#ifdef ALLOW_GMREDI |
588 |
C- GM/Redi flux in R |
C- GM/Redi flux in R |
589 |
IF ( trUseGMRedi ) THEN |
IF ( trUseGMRedi ) THEN |