35 |
#include "PARAMS.h" |
#include "PARAMS.h" |
36 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
37 |
#include "GRID.h" |
#include "GRID.h" |
|
c #include "GAD.h" |
|
|
c #ifdef ALLOW_PTRACERS |
|
|
c #include "PTRACERS_SIZE.h" |
|
|
c #include "PTRACERS.h" |
|
|
c #endif |
|
|
c #ifdef ALLOW_TIMEAVE |
|
|
c #include "TIMEAVE_STATV.h" |
|
|
c #endif |
|
38 |
|
|
39 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
40 |
# include "tamc.h" |
# include "tamc.h" |
57 |
|
|
58 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
59 |
C == Routine arguments == |
C == Routine arguments == |
60 |
C myTime - Current time in simulation |
C myTime :: Current time in simulation |
61 |
C myIter - Current iteration number in simulation |
C myIter :: Current iteration number in simulation |
62 |
C myThid - Thread number for this instance of the routine. |
C myThid :: Thread number for this instance of the routine. |
63 |
_RL myTime |
_RL myTime |
64 |
INTEGER myIter |
INTEGER myIter |
65 |
INTEGER myThid |
INTEGER myThid |
66 |
|
|
67 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
68 |
C == Local variables |
C == Local variables |
69 |
C rhoK, rhoKM1 - Density at current level, and level above |
C rhoK, rhoKM1 :: Density at current level, and level above |
70 |
C useVariableK = T when vertical diffusion is not constant |
C iMin, iMax :: Ranges and sub-block indices on which calculations |
|
C iMin, iMax - Ranges and sub-block indices on which calculations |
|
71 |
C jMin, jMax are applied. |
C jMin, jMax are applied. |
72 |
C bi, bj |
C bi, bj :: tile indices |
73 |
C k, kup, - Index for layer above and below. kup and kDown |
C i,j,k :: loop indices |
|
C kDown, km1 are switched with layer to be the appropriate |
|
|
C index into fVerTerm. |
|
74 |
_RL rhokm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL rhokm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
75 |
_RL rhok (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL rhok (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
76 |
_RL sigmaX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL sigmaX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
77 |
_RL sigmaY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL sigmaY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
78 |
_RL sigmaR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL sigmaR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
|
_RL kp1Msk |
|
|
LOGICAL useVariableK |
|
79 |
INTEGER iMin, iMax |
INTEGER iMin, iMax |
80 |
INTEGER jMin, jMax |
INTEGER jMin, jMax |
81 |
INTEGER bi, bj |
INTEGER bi, bj |
82 |
INTEGER i, j |
INTEGER i, j, k |
|
INTEGER k, km1, kup, kDown |
|
|
INTEGER iTracer, ip |
|
83 |
INTEGER doDiagsRho |
INTEGER doDiagsRho |
84 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
85 |
LOGICAL DIAGNOSTICS_IS_ON |
LOGICAL DIAGNOSTICS_IS_ON |
469 |
ENDDO |
ENDDO |
470 |
ENDDO |
ENDDO |
471 |
|
|
472 |
|
#ifdef ALLOW_DIAGNOSTICS |
473 |
|
IF ( fluidIsWater .AND. useDiagnostics ) THEN |
474 |
|
CALL DIAGS_OCEANIC_SURF_FLUX( myTime, myIter, myThid ) |
475 |
|
ENDIF |
476 |
|
#endif |
477 |
|
|
478 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
479 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
480 |
& CALL DEBUG_LEAVE('DO_OCEANIC_PHYS',myThid) |
& CALL DEBUG_LEAVE('DO_OCEANIC_PHYS',myThid) |