25 |
C | U*,V* (contained in gUnm1,gVnm1) have the surface |
C | U*,V* (contained in gUnm1,gVnm1) have the surface |
26 |
C | pressure gradient term added and the result stored |
C | pressure gradient term added and the result stored |
27 |
C | in U,V (contained in uVel, vVel) |
C | in U,V (contained in uVel, vVel) |
28 |
C | T* (contained in gTnm1) is copied to T (theta) |
C | T* (contained in gT) is copied to T (theta) |
29 |
C | S* (contained in gSnm1) is copied to S (salt) |
C | S* (contained in gS) is copied to S (salt) |
30 |
C | |
C | |
31 |
C |part2: Adjustments. |
C |part2: Adjustments & Diagnostics |
32 |
C | o Filter U,V,T,S (Shapiro Filter, Zonal_Filter) |
C | o Filter U,V,T,S (Shapiro Filter, Zonal_Filter) |
33 |
C | o Convective Adjustment |
C | o Convective Adjustment |
34 |
C | o Compute again Eta (exact volume conservation) |
C | o Compute again Eta (exact volume conservation) |
35 |
|
C | o Compute vertical velocity |
36 |
C | o Diagmnostic of state variables (Time average) |
C | o Diagmnostic of state variables (Time average) |
37 |
C *==========================================================* |
C *==========================================================* |
38 |
C \ev |
C \ev |
127 |
U Tr1,gTr1,gTr1Nm1, |
U Tr1,gTr1,gTr1Nm1, |
128 |
I myTime,myThid ) |
I myTime,myThid ) |
129 |
#endif |
#endif |
130 |
|
#ifdef ALLOW_PTRACERS |
131 |
|
C- Update passive tracer fields: T(n) = T**, Gt(n-1) = Gt(n) |
132 |
|
IF (usePTRACERS) |
133 |
|
& CALL PTRACERS_CYCLE(bi,bj,k,myIter,myTime,myThid) |
134 |
|
#endif /* ALLOW_PTRACERS */ |
135 |
|
|
136 |
|
|
137 |
#ifdef ALLOW_OBCS |
#ifdef ALLOW_OBCS |
138 |
IF (useOBCS) THEN |
IF (useOBCS) THEN |
177 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
178 |
|
|
179 |
C-- Convectively adjust new fields to be statically stable |
C-- Convectively adjust new fields to be statically stable |
180 |
iMin = 1-OLx+1 |
iMin = 1 |
181 |
iMax = sNx+OLx |
iMax = sNx |
182 |
jMin = 1-OLy+1 |
jMin = 1 |
183 |
jMax = sNy+OLy |
jMax = sNy |
184 |
CALL CONVECTIVE_ADJUSTMENT( |
CALL CONVECTIVE_ADJUSTMENT( |
185 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
186 |
I myTime, myIter, myThid ) |
I myTime, myIter, myThid ) |
187 |
|
|
188 |
#ifdef EXACT_CONSERV |
C-- Integrate continuity vertically |
189 |
IF (exactConserv) THEN |
C-- for vertical velocity and "etaN" (exact volume conservation) : |
190 |
C-- Compute again "eta" to satisfy exactly the total Volume Conservation : |
CALL INTEGR_CONTINUITY( bi, bj, uVel, vVel, |
191 |
CALL CALC_EXACT_ETA( .TRUE., bi,bj, uVel,vVel, |
I myTime, myIter, myThid ) |
|
I myTime, myIter, myThid ) |
|
|
ENDIF |
|
|
#endif /* EXACT_CONSERV */ |
|
192 |
|
|
193 |
#ifdef ALLOW_TIMEAVE |
#ifdef ALLOW_TIMEAVE |
194 |
IF (taveFreq.GT.0.) THEN |
IF (taveFreq.GT.0.) THEN |
200 |
ENDDO |
ENDDO |
201 |
ENDDO |
ENDDO |
202 |
|
|
|
#ifdef EXACT_CONSERV |
|
|
IF (exactConserv .AND. implicDiv2Dflow .NE. 0. _d 0) |
|
|
& _EXCH_XY_R8(etaN, myThid ) |
|
|
#endif /* EXACT_CONSERV */ |
|
|
|
|
203 |
RETURN |
RETURN |
204 |
END |
END |