2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "SEAICE_OPTIONS.h" |
#include "SEAICE_OPTIONS.h" |
5 |
|
#ifdef ALLOW_EXF |
6 |
|
# include "EXF_OPTIONS.h" |
7 |
|
#endif |
8 |
|
|
9 |
CBOP 0 |
CBOP 0 |
10 |
C !ROUTINE: SEAICE_OUTPUT |
C !ROUTINE: SEAICE_OUTPUT |
32 |
#include "SEAICE_TRACER.h" |
#include "SEAICE_TRACER.h" |
33 |
#include "SEAICE_TAVE.h" |
#include "SEAICE_TAVE.h" |
34 |
#ifdef ALLOW_EXF |
#ifdef ALLOW_EXF |
|
# include "EXF_OPTIONS.h" |
|
35 |
# include "EXF_FIELDS.h" |
# include "EXF_FIELDS.h" |
36 |
#endif |
#endif |
37 |
|
|
59 |
#endif |
#endif |
60 |
#ifdef ALLOW_TIMEAVE |
#ifdef ALLOW_TIMEAVE |
61 |
INTEGER i, j, bi, bj |
INTEGER i, j, bi, bj |
62 |
|
#ifdef SEAICE_ITD |
63 |
|
INTEGER k |
64 |
|
#endif |
65 |
LOGICAL dumpFiles |
LOGICAL dumpFiles |
66 |
#endif /* ALLOW_TIMEAVE */ |
#endif /* ALLOW_TIMEAVE */ |
67 |
#ifdef ALLOW_MNC |
#ifdef ALLOW_MNC |
103 |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_VICE',vIce,myThid) |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_VICE',vIce,myThid) |
104 |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_HEFF',hEff,myThid) |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_HEFF',hEff,myThid) |
105 |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_AREA',area,myThid) |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_AREA',area,myThid) |
106 |
|
#ifdef SEAICE_ITD |
107 |
|
c CALL MNC_CW_RL_W(pf,'sice',0,0,'si_HEFFITD',HEFFITD,myThid) |
108 |
|
c CALL MNC_CW_RL_W(pf,'sice',0,0,'si_AREAITD',AREAITD,myThid) |
109 |
|
#endif |
110 |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_UWIND',uwind,myThid) |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_UWIND',uwind,myThid) |
111 |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_VWIND',vwind,myThid) |
CALL MNC_CW_RL_W(pf,'sice',0,0,'si_VWIND',vwind,myThid) |
112 |
CALL MNC_CW_RS_W(pf,'sice',0,0,'fu',fu,myThid) |
CALL MNC_CW_RS_W(pf,'sice',0,0,'fu',fu,myThid) |
132 |
CALL WRITE_FLD_XY_RL( 'HEFF.',suff,hEff,myIter,myThid) |
CALL WRITE_FLD_XY_RL( 'HEFF.',suff,hEff,myIter,myThid) |
133 |
CALL WRITE_FLD_XY_RL( 'AREA.',suff,area,myIter,myThid) |
CALL WRITE_FLD_XY_RL( 'AREA.',suff,area,myIter,myThid) |
134 |
CALL WRITE_FLD_XY_RL( 'HSNOW.',suff,HSNOW,myIter,myThid) |
CALL WRITE_FLD_XY_RL( 'HSNOW.',suff,HSNOW,myIter,myThid) |
135 |
|
#ifdef SEAICE_ITD |
136 |
|
CALL WRITE_FLD_3D_RL( 'HEFFITD.', suff, nITD, HEFFITD, |
137 |
|
& myIter, myThid ) |
138 |
|
CALL WRITE_FLD_3D_RL( 'AREAITD.', suff, nITD, AREAITD, |
139 |
|
& myIter, myThid ) |
140 |
|
CALL WRITE_FLD_3D_RL('HSNOWITD.', suff, nITD, HSNOWITD, |
141 |
|
& myIter, myThid ) |
142 |
|
#endif |
143 |
#ifdef SEAICE_VARIABLE_SALINITY |
#ifdef SEAICE_VARIABLE_SALINITY |
144 |
CALL WRITE_FLD_XY_RL( 'HSALT.',suff,HSALT,myIter,myThid) |
CALL WRITE_FLD_XY_RL( 'HSALT.',suff,HSALT,myIter,myThid) |
145 |
#endif |
#endif |
201 |
& AREAtave(i,j,bi,bj) +AREA(i,j,bi,bj)*deltaTclock |
& AREAtave(i,j,bi,bj) +AREA(i,j,bi,bj)*deltaTclock |
202 |
ENDDO |
ENDDO |
203 |
ENDDO |
ENDDO |
204 |
|
#ifdef SEAICE_ITD |
205 |
|
DO k=1,nITD |
206 |
|
DO j=1,sNy |
207 |
|
DO i=1,sNx |
208 |
|
HEFFITDtave(i,j,k,bi,bj) = |
209 |
|
& HEFFITDtave(i,j,k,bi,bj) +HEFFITD(i,j,k,bi,bj)*deltaTclock |
210 |
|
AREAITDtave(i,j,k,bi,bj) = |
211 |
|
& AREAITDtave(i,j,k,bi,bj) +AREAITD(i,j,k,bi,bj)*deltaTclock |
212 |
|
ENDDO |
213 |
|
ENDDO |
214 |
|
ENDDO |
215 |
|
#endif |
216 |
SEAICE_timeAve(bi,bj) = SEAICE_timeAve(bi,bj)+deltaTclock |
SEAICE_timeAve(bi,bj) = SEAICE_timeAve(bi,bj)+deltaTclock |
217 |
ENDDO |
ENDDO |
218 |
ENDDO |
ENDDO |
224 |
& DIFFERENT_MULTIPLE(SEAICE_taveFreq,myTime,deltaTClock) |
& DIFFERENT_MULTIPLE(SEAICE_taveFreq,myTime,deltaTClock) |
225 |
#ifdef ALLOW_CAL |
#ifdef ALLOW_CAL |
226 |
IF ( useCAL ) THEN |
IF ( useCAL ) THEN |
227 |
CALL CAL_TIME2DUMP( SEAICE_taveFreq, deltaTClock, |
CALL CAL_TIME2DUMP( ZERO, SEAICE_taveFreq, deltaTClock, |
228 |
U dumpFiles, |
U dumpFiles, |
229 |
I myTime, myIter, myThid ) |
I myTime, myIter, myThid ) |
230 |
ENDIF |
ENDIF |
253 |
& SEAICE_timeAve, 1, bi, bj, myThid ) |
& SEAICE_timeAve, 1, bi, bj, myThid ) |
254 |
CALL TIMEAVE_NORMALIZE( AREAtave, |
CALL TIMEAVE_NORMALIZE( AREAtave, |
255 |
& SEAICE_timeAve, 1, bi, bj, myThid ) |
& SEAICE_timeAve, 1, bi, bj, myThid ) |
256 |
|
#ifdef SEAICE_ITD |
257 |
|
CALL TIMEAVE_NORMALIZE( HEFFITDtave, |
258 |
|
& SEAICE_timeAve, nITD, bi, bj, myThid ) |
259 |
|
CALL TIMEAVE_NORMALIZE( AREAITDtave, |
260 |
|
& SEAICE_timeAve, nITD, bi, bj, myThid ) |
261 |
|
#endif |
262 |
ENDDO |
ENDDO |
263 |
ENDDO |
ENDDO |
264 |
c IF (myIter.EQ.10) WRITE(0,*) myThid, dumpFiles |
c IF (myIter.EQ.10) WRITE(0,*) myThid, dumpFiles |