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

Contents 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 - (show 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 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