53 |
CEOP |
CEOP |
54 |
|
|
55 |
c |
c |
56 |
IF ( periodicExternalForcing ) THEN |
IF ( gchem_ForcingCycle.gt.0. _d 0 ) THEN |
57 |
|
|
58 |
|
|
59 |
C Now calculate whether it is time to update the forcing arrays |
C Now calculate whether it is time to update the forcing arrays |
60 |
rdt = 1. _d 0 / deltaTclock |
rdt = 1. _d 0 / deltaTclock |
61 |
nForcingPeriods = NINT(externForcingCycle/externForcingPeriod) |
nForcingPeriods = NINT(gchem_ForcingCycle/gchem_ForcingPeriod) |
62 |
cswd QQ change for placement of chem forcing (ie. after timestep) |
cswd QQ change for placement of chem forcing (ie. after timestep) |
63 |
Imytm = NINT(myTime*rdt) |
Imytm = NINT(myTime*rdt) |
64 |
Ifprd = NINT(externForcingPeriod*rdt) |
Ifprd = NINT(gchem_ForcingPeriod*rdt) |
65 |
Ifcyc = NINT(externForcingCycle*rdt) |
Ifcyc = NINT(gchem_ForcingCycle*rdt) |
66 |
Iftm = MOD( Imytm+Ifcyc-Ifprd/2, Ifcyc) |
Iftm = MOD( Imytm+Ifcyc-Ifprd/2, Ifcyc) |
67 |
|
|
68 |
intime0 = 1 + INT(Iftm/Ifprd) |
intime0 = 1 + INT(Iftm/Ifprd) |
183 |
ENDDO |
ENDDO |
184 |
ENDDO |
ENDDO |
185 |
ENDIF |
ENDIF |
|
#ifdef ALLOW_THSICE |
|
|
DO j=1-Oly,sNy+Oly |
|
|
DO i=1-Olx,sNx+Olx |
|
|
FIce(i,j,bi,bj) = iceMask(i,j,bi,bj) |
|
|
ENDDO |
|
|
ENDDO |
|
|
#else |
|
|
#ifdef ALLOW_SEAICE |
|
|
FIce(i,j,bi,bj) = AREA(i,j,1,bi,bj) |
|
|
#else |
|
186 |
IF ( IceFile .NE. ' ' ) THEN |
IF ( IceFile .NE. ' ' ) THEN |
187 |
DO j=1-Oly,sNy+Oly |
DO j=1-Oly,sNy+Oly |
188 |
DO i=1-Olx,sNx+Olx |
DO i=1-Olx,sNx+Olx |
191 |
ENDDO |
ENDDO |
192 |
ENDDO |
ENDDO |
193 |
ENDIF |
ENDIF |
194 |
#endif |
|
|
#endif |
|
195 |
#ifdef READ_PAR |
#ifdef READ_PAR |
196 |
IF ( Filename1 .NE. ' ' ) THEN |
IF ( Filename1 .NE. ' ' ) THEN |
197 |
DO j=1-Oly,sNy+Oly |
DO j=1-Oly,sNy+Oly |
221 |
ENDDO |
ENDDO |
222 |
ENDDO |
ENDDO |
223 |
|
|
224 |
C endif for periodicForcing |
C endif for gchem_periodicForcing |
225 |
ENDIF |
ENDIF |
226 |
|
|
227 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
228 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
229 |
|
#ifdef ALLOW_THSICE |
230 |
|
DO j=1-Oly,sNy+Oly |
231 |
|
DO i=1-Olx,sNx+Olx |
232 |
|
FIce(i,j,bi,bj) = iceMask(i,j,bi,bj) |
233 |
|
ENDDO |
234 |
|
ENDDO |
235 |
|
#endif |
236 |
|
#ifdef ALLOW_SEAICE |
237 |
|
DO j=1-Oly,sNy+Oly |
238 |
|
DO i=1-Olx,sNx+Olx |
239 |
|
FIce(i,j,bi,bj) = AREA(i,j,1,bi,bj) |
240 |
|
ENDDO |
241 |
|
ENDDO |
242 |
|
#endif |
243 |
|
ENDDO |
244 |
|
ENDDO |
245 |
|
|
246 |
|
|
247 |
#endif /* ALLOW_PTRACERS */ |
#endif /* ALLOW_PTRACERS */ |
248 |
RETURN |
RETURN |
249 |
END |
END |