/[MITgcm]/MITgcm/pkg/my82/my82_do_diags.F
ViewVC logotype

Diff of /MITgcm/pkg/my82/my82_do_diags.F

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

revision 1.4 by mlosch, Mon Apr 14 09:42:03 2008 UTC revision 1.5 by mlosch, Mon Apr 14 10:09:34 2008 UTC
# Line 72  C     == Local variables == Line 72  C     == Local variables ==
72  CEOP  CEOP
73    
74        IF ( writeBinaryPrec .EQ. precFloat64 ) THEN        IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
75          pf(1:1) = 'D'         pf(1:1) = 'D'
76        ELSE        ELSE
77          pf(1:1) = 'R'         pf(1:1) = 'R'
78        ENDIF        ENDIF
79    
80  C----------------------------------------------------------------  C----------------------------------------------------------------
# Line 95  C--------------------------------------- Line 95  C---------------------------------------
95       &       Nr, myIter, myThid )       &       Nr, myIter, myThid )
96         ENDIF         ENDIF
97    
98         if (MYwriteState .AND. snapshot_mdsio) then         IF (MYwriteState .AND. snapshot_mdsio) THEN
99  #ifdef MULTIPLE_RECORD_MY82_STATE_FILES  #ifdef MULTIPLE_RECORD_MY82_STATE_FILES
100  C       Write each snap-shot as a new record in one file per variable  C       Write each snap-shot as a new record in one file per variable
101  C       - creates relatively few files but these files can become huge  C       - creates relatively few files but these files can become huge
# Line 117  C         transfer analyse a particular Line 117  C         transfer analyse a particular
117          CALL WRITE_FLD_XY_RL('MYhbl.',suff,MYhbl,          CALL WRITE_FLD_XY_RL('MYhbl.',suff,MYhbl,
118       &       myIter,myThid)       &       myIter,myThid)
119  #endif /* MULTIPLE_RECORD_MY82_STATE_FILES */  #endif /* MULTIPLE_RECORD_MY82_STATE_FILES */
120         endif         ENDIF
121    
122  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
123          IF (MYwriteState .AND. useMNC .AND. snapshot_mnc ) THEN         IF (MYwriteState .AND. useMNC .AND. snapshot_mnc ) THEN
124            CALL MNC_CW_SET_UDIM('my_state', -1, myThid)          CALL MNC_CW_SET_UDIM('my_state', -1, myThid)
125            CALL MNC_CW_RL_W_S('D','my_state',0,0,'T',myTime,myThid)          CALL MNC_CW_RL_W_S('D','my_state',0,0,'T',myCurrentTime,myThid)
126            CALL MNC_CW_SET_UDIM('my_state', 0, myThid)          CALL MNC_CW_SET_UDIM('my_state', 0, myThid)
127            CALL MNC_CW_I_W_S('I','my_state',0,0,'iter',myIter,myThid)          CALL MNC_CW_I_W_S('I','my_state',0,0,'iter',myIter,myThid)
128            CALL MNC_CW_RL_W(pf,'my_state',0,0,          CALL MNC_CW_RL_W(pf,'my_state',0,0,
129       &         'MYviscAr', MYviscAr, myThid)       &       'MYviscAr', MYviscAr, myThid)
130            CALL MNC_CW_RL_W(pf,'my_state',0,0,          CALL MNC_CW_RL_W(pf,'my_state',0,0,
131       &         'MYdiffKr', MYdiffKr, myThid)       &       'MYdiffKr', MYdiffKr, myThid)
132            CALL MNC_CW_RL_W(pf,'my_state',0,0,          print *, 'ml-hbl 1'
133       &         'MYhbl', MYhbl, myThid)          CALL MNC_CW_RL_W(pf,'my_state',0,0,
134          ENDIF       &       'MYhbl', MYhbl, myThid)
135            print *, 'ml-hbl 2'
136           ENDIF
137  #endif /*  ALLOW_MNC  */  #endif /*  ALLOW_MNC  */
138    
139  C--   Increment record counter  C--   Increment record counter
# Line 225  C     transfer analyse a particular snap Line 227  C     transfer analyse a particular snap
227         CALL WRITE_FLD_XY_RL('MYhbl-T.',    suff,MYhblTave,         CALL WRITE_FLD_XY_RL('MYhbl-T.',    suff,MYhblTave,
228       &      myIter,myThid)       &      myIter,myThid)
229  #endif /* MULTIPLE_RECORD_MY82_STATE_FILES */            #endif /* MULTIPLE_RECORD_MY82_STATE_FILES */          
230         ENDIF        ENDIF
231                
232  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
233          IF (MYwriteState .AND. useMNC .AND. timeave_mnc) THEN        IF (MYwriteState .AND. useMNC .AND. timeave_mnc) THEN
234            CALL MNC_CW_SET_UDIM('my_timeave', -1, myThid)         CALL MNC_CW_SET_UDIM('my_timeave', -1, myThid)
235            CALL MNC_CW_RL_W_S('D','my_timeave',0,0,'T',myTime,myThid)         CALL MNC_CW_RL_W_S('D','my_timeave',0,0,'T',myCurrentTime,myThid)
236            CALL MNC_CW_SET_UDIM('my_timeave', 0, myThid)         CALL MNC_CW_SET_UDIM('my_timeave', 0, myThid)
237            CALL MNC_CW_I_W_S('I','my_timeave',0,0,'iter',myIter,myThid)         CALL MNC_CW_I_W_S('I','my_timeave',0,0,'iter',myIter,myThid)
238            CALL MNC_CW_RL_W(pf,'my_timeave',0,0,         CALL MNC_CW_RL_W(pf,'my_timeave',0,0,
239       &         'MYviscAr', MYviscArTave, myThid)       &      'MYviscAr', MYviscArTave, myThid)
240            CALL MNC_CW_RL_W(pf,'my_timeave',0,0,         CALL MNC_CW_RL_W(pf,'my_timeave',0,0,
241       &         'MYdiffKr', MYdiffKrTave, myThid)       &      'MYdiffKr', MYdiffKrTave, myThid)
242            CALL MNC_CW_RL_W(pf,'my_timeave',0,0,         CALL MNC_CW_RL_W(pf,'my_timeave',0,0,
243       &         'MYhbl', MYhblTave, myThid)       &      'MYhbl', MYhblTave, myThid)
244          ENDIF        ENDIF
245  #endif /*  ALLOW_MNC  */  #endif /*  ALLOW_MNC  */
246    
247  C     Reset averages to zero  C     Reset averages to zero
248         DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
249          DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
250           CALL TIMEAVE_RESET(MYviscArtave,Nr,bi,bj,myThid)          CALL TIMEAVE_RESET(MYviscArtave,Nr,bi,bj,myThid)
251           CALL TIMEAVE_RESET(MYdiffKrtave,Nr,bi,bj,myThid)          CALL TIMEAVE_RESET(MYdiffKrtave,Nr,bi,bj,myThid)
252           CALL TIMEAVE_RESET(MYhbltave,    1,bi,bj,myThid)          CALL TIMEAVE_RESET(MYhbltave,    1,bi,bj,myThid)
253           DO k=1,Nr          DO k=1,Nr
254            my_TimeAve(k,bi,bj)=0.           my_TimeAve(k,bi,bj)=0.
          ENDDO  
255          ENDDO          ENDDO
256         ENDDO         ENDDO
257          ENDDO
258                    
259  C     Time Average MY fields  C     Time Average MY fields
260         DDTT=0.5*deltaTclock        DDTT=0.5*deltaTclock
261         DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
262          DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
263           CALL TIMEAVE_CUMULATE(          CALL TIMEAVE_CUMULATE(
264       &        MYviscArtave,MYviscAr,Nr,DDTT,bi,bj,myThid)       &       MYviscArtave,MYviscAr,Nr,DDTT,bi,bj,myThid)
265           CALL TIMEAVE_CUMULATE(          CALL TIMEAVE_CUMULATE(
266       &        MYdiffKrtave,MYdiffKr,Nr,DDTT,bi,bj,myThid)       &       MYdiffKrtave,MYdiffKr,Nr,DDTT,bi,bj,myThid)
267           CALL TIMEAVE_CUMULATE(          CALL TIMEAVE_CUMULATE(
268       &        MYhbltave,    MYhbl,    1, DDTT,bi,bj,myThid)       &       MYhbltave,    MYhbl,    1, DDTT,bi,bj,myThid)
269  C     Keep record of how much time has been integrated over  C     Keep record of how much time has been integrated over
270           DO k=1,Nr          DO k=1,Nr
271            my_TimeAve(k,bi,bj)=my_TimeAve(k,bi,bj)+DDTT           my_TimeAve(k,bi,bj)=my_TimeAve(k,bi,bj)+DDTT
          ENDDO  
272          ENDDO          ENDDO
273         ENDDO         ENDDO
274          ENDDO
275        ENDIF        ENDIF
276    
277  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
278    
279  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
280        IF ( useDiagnostics ) THEN        IF ( useDiagnostics ) THEN
281         CALL DIAGNOSTICS_FILL(MYviscAz,'MYviscAr',0,Nr,0,1,1,myThid)         CALL DIAGNOSTICS_FILL(MYviscAr,'MYVISCAR',0,Nr,0,1,1,myThid)
282         CALL DIAGNOSTICS_FILL(MYdiffKr,'MYdiffKr',0,Nr,0,1,1,myThid)         CALL DIAGNOSTICS_FILL(MYdiffKr,'MYDIFFKR',0,Nr,0,1,1,myThid)
283         CALL DIAGNOSTICS_FILL(MYhbl   ,'MYhbl   ',0,1 ,0,1,1,myThid)         CALL DIAGNOSTICS_FILL(MYhbl   ,'MYHBL   ',0,1 ,0,1,1,myThid)
284        ENDIF        ENDIF
285  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
286                

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22