140 |
INTEGER nipass,ipass |
INTEGER nipass,ipass |
141 |
INTEGER myTile, nCFace |
INTEGER myTile, nCFace |
142 |
LOGICAL N_edge, S_edge, E_edge, W_edge |
LOGICAL N_edge, S_edge, E_edge, W_edge |
143 |
|
#ifdef ALLOW_DIAGNOSTICS |
144 |
|
INTEGER kk |
145 |
|
CHARACTER*8 diagName |
146 |
|
CHARACTER*4 GAD_DIAG_SUFX, diagSufx |
147 |
|
EXTERNAL GAD_DIAG_SUFX |
148 |
|
#endif |
149 |
CEOP |
CEOP |
150 |
|
|
151 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
169 |
endif |
endif |
170 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
171 |
|
|
172 |
|
#ifdef ALLOW_DIAGNOSTICS |
173 |
|
C-- Set diagnostic suffix for the current tracer |
174 |
|
IF ( useDiagnostics ) THEN |
175 |
|
diagSufx = GAD_DIAG_SUFX( tracerIdentity, myThid ) |
176 |
|
ENDIF |
177 |
|
#endif |
178 |
|
|
179 |
C-- Set up work arrays with valid (i.e. not NaN) values |
C-- Set up work arrays with valid (i.e. not NaN) values |
180 |
C These inital values do not alter the numerical results. They |
C These inital values do not alter the numerical results. They |
181 |
C just ensure that all memory references are to valid floating |
C just ensure that all memory references are to valid floating |
603 |
ENDDO |
ENDDO |
604 |
ENDIF |
ENDIF |
605 |
|
|
606 |
|
#ifdef ALLOW_DIAGNOSTICS |
607 |
|
IF ( useDiagnostics ) THEN |
608 |
|
kk = -k |
609 |
|
diagName = 'ADVx'//diagSufx |
610 |
|
CALL DIAGNOSTICS_FILL(afx,diagName, kk,1, 2,bi,bj, myThid) |
611 |
|
diagName = 'ADVy'//diagSufx |
612 |
|
CALL DIAGNOSTICS_FILL(afy,diagName, kk,1, 2,bi,bj, myThid) |
613 |
|
ENDIF |
614 |
|
#endif |
615 |
|
|
616 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
617 |
IF ( debugLevel .GE. debLevB |
IF ( debugLevel .GE. debLevB |
618 |
& .AND. tracerIdentity.EQ.GAD_TEMPERATURE |
& .AND. tracerIdentity.EQ.GAD_TEMPERATURE |
730 |
ENDDO |
ENDDO |
731 |
ENDDO |
ENDDO |
732 |
|
|
733 |
|
#ifdef ALLOW_DIAGNOSTICS |
734 |
|
IF ( useDiagnostics ) THEN |
735 |
|
kk = -k |
736 |
|
diagName = 'ADVr'//diagSufx |
737 |
|
CALL DIAGNOSTICS_FILL( fVerT(1-Olx,1-Oly,kUp), |
738 |
|
& diagName, kk,1, 2,bi,bj, myThid) |
739 |
|
ENDIF |
740 |
|
#endif |
741 |
|
|
742 |
C-- End of K loop for vertical flux |
C-- End of K loop for vertical flux |
743 |
ENDDO |
ENDDO |
744 |
C-- end of if not.implicitAdvection block |
C-- end of if not.implicitAdvection block |