/[MITgcm]/MITgcm_contrib/AITCZ/code/mitphys_write_diags.F
ViewVC logotype

Annotation of /MITgcm_contrib/AITCZ/code/mitphys_write_diags.F

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


Revision 1.1 - (hide annotations) (download)
Wed Aug 20 15:24:59 2003 UTC (21 years, 11 months ago) by czaja
Branch: MAIN
CVS Tags: HEAD
Initial creation of Arnaud's simple coupled simulation.

1 czaja 1.1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/mitphys/mitphys_write_diags.F,v 1.4.2.2 2001/05/02 19:01:51 sb Exp $
2     C $Name: $
3    
4     #include "CPP_OPTIONS.h"
5    
6     CStartOfInterFace
7     SUBROUTINE MITPHYS_WRITE_DIAGS( myTime, myIter, myThid )
8     C /==========================================================\
9     C | SUBROUTINE MITPHYS_WRITE_DIAGS |
10     C | o Write out MITPHYS diagnostic output |
11     C \==========================================================/
12     IMPLICIT NONE
13    
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "PARAMS.h"
18     #include "MITPHYS_DIAGS.h"
19     LOGICAL DIFFERENT_MULTIPLE
20     EXTERNAL DIFFERENT_MULTIPLE
21    
22     C Common (shared with RD_WR_FLD routines in read_write_fld.F)
23     LOGICAL globalFile ! sb
24     COMMON /RD_WR_FLD/ globalFile
25     c sb LOGICAL globalFile
26    
27     C == Routine arguments ==
28     C myTime - Current time of simulation ( s )
29     C myIter - Iteration number
30     C myThid - Number of this instance of the routine
31     _RL myTime, zonal_time_ave
32     INTEGER myIter
33     INTEGER myThid
34     CEndOfInterface
35    
36     #ifdef ALLOW_MITPHYS
37    
38     C == Local variables ==
39     INTEGER bi, bj, K
40     CHARACTER*(MAX_LEN_MBUF) fn
41     LOGICAL gf, OMP_WRITE
42    
43     _RL AUX2D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) ! sb
44     integer i,j
45     INTEGER nno ! sb
46     SAVE nno ! sb
47     data nno /0/ !omp
48    
49     c_jmc gf = .TRUE.
50     gf = globalFile
51    
52    
53     #ifdef ALLOW_TIMEAVE
54    
55     C Dump files and restart average computation if needed
56     IF ( myIter.NE.nIter0 .AND.
57     & DIFFERENT_MULTIPLE(taveFreq,myTime,
58     & myTime-deltaTClock)
59     & ) THEN
60    
61     C Normalize by integrated time
62    
63     DO bj = myByLo(myThid), myByHi(myThid)
64     DO bi = myBxLo(myThid), myBxHi(myThid)
65     CALL TIMEAVE_NORMALIZ(TSWtave,MITPHYS_timeave,1,bi,bj,myThid)
66     CALL TIMEAVE_NORMALIZ(TLWtave,MITPHYS_timeave,1,bi,bj,myThid)
67     CALL TIMEAVE_NORMALIZ(SSWtave,MITPHYS_timeave,1,bi,bj,myThid)
68     CALL TIMEAVE_NORMALIZ(SLWtave,MITPHYS_timeave,1,bi,bj,myThid)
69     CALL TIMEAVE_NORMALIZ(SINStave,MITPHYS_timeave,1,bi,bj,myThid)
70     CALL TIMEAVE_NORMALIZ(BKTtave,MITPHYS_timeave,1,bi,bj,myThid)
71     CALL TIMEAVE_NORMALIZ(SHFtave,MITPHYS_timeave,1,bi,bj,myThid)
72     CALL TIMEAVE_NORMALIZ(LHFtave,MITPHYS_timeave,1,bi,bj,myThid)
73     CALL TIMEAVE_NORMALIZ(USTRtave,MITPHYS_timeave,1,bi,bj,myThid)
74     CALL TIMEAVE_NORMALIZ(VSTRtave,MITPHYS_timeave,1,bi,bj,myThid)
75     CALL TIMEAVE_NORMALIZ(PRECNVtave,MITPHYS_timeave,1,bi,bj,myThid)
76     CALL TIMEAVE_NORMALIZ(PRECLStave,MITPHYS_timeave,1,bi,bj,myThid)
77     CALL TIMEAVE_NORMALIZ(CLOUDCtave,MITPHYS_timeave,1,bi,bj,myThid)
78     CALL TIMEAVE_NORMALIZ(SSTtave,MITPHYS_timeave,1,bi,bj,myThid)
79     CALL TIMEAVE_NORMALIZ(QFLUXtave,MITPHYS_timeave,1,bi,bj,myThid)
80     CALL TIMEAVE_NORMALIZ(PRWtave,MITPHYS_timeave,1,bi,bj,myThid)
81     CALL TIMEAVE_NORMALIZ(TSW0tave,MITPHYS_timeave,1,bi,bj,myThid)
82     CALL TIMEAVE_NORMALIZ(TLW0tave,MITPHYS_timeave,1,bi,bj,myThid)
83     CALL TIMEAVE_NORMALIZ(CBMFtave,MITPHYS_timeave,1,bi,bj,myThid)
84     CALL TIMEAVE_NORMALIZ(PLCLtave,MITPHYS_timeave,1,bi,bj,myThid)
85    
86     CALL TIMEAVE_NORMALIZ(RHtave,MITPHYS_timeave,Nr,bi,bj,myThid)
87     CALL TIMEAVE_NORMALIZ(CLDFtave,MITPHYS_timeave,Nr,bi,bj,myThid)
88     CALL TIMEAVE_NORMALIZ(CLDQtave,MITPHYS_timeave,Nr,bi,bj,myThid)
89     CALL TIMEAVE_NORMALIZ(CLDQCtave,MITPHYS_timeave,Nr,bi,bj,myThid)
90     CALL TIMEAVE_NORMALIZ(RCtave,MITPHYS_timeave,Nr,bi,bj,myThid)
91     CALL TIMEAVE_NORMALIZ(CRLWtave,MITPHYS_timeave,Nr,bi,bj,myThid)
92     CALL TIMEAVE_NORMALIZ(CRSWtave,MITPHYS_timeave,Nr,bi,bj,myThid)
93     CALL TIMEAVE_NORMALIZ(MUPtave,MITPHYS_timeave,Nr,bi,bj,myThid)
94     CALL TIMEAVE_NORMALIZ(MDNtave,MITPHYS_timeave,Nr,bi,bj,myThid)
95     CALL TIMEAVE_NORMALIZ(MDN0tave,MITPHYS_timeave,Nr,bi,bj,myThid)
96     CALL TIMEAVE_NORMALIZ(ENTtave,MITPHYS_timeave,Nr,bi,bj,myThid)
97     CALL TIMEAVE_NORMALIZ(DETtave,MITPHYS_timeave,Nr,bi,bj,myThid)
98     CALL TIMEAVE_NORMALIZ(Utave,MITPHYS_timeave,Nr,bi,bj,myThid)
99     CALL TIMEAVE_NORMALIZ(Vtave,MITPHYS_timeave,Nr,bi,bj,myThid)
100     CALL TIMEAVE_NORMALIZ(Wtave,MITPHYS_timeave,Nr,bi,bj,myThid)
101     CALL TIMEAVE_NORMALIZ(Ttave,MITPHYS_timeave,Nr,bi,bj,myThid)
102     CALL TIMEAVE_NORMALIZ(Qtave,MITPHYS_timeave,Nr,bi,bj,myThid)
103     CC(acz) CALL TIMEAVE_NORMALIZ(PHItave,MITPHYS_timeave,Nr,bi,bj,myThid)
104     CALL TIMEAVE_NORMALIZ(SXtave,MITPHYS_timeave,Nr,bi,bj,myThid)
105     CALL TIMEAVE_NORMALIZ(HXtave,MITPHYS_timeave,Nr,bi,bj,myThid)
106     CALL TIMEAVE_NORMALIZ(DTCNVtave,MITPHYS_timeave,Nr,bi,bj,myThid)
107     CALL TIMEAVE_NORMALIZ(DQCNVtave,MITPHYS_timeave,Nr,bi,bj,myThid)
108     CALL TIMEAVE_NORMALIZ(DTLSCtave,MITPHYS_timeave,Nr,bi,bj,myThid)
109     CALL TIMEAVE_NORMALIZ(DTPBLtave,MITPHYS_timeave,Nr,bi,bj,myThid)
110     CALL TIMEAVE_NORMALIZ(UT_PBLtave,MITPHYS_timeave,
111     & Nr,bi,bj,myThid)
112     CALL TIMEAVE_NORMALIZ(VT_PBLtave,MITPHYS_timeave,
113     & Nr,bi,bj,myThid)
114     CALL TIMEAVE_NORMALIZ(UT_CNVtave,MITPHYS_timeave,
115     & Nr,bi,bj,myThid)
116     CALL TIMEAVE_NORMALIZ(VT_CNVtave,MITPHYS_timeave,
117     & Nr,bi,bj,myThid)
118     CALL TIMEAVE_NORMALIZ(UT_ADJtave,MITPHYS_timeave,
119     & Nr,bi,bj,myThid)
120     CALL TIMEAVE_NORMALIZ(VT_ADJtave,MITPHYS_timeave,
121     & Nr,bi,bj,myThid)
122     CALL TIMEAVE_NORMALIZ(TT_ADJtave,MITPHYS_timeave,
123     & Nr,bi,bj,myThid)
124     CALL TIMEAVE_NORMALIZ(QT_ADJtave,MITPHYS_timeave,
125     & Nr,bi,bj,myThid)
126    
127     C normalize the zonal mean
128     zonal_time_ave = 1.0 / sNx / MITPHYS_timeave (1,bi,bj)
129     do j = 1,sNy
130     do k = 1,Nr
131     Uzav(j,K,bi,bj) = Uzav(j,K,bi,bj) * zonal_time_ave
132     Vzav(j,K,bi,bj) = Vzav(j,K,bi,bj) * zonal_time_ave
133     Wzav(j,K,bi,bj) = Wzav(j,K,bi,bj) * zonal_time_ave
134     Tzav(j,K,bi,bj) = Tzav(j,K,bi,bj) * zonal_time_ave
135     Qzav(j,K,bi,bj) = Qzav(j,K,bi,bj) * zonal_time_ave
136     RHzav(j,K,bi,bj) = RHzav(j,K,bi,bj)* zonal_time_ave
137    
138     UVzav(j,K,bi,bj) = UVzav(j,K,bi,bj) * zonal_time_ave
139     VTzav(j,K,bi,bj) = VTzav(j,K,bi,bj) * zonal_time_ave
140     VQzav(j,K,bi,bj) = VQzav(j,K,bi,bj) * zonal_time_ave
141    
142     UWzav(j,K,bi,bj) = UWzav(j,K,bi,bj) * zonal_time_ave
143     WTzav(j,K,bi,bj) = WTzav(j,K,bi,bj) * zonal_time_ave
144     WQzav(j,K,bi,bj) = WQzav(j,K,bi,bj) * zonal_time_ave
145    
146     CLDFzav(j,K,bi,bj) = CLDFzav(j,K,bi,bj) * zonal_time_ave
147     CLDQzav(j,K,bi,bj) = CLDQzav(j,K,bi,bj) * zonal_time_ave
148     CLDQCzav(j,K,bi,bj)= CLDQCzav(j,K,bi,bj)* zonal_time_ave
149     RCzav(j,K,bi,bj) = RCzav(j,K,bi,bj) * zonal_time_ave
150     DTCNVzav(j,K,bi,bj)= DTCNVzav(j,K,bi,bj)
151     : * zonal_time_ave
152     DQCNVzav(j,K,bi,bj)= DQCNVzav(j,K,bi,bj)
153     : * zonal_time_ave
154     DTLSCzav(j,K,bi,bj)= DTLSCzav(j,K,bi,bj)
155     : * zonal_time_ave
156     DTPBLzav(j,K,bi,bj)= DTPBLzav(j,K,bi,bj)
157     : * zonal_time_ave
158     UT_PBLzav(j,K,bi,bj)= UT_PBLzav(j,K,bi,bj)
159     : * zonal_time_ave
160     VT_PBLzav(j,K,bi,bj)= VT_PBLzav(j,K,bi,bj)
161     : * zonal_time_ave
162     UT_CNVzav(j,K,bi,bj)= UT_CNVzav(j,K,bi,bj)
163     : * zonal_time_ave
164     VT_CNVzav(j,K,bi,bj)= VT_CNVzav(j,K,bi,bj)
165     : * zonal_time_ave
166     UT_ADJzav(j,K,bi,bj)= UT_ADJzav(j,K,bi,bj)
167     : * zonal_time_ave
168     VT_ADJzav(j,K,bi,bj)= VT_ADJzav(j,K,bi,bj)
169     : * zonal_time_ave
170     TT_ADJzav(j,K,bi,bj)= TT_ADJzav(j,K,bi,bj)
171     : * zonal_time_ave
172     QT_ADJzav(j,K,bi,bj)= QT_ADJzav(j,K,bi,bj)
173     : * zonal_time_ave
174     PHIzav(j,K,bi,bj) = PHIzav(j,K,bi,bj) * zonal_time_ave
175     end do
176     end do
177    
178     ENDDO
179     ENDDO
180    
181    
182     _BARRIER
183     _BEGIN_MASTER( myThid )
184    
185     ccc WRITE(fn,'(A,I10.10)') 'aimphyvars.',myIter
186    
187     C modif omp: change the output. Each output file contains a single field.
188     C Notice that some variables are not written in the output anymore.
189     OMP_WRITE = .TRUE.
190     IF (OMP_WRITE) THEN
191     nno = nno +1
192    
193     C 2D fields
194    
195     CC CALL MDSWRITEFIELD('TSW.tav',precFloat32,globalFile,'RL',1
196     CC & ,TSWtave, nno,myIter,myThid)
197     CC CALL MDSWRITEFIELD('TLW.tav',precFloat32,globalFile,'RL',1
198     CC & ,TLWtave, nno,myIter,myThid)
199     CC CALL MDSWRITEFIELD('SSW.tav',precFloat32,globalFile,'RL',1
200     CC & ,SSWtave, nno,myIter,myThid)
201     CC CALL MDSWRITEFIELD('SLW.tav',precFloat32,globalFile,'RL',1
202     CC & ,SLWtave, nno,myIter,myThid)
203     CC CALL MDSWRITEFIELD('SINS.tav',precFloat32,globalFile,'RL',1
204     CC & ,SINStave, nno,myIter,myThid)
205     CALL MDSWRITEFIELD('BKT.tav',precFloat32,globalFile,'RL',1
206     & ,BKTtave, nno,myIter,myThid)
207     CALL MDSWRITEFIELD('SHF.tav',precFloat32,globalFile,'RL',1
208     & ,SHFtave, nno,myIter,myThid)
209     CALL MDSWRITEFIELD('LHF.tav',precFloat32,globalFile,'RL',1
210     & ,LHFtave, nno,myIter,myThid)
211     CALL MDSWRITEFIELD('USTR.tav',precFloat32,globalFile,'RL',1
212     & ,USTRtave, nno,myIter,myThid)
213     CALL MDSWRITEFIELD('VSTR.tav',precFloat32,globalFile,'RL',1
214     & ,VSTRtave, nno,myIter,myThid)
215     CALL MDSWRITEFIELD('PreCNV.tav',precFloat32,globalFile,'RL',1
216     & ,PRECNVtave, nno,myIter,myThid)
217     CALL MDSWRITEFIELD('PrecLS.tav',precFloat32,globalFile,'RL',1
218     & ,PRECLStave, nno,myIter,myThid)
219     CC CALL MDSWRITEFIELD('CLOUDC.tav',precFloat32,globalFile,'RL',1
220     CC & ,CLOUDCtave, nno,myIter,myThid)
221     CC CALL MDSWRITEFIELD('PRW.tav',precFloat32,globalFile,'RL',1
222     CC & ,PRWtave, nno,myIter,myThid)
223     CC CALL MDSWRITEFIELD('TSW0.tav',precFloat32,globalFile,'RL',1
224     CC & ,TSW0tave, nno,myIter,myThid)
225     CC CALL MDSWRITEFIELD('TLW0.tav',precFloat32,globalFile,'RL',1
226     CC & ,TLW0tave, nno,myIter,myThid)
227     CC CALL MDSWRITEFIELD('CBMF.tav',precFloat32,globalFile,'RL',1
228     CC & ,CBMFtave, nno,myIter,myThid)
229     CC CALL MDSWRITEFIELD('PLCL.tav',precFloat32,globalFile,'RL',1
230     CC & ,PLCLtave, nno,myIter,myThid)
231     CALL MDSWRITEFIELD('SST.tav',precFloat32,globalFile,'RL',1
232     & ,SSTtave, nno,myIter,myThid)
233     CALL MDSWRITEFIELD('QFLUX.tav',precFloat32,globalFile,'RL',1
234     & ,QFLUXtave, nno,myIter,myThid)
235    
236     C 3D fields
237    
238     CALL MDSWRITEFIELD('RH.tav',precFloat32,globalFile,'RL',Nr
239     & ,RHtave, nno,myIter,myThid)
240     CC CALL MDSWRITEFIELD('CLDF.tav',precFloat32,globalFile,'RL',Nr
241     CC & ,CLDFtave, nno,myIter,myThid)
242     CC CALL MDSWRITEFIELD('CLDQ.tav',precFloat32,globalFile,'RL',Nr
243     CC & ,CLDQtave, nno,myIter,myThid)
244     CC CALL MDSWRITEFIELD('CLDQC.tav',precFloat32,globalFile,'RL',Nr
245     CC & ,CLDQCtave, nno,myIter,myThid)
246     CALL MDSWRITEFIELD('U.tav',precFloat32,globalFile,'RL',Nr
247     & ,Utave, nno,myIter,myThid)
248     CALL MDSWRITEFIELD('V.tav',precFloat32,globalFile,'RL',Nr
249     & ,Vtave, nno,myIter,myThid)
250     CALL MDSWRITEFIELD('W.tav',precFloat32,globalFile,'RL',Nr
251     & ,Wtave, nno,myIter,myThid)
252     CALL MDSWRITEFIELD('Q.tav',precFloat32,globalFile,'RL',Nr
253     & ,Qtave, nno,myIter,myThid)
254     CALL MDSWRITEFIELD('T.tav',precFloat32,globalFile,'RL',Nr
255     & ,Ttave, nno,myIter,myThid)
256     c CALL MDSWRITEFIELD('GEOP.tav',precFloat32,globalFile,'RL',Nr
257     c(acz) & ,Phitave, nno,myIter,myThid)
258     CALL MDSWRITEFIELD('DTCNV.tav',precFloat32,globalFile,'RL',Nr
259     & ,DTCNVtave, nno,myIter,myThid)
260     CC CALL MDSWRITEFIELD('DQCNV.tav',precFloat32,globalFile,'RL',Nr
261     CC & ,DQCNVtave, nno,myIter,myThid)
262     CC CALL MDSWRITEFIELD('DTPBL.tav',precFloat32,globalFile,'RL',Nr
263     CC & ,DTPBLtave, nno,myIter,myThid)
264     CC CALL MDSWRITEFIELD('UT_PBL.tav',precFloat32,globalFile,'RL',Nr
265     CC & ,UT_PBLtave, nno,myIter,myThid)
266     CC CALL MDSWRITEFIELD('VT_PBL.tav',precFloat32,globalFile,'RL',Nr
267     CC & ,VT_PBLtave, nno,myIter,myThid)
268     CC CALL MDSWRITEFIELD('UT_CNV.tav',precFloat32,globalFile,'RL',Nr
269     CC & ,UT_CNVtave, nno,myIter,myThid)
270     CC CALL MDSWRITEFIELD('VT_CNV.tav',precFloat32,globalFile,'RL',Nr
271     CC & ,VT_CNVtave, nno,myIter,myThid)
272     CC CALL MDSWRITEFIELD('UT_ADJ.tav',precFloat32,globalFile,'RL',Nr
273     CC & ,UT_ADJtave, nno,myIter,myThid)
274     CC CALL MDSWRITEFIELD('VT_ADJ.tav',precFloat32,globalFile,'RL',Nr
275     CC & ,VT_ADJtave, nno,myIter,myThid)
276     CC CALL MDSWRITEFIELD('TT_ADJ.tav',precFloat32,globalFile,'RL',Nr
277     CC & ,TT_ADJtave, nno,myIter,myThid)
278     CC CALL MDSWRITEFIELD('QT_ADJ.tav',precFloat32,globalFile,'RL',Nr
279     CC & ,QT_ADJtave, nno,myIter,myThid)
280     CALL MDSWRITEFIELD('DTLSC.tav',precFloat32,globalFile,'RL',Nr
281     & ,DTLSCtave, nno,myIter,myThid)
282     CALL MDSWRITEFIELD('DTRC.tav',precFloat32,globalFile,'RL',Nr
283     & ,RCtave, nno,myIter,myThid)
284    
285    
286     C OMP. 12-28-01 Zonally averaged fields.
287    
288    
289    
290     c$$$ CALL MDSWRITEFIELDYZ('RHzav.tav',precFloat32,globalFile,
291     c$$$ & 'RL',Nr,RHzav, nno,myIter,myThid)
292     c$$$ CALL MDSWRITEFIELDYZ('CLDFzav.tav',precFloat32,globalFile,
293     c$$$ & 'RL',Nr,CLDFzav, nno,myIter,myThid)
294     c$$$ CALL MDSWRITEFIELDYZ('CLDQzav.tav',precFloat32,globalFile,
295     c$$$ & 'RL',Nr,CLDQzav, nno,myIter,myThid)
296     c$$$ CALL MDSWRITEFIELDYZ('CLDQCzav.tav',precFloat32,globalFile,
297     c$$$ & 'RL',Nr ,CLDQCzav, nno,myIter,myThid)
298     c$$$ CALL MDSWRITEFIELDYZ('Uzav.tav',precFloat32,globalFile,
299     c$$$ & 'RL',Nr ,Uzav, nno,myIter,myThid)
300     c$$$ CALL MDSWRITEFIELDYZ('Vzav.tav',precFloat32,globalFile,
301     c$$$ & 'RL',Nr ,Vzav, nno,myIter,myThid)
302     c$$$ CALL MDSWRITEFIELDYZ('Wzav.tav',precFloat32,globalFile,
303     c$$$ & 'RL',Nr ,Wzav, nno,myIter,myThid)
304     c$$$ CALL MDSWRITEFIELDYZ('Qzav.tav',precFloat32,globalFile,
305     c$$$ & 'RL',Nr ,Qzav, nno,myIter,myThid)
306     c$$$ CALL MDSWRITEFIELDYZ('Tzav.tav',precFloat32,globalFile,
307     c$$$ & 'RL',Nr ,Tzav, nno,myIter,myThid)
308     c$$$ CALL MDSWRITEFIELDYZ('GEOPzav.tav',precFloat32,globalFile,
309     c$$$ & 'RL',Nr ,Phizav, nno,myIter,myThid)
310     c$$$ CALL MDSWRITEFIELDYZ('DTCNVzav.tav',precFloat32,globalFile,
311     c$$$ & 'RL',Nr ,DTCNVzav, nno,myIter,myThid)
312     c$$$ CALL MDSWRITEFIELDYZ('DQCNVzav.tav',precFloat32,globalFile,
313     c$$$ & 'RL',Nr ,DQCNVzav, nno,myIter,myThid)
314     c$$$ CALL MDSWRITEFIELDYZ('DTPBLzav.tav',precFloat32,globalFile,
315     c$$$ & 'RL',Nr ,DTPBLzav, nno,myIter,myThid)
316     c$$$ CALL MDSWRITEFIELDYZ('UT_PBLzav.tav',precFloat32,globalFile,
317     c$$$ & 'RL',Nr ,UT_PBLzav, nno,myIter,myThid)
318     c$$$ CALL MDSWRITEFIELDYZ('VT_PBLzav.tav',precFloat32,globalFile,
319     c$$$ & 'RL',Nr ,VT_PBLzav, nno,myIter,myThid)
320     c$$$ CALL MDSWRITEFIELDYZ('UT_CNVzav.tav',precFloat32,globalFile,
321     c$$$ & 'RL',Nr ,UT_CNVzav, nno,myIter,myThid)
322     c$$$ CALL MDSWRITEFIELDYZ('VT_CNVzav.tav',precFloat32,globalFile,
323     c$$$ & 'RL',Nr ,VT_CNVzav, nno,myIter,myThid)
324     c$$$ CALL MDSWRITEFIELDYZ('UT_ADJzav.tav',precFloat32,globalFile,
325     c$$$ & 'RL',Nr ,UT_ADJzav, nno,myIter,myThid)
326     c$$$ CALL MDSWRITEFIELDYZ('VT_ADJzav.tav',precFloat32,globalFile,
327     c$$$ & 'RL',Nr ,VT_ADJzav, nno,myIter,myThid)
328     c$$$ CALL MDSWRITEFIELDYZ('TT_ADJzav.tav',precFloat32,globalFile,
329     c$$$ & 'RL',Nr ,TT_ADJzav, nno,myIter,myThid)
330     c$$$ CALL MDSWRITEFIELDYZ('QT_ADJzav.tav',precFloat32,globalFile,
331     c$$$ & 'RL',Nr ,QT_ADJzav, nno,myIter,myThid)
332     c$$$ CALL MDSWRITEFIELDYZ('DTLSCzav.tav',precFloat32,globalFile,
333     c$$$ & 'RL',Nr ,DTLSCzav, nno,myIter,myThid)
334     c$$$ CALL MDSWRITEFIELDYZ('DTRCzav.tav',precFloat32,globalFile,
335     c$$$ & 'RL',Nr ,RCzav, nno,myIter,myThid)
336     c$$$
337    
338     CC CALL MDSWRITEFIELDYZ('UVzav.tav',precFloat32,globalFile,'RL',Nr
339     CC & ,uvzav,nno,myIter,myThid)
340     CC CALL MDSWRITEFIELDYZ('VTzav.tav',precFloat32,globalFile,'RL',Nr
341     CC & ,vtzav,nno,myIter,myThid)
342     CC CALL MDSWRITEFIELDYZ('VQzav.tav',precFloat32,globalFile,'RL',Nr
343     CC & ,vqzav,nno,myIter,myThid)
344     CC CALL MDSWRITEFIELDYZ('UWzav.tav',precFloat32,globalFile,'RL',Nr
345     CC & ,uwzav,nno,myIter,myThid)
346     CC CALL MDSWRITEFIELDYZ('WTzav.tav',precFloat32,globalFile,'RL',Nr
347     CC & ,wtzav,nno,myIter,myThid)
348     CC CALL MDSWRITEFIELDYZ('WQzav.tav',precFloat32,globalFile,'RL',Nr
349     CC & ,wqzav,nno,myIter,myThid)
350    
351    
352    
353    
354     ELSE
355     WRITE(fn,'(A,I10.10)') '/scratch0/omp/mit3d/mitphyvars' !only one file in output
356     nno = nno + 1 ! record number
357     c write(*,*)'nyIter, nno, fn = ',myIter,nno,fn
358     CALL MDSWRITEFIELD(fn,precFloat32,gf,
359     & 'RL',1,TSWtave,nno,myIter,myThid)
360     nno = nno + 1
361     CALL MDSWRITEFIELD(fn,precFloat32,gf,
362     & 'RL',1,TLWtave,nno,myIter,myThid)
363     nno = nno + 1
364     CALL MDSWRITEFIELD(fn,precFloat32,gf,
365     & 'RL',1,SSWtave,nno,myIter,myThid)
366     nno = nno + 1
367     CALL MDSWRITEFIELD(fn,precFloat32,gf,
368     & 'RL',1,SLWtave,nno,myIter,myThid)
369     nno = nno + 1
370     CALL MDSWRITEFIELD(fn,precFloat32,gf,
371     & 'RL',1,SINStave,nno,myIter,myThid)
372     nno = nno + 1
373     CALL MDSWRITEFIELD(fn,precFloat32,gf,
374     & 'RL',1,BKTtave,nno,myIter,myThid)
375     nno = nno + 1
376     CALL MDSWRITEFIELD(fn,precFloat32,gf,
377     & 'RL',1,SHFtave,nno,myIter,myThid)
378     nno = nno + 1
379     CALL MDSWRITEFIELD(fn,precFloat32,gf,
380     & 'RL',1,LHFtave,nno,myIter,myThid)
381     nno = nno + 1
382     CALL MDSWRITEFIELD(fn,precFloat32,gf,
383     & 'RL',1,USTRtave,nno,myIter,myThid)
384     nno = nno + 1
385     CALL MDSWRITEFIELD(fn,precFloat32,gf,
386     & 'RL',1,VSTRtave,nno,myIter,myThid)
387     nno = nno + 1
388     CALL MDSWRITEFIELD(fn,precFloat32,gf,
389     & 'RL',1,PRECNVtave,nno,myIter,myThid)
390     nno = nno + 1
391     CALL MDSWRITEFIELD(fn,precFloat32,gf,
392     & 'RL',1,PRECLStave,nno,myIter,myThid)
393     nno = nno + 1
394     CALL MDSWRITEFIELD(fn,precFloat32,gf,
395     & 'RL',1,CLOUDCtave,nno,myIter,myThid)
396     nno = nno + 1
397     CALL MDSWRITEFIELD(fn,precFloat32,gf,
398     & 'RL',1,SSTtave,nno,myIter,myThid)
399     nno = nno + 1
400     CALL MDSWRITEFIELD(fn,precFloat32,gf,
401     & 'RL',1,QFLUXtave,nno,myIter,myThid)
402     nno = nno + 1
403     CALL MDSWRITEFIELD(fn,precFloat32,gf,
404     & 'RL',1,PRWtave,nno,myIter,myThid)
405     nno = nno + 1
406     CALL MDSWRITEFIELD(fn,precFloat32,gf,
407     & 'RL',1,TSW0tave,nno,myIter,myThid)
408     nno = nno + 1
409     CALL MDSWRITEFIELD(fn,precFloat32,gf,
410     & 'RL',1,TLW0tave,nno,myIter,myThid)
411     nno = nno + 1
412     CALL MDSWRITEFIELD(fn,precFloat32,gf,
413     & 'RL',1,CBMFtave,nno,myIter,myThid)
414     nno = nno + 1
415     CALL MDSWRITEFIELD(fn,precFloat32,gf,
416     & 'RL',1,PLCLtave,nno,myIter,myThid)
417    
418     DO K = 1, Nr
419     nno = nno + 1
420     CALL FROM3DTO2D(RHtave,K,AUX2D,myThid)
421     CALL MDSWRITEFIELD(fn,precFloat32,gf,
422     & 'RL',1,AUX2D,nno,myIter,myThid)
423     ENDDO
424     DO K = 1, Nr
425     nno = nno + 1
426     CALL FROM3DTO2D(CLDFtave,K,AUX2D,myThid)
427     CALL MDSWRITEFIELD(fn,precFloat32,gf,
428     & 'RL',1,AUX2D,nno,myIter,myThid)
429     ENDDO
430     DO K = 1, Nr
431     nno = nno + 1
432     CALL FROM3DTO2D(CLDQtave,K,AUX2D,myThid)
433     CALL MDSWRITEFIELD(fn,precFloat32,gf,
434     & 'RL',1,AUX2D,nno,myIter,myThid)
435     ENDDO
436     DO K = 1, Nr
437     nno = nno + 1
438     CALL FROM3DTO2D(CLDQCtave,K,AUX2D,myThid)
439     CALL MDSWRITEFIELD(fn,precFloat32,gf,
440     & 'RL',1,AUX2D,nno,myIter,myThid)
441     ENDDO
442     DO K = 1, Nr
443     nno = nno + 1
444     CALL FROM3DTO2D(RCtave,K,AUX2D,myThid)
445     CALL MDSWRITEFIELD(fn,precFloat32,gf,
446     & 'RL',1,AUX2D,nno,myIter,myThid)
447     ENDDO
448     DO K = 1, Nr
449     nno = nno + 1
450     CALL FROM3DTO2D(CRLWtave,K,AUX2D,myThid)
451     CALL MDSWRITEFIELD(fn,precFloat32,gf,
452     & 'RL',1,AUX2D,nno,myIter,myThid)
453     ENDDO
454     DO K = 1, Nr
455     nno = nno + 1
456     CALL FROM3DTO2D(CRSWtave,K,AUX2D,myThid)
457     CALL MDSWRITEFIELD(fn,precFloat32,gf,
458     & 'RL',1,AUX2D,nno,myIter,myThid)
459     ENDDO
460     DO K = 1, Nr
461     nno = nno + 1
462     CALL FROM3DTO2D(MUPtave,K,AUX2D,myThid)
463     CALL MDSWRITEFIELD(fn,precFloat32,gf,
464     & 'RL',1,AUX2D,nno,myIter,myThid)
465     ENDDO
466     DO K = 1, Nr
467     nno = nno + 1
468     CALL FROM3DTO2D(MDNtave,K,AUX2D,myThid)
469     CALL MDSWRITEFIELD(fn,precFloat32,gf,
470     & 'RL',1,AUX2D,nno,myIter,myThid)
471     ENDDO
472     DO K = 1, Nr
473     nno = nno + 1
474     CALL FROM3DTO2D(MDN0tave,K,AUX2D,myThid)
475     CALL MDSWRITEFIELD(fn,precFloat32,gf,
476     & 'RL',1,AUX2D,nno,myIter,myThid)
477     ENDDO
478     DO K = 1, Nr
479     nno = nno + 1
480     CALL FROM3DTO2D(ENTtave,K,AUX2D,myThid)
481     CALL MDSWRITEFIELD(fn,precFloat32,gf,
482     & 'RL',1,AUX2D,nno,myIter,myThid)
483     ENDDO
484     DO K = 1, Nr
485     nno = nno + 1
486     CALL FROM3DTO2D(DETtave,K,AUX2D,myThid)
487     CALL MDSWRITEFIELD(fn,precFloat32,gf,
488     & 'RL',1,AUX2D,nno,myIter,myThid)
489     ENDDO
490     DO K = 1, Nr
491     nno = nno + 1
492     CALL FROM3DTO2D(Utave,K,AUX2D,myThid)
493     CALL MDSWRITEFIELD(fn,precFloat32,gf,
494     & 'RL',1,AUX2D,nno,myIter,myThid)
495     ENDDO
496     DO K = 1, Nr
497     nno = nno + 1
498     CALL FROM3DTO2D(Vtave,K,AUX2D,myThid)
499     CALL MDSWRITEFIELD(fn,precFloat32,gf,
500     & 'RL',1,AUX2D,nno,myIter,myThid)
501     ENDDO
502     DO K = 1, Nr
503     nno = nno + 1
504     CALL FROM3DTO2D(Wtave,K,AUX2D,myThid)
505     CALL MDSWRITEFIELD(fn,precFloat32,gf,
506     & 'RL',1,AUX2D,nno,myIter,myThid)
507     ENDDO
508     DO K = 1, Nr
509     nno = nno + 1
510     CALL FROM3DTO2D(Ttave,K,AUX2D,myThid)
511     CALL MDSWRITEFIELD(fn,precFloat32,gf,
512     & 'RL',1,AUX2D,nno,myIter,myThid)
513     ENDDO
514     DO K = 1, Nr
515     nno = nno + 1
516     CALL FROM3DTO2D(Qtave,K,AUX2D,myThid)
517     CALL MDSWRITEFIELD(fn,precFloat32,gf,
518     & 'RL',1,AUX2D,nno,myIter,myThid)
519     ENDDO
520     DO K = 1, Nr
521     nno = nno + 1
522     CALL FROM3DTO2D(SXtave,K,AUX2D,myThid)
523     CALL MDSWRITEFIELD(fn,precFloat32,gf,
524     & 'RL',1,AUX2D,nno,myIter,myThid)
525     ENDDO
526     DO K = 1, Nr
527     nno = nno + 1
528     CALL FROM3DTO2D(HXtave,K,AUX2D,myThid)
529     CALL MDSWRITEFIELD(fn,precFloat32,gf,
530     & 'RL',1,AUX2D,nno,myIter,myThid)
531     ENDDO
532     DO K = 1, Nr
533     nno = nno + 1
534     CALL FROM3DTO2D(DTCNVtave,K,AUX2D,myThid)
535     CALL MDSWRITEFIELD(fn,precFloat32,gf,
536     & 'RL',1,AUX2D,nno,myIter,myThid)
537     ENDDO
538     DO K = 1, Nr
539     nno = nno + 1
540     CALL FROM3DTO2D(DTLSCtave,K,AUX2D,myThid)
541     CALL MDSWRITEFIELD(fn,precFloat32,gf,
542     & 'RL',1,AUX2D,nno,myIter,myThid)
543     ENDDO
544     DO K = 1, Nr
545     nno = nno + 1
546     CALL FROM3DTO2D(DTPBLtave,K,AUX2D,myThid)
547     CALL MDSWRITEFIELD(fn,precFloat32,gf,
548     & 'RL',1,AUX2D,nno,myIter,myThid)
549     ENDDO
550    
551     END IF
552    
553     _END_MASTER( myThid )
554     _BARRIER
555    
556     C Reset averages to zero
557     DO bj = myByLo(myThid), myByHi(myThid)
558     DO bi = myBxLo(myThid), myBxHi(myThid)
559     CALL TIMEAVE_RESET(TSWtave, 1, bi, bj, myThid)
560     CALL TIMEAVE_RESET(TLWtave, 1, bi, bj, myThid)
561     CALL TIMEAVE_RESET(SSWtave, 1, bi, bj, myThid)
562     CALL TIMEAVE_RESET(SLWtave, 1, bi, bj, myThid)
563     CALL TIMEAVE_RESET(SINStave, 1, bi, bj, myThid)
564     CALL TIMEAVE_RESET(BKTtave, 1, bi, bj, myThid)
565     CALL TIMEAVE_RESET(SHFtave, 1, bi, bj, myThid)
566     CALL TIMEAVE_RESET(LHFtave, 1, bi, bj, myThid)
567     CALL TIMEAVE_RESET(USTRtave, 1, bi, bj, myThid)
568     CALL TIMEAVE_RESET(VSTRtave, 1, bi, bj, myThid)
569     CALL TIMEAVE_RESET(PRECNVtave, 1, bi, bj, myThid)
570     CALL TIMEAVE_RESET(PRECLStave, 1, bi, bj, myThid)
571     CALL TIMEAVE_RESET(CLOUDCtave, 1, bi, bj, myThid)
572     CALL TIMEAVE_RESET(SSTtave, 1, bi, bj, myThid)
573     CALL TIMEAVE_RESET(QFLUXtave, 1, bi, bj, myThid)
574     CALL TIMEAVE_RESET(PRWtave, 1, bi, bj, myThid)
575     CALL TIMEAVE_RESET(TSW0tave, 1, bi, bj, myThid)
576     CALL TIMEAVE_RESET(TLW0tave, 1, bi, bj, myThid)
577     CALL TIMEAVE_RESET(CBMFtave, 1, bi, bj, myThid)
578     CALL TIMEAVE_RESET(PLCLtave, 1, bi, bj, myThid)
579    
580     CALL TIMEAVE_RESET(RHtave, Nr, bi, bj, myThid)
581     CALL TIMEAVE_RESET(CLDFtave, Nr, bi, bj, myThid)
582     CALL TIMEAVE_RESET(CLDQtave, Nr, bi, bj, myThid)
583     CALL TIMEAVE_RESET(CLDQCtave, Nr, bi, bj, myThid)
584     CALL TIMEAVE_RESET(RCtave, Nr, bi, bj, myThid)
585     CALL TIMEAVE_RESET(CRLWtave, Nr, bi, bj, myThid)
586     CALL TIMEAVE_RESET(CRSWtave, Nr, bi, bj, myThid)
587     CALL TIMEAVE_RESET(MUPtave, Nr, bi, bj, myThid)
588     CALL TIMEAVE_RESET(MDNtave, Nr, bi, bj, myThid)
589     CALL TIMEAVE_RESET(MDN0tave, Nr, bi, bj, myThid)
590     CALL TIMEAVE_RESET(ENTtave, Nr, bi, bj, myThid)
591     CALL TIMEAVE_RESET(DETtave, Nr, bi, bj, myThid)
592     CALL TIMEAVE_RESET(Utave, Nr, bi, bj, myThid)
593     CALL TIMEAVE_RESET(Vtave, Nr, bi, bj, myThid)
594     CALL TIMEAVE_RESET(Wtave, Nr, bi, bj, myThid)
595     CALL TIMEAVE_RESET(Ttave, Nr, bi, bj, myThid)
596     CALL TIMEAVE_RESET(Qtave, Nr, bi, bj, myThid)
597     CC(acz) CALL TIMEAVE_RESET(PHItave, Nr, bi, bj, myThid)
598     CALL TIMEAVE_RESET(SXtave, Nr, bi, bj, myThid)
599     CALL TIMEAVE_RESET(HXtave, Nr, bi, bj, myThid)
600     CALL TIMEAVE_RESET(DTCNVtave, Nr, bi, bj, myThid)
601     CALL TIMEAVE_RESET(DQCNVtave, Nr, bi, bj, myThid)
602     CALL TIMEAVE_RESET(DTLSCtave, Nr, bi, bj, myThid)
603     CALL TIMEAVE_RESET(DTPBLtave, Nr, bi, bj, myThid)
604     CALL TIMEAVE_RESET(UT_PBLtave, Nr, bi, bj, myThid)
605     CALL TIMEAVE_RESET(VT_PBLtave, Nr, bi, bj, myThid)
606    
607    
608     C normalize the zonal mean
609     zonal_time_ave = 0.0
610     do j = 1,sNy
611     do k = 1,Nr
612     Uzav(j,K,bi,bj) = 0.
613     Vzav(j,K,bi,bj) = 0.
614     Wzav(j,K,bi,bj) = 0.
615     Tzav(j,K,bi,bj) = 0.
616     Qzav(j,K,bi,bj) = 0.
617     RHzav(j,K,bi,bj) = 0.
618    
619     UVzav(j,K,bi,bj) = 0.
620     VTzav(j,K,bi,bj) = 0.
621     VQzav(j,K,bi,bj) = 0.
622    
623     UWzav(j,K,bi,bj) = 0.
624     WTzav(j,K,bi,bj) = 0.
625     WQzav(j,K,bi,bj) = 0.
626    
627     CLDFzav(j,K,bi,bj) = 0.
628     CLDQzav(j,K,bi,bj) = 0.
629     CLDQCzav(j,K,bi,bj)= 0.
630     RCzav(j,K,bi,bj) = 0.
631     DTCNVzav(j,K,bi,bj)= 0.
632     DQCNVzav(j,K,bi,bj)= 0.
633     DTLSCzav(j,K,bi,bj)= 0.
634     DTPBLzav(j,K,bi,bj)= 0.
635     UT_PBLzav(j,K,bi,bj)= 0.
636     VT_PBLzav(j,K,bi,bj)= 0.
637     UT_CNVzav(j,K,bi,bj)= 0.
638     VT_CNVzav(j,K,bi,bj)= 0.
639     UT_ADJzav(j,K,bi,bj)= 0.
640     VT_ADJzav(j,K,bi,bj)= 0.
641     TT_ADJzav(j,K,bi,bj)= 0.
642     QT_ADJzav(j,K,bi,bj)= 0.
643     PHIzav(j,K,bi,bj) = 0.
644     end do
645     end do
646    
647    
648    
649     DO k=1,Nr
650     MITPHYS_TimeAve(k,bi,bj)=0.
651     ENDDO
652     ENDDO
653     ENDDO
654    
655     ENDIF
656    
657    
658     #endif /* ALLOW_TIMEAVE */
659    
660     #endif /* ALLOW_MITPHYS */
661    
662     RETURN
663     END

  ViewVC Help
Powered by ViewVC 1.1.22