19 |
#include "SEAICE_PARAMS.h" |
#include "SEAICE_PARAMS.h" |
20 |
#include "SEAICE_FFIELDS.h" |
#include "SEAICE_FFIELDS.h" |
21 |
#include "SEAICE.h" |
#include "SEAICE.h" |
22 |
|
#ifdef ALLOW_MNC |
23 |
|
#include "MNC_PARAMS.h" |
24 |
|
#endif |
25 |
|
|
26 |
C == Routine arguments == |
C == Routine arguments == |
27 |
C myTime - Current time of simulation ( s ) |
C myTime - Current time of simulation ( s ) |
45 |
IF ( DIFFERENT_MULTIPLE(SEAICE_dumpFreq,myTime, |
IF ( DIFFERENT_MULTIPLE(SEAICE_dumpFreq,myTime, |
46 |
& myTime-deltaTClock) ) THEN |
& myTime-deltaTClock) ) THEN |
47 |
|
|
48 |
WRITE(suff,'(I10.10)') myIter |
#ifdef ALLOW_MNC |
49 |
_BARRIER |
IF (useMNC .AND. seaice_mnc) THEN |
50 |
_BEGIN_MASTER( myThid ) |
CALL MNC_CW_SET_UDIM('sice', -1, myThid) |
51 |
CALL WRITE_FLD_XY_RS( 'UWIND.',suff,uwind,myIter,myThid) |
CALL MNC_CW_I_W_S('I','sice',0,0,'T', myIter, myThid) |
52 |
CALL WRITE_FLD_XY_RS( 'VWIND.',suff,vwind,myIter,myThid) |
CALL MNC_CW_SET_UDIM('sice', 0, myThid) |
53 |
CALL WRITE_FLD_XY_RS( 'FU.',suff,fu,myIter,myThid) |
CALL MNC_CW_RL_W_S('D','sice',0,0,'model_time', |
54 |
CALL WRITE_FLD_XY_RS( 'FV.',suff,fv,myIter,myThid) |
& myTime,myThid) |
55 |
CALL WRITE_FLD_XY_RS( 'EmPmR.',suff,EmPmR,myIter,myThid) |
CALL MNC_CW_RL_W('D','sice',0,0,'UWIND',uwind,myThid) |
56 |
CALL WRITE_FLD_XY_RS( 'Qnet.',suff,Qnet,myIter,myThid) |
CALL MNC_CW_RL_W('D','sice',0,0,'VWIND',vwind,myThid) |
57 |
CALL WRITE_FLD_XY_RS( 'Qsw.',suff,Qsw,myIter,myThid) |
CALL MNC_CW_RL_W('D','sice',0,0,'FU',fu,myThid) |
58 |
_END_MASTER( myThid ) |
CALL MNC_CW_RL_W('D','sice',0,0,'FV',fv,myThid) |
59 |
_BARRIER |
CALL MNC_CW_RL_W('D','sice',0,0,'EmPmR',EmPmR,myThid) |
60 |
|
CALL MNC_CW_RL_W('D','sice',0,0,'Qnet',Qnet,myThid) |
61 |
|
CALL MNC_CW_RL_W('D','sice',0,0,'Qsw',Qsw,myThid) |
62 |
|
ENDIF |
63 |
|
#endif |
64 |
|
IF (seaice_mdsio) THEN |
65 |
|
WRITE(suff,'(I10.10)') myIter |
66 |
|
_BARRIER |
67 |
|
_BEGIN_MASTER( myThid ) |
68 |
|
CALL WRITE_FLD_XY_RS( 'UWIND.',suff,uwind,myIter,myThid) |
69 |
|
CALL WRITE_FLD_XY_RS( 'VWIND.',suff,vwind,myIter,myThid) |
70 |
|
CALL WRITE_FLD_XY_RS( 'FU.',suff,fu,myIter,myThid) |
71 |
|
CALL WRITE_FLD_XY_RS( 'FV.',suff,fv,myIter,myThid) |
72 |
|
CALL WRITE_FLD_XY_RS( 'EmPmR.',suff,EmPmR,myIter,myThid) |
73 |
|
CALL WRITE_FLD_XY_RS( 'Qnet.',suff,Qnet,myIter,myThid) |
74 |
|
CALL WRITE_FLD_XY_RS( 'Qsw.',suff,Qsw,myIter,myThid) |
75 |
|
_END_MASTER( myThid ) |
76 |
|
_BARRIER |
77 |
|
ENDIF |
78 |
|
|
79 |
#ifdef SEAICE_DEBUG |
#ifdef SEAICE_DEBUG |
80 |
CALL PLOT_FIELD_XYRS( uwind , 'Current uwind ', myIter, myThid ) |
CALL PLOT_FIELD_XYRS( uwind , 'Current uwind ', myIter, myThid ) |
262 |
ENDDO |
ENDDO |
263 |
ENDDO |
ENDDO |
264 |
|
|
265 |
WRITE(suff,'(I10.10)') myIter |
#ifdef ALLOW_MNC |
266 |
_BARRIER |
IF (useMNC .AND. seaice_mnc) THEN |
267 |
_BEGIN_MASTER( myThid ) |
CALL MNC_CW_SET_UDIM('sice_tave', -1, myThid) |
268 |
CALL WRITE_FLD_XY_RL('FUtave.' ,suff,FUtave ,myIter,myThid) |
CALL MNC_CW_I_W_S('I','sice_tave',0,0,'T', myIter, myThid) |
269 |
CALL WRITE_FLD_XY_RL('FVtave.' ,suff,FVtave ,myIter,myThid) |
CALL MNC_CW_SET_UDIM('sice_tave', 0, myThid) |
270 |
CALL WRITE_FLD_XY_RL('EmPmRtave.',suff,EmPmRtave,myIter,myThid) |
CALL MNC_CW_RL_W_S('D','sice_tave',0,0,'model_time', |
271 |
CALL WRITE_FLD_XY_RL('QNETtave.' ,suff,QNETtave ,myIter,myThid) |
& myTime,myThid) |
272 |
CALL WRITE_FLD_XY_RL('QSWtave.' ,suff,QSWtave ,myIter,myThid) |
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
273 |
CALL WRITE_FLD_XY_RL('UICEtave.' ,suff,UICEtave ,myIter,myThid) |
& 'UICEtave',UICEtave,myThid) |
274 |
CALL WRITE_FLD_XY_RL('VICEtave.' ,suff,VICEtave ,myIter,myThid) |
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
275 |
CALL WRITE_FLD_XY_RL('HEFFtave.' ,suff,HEFFtave ,myIter,myThid) |
& 'VICEtave',VICEtave,myThid) |
276 |
CALL WRITE_FLD_XY_RL('AREAtave.' ,suff,AREAtave ,myIter,myThid) |
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
277 |
_END_MASTER( myThid ) |
& 'FUtave',FUtave,myThid) |
278 |
_BARRIER |
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
279 |
|
& 'FVtave',FVtave,myThid) |
280 |
|
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
281 |
|
& 'EmPmRtave',EmPmRtave,myThid) |
282 |
|
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
283 |
|
& 'QNETtave',QNETtave,myThid) |
284 |
|
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
285 |
|
& 'QSWtave',QSWtave,myThid) |
286 |
|
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
287 |
|
& 'HEFFtave',HEFFtave,myThid) |
288 |
|
CALL MNC_CW_RL_W('R','sice_tave',0,0, |
289 |
|
& 'AREAtave',AREAtave,myThid) |
290 |
|
ENDIF |
291 |
|
#endif |
292 |
|
IF (seaice_mdsio) THEN |
293 |
|
WRITE(suff,'(I10.10)') myIter |
294 |
|
_BARRIER |
295 |
|
_BEGIN_MASTER( myThid ) |
296 |
|
CALL WRITE_FLD_XY_RL('FUtave.' ,suff,FUtave ,myIter,myThid) |
297 |
|
CALL WRITE_FLD_XY_RL('FVtave.' ,suff,FVtave ,myIter,myThid) |
298 |
|
CALL WRITE_FLD_XY_RL('EmPmRtave.',suff,EmPmRtave,myIter,myThid) |
299 |
|
CALL WRITE_FLD_XY_RL('QNETtave.' ,suff,QNETtave ,myIter,myThid) |
300 |
|
CALL WRITE_FLD_XY_RL('QSWtave.' ,suff,QSWtave ,myIter,myThid) |
301 |
|
CALL WRITE_FLD_XY_RL('UICEtave.' ,suff,UICEtave ,myIter,myThid) |
302 |
|
CALL WRITE_FLD_XY_RL('VICEtave.' ,suff,VICEtave ,myIter,myThid) |
303 |
|
CALL WRITE_FLD_XY_RL('HEFFtave.' ,suff,HEFFtave ,myIter,myThid) |
304 |
|
CALL WRITE_FLD_XY_RL('AREAtave.' ,suff,AREAtave ,myIter,myThid) |
305 |
|
_END_MASTER( myThid ) |
306 |
|
_BARRIER |
307 |
|
ENDIF |
308 |
|
|
309 |
C Reset averages to zero |
C Reset averages to zero |
310 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |