/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_write.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_write.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.11 by dimitri, Sun Feb 20 19:41:11 2005 UTC revision 1.12 by molod, Fri May 13 18:22:53 2005 UTC
# Line 21  C*************************************** Line 21  C***************************************
21  #include "DIAGNOSTICS.h"  #include "DIAGNOSTICS.h"
22  #include "EEPARAMS.h"  #include "EEPARAMS.h"
23  #include "PARAMS.h"  #include "PARAMS.h"
24    #ifdef ALLOW_FIZHI
25    #include "chronos.h"
26    #endif
27    
28        _RL     myTime        _RL     myTime
29        INTEGER myIter, myThid        INTEGER myIter, myThid
# Line 32  c =============== Line 35  c ===============
35        LOGICAL   dump2fileNow        LOGICAL   dump2fileNow
36        INTEGER thisdate(4), prevdate(4)        INTEGER thisdate(4), prevdate(4)
37        _RL     freqSec        _RL     freqSec
38          integer realfreq,nsecf2,yymmdd,hhmmss
39    
40        IF ( myIter.NE.nIter0 ) THEN        IF ( myIter.NE.nIter0 ) THEN
41          myItM1 = myIter - 1          myItM1 = myIter - 1
# Line 49  C-    Determine calendar dates for this Line 53  C-    Determine calendar dates for this
53  #endif  #endif
54    
55          DO n = 1,nlists          DO n = 1,nlists
56            IF ( freq(n).LT.0 ) THEN           realfreq = freq(n)
57              dump2fileNow = MOD(myItM1,-freq(n)) .EQ. INT(-freq(n)/2)  #ifdef ALLOW_FIZHI
58             if( useFIZHI) then
59              yymmdd = int(freq(n))
60              realfreq = nsecf2(0,yymmdd,nymd) / deltaTclock
61             endif
62    #endif
63    
64              IF ( realfreq.LT.0 ) THEN
65                dump2fileNow = MOD(myItM1,-realfreq) .EQ. INT(-realfreq/2)
66  C--     write snap-shot with suffix = myIter to be consistent with  C--     write snap-shot with suffix = myIter to be consistent with
67  C       time-average diagnostics (e.g., freq=-1 & freq=1):  C       time-average diagnostics (e.g., freq=-1 & freq=1):
68  c           wrIter = myIter  c           wrIter = myIter
# Line 58  C--     write snap-shot with suffix = my Line 70  C--     write snap-shot with suffix = my
70  C       state-variable time-step:  C       state-variable time-step:
71              wrIter = myItM1              wrIter = myItM1
72            ELSE            ELSE
73              dump2fileNow = MOD(myIter,freq(n)) .EQ. 0              dump2fileNow = MOD(myIter,realfreq) .EQ. 0
74              wrIter = myIter              wrIter = myIter
75            ENDIF            ENDIF
76    
77  #ifdef ALLOW_CAL  #ifdef ALLOW_CAL
78            freqSec = freq(n) * deltaTClock            freqSec = realfreq * deltaTClock
79            IF ( calendarDumps .AND. (            IF ( calendarDumps .AND. (
80       &     ( freqSec.GE. 2592000 .AND. freqSec.LE. 2678400 ) .OR.       &     ( freqSec.GE. 2592000 .AND. freqSec.LE. 2678400 ) .OR.
81       &     ( freqSec.GE.31104000 .AND. freqSec.LE.31968000 ))) THEN       &     ( freqSec.GE.31104000 .AND. freqSec.LE.31968000 ))) THEN
# Line 87  C-    Yearly  freqSec: Line 99  C-    Yearly  freqSec:
99  C-      wait for everyone before setting arrays to zero:  C-      wait for everyone before setting arrays to zero:
100          _BARRIER          _BARRIER
101          DO n = 1,nlists          DO n = 1,nlists
102            IF ( freq(n).LT.0 ) THEN           realfreq = freq(n)
103              dump2fileNow = MOD(myItM1,-freq(n)) .EQ. INT(-freq(n)/2)  #ifdef ALLOW_FIZHI
104             if( useFIZHI) then
105              yymmdd = int(freq(n))
106              realfreq = nsecf2(0,yymmdd,nymd) / deltaTclock
107             endif
108    #endif
109              IF ( realfreq.LT.0 ) THEN
110                dump2fileNow = MOD(myItM1,-realfreq) .EQ. INT(-realfreq/2)
111            ELSE            ELSE
112              dump2fileNow = MOD(myIter,freq(n)) .EQ. 0              dump2fileNow = MOD(myIter,realfreq) .EQ. 0
113            ENDIF            ENDIF
114            IF ( dump2fileNow ) CALL CLRINDX(n,myThid)            IF ( dump2fileNow ) CALL CLRINDX(n,myThid)
115          ENDDO          ENDDO

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22