25 |
#include "PARAMS.h" |
#include "PARAMS.h" |
26 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
27 |
#include "GRID.h" |
#include "GRID.h" |
|
#ifdef ALLOW_PASSIVE_TRACER |
|
|
#include "TR1.h" |
|
|
#endif |
|
28 |
#ifdef ALLOW_TIMEAVE |
#ifdef ALLOW_TIMEAVE |
29 |
#include "TIMEAVE_STATV.h" |
#include "TIMEAVE_STATV.h" |
30 |
#endif |
#endif |
91 |
& + act4*max1*max2*max3 |
& + act4*max1*max2*max3 |
92 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
93 |
|
|
94 |
IF ( buoyancyRelation .eq. 'OCEANIC' ) THEN |
IF ( rkFac*gravitySign .LT. 0. ) THEN |
95 |
|
C- <=> usingZCoords: |
96 |
kTop = 2 |
kTop = 2 |
97 |
kBottom = Nr |
kBottom = Nr |
98 |
kDir = 1 |
kDir = 1 |
99 |
deltaK = -1 |
deltaK = -1 |
100 |
ELSEIF ( buoyancyRelation .eq. 'OCEANICP' ) THEN |
ELSE |
101 |
kTop = Nr |
C- <=> usingPCoords: |
|
kBottom = 2 |
|
|
kDir = -1 |
|
|
deltaK = 0 |
|
|
ELSEIF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN |
|
102 |
kTop = Nr |
kTop = Nr |
103 |
kBottom = 2 |
kBottom = 2 |
104 |
kDir = -1 |
kDir = -1 |
105 |
deltaK = 0 |
deltaK = 0 |
106 |
ELSE |
ENDIF |
|
STOP 'CONVECTIVE_ADJUSTMENT: We should never reach this point' |
|
|
ENDIF |
|
107 |
|
|
108 |
C-- Loop over all *interior* layers |
C-- Loop over all *interior* layers |
109 |
DO K=kTop,kBottom,kDir |
DO K=kTop,kBottom,kDir |
159 |
U salt, |
U salt, |
160 |
I myThid) |
I myThid) |
161 |
|
|
|
#ifdef ALLOW_PASSIVE_TRACER |
|
|
C- Convectively mix passive tracer across interface K |
|
|
ceh3 needs an IF ( usePASSIVE_TRACER ) THEN |
|
|
CALL CONVECTIVELY_MIXTRACER( |
|
|
I bi,bj,k,weightA,weightB, |
|
|
U Tr1, |
|
|
I myThid) |
|
|
#endif /* ALLOW_PASSIVE_TRACER */ |
|
|
|
|
162 |
#ifdef ALLOW_PTRACERS |
#ifdef ALLOW_PTRACERS |
163 |
C- Convectively mix passive tracers across interface K |
C- Convectively mix passive tracers across interface K |
164 |
IF ( usePTRACERS ) THEN |
IF ( usePTRACERS ) THEN |