49 |
C bi,bj,k :: loop index |
C bi,bj,k :: loop index |
50 |
INTEGER bi, bj, k |
INTEGER bi, bj, k |
51 |
#endif /* USE_OLD_SHAPIRO_FILTERS */ |
#endif /* USE_OLD_SHAPIRO_FILTERS */ |
52 |
|
INTEGER exchInOut |
53 |
CHARACTER*(MAX_LEN_MBUF) suff |
CHARACTER*(MAX_LEN_MBUF) suff |
54 |
|
|
55 |
CEOP |
CEOP |
56 |
|
|
57 |
IF (nShapT.GT.0 .OR. nShapS.GT.0) THEN |
IF (nShapT.GT.0 .OR. nShapS.GT.0) THEN |
58 |
|
|
59 |
|
C- Apply Exchanges on Input field, before the filter (but not after): |
60 |
|
exchInOut = 1 |
61 |
|
C- Apply Exchanges on Output field, after the filter (but not before): |
62 |
|
IF ( implicitIntGravWave ) exchInOut = 2 |
63 |
|
|
64 |
#ifdef USE_OLD_SHAPIRO_FILTERS |
#ifdef USE_OLD_SHAPIRO_FILTERS |
65 |
|
|
66 |
IF ( tempStepping ) _EXCH_XYZ_R8( tFld,myThid ) |
IF ( tempStepping ) _EXCH_XYZ_R8( tFld,myThid ) |
91 |
& .OR. Shap_funct.EQ.21) THEN |
& .OR. Shap_funct.EQ.21) THEN |
92 |
CALL SHAP_FILT_TRACER_S2( |
CALL SHAP_FILT_TRACER_S2( |
93 |
U tFld, Shap_tmpFld1, |
U tFld, Shap_tmpFld1, |
94 |
I nShapT, Nr, myTime, myThid ) |
I nShapT, exchInOut, Nr, myTime, myIter, myThid ) |
95 |
ELSEIF (Shap_funct.EQ.4) THEN |
ELSEIF (Shap_funct.EQ.4) THEN |
96 |
CALL SHAP_FILT_TRACER_S4( |
CALL SHAP_FILT_TRACER_S4( |
97 |
U tFld, Shap_tmpFld1, |
U tFld, Shap_tmpFld1, |
138 |
& .OR. Shap_funct.EQ.21) THEN |
& .OR. Shap_funct.EQ.21) THEN |
139 |
CALL SHAP_FILT_TRACER_S2( |
CALL SHAP_FILT_TRACER_S2( |
140 |
U sFld, Shap_tmpFld1, |
U sFld, Shap_tmpFld1, |
141 |
I nShapS, Nr, myTime, myThid ) |
I nShapS, exchInOut, Nr, myTime, myIter, myThid ) |
142 |
ELSEIF (Shap_funct.EQ.4) THEN |
ELSEIF (Shap_funct.EQ.4) THEN |
143 |
CALL SHAP_FILT_TRACER_S4( |
CALL SHAP_FILT_TRACER_S4( |
144 |
U sFld, Shap_tmpFld1, |
U sFld, Shap_tmpFld1, |
152 |
ENDIF |
ENDIF |
153 |
|
|
154 |
C----- Diagnostic of Shapiro Filter effect on salinity : |
C----- Diagnostic of Shapiro Filter effect on salinity : |
155 |
C Note: Shap_tmpFld1 from shap_filt_tracer_s2 (and not s1, s4) |
C Note: Shap_tmpFld1 from shap_filt_tracer_s2 (and not s1, s4) |
156 |
C is directly proportional to Delta-Tr due to the Filter |
C is directly proportional to Delta-Tr due to the Filter |
157 |
IF ( Shap_funct.NE.1 .AND. Shap_funct.NE.4 .AND. |
IF ( Shap_funct.NE.1 .AND. Shap_funct.NE.4 .AND. |
158 |
& DIFFERENT_MULTIPLE(Shap_diagFreq,myTime,deltaTClock) |
& DIFFERENT_MULTIPLE(Shap_diagFreq,myTime,deltaTClock) |