/[MITgcm]/MITgcm/pkg/seaice/seaice_do_diags.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/seaice_do_diags.F

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

revision 1.13 by jmc, Sun May 22 02:06:07 2005 UTC revision 1.17 by edhill, Thu Sep 29 12:19:52 2005 UTC
# Line 36  C     == Local variables == Line 36  C     == Local variables ==
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)
37        INTEGER thisdate(4), prevdate(4)        INTEGER thisdate(4), prevdate(4)
38        LOGICAL dumpFiles        LOGICAL dumpFiles
39                  CHARACTER*(1) pf
40    
41          IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
42            pf(1:1) = 'D'
43          ELSE
44            pf(1:1) = 'R'
45          ENDIF
46          
47        IF (SEAICEwriteState) THEN        IF (SEAICEwriteState) THEN
48    
49           IF ( DIFFERENT_MULTIPLE(SEAICE_dumpFreq,myTime,deltaTClock)          IF ( DIFFERENT_MULTIPLE(SEAICE_dumpFreq,myTime,deltaTClock)
50       &      ) THEN       &       ) THEN
51                            
52  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
53             IF (useMNC .AND. SEAICE_dump_mnc) THEN            IF ( useMNC .AND. SEAICE_dump_mnc ) THEN
54               CALL MNC_CW_SET_UDIM('sice', -1, myThid)              CALL MNC_CW_SET_UDIM('sice', -1, myThid)
55               CALL MNC_CW_I_W_S('I','sice',0,0,'T', myIter, myThid)              CALL MNC_CW_RL_W_S('D','sice',0,0,'T', myTime, myThid)
56               CALL MNC_CW_SET_UDIM('sice', 0, myThid)              CALL MNC_CW_SET_UDIM('sice', 0, myThid)
57               CALL MNC_CW_RL_W_S('D','sice',0,0,'model_time',              CALL MNC_CW_I_W_S('I','sice',0,0,'iter', myIter, myThid)
58       &            myTime,myThid)              CALL MNC_CW_RL_W_S('D','sice',0,0,'model_time',
59               CALL MNC_CW_RL_W('D','sice',0,0,'UWIND',uwind,myThid)       &           myTime,myThid)
60               CALL MNC_CW_RL_W('D','sice',0,0,'VWIND',vwind,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'si_UWIND',uwind,myThid)
61               CALL MNC_CW_RL_W('D','sice',0,0,'FU',fu,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'si_VWIND',vwind,myThid)
62               CALL MNC_CW_RL_W('D','sice',0,0,'FV',fv,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'fu',fu,myThid)
63               CALL MNC_CW_RL_W('D','sice',0,0,'EmPmR',EmPmR,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'fv',fv,myThid)
64               CALL MNC_CW_RL_W('D','sice',0,0,'Qnet',Qnet,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'EmPmR',EmPmR,myThid)
65               CALL MNC_CW_RL_W('D','sice',0,0,'Qsw',Qsw,myThid)              CALL MNC_CW_RS_W(pf,'sice',0,0,'Qnet',Qnet,myThid)
66             ENDIF              CALL MNC_CW_RS_W(pf,'sice',0,0,'Qsw',Qsw,myThid)
67  #endif            ENDIF
68             IF (SEAICE_dump_mdsio) THEN  #endif
69               WRITE(suff,'(I10.10)') myIter            IF (SEAICE_dump_mdsio) THEN
70               _BARRIER              WRITE(suff,'(I10.10)') myIter
71               _BEGIN_MASTER( myThid )              _BARRIER
72               CALL WRITE_FLD_XY_RS( 'UWIND.',suff,uwind,myIter,myThid)              _BEGIN_MASTER( myThid )
73               CALL WRITE_FLD_XY_RS( 'VWIND.',suff,vwind,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'UWIND.',suff,uwind,myIter,myThid)
74               CALL WRITE_FLD_XY_RS( 'FU.',suff,fu,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'VWIND.',suff,vwind,myIter,myThid)
75               CALL WRITE_FLD_XY_RS( 'FV.',suff,fv,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'FU.',suff,fu,myIter,myThid)
76               CALL WRITE_FLD_XY_RS( 'EmPmR.',suff,EmPmR,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'FV.',suff,fv,myIter,myThid)
77               CALL WRITE_FLD_XY_RS( 'Qnet.',suff,Qnet,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'EmPmR.',suff,EmPmR,myIter,myThid)
78               CALL WRITE_FLD_XY_RS( 'Qsw.',suff,Qsw,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'Qnet.',suff,Qnet,myIter,myThid)
79               _END_MASTER( myThid )              CALL WRITE_FLD_XY_RS( 'Qsw.',suff,Qsw,myIter,myThid)
80               _BARRIER              _END_MASTER( myThid )
81             ENDIF              _BARRIER
82              ENDIF
83              
84  #ifdef SEAICE_DEBUG  #ifdef SEAICE_DEBUG
85         CALL PLOT_FIELD_XYRS( uwind , 'Current uwind ', myIter, myThid )         CALL PLOT_FIELD_XYRS( uwind , 'Current uwind ', myIter, myThid )
86         CALL PLOT_FIELD_XYRS( vwind , 'Current vwind ', myIter, myThid )         CALL PLOT_FIELD_XYRS( vwind , 'Current vwind ', myIter, myThid )
# Line 92  C     == Local variables == Line 100  C     == Local variables ==
100         CALL PLOT_FIELD_XYRL( Qsw   , 'Current Qsw   ', myIter, myThid )         CALL PLOT_FIELD_XYRL( Qsw   , 'Current Qsw   ', myIter, myThid )
101  #endif  #endif
102    
103              DO bj=myByLo(myThid),myByHi(myThid)            DO bj=myByLo(myThid),myByHi(myThid)
104                 DO bi=myBxLo(myThid),myBxHi(myThid)              DO bi=myBxLo(myThid),myBxHi(myThid)
105                    DO j=1,sNy                DO j=1,sNy
106                       DO i=1,sNx                  DO i=1,sNx
107                          arr(i,j,bi,bj)=UICE(i,j,1,bi,bj)                    arr(i,j,bi,bj)=UICE(i,j,1,bi,bj)
108                       ENDDO                  ENDDO
109                    ENDDO                ENDDO
                ENDDO  
110              ENDDO              ENDDO
111              ENDDO
112    
113              IF (SEAICE_dump_mdsio) THEN
114              _BARRIER              _BARRIER
115              _BEGIN_MASTER( myThid )              _BEGIN_MASTER( myThid )
116              CALL WRITE_FLD_XY_RS( 'UICE.',suff,arr,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'UICE.',suff,arr,myIter,myThid)
117              _END_MASTER( myThid )              _END_MASTER( myThid )
118              _BARRIER              _BARRIER
119              ENDIF
120    #ifdef ALLOW_MNC
121              IF ( useMNC .AND. SEAICE_dump_mnc ) THEN
122                CALL MNC_CW_RS_W(pf,'sice',0,0,'si_UICE',arr,myThid)
123              ENDIF
124    #endif
125  #ifdef SEAICE_DEBUG  #ifdef SEAICE_DEBUG
126         _EXCH_XY_R4( arr, myThid )            _EXCH_XY_R4( arr, myThid )
127         CALL PLOT_FIELD_XYRS( arr   , 'Current uice  ', myIter, myThid )            CALL PLOT_FIELD_XYRS( arr   , 'Current uice  ',
128         &         myIter, myThid )
129  #endif  #endif
130    
131              DO bj=myByLo(myThid),myByHi(myThid)            DO bj=myByLo(myThid),myByHi(myThid)
132                 DO bi=myBxLo(myThid),myBxHi(myThid)              DO bi=myBxLo(myThid),myBxHi(myThid)
133                    DO j=1,sNy                DO j=1,sNy
134                       DO i=1,sNx                  DO i=1,sNx
135                          arr(i,j,bi,bj)=VICE(i,j,1,bi,bj)                    arr(i,j,bi,bj)=VICE(i,j,1,bi,bj)
136                       ENDDO                  ENDDO
137                    ENDDO                ENDDO
                ENDDO  
138              ENDDO              ENDDO
139              ENDDO
140              IF (SEAICE_dump_mdsio) THEN
141              _BARRIER              _BARRIER
142              _BEGIN_MASTER( myThid )              _BEGIN_MASTER( myThid )
143              CALL WRITE_FLD_XY_RS( 'VICE.',suff,arr,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'VICE.',suff,arr,myIter,myThid)
144              _END_MASTER( myThid )              _END_MASTER( myThid )
145              _BARRIER              _BARRIER
146              ENDIF
147    #ifdef ALLOW_MNC
148              IF ( useMNC .AND. SEAICE_dump_mnc ) THEN
149                CALL MNC_CW_RS_W(pf,'sice',0,0,'si_VICE',arr,myThid)
150              ENDIF
151    #endif
152  #ifdef SEAICE_DEBUG  #ifdef SEAICE_DEBUG
153         _EXCH_XY_R4( arr, myThid )            _EXCH_XY_R4( arr, myThid )
154         CALL PLOT_FIELD_XYRS( arr   , 'Current vice  ', myIter, myThid )            CALL PLOT_FIELD_XYRS( arr   , 'Current vice  ',
155         &         myIter, myThid )
156  #endif  #endif
157                          
158              DO bj=myByLo(myThid),myByHi(myThid)            DO bj=myByLo(myThid),myByHi(myThid)
159                 DO bi=myBxLo(myThid),myBxHi(myThid)              DO bi=myBxLo(myThid),myBxHi(myThid)
160                    DO j=1,sNy                DO j=1,sNy
161                       DO i=1,sNx                  DO i=1,sNx
162                          arr(i,j,bi,bj)=HEFF(i,j,1,bi,bj)                    arr(i,j,bi,bj)=HEFF(i,j,1,bi,bj)
163                       ENDDO                  ENDDO
164                    ENDDO                ENDDO
                ENDDO  
165              ENDDO              ENDDO
166              ENDDO
167              IF (SEAICE_dump_mdsio) THEN
168              _BARRIER              _BARRIER
169              _BEGIN_MASTER( myThid )              _BEGIN_MASTER( myThid )
170              CALL WRITE_FLD_XY_RS( 'HEFF.',suff,arr,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'HEFF.',suff,arr,myIter,myThid)
171              _END_MASTER( myThid )              _END_MASTER( myThid )
172              _BARRIER              _BARRIER
173              ENDIF
174    #ifdef ALLOW_MNC
175              IF ( useMNC .AND. SEAICE_dump_mnc ) THEN
176                CALL MNC_CW_RS_W(pf,'sice',0,0,'si_HEFF',arr,myThid)
177              ENDIF
178    #endif
179  #ifdef SEAICE_DEBUG  #ifdef SEAICE_DEBUG
180         _EXCH_XY_R4( arr, myThid )            _EXCH_XY_R4( arr, myThid )
181         CALL PLOT_FIELD_XYRS( arr   , 'Current heff  ', myIter, myThid )            CALL PLOT_FIELD_XYRS( arr   , 'Current heff  ',
182         &         myIter, myThid )
183  #endif  #endif
184                          
185              DO bj=myByLo(myThid),myByHi(myThid)            DO bj=myByLo(myThid),myByHi(myThid)
186                 DO bi=myBxLo(myThid),myBxHi(myThid)              DO bi=myBxLo(myThid),myBxHi(myThid)
187                    DO j=1,sNy                DO j=1,sNy
188                       DO i=1,sNx                  DO i=1,sNx
189                          arr(i,j,bi,bj)=AREA(i,j,1,bi,bj)                    arr(i,j,bi,bj)=AREA(i,j,1,bi,bj)
190                       ENDDO                  ENDDO
191                    ENDDO                ENDDO
                ENDDO  
192              ENDDO              ENDDO
193              ENDDO
194              IF (SEAICE_dump_mdsio) THEN
195              _BARRIER              _BARRIER
196              _BEGIN_MASTER( myThid )              _BEGIN_MASTER( myThid )
197              CALL WRITE_FLD_XY_RS( 'AREA.',suff,arr,myIter,myThid)              CALL WRITE_FLD_XY_RS( 'AREA.',suff,arr,myIter,myThid)
198              _END_MASTER( myThid )              _END_MASTER( myThid )
199              _BARRIER              _BARRIER
200              ENDIF
201    #ifdef ALLOW_MNC
202              IF ( useMNC .AND. SEAICE_dump_mnc ) THEN
203                CALL MNC_CW_RS_W(pf,'sice',0,0,'si_AREA',arr,myThid)
204              ENDIF
205    #endif
206  #ifdef SEAICE_DEBUG  #ifdef SEAICE_DEBUG
207         _EXCH_XY_R4( arr, myThid )            _EXCH_XY_R4( arr, myThid )
208         CALL PLOT_FIELD_XYRS( arr   , 'Current area  ', myIter, myThid )            CALL PLOT_FIELD_XYRS( arr   , 'Current area  ',
209         &         myIter, myThid )
210  #endif  #endif
211    
212           ENDIF           ENDIF
# Line 262  C      Normalize by integrated time Line 303  C      Normalize by integrated time
303  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
304         IF (useMNC .AND. SEAICE_tave_mnc) THEN         IF (useMNC .AND. SEAICE_tave_mnc) THEN
305           CALL MNC_CW_SET_UDIM('sice_tave', -1, myThid)           CALL MNC_CW_SET_UDIM('sice_tave', -1, myThid)
306           CALL MNC_CW_I_W_S('I','sice_tave',0,0,'T', myIter, myThid)           CALL MNC_CW_RL_W_S('D','sice_tave',0,0,'T', myTime, myThid)
307           CALL MNC_CW_SET_UDIM('sice_tave', 0, myThid)           CALL MNC_CW_SET_UDIM('sice_tave', 0, myThid)
308           CALL MNC_CW_RL_W_S('D','sice_tave',0,0,'model_time',           CALL MNC_CW_I_W_S('I','sice_tave',0,0,'iter', myIter, myThid)
309       &        myTime,myThid)  C        CALL MNC_CW_RL_W_S('D','sice_tave',0,0,'model_time',
310           CALL MNC_CW_RL_W('R','sice_tave',0,0,  C    &        myTime,myThid)
311       &        'UICEtave',UICEtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
312           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_UICEtave',UICEtave,myThid)
313       &        'VICEtave',VICEtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
314           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_VICEtave',VICEtave,myThid)
315       &        'FUtave',FUtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
316           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_FUtave',FUtave,myThid)
317       &        'FVtave',FVtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
318           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_FVtave',FVtave,myThid)
319       &        'EmPmRtave',EmPmRtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
320           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_EmPmRtave',EmPmRtave,myThid)
321       &        'QNETtave',QNETtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
322           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_QNETtave',QNETtave,myThid)
323       &        'QSWtave',QSWtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
324           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_QSWtave',QSWtave,myThid)
325       &        'HEFFtave',HEFFtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
326           CALL MNC_CW_RL_W('R','sice_tave',0,0,       &        'si_HEFFtave',HEFFtave,myThid)
327       &        'AREAtave',AREAtave,myThid)           CALL MNC_CW_RL_W(pf,'sice_tave',0,0,
328         &        'si_AREAtave',AREAtave,myThid)
329         ENDIF         ENDIF
330  #endif  #endif
331         IF (SEAICE_tave_mdsio) THEN         IF (SEAICE_tave_mdsio) THEN

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.22