95 |
INTEGER i, j |
INTEGER i, j |
96 |
INTEGER k, km1, kup, kDown |
INTEGER k, km1, kup, kDown |
97 |
INTEGER iTracer, ip |
INTEGER iTracer, ip |
98 |
|
INTEGER doDiagsRho |
99 |
|
#ifdef ALLOW_DIAGNOSTICS |
100 |
|
LOGICAL DIAGNOSTICS_IS_ON |
101 |
|
EXTERNAL DIAGNOSTICS_IS_ON |
102 |
|
#endif /* ALLOW_DIAGNOSTICS */ |
103 |
|
|
104 |
CEOP |
CEOP |
105 |
|
|
113 |
& CALL DEBUG_ENTER('DO_OCEANIC_PHYS',myThid) |
& CALL DEBUG_ENTER('DO_OCEANIC_PHYS',myThid) |
114 |
#endif |
#endif |
115 |
|
|
116 |
|
doDiagsRho = 0 |
117 |
|
#ifdef ALLOW_DIAGNOSTICS |
118 |
|
IF ( useDiagnostics .AND. fluidIsWater ) THEN |
119 |
|
IF ( DIAGNOSTICS_IS_ON('DRHODR ',myThid) ) doDiagsRho = 1 |
120 |
|
IF ( DIAGNOSTICS_IS_ON('RHOANOSQ',myThid) .OR. |
121 |
|
& DIAGNOSTICS_IS_ON('URHOMASS',myThid) .OR. |
122 |
|
& DIAGNOSTICS_IS_ON('VRHOMASS',myThid) .OR. |
123 |
|
& DIAGNOSTICS_IS_ON('WRHOMASS',myThid) .OR. |
124 |
|
& DIAGNOSTICS_IS_ON('WRHOMASS',myThid) ) doDiagsRho = 2 |
125 |
|
ENDIF |
126 |
|
#endif /* ALLOW_DIAGNOSTICS */ |
127 |
|
|
128 |
#ifdef ALLOW_THSICE |
#ifdef ALLOW_THSICE |
129 |
IF ( useThSIce .AND. fluidIsWater ) THEN |
IF ( useThSIce .AND. fluidIsWater ) THEN |
130 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
270 |
C-- Calculate gradients of potential density for isoneutral |
C-- Calculate gradients of potential density for isoneutral |
271 |
C slope terms (e.g. GM/Redi tensor or IVDC diffusivity) |
C slope terms (e.g. GM/Redi tensor or IVDC diffusivity) |
272 |
c IF ( k.GT.1 .AND. (useGMRedi.OR.ivdc_kappa.NE.0.) ) THEN |
c IF ( k.GT.1 .AND. (useGMRedi.OR.ivdc_kappa.NE.0.) ) THEN |
273 |
IF ( useGMRedi .OR. (k.GT.1 .AND. ivdc_kappa.NE.0.) ) THEN |
IF ( useGMRedi .OR. (k.GT.1 .AND. ivdc_kappa.NE.0.) |
274 |
|
& .OR. doDiagsRho.GE.1 ) THEN |
275 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
276 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
277 |
& CALL DEBUG_CALL('FIND_RHO',myThid) |
& CALL DEBUG_CALL('FIND_RHO',myThid) |
327 |
I myTime, myIter, myThid) |
I myTime, myIter, myThid) |
328 |
ENDIF |
ENDIF |
329 |
|
|
330 |
|
#ifdef ALLOW_DIAGNOSTICS |
331 |
|
IF ( doDiagsRho.GE.2 ) THEN |
332 |
|
CALL DIAGS_RHO( k, bi, bj, |
333 |
|
I rhoK, rhoKm1, |
334 |
|
I myTime, myIter, myThid) |
335 |
|
ENDIF |
336 |
|
#endif |
337 |
|
|
338 |
C-- end of diagnostic k loop (Nr:1) |
C-- end of diagnostic k loop (Nr:1) |
339 |
ENDDO |
ENDDO |
340 |
|
|
341 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
342 |
IF ( useDiagnostics .AND. |
c IF ( useDiagnostics .AND. |
343 |
& (useGMRedi .OR. ivdc_kappa.NE.0.) ) THEN |
c & (useGMRedi .OR. ivdc_kappa.NE.0.) ) THEN |
344 |
|
IF ( doDiagsRho.GE.1 ) THEN |
345 |
CALL DIAGNOSTICS_FILL (sigmaR, 'DRHODR ', 0, Nr, |
CALL DIAGNOSTICS_FILL (sigmaR, 'DRHODR ', 0, Nr, |
346 |
& 2, bi, bj, myThid) |
& 2, bi, bj, myThid) |
347 |
ENDIF |
ENDIF |