34 |
EXTERNAL DIFFERENT_MULTIPLE |
EXTERNAL DIFFERENT_MULTIPLE |
35 |
INTEGER i, j, k, bi, bj |
INTEGER i, j, k, bi, bj |
36 |
_RS arr(1-oLx:sNx+oLx,1-oLy:sNy+oLy,nSx,nSy) |
_RS arr(1-oLx:sNx+oLx,1-oLy:sNy+oLy,nSx,nSy) |
|
INTEGER thisdate(4), prevdate(4) |
|
37 |
LOGICAL dumpFiles |
LOGICAL dumpFiles |
38 |
CHARACTER*(1) pf |
CHARACTER*(1) pf |
39 |
|
|
251 |
C Dump files and restart average computation if needed |
C Dump files and restart average computation if needed |
252 |
dumpFiles = .FALSE. |
dumpFiles = .FALSE. |
253 |
IF ( myIter .NE. nIter0 ) THEN |
IF ( myIter .NE. nIter0 ) THEN |
254 |
IF ( DIFFERENT_MULTIPLE(SEAICE_taveFreq,myTime,deltaTClock) ) |
dumpFiles = |
255 |
& dumpFiles = .TRUE. |
& DIFFERENT_MULTIPLE(SEAICE_taveFreq,myTime,deltaTClock) |
256 |
#ifdef ALLOW_CAL |
#ifdef ALLOW_CAL |
257 |
IF ( calendarDumps .AND. ( |
IF ( useCAL ) THEN |
258 |
& (SEAICE_taveFreq.GE. 2592000.AND.SEAICE_taveFreq.LE. 2678400).OR. |
CALL CAL_TIME2DUMP( SEAICE_taveFreq, deltaTClock, |
259 |
& (SEAICE_taveFreq.GE.31104000.AND.SEAICE_taveFreq.LE.31968000))) |
U dumpFiles, |
260 |
& THEN |
I myTime, myIter, myThid ) |
261 |
C-- Convert approximate months (30-31 days) and years (360-372 days) |
ENDIF |
|
C to exact calendar months and years. |
|
|
C- First determine calendar dates for this and previous time step. |
|
|
call cal_GetDate( myiter ,mytime ,thisdate,mythid ) |
|
|
call cal_GetDate( myiter-1,mytime-deltaTClock,prevdate,mythid ) |
|
|
dumpFiles = .FALSE. |
|
|
C- Monthly SEAICE_taveFreq: |
|
|
IF( SEAICE_taveFreq.GE. 2592000 .AND. SEAICE_taveFreq.LE. 2678400 |
|
|
& .AND. (thisdate(1)-prevdate(1)).GT.50 ) dumpFiles = .TRUE. |
|
|
C- Yearly SEAICE_taveFreq: |
|
|
IF( SEAICE_taveFreq.GE.31104000 .AND. SEAICE_taveFreq.LE.31968000 |
|
|
& .AND. (thisdate(1)-prevdate(1)).GT.5000 ) dumpFiles = .TRUE. |
|
|
ENDIF |
|
262 |
#endif |
#endif |
263 |
ENDIF |
ENDIF |
264 |
|
|