/[MITgcm]/MITgcm/pkg/thsice/thsice_output.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_output.F

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

revision 1.3 by jmc, Sun May 15 03:04:57 2005 UTC revision 1.4 by edhill, Fri Jun 24 04:36:54 2005 UTC
# Line 47  C     == Local variables == Line 47  C     == Local variables ==
47        INTEGER bi, bj, kl        INTEGER bi, bj, kl
48        CHARACTER*(MAX_LEN_MBUF) suff, fn        CHARACTER*(MAX_LEN_MBUF) suff, fn
49        LOGICAL gf        LOGICAL gf
50    #ifdef ALLOW_TIMEAVE
51          INTEGER i
52          CHARACTER*(MAX_LEN_MBUF) mncf
53    #endif
54    
55  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
56    
# Line 177  C--    Write all time-average variables Line 181  C--    Write all time-average variables
181         _BARRIER         _BARRIER
182         _BEGIN_MASTER( myThid )         _BEGIN_MASTER( myThid )
183    
184  C-     find wether we are writing globalFile or tile-files:         IF ( thSIce_tave_mdsio ) THEN
185         CALL GET_WRITE_GLOBAL_FLD( gf )  
186    C        find wether we are writing globalFile or tile-files:
187             CALL GET_WRITE_GLOBAL_FLD( gf )
188    
189         WRITE(fn,'(A,I10.10)') 'thSIce_tave.', myIter           WRITE(fn,'(A,I10.10)') 'thSIce_tave.', myIter
190    
191             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
192         &        ice_fract_Ave,  1, myIter, myThid )
193             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
194         &        ice_iceH_Ave,   2, myIter, myThid )
195             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
196         &        ice_snowH_Ave,  3, myIter, myThid )
197             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
198         &        ice_Tsrf_Ave,   4, myIter, myThid )
199             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
200         &        ice_Tice1_Ave,  5, myIter, myThid )
201             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
202         &        ice_Tice2_Ave,  6, myIter, myThid )
203             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
204         &        ice_snowPr_Ave, 7, myIter, myThid )
205             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
206         &        ice_albedo_Ave, 8, myIter, myThid )
207             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
208         &        ice_flx2oc_Ave, 9, myIter, myThid )
209             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
210         &        ice_frw2oc_Ave,10, myIter, myThid )
211             kl = 11
212             CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
213         &        ice_salFx_Ave, kl, myIter, myThid )
214             IF ( fluidIsWater ) THEN
215               kl = kl+1
216               CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
217         &          ice_flxAtm_Ave,kl, myIter, myThid )
218               kl = kl+1
219               CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
220         &          ice_frwAtm_Ave,kl, myIter, myThid )
221             ENDIF
222             IF ( stepFwd_oceMxL ) THEN
223               kl = kl+1
224               CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
225         &          ice_tMxL_Ave,  kl, myIter, myThid )
226               kl = kl+1
227               CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,
228         &          ice_sMxL_Ave,  kl, myIter, myThid )
229             ENDIF
230    
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_fract_Ave,  1, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_iceH_Ave,   2, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_snowH_Ave,  3, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_Tsrf_Ave,   4, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_Tice1_Ave,  5, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_Tice2_Ave,  6, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_snowPr_Ave, 7, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_albedo_Ave, 8, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_flx2oc_Ave, 9, myIter, myThid )  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_frw2oc_Ave,10, myIter, myThid )  
        kl = 11  
        CALL MDSWRITEFIELD( fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_salFx_Ave, kl, myIter, myThid )  
        IF ( fluidIsWater ) THEN  
         kl = kl+1  
         CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_flxAtm_Ave,kl, myIter, myThid )  
         kl = kl+1  
         CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL', 1,  
      &                     ice_frwAtm_Ave,kl, myIter, myThid )  
231         ENDIF         ENDIF
232         IF ( stepFwd_oceMxL ) THEN  
233          kl = kl+1  #ifdef ALLOW_MNC
234          CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL', 1,         IF ( useMNC .AND. thSIce_tave_mnc ) THEN
235       &                     ice_tMxL_Ave,  kl, myIter, myThid )           DO i = 1,MAX_LEN_MBUF
236          kl = kl+1             mncf(i:i) = ' '
237          CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL', 1,           ENDDO
238       &                     ice_sMxL_Ave,  kl, myIter, myThid )  C        C             123456789 1
239             mncf(1:11) = 'thsice_tave'
240             CALL MNC_CW_SET_UDIM(fn, -1, myThid)
241             CALL MNC_CW_RL_W_S('D',fn,0,0,'T', myTime, myThid)
242             CALL MNC_CW_SET_UDIM(fn, 0, myThid)
243             CALL MNC_CW_I_W_S('I',fn,0,0,'iter', myIter, myThid)
244             CALL MNC_CW_RL_W('D',fn,0,0,'fract_ave', ice_fract_Ave, myThid)
245             CALL MNC_CW_RL_W('D',fn,0,0,'iceH_ave',  ice_iceH_Ave,  myThid)
246             CALL MNC_CW_RL_W('D',fn,0,0,'snowH_ave', ice_snowH_Ave, myThid)
247             CALL MNC_CW_RL_W('D',fn,0,0,'Tsrf_ave',  ice_Tsrf_Ave,  myThid)
248             CALL MNC_CW_RL_W('D',fn,0,0,'Tice1_ave', ice_Tice1_Ave, myThid)
249             CALL MNC_CW_RL_W('D',fn,0,0,'Tice2_ave', ice_Tice2_Ave, myThid)
250             CALL MNC_CW_RL_W('D',fn,0,0,'snowPr_ave',ice_snowPr_Ave,myThid)
251             CALL MNC_CW_RL_W('D',fn,0,0,'albedo_ave',ice_albedo_Ave,myThid)
252             CALL MNC_CW_RL_W('D',fn,0,0,'flx2oc_ave',ice_flx2oc_Ave,myThid)
253             CALL MNC_CW_RL_W('D',fn,0,0,'frw2oc_ave',ice_frw2oc_Ave,myThid)
254             IF ( fluidIsWater ) THEN
255               CALL MNC_CW_RL_W('D',fn,0,0,'flxAtm_ave',
256         &          ice_flxAtm_Ave,myThid)
257               CALL MNC_CW_RL_W('D',fn,0,0,'frwAtm_ave',
258         &          ice_frwAtm_Ave,myThid)
259             ENDIF
260             IF ( stepFwd_oceMxL ) THEN
261               CALL MNC_CW_RL_W('D',fn,0,0,'tMxL_ave',ice_tMxL_Ave,myThid)
262               CALL MNC_CW_RL_W('D',fn,0,0,'sMxL_ave',ice_sMxL_Ave,myThid)
263             ENDIF
264         ENDIF         ENDIF
265    #endif
266    
267         _END_MASTER( myThid )         _END_MASTER( myThid )
268         _BARRIER         _BARRIER
# Line 257  C     Dump a snap-shot of main state var Line 299  C     Dump a snap-shot of main state var
299       &     .OR. myTime.EQ.startTime       &     .OR. myTime.EQ.startTime
300       &     .OR. myTime.EQ.endTime ) THEN       &     .OR. myTime.EQ.endTime ) THEN
301    
302         WRITE(suff,'(I10.10)') myIter          IF ( thSIce_snapshot_mdsio ) THEN
303              
304              WRITE(suff,'(I10.10)') myIter
305              
306              CALL WRITE_FLD_XY_RL('ice_fract.',  suff,iceMask,
307         &         myIter,myThid)
308              CALL WRITE_FLD_XY_RL('ice_iceH.',   suff,iceheight,
309         &         myIter,myThid)
310              CALL WRITE_FLD_XY_RL('ice_snowH.',  suff,snowheight,
311         &         myIter,myThid)
312              CALL WRITE_FLD_XY_RL('ice_Tsrf.',   suff,Tsrf,
313         &         myIter,myThid)
314              CALL WRITE_FLD_XY_RL('ice_Tice1.',  suff,Tice1,
315         &         myIter,myThid)
316              CALL WRITE_FLD_XY_RL('ice_Tice2.',  suff,Tice2,
317         &         myIter,myThid)
318              CALL WRITE_FLD_XY_RL('ice_Qice1.',  suff,Qice1,
319         &         myIter,myThid)
320              CALL WRITE_FLD_XY_RL('ice_Qice2.',  suff,Qice2,
321         &         myIter,myThid)
322              CALL WRITE_FLD_XY_RL('ice_snowPrc.',suff,snowPrc,
323         &         myIter,myThid)
324              CALL WRITE_FLD_XY_RL('ice_snowAge.',suff,snowAge,
325         &         myIter,myThid)
326              IF ( stepFwd_oceMxL ) THEN
327                CALL WRITE_FLD_XY_RL('ice_tOceMxL.', suff, tOceMxL,
328         &           myIter,myThid)
329                CALL WRITE_FLD_XY_RL('ice_sOceMxL.', suff, sOceMxL,
330         &     myIter,myThid)
331              ENDIF
332              
333            ENDIF
334    
335    #ifdef ALLOW_MNC
336            IF ( thSIce_snapshot_mnc ) THEN
337              DO i = 1,MAX_LEN_MBUF
338                mncf(i:i) = ' '
339              ENDDO
340    C         C             123456789 12345
341              mncf(1:15) = 'thsice_snapshot'
342              CALL MNC_CW_SET_UDIM(mncf, -1, myThid)
343              CALL MNC_CW_I_W_S('I',mncf,0,0,'iter', myIter, myThid)
344              CALL MNC_CW_SET_UDIM(mncf, 0, myThid)
345              CALL MNC_CW_RL_W_S('D',mncf,0,0,'T', myTime, myThid)
346              CALL MNC_CW_RL_W('D',mncf,0,0,'iceMask',   iceMask,   myThid)
347              CALL MNC_CW_RL_W('D',mncf,0,0,'iceHeight', iceHeight, myThid)
348              CALL MNC_CW_RL_W('D',mncf,0,0,'snowHeight',snowHeight,myThid)
349              CALL MNC_CW_RL_W('D',mncf,0,0,'Tsrf',      Tsrf,      myThid)
350              CALL MNC_CW_RL_W('D',mncf,0,0,'Tice1',     Tice1,     myThid)
351              CALL MNC_CW_RL_W('D',mncf,0,0,'Tice2',     Tice1,     myThid)
352              CALL MNC_CW_RL_W('D',mncf,0,0,'Qice1',     Qice1,     myThid)
353              CALL MNC_CW_RL_W('D',mncf,0,0,'Qice2',     Qice2,     myThid)
354              CALL MNC_CW_RL_W('D',mncf,0,0,'snowAge',   snowAge,   myThid)
355              IF ( stepFwd_oceMxL ) THEN
356                CALL MNC_CW_RL_W('D',mncf,0,0,'tOceMxL',tOceMxL,myThid)
357                CALL MNC_CW_RL_W('D',mncf,0,0,'sOceMxL',sOceMxL,myThid)
358              ENDIF
359            ENDIF
360    #endif  /* ALLOW_MNC */
361    
        CALL WRITE_FLD_XY_RL('ice_fract.',  suff,iceMask,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_iceH.',   suff,iceheight,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_snowH.',  suff,snowheight,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_Tsrf.',   suff,Tsrf,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_Tice1.',  suff,Tice1,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_Tice2.',  suff,Tice2,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_Qice1.',  suff,Qice1,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_Qice2.',  suff,Qice2,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_snowPrc.',suff,snowPrc,  
      &     myIter,myThid)  
        CALL WRITE_FLD_XY_RL('ice_snowAge.',suff,snowAge,  
      &     myIter,myThid)  
        IF ( stepFwd_oceMxL ) THEN  
         CALL WRITE_FLD_XY_RL('ice_tOceMxL.', suff, tOceMxL,  
      &     myIter,myThid)  
         CALL WRITE_FLD_XY_RL('ice_sOceMxL.', suff, sOceMxL,  
      &     myIter,myThid)  
        ENDIF  
362    
363        ENDIF        ENDIF
364                    

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

  ViewVC Help
Powered by ViewVC 1.1.22