/[MITgcm]/MITgcm_contrib/darwin2/pkg/darwin/darwin_diags.F
ViewVC logotype

Annotation of /MITgcm_contrib/darwin2/pkg/darwin/darwin_diags.F

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


Revision 1.7 - (hide annotations) (download)
Tue Oct 23 17:55:30 2012 UTC (12 years, 8 months ago) by stephd
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt64k_20130723, ctrb_darwin2_ckpt64h_20130528, ctrb_darwin2_ckpt64m_20130820, ctrb_darwin2_ckpt64f_20130405, ctrb_darwin2_ckpt64a_20121116, ctrb_darwin2_ckpt64n_20130826, ctrb_darwin2_ckpt64o_20131024, ctrb_darwin2_ckpt64i_20130622, ctrb_darwin2_ckpt64e_20130305, ctrb_darwin2_ckpt64g_20130503, ctrb_darwin2_ckpt64l_20130806, ctrb_darwin2_ckpt64c_20130120, ctrb_darwin2_ckpt64j_20130704, ctrb_darwin2_ckpt64p_20131118, ctrb_darwin2_ckpt64b_20121224, ctrb_darwin2_ckpt64d_20130219, ctrb_darwin2_ckpt64q_20131118, ctrb_darwin2_ckpt64p_20131024
Changes since 1.6: +143 -1 lines
o add diagnostics for chl:c, Ek and Ek/E

1 stephd 1.7 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/darwin/darwin_diags.F,v 1.6 2012/09/20 14:13:29 jahn Exp $
2 stephd 1.2 C $Name: $
3 jahn 1.1
4     #include "DARWIN_OPTIONS.h"
5    
6     CStartOfInterface
7     SUBROUTINE DARWIN_DIAGS( myTime, myIter, myThid )
8     C /==========================================================\
9     C | SUBROUTINE DARWIN_DIAGS |
10     C | o Do DARWIN diagnostic output |
11     C |==========================================================|
12     C \==========================================================/
13     IMPLICIT NONE
14    
15     C === Global variables ===
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "PTRACERS_SIZE.h"
20     #include "PTRACERS_PARAMS.h"
21     #include "DARWIN_SIZE.h"
22     #include "SPECTRAL_SIZE.h"
23     #include "SPECTRAL.h"
24     #include "DARWIN_IO.h"
25    
26     C == Routine arguments ==
27     C myTime - Current time of simulation ( s )
28     C myIter - Iteration number
29     C myThid - Number of this instance of INI_FORCING
30     _RL myTime
31     INTEGER myIter
32     INTEGER myThid
33     CEndOfInterface
34    
35    
36     C == Local variables ==
37     LOGICAL DIFFERENT_MULTIPLE
38     EXTERNAL DIFFERENT_MULTIPLE
39     INTEGER bi, bj, k
40     INTEGER np
41     INTEGER ii,jj,ilnb
42     #ifdef ALLOW_QUOTA
43     INTEGER iPhy
44     #endif
45     CHARACTER*(MAX_LEN_MBUF) suff
46     CHARACTER*(1) pf
47     CHARACTER*(MAX_LEN_FNAM) name
48     C Functions
49     INTEGER ILNBLNK
50    
51     _RL Nfixtot, PPtot, Denittot
52    
53     #ifdef ALLOW_DARWIN
54    
55     IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
56     pf(1:1) = 'D'
57     ELSE
58     pf(1:1) = 'R'
59     ENDIF
60    
61     #ifdef ALLOW_TIMEAVE
62    
63     #ifdef ALLOW_QUOTA
64     iPhy = ibiomass
65     #endif
66    
67     C Dump files and restart average computation if needed
68     IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,deltaTClock).
69     & and.myIter.ne.nIter0 ) THEN
70    
71     C Normalize by integrated time
72     DO bj = myByLo(myThid), myByHi(myThid)
73     DO bi = myBxLo(myThid), myBxHi(myThid)
74     CALL TIMEAVE_NORMALIZ(PARave, DAR_timeave, nR ,
75     & bi,bj,myThid)
76     CALL TIMEAVE_NORMALIZ(PPave, DAR_timeave, nR ,
77     & bi,bj,myThid)
78 benw 1.3 #ifdef QUOTA_DIAG_LIMIT
79     do np=1,npmax
80     CALL TIMEAVE_NORMALIZ(Nlimave(1-Olx,1-Oly,1,1,1,np),
81     & DAR_timeave, nR ,bi,bj,myThid)
82     CALL TIMEAVE_NORMALIZ(Flimave(1-Olx,1-Oly,1,1,1,np),
83     & DAR_timeave, nR ,bi,bj,myThid)
84     CALL TIMEAVE_NORMALIZ(Ilimave(1-Olx,1-Oly,1,1,1,np),
85     & DAR_timeave, nR ,bi,bj,myThid)
86     enddo
87     CALL TIMEAVE_NORMALIZ(Tlimave,DAR_timeave, nR ,
88     & bi,bj,myThid)
89     #endif
90 jahn 1.1 #ifndef ALLOW_QUOTA
91     CALL TIMEAVE_NORMALIZ(Chlave, DAR_timeave, nR ,
92     & bi,bj,myThid)
93     #endif
94     CALL TIMEAVE_NORMALIZ(Nfixave, DAR_timeave, nR ,
95     & bi,bj,myThid)
96     CALL TIMEAVE_NORMALIZ(Denitave, DAR_timeave, nR ,
97     & bi,bj,myThid)
98    
99 stephd 1.7 #ifdef DAR_DIAG_PARW
100     do ii = 1,tlam
101     CALL TIMEAVE_NORMALIZ(PARwave(1-Olx,1-Oly,1,1,1,ii),
102     & DAR_timeave,nR,bi,bj,myThid)
103     enddo
104     do np = 1,npmax
105     CALL TIMEAVE_NORMALIZ(chl2cave(1-Olx,1-Oly,1,1,1,np),
106     & DAR_timeave,nR,bi,bj,myThid)
107     enddo
108     #endif
109 jahn 1.1 #ifdef DAR_DIAG_ACDOM
110     CALL TIMEAVE_NORMALIZ(aCDOMave, DAR_timeave, nR ,
111     & bi,bj,myThid)
112     #endif
113     #ifdef DAR_DIAG_IRR
114     do ii = 1,tlam
115     CALL TIMEAVE_NORMALIZ(Edave(1-Olx,1-Oly,1,1,1,ii),
116     & DAR_timeave,nR,bi,bj,myThid)
117     CALL TIMEAVE_NORMALIZ(Esave(1-Olx,1-Oly,1,1,1,ii),
118     & DAR_timeave,nR,bi,bj,myThid)
119     CALL TIMEAVE_NORMALIZ(Euave(1-Olx,1-Oly,1,1,1,ii),
120     & DAR_timeave,nR,bi,bj,myThid)
121 jahn 1.5 CALL TIMEAVE_NORMALIZ(Estave(1-Olx,1-Oly,1,1,1,ii),
122     & DAR_timeave,nR,bi,bj,myThid)
123 jahn 1.1 CALL TIMEAVE_NORMALIZ(Eutave(1-Olx,1-Oly,1,1,1,ii),
124     & DAR_timeave,nR,bi,bj,myThid)
125     enddo
126     #endif
127 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
128     do ii = 1,tlam
129 jahn 1.5 CALL TIMEAVE_NORMALIZ(amp1ave(1-Olx,1-Oly,1,1,1,ii),
130 jahn 1.4 & DAR_timeave,nR,bi,bj,myThid)
131 jahn 1.5 CALL TIMEAVE_NORMALIZ(amp2ave(1-Olx,1-Oly,1,1,1,ii),
132 jahn 1.4 & DAR_timeave,nR,bi,bj,myThid)
133     enddo
134     #endif
135 jahn 1.1 #ifdef DAR_DIAG_ABSORP
136     do ii = 1,tlam
137     CALL TIMEAVE_NORMALIZ(aave(1-Olx,1-Oly,1,1,1,ii),
138     & DAR_timeave,nR,bi,bj,myThid)
139     enddo
140     #endif
141     #ifdef DAR_DIAG_SCATTER
142     do ii = 1,tlam
143     CALL TIMEAVE_NORMALIZ(btave(1-Olx,1-Oly,1,1,1,ii),
144     & DAR_timeave,nR,bi,bj,myThid)
145     CALL TIMEAVE_NORMALIZ(bbave(1-Olx,1-Oly,1,1,1,ii),
146     & DAR_timeave,nR,bi,bj,myThid)
147     enddo
148     #endif
149     #ifdef DAR_DIAG_PART_SCATTER
150     do ii = 1,tlam
151     CALL TIMEAVE_NORMALIZ(apartave(1-Olx,1-Oly,1,1,1,ii),
152     & DAR_timeave,nR,bi,bj,myThid)
153     CALL TIMEAVE_NORMALIZ(btpartave(1-Olx,1-Oly,1,1,1,ii),
154     & DAR_timeave,nR,bi,bj,myThid)
155     CALL TIMEAVE_NORMALIZ(bbpartave(1-Olx,1-Oly,1,1,1,ii),
156     & DAR_timeave,nR,bi,bj,myThid)
157     enddo
158     #endif
159 jahn 1.4 #ifdef DAR_RADTRANS
160     CALL TIMEAVE_NORMALIZ(rmudave(1-Olx,1-Oly,1,1),
161     & DAR_timeave,1,bi,bj,myThid)
162     #endif
163 stephd 1.7 #ifdef DAR_DIAG_EK
164     do np = 1,npmax
165     CALL TIMEAVE_NORMALIZ(Ekave(1-Olx,1-Oly,1,1,1,np),
166     & DAR_timeave,nR,bi,bj,myThid)
167     CALL TIMEAVE_NORMALIZ(EkoverEave(1-Olx,1-Oly,1,1,1,np),
168     & DAR_timeave,nR,bi,bj,myThid)
169     CALL TIMEAVE_NORMALIZ(acclimave(1-Olx,1-Oly,1,1,1,np),
170     & DAR_timeave,nR,bi,bj,myThid)
171     do ii = 1,tlam
172     CALL TIMEAVE_NORMALIZ(Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii),
173     & DAR_timeave,nR,bi,bj,myThid)
174     CALL TIMEAVE_NORMALIZ(
175     & EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii),
176     & DAR_timeave,nR,bi,bj,myThid)
177     enddo
178     enddo
179     #endif
180 jahn 1.1
181     c ANNA_TAVE
182     #ifdef WAVES_DIAG_PCHL
183     do np=1,npmax
184     CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),
185     & DAR_timeave, nR ,
186     & bi,bj,myThid)
187     c CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),
188     c & DAR_timeave, nR ,
189     c & bi,bj,myThid)
190     enddo
191     #endif
192     c ANNA end TAVE
193    
194     #ifdef DAR_DIAG_RSTAR
195     do np=1,npmax
196     CALL TIMEAVE_NORMALIZ(Rstarave(1-Olx,1-Oly,1,1,1,np),
197     & DAR_timeave, nR ,
198     & bi,bj,myThid)
199     CALL TIMEAVE_NORMALIZ(RNstarave(1-Olx,1-Oly,1,1,1,np),
200     & DAR_timeave, nR ,
201     & bi,bj,myThid)
202     enddo
203     #endif
204     #ifdef DAR_DIAG_DIVER
205     CALL TIMEAVE_NORMALIZ(Diver1ave(1-Olx,1-Oly,1,1,1),
206     & DAR_timeave, nR ,
207     & bi,bj,myThid)
208     CALL TIMEAVE_NORMALIZ(Diver2ave(1-Olx,1-Oly,1,1,1),
209     & DAR_timeave, nR ,
210     & bi,bj,myThid)
211     CALL TIMEAVE_NORMALIZ(Diver3ave(1-Olx,1-Oly,1,1,1),
212     & DAR_timeave, nR ,
213     & bi,bj,myThid)
214     CALL TIMEAVE_NORMALIZ(Diver4ave(1-Olx,1-Oly,1,1,1),
215     & DAR_timeave, nR ,
216     & bi,bj,myThid)
217     #endif
218     c
219     #ifdef DAR_DIAG_GROW
220     do np=1,npmax
221     CALL TIMEAVE_NORMALIZ(Growave(1-Olx,1-Oly,1,1,1,np),
222     & DAR_timeave, nR ,
223     & bi,bj,myThid)
224     CALL TIMEAVE_NORMALIZ(Growsqave(1-Olx,1-Oly,1,1,1,np),
225     & DAR_timeave, nR ,
226     & bi,bj,myThid)
227     enddo
228     #endif
229     #ifdef ALLOW_DIAZ
230     c
231     #ifdef DAR_DIAG_NFIXP
232     do np=1,npmax
233     CALL TIMEAVE_NORMALIZ(NfixPave(1-Olx,1-Oly,1,1,1,np),
234     & DAR_timeave, nR ,
235     & bi,bj,myThid)
236     enddo
237     #endif
238     #endif
239     ENDDO
240     ENDDO
241    
242     #ifdef CALC_RATE_TOTALS
243     call tracer_sumvol(
244     & PPave, nR, PPtot, myThid )
245     PPtot=PPtot*120. _d 0 * 12. _d 0* 1. _d -3* 31536000. _d 0
246 jahn 1.6 & *1. _d -15
247 jahn 1.1 call tracer_sumvol(
248     & Nfixave, nR, Nfixtot, myThid )
249     Nfixtot=Nfixtot*14. _d 0 *1. _d -3* 31536000. _d 0
250     & *1 _d -12
251     call tracer_sumvol(
252     & Denitave, nR, Denittot, myThid )
253     Denittot=Denittot*14. _d 0 *1. _d -3* 31536000. _d 0
254     & *1 _d -12
255 stephd 1.2 write(dar_ratetot_unit,*) myIter, PPtot, Nfixtot, Denittot
256 jahn 1.1 #endif
257    
258    
259     IF ( PTRACERS_timeave_mdsio ) THEN
260     WRITE(suff,'(I10.10)') myIter
261     CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave,
262     & myIter,myThid)
263     CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave,
264     & myIter,myThid)
265     #ifndef ALLOW_QUOTA
266     CALL WRITE_FLD_XYZ_RL('DAR_Chltave.',suff,Chlave,
267     & myIter,myThid)
268     #endif
269     CALL WRITE_FLD_XYZ_RL('DAR_Nfixtave.',suff,Nfixave,
270     & myIter,myThid)
271     CALL WRITE_FLD_XYZ_RL('DAR_Denittave.',suff,Denitave,
272     & myIter,myThid)
273 stephd 1.7 #ifdef DAR_DIAG_PARW
274     do ii = 1,tlam
275     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'PARwave',
276     & ii,'.',myIter
277     CALL WRITE_FLD_XYZ_RL(suff,' ',
278     & PARwave(1-Olx,1-Oly,1,1,1,ii),
279     & myIter,myThid)
280     enddo
281     do np = 1,npmax
282     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'chl2cave',
283     & np,'.',myIter
284     CALL WRITE_FLD_XYZ_RL(suff,' ',
285     & chl2cave(1-Olx,1-Oly,1,1,1,np),
286     & myIter,myThid)
287     enddo
288     #endif
289 jahn 1.1 #ifdef DAR_DIAG_ACDOM
290     CALL WRITE_FLD_XYZ_RL('DAR_aCDOMtave',suff,aCDOMave,
291     & myIter,myThid)
292     #endif
293     #ifdef DAR_DIAG_IRR
294     do ii = 1,tlam
295     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Edave',
296     & ii,'.',myIter
297     CALL WRITE_FLD_XYZ_RL(suff,' ',
298     & Edave(1-Olx,1-Oly,1,1,1,ii),
299     & myIter,myThid)
300     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Esave',
301     & ii,'.',myIter
302     CALL WRITE_FLD_XYZ_RL(suff,' ',
303     & Esave(1-Olx,1-Oly,1,1,1,ii),
304     & myIter,myThid)
305     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Euave',
306     & ii,'.',myIter
307     CALL WRITE_FLD_XYZ_RL(suff,' ',
308     & Euave(1-Olx,1-Oly,1,1,1,ii),
309     & myIter,myThid)
310 jahn 1.5 WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Estopave',
311     & ii,'.',myIter
312     CALL WRITE_FLD_XYZ_RL(suff,' ',
313     & Estave(1-Olx,1-Oly,1,1,1,ii),
314     & myIter,myThid)
315 jahn 1.1 WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Eutopave',
316     & ii,'.',myIter
317     CALL WRITE_FLD_XYZ_RL(suff,' ',
318     & Eutave(1-Olx,1-Oly,1,1,1,ii),
319     & myIter,myThid)
320     enddo
321     #endif
322 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
323     do ii = 1,tlam
324 jahn 1.5 WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp1ave',
325 jahn 1.4 & ii,'.',myIter
326     CALL WRITE_FLD_XYZ_RL(suff,' ',
327 jahn 1.5 & amp1ave(1-Olx,1-Oly,1,1,1,ii),
328 jahn 1.4 & myIter,myThid)
329 jahn 1.5 WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp2ave',
330 jahn 1.4 & ii,'.',myIter
331     CALL WRITE_FLD_XYZ_RL(suff,' ',
332 jahn 1.5 & amp2ave(1-Olx,1-Oly,1,1,1,ii),
333 jahn 1.4 & myIter,myThid)
334     enddo
335     #endif
336 jahn 1.1 #ifdef DAR_DIAG_ABSORP
337     do ii = 1,tlam
338     WRITE(suff,'(A4,I2.2,A1,I10.10)') 'aave',
339     & ii,'.',myIter
340     CALL WRITE_FLD_XYZ_RL(suff,' ',
341     & aave(1-Olx,1-Oly,1,1,1,ii),
342     & myIter,myThid)
343     enddo
344     #endif
345     #ifdef DAR_DIAG_SCATTER
346     do ii = 1,tlam
347     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'btave',
348     & ii,'.',myIter
349     CALL WRITE_FLD_XYZ_RL(suff,' ',
350     & btave(1-Olx,1-Oly,1,1,1,ii),
351     & myIter,myThid)
352     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'bbave',
353     & ii,'.',myIter
354     CALL WRITE_FLD_XYZ_RL(suff,' ',
355     & bbave(1-Olx,1-Oly,1,1,1,ii),
356     & myIter,myThid)
357     enddo
358     #endif
359     #ifdef DAR_DIAG_PART_SCATTER
360     do ii = 1,tlam
361     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'apartave',
362     & ii,'.',myIter
363     CALL WRITE_FLD_XYZ_RL(suff,' ',
364     & apartave(1-Olx,1-Oly,1,1,1,ii),
365     & myIter,myThid)
366     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'btpartave',
367     & ii,'.',myIter
368     CALL WRITE_FLD_XYZ_RL(suff,' ',
369     & btpartave(1-Olx,1-Oly,1,1,1,ii),
370     & myIter,myThid)
371     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'bbpartave',
372     & ii,'.',myIter
373     CALL WRITE_FLD_XYZ_RL(suff,' ',
374     & bbpartave(1-Olx,1-Oly,1,1,1,ii),
375     & myIter,myThid)
376     enddo
377     #endif
378 jahn 1.4 #ifdef DAR_RADTRANS
379     WRITE(suff,'(A7,A1,I10.10)') 'rmudave',
380     & '.',myIter
381     CALL WRITE_FLD_XY_RL(suff,' ',
382     & rmudave(1-Olx,1-Oly,1,1),
383     & myIter,myThid)
384     #endif
385 stephd 1.7 #ifdef DAR_DIAG_EK
386     do np = 1,npmax
387     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Ekave',
388     & np,'.',myIter
389     CALL WRITE_FLD_XYZ_RL(suff,' ',
390     & Ekave(1-Olx,1-Oly,1,1,1,np),
391     & myIter,myThid)
392     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'EkoverEave',
393     & np,'.',myIter
394     CALL WRITE_FLD_XYZ_RL(suff,' ',
395     & EkoverEave(1-Olx,1-Oly,1,1,1,np),
396     & myIter,myThid)
397     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'acclimave',
398     & np,'.',myIter
399     CALL WRITE_FLD_XYZ_RL(suff,' ',
400     & acclimave(1-Olx,1-Oly,1,1,1,np),
401     & myIter,myThid)
402     do ii = 1,tlam
403     WRITE(suff,'(A8,I2.2,A1,I2.2,A1,I10.10)') 'Ek_nl_ave',
404     & np,'_',ii,'.',myIter
405     CALL WRITE_FLD_XYZ_RL(suff,' ',
406     & Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii),
407     & myIter,myThid)
408     WRITE(suff,'(A8,I2.2,A1,I2.2,A1,I10.10)') 'EkoverE_nl_ave',
409     & np,'_',ii,'.',myIter
410     CALL WRITE_FLD_XYZ_RL(suff,' ',
411     & EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii),
412     & myIter,myThid)
413     enddo
414     enddo
415     #endif
416 jahn 1.1
417     c ANNA_TAVE
418     #ifdef WAVES_DIAG_PCHL
419     do np=1,npmax
420     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Pchlave',
421     & np,'.',myIter
422     CALL WRITE_FLD_XYZ_RL(suff,' ',
423     & Pchlave(1-Olx,1-Oly,1,1,1,np),
424     & myIter,myThid)
425     enddo
426     #endif
427     c ANNA end TAVE
428     #ifdef DAR_DIAG_RSTAR
429     do np=1,npmax
430     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Rstarave',
431     & np,'.',myIter
432     CALL WRITE_FLD_XYZ_RL(suff,' ',
433     & Rstarave(1-Olx,1-Oly,1,1,1,np),
434     & myIter,myThid)
435     enddo
436     do np=1,npmax
437     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'RNstarave',
438     & np,'.',myIter
439     CALL WRITE_FLD_XYZ_RL(suff,' ',
440     & RNstarave(1-Olx,1-Oly,1,1,1,np),
441     & myIter,myThid)
442     enddo
443     #endif
444     #ifdef DAR_DIAG_DIVER
445     WRITE(suff,'(I10.10)') myIter
446     CALL WRITE_FLD_XYZ_RL('DAR_Diver1tave.',suff,Diver1ave,
447     & myIter,myThid)
448     CALL WRITE_FLD_XYZ_RL('DAR_Diver2tave.',suff,Diver2ave,
449     & myIter,myThid)
450     CALL WRITE_FLD_XYZ_RL('DAR_Diver3tave.',suff,Diver3ave,
451     & myIter,myThid)
452     CALL WRITE_FLD_XYZ_RL('DAR_Diver4tave.',suff,Diver4ave,
453     & myIter,myThid)
454     #endif
455     c
456     #ifdef DAR_DIAG_GROW
457     do np=1,npmax
458     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growave',
459     & np,'.',myIter
460     CALL WRITE_FLD_XYZ_RL(suff,' ',
461     & Growave(1-Olx,1-Oly,1,1,1,np),
462     & myIter,myThid)
463     enddo
464     do np=1,npmax
465     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growsqave',
466     & np,'.',myIter
467     CALL WRITE_FLD_XYZ_RL(suff,' ',
468     & Growsqave(1-Olx,1-Oly,1,1,1,np),
469     & myIter,myThid)
470     enddo
471     #endif
472     c
473     #ifdef ALLOW_DIAZ
474     #ifdef DAR_DIAG_NFIXP
475     do np=1,npmax
476     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'NfixPave',
477     & np,'.',myIter
478     CALL WRITE_FLD_XYZ_RL(suff,' ',
479     & NfixPave(1-Olx,1-Oly,1,1,1,np),
480     & myIter,myThid)
481     enddo
482     #endif
483     #endif
484     ENDIF
485    
486     #ifdef ALLOW_MNC
487     IF ( PTRACERS_timeave_mnc ) THEN
488     CALL MNC_CW_SET_UDIM('dar_tave', -1, myThid)
489     CALL MNC_CW_RL_W_S('D','dar_tave',0,0,'T',myTime,myThid)
490     CALL MNC_CW_SET_UDIM('dar_tave', 0, myThid)
491     CALL MNC_CW_I_W_S('I','dar_tave',0,0,'iter',myIter,myThid)
492     CALL MNC_CW_RL_W(
493     & pf,'dar_tave',0,0,'dar_PAR_ave',PARave,myThid)
494     CALL MNC_CW_RL_W(
495     & pf,'dar_tave',0,0,'dar_PP_ave',PPave,myThid)
496 benw 1.3 #ifdef QUOTA_DIAG_LIMIT
497     do np=1,npmax
498     WRITE(name,'(a,i3.3)') 'dar_Nlim_',np
499     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
500     & Nlimave(1-OLx,1-OLy,1,1,1,np),myThid)
501     WRITE(name,'(a,i3.3)') 'dar_Flim_',np
502     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
503     & Flimave(1-OLx,1-OLy,1,1,1,np),myThid)
504     WRITE(name,'(a,i3.3)') 'dar_Ilim_',np
505     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
506     & Ilimave(1-OLx,1-OLy,1,1,1,np),myThid)
507     enddo
508     CALL MNC_CW_RL_W(
509     & pf,'dar_tave',0,0,'dar_Tlim_ave',Tlimave,myThid)
510     #endif
511 jahn 1.1 #ifndef ALLOW_QUOTA
512     CALL MNC_CW_RL_W(
513     & pf,'dar_tave',0,0,'dar_Chl_ave',Chlave,myThid)
514     #endif
515     CALL MNC_CW_RL_W(
516     & pf,'dar_tave',0,0,'dar_Nfix_ave',Nfixave,myThid)
517     CALL MNC_CW_RL_W(
518     & pf,'dar_tave',0,0,'dar_Denit_ave',Denitave,myThid)
519 stephd 1.7 #ifdef DAR_DIAG_PARW
520     do ii = 1,tlam
521     DO jj = 1,MAX_LEN_FNAM
522     name(jj:jj) = ' '
523     ENDDO
524     WRITE(name,'(a,i2.2)') 'dar_PARw',ii
525     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
526     & PARwave(1-OLx,1-OLy,1,1,1,ii),myThid)
527     enddo
528     do np = 1,npmax
529     DO jj = 1,MAX_LEN_FNAM
530     name(jj:jj) = ' '
531     ENDDO
532     WRITE(name,'(a,i2.2)') 'dar_chl2c',np
533     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
534     & chl2cave(1-OLx,1-OLy,1,1,1,np),myThid)
535     enddo
536     #endif
537 jahn 1.1 #ifdef DAR_DIAG_ACDOM
538     CALL MNC_CW_RL_W(
539     & pf,'dar_tave',0,0,'dar_aCDOM_ave',aCDOMave,myThid)
540     #endif
541     #ifdef DAR_DIAG_IRR
542     do ii = 1,tlam
543     DO jj = 1,MAX_LEN_FNAM
544     name(jj:jj) = ' '
545     ENDDO
546     WRITE(name,'(a,i2.2)') 'dar_Ed',ii
547     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
548     & Edave(1-OLx,1-OLy,1,1,1,ii),myThid)
549     WRITE(name,'(a,i2.2)') 'dar_Es',ii
550     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
551     & Esave(1-OLx,1-OLy,1,1,1,ii),myThid)
552     WRITE(name,'(a,i2.2)') 'dar_Eu',ii
553     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
554     & Euave(1-OLx,1-OLy,1,1,1,ii),myThid)
555 jahn 1.5 WRITE(name,'(a,i2.2)') 'dar_Estop',ii
556     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
557     & Estave(1-OLx,1-OLy,1,1,1,ii),myThid)
558 jahn 1.1 WRITE(name,'(a,i2.2)') 'dar_Eutop',ii
559     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
560     & Eutave(1-OLx,1-OLy,1,1,1,ii),myThid)
561     enddo
562     #endif
563 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
564     do ii = 1,tlam
565     DO jj = 1,MAX_LEN_FNAM
566     name(jj:jj) = ' '
567     ENDDO
568 jahn 1.5 WRITE(name,'(a,i2.2)') 'dar_amp1_',ii
569 jahn 1.4 CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
570 jahn 1.5 & amp1ave(1-OLx,1-OLy,1,1,1,ii),myThid)
571     WRITE(name,'(a,i2.2)') 'dar_amp2_',ii
572 jahn 1.4 CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
573 jahn 1.5 & amp2ave(1-OLx,1-OLy,1,1,1,ii),myThid)
574 jahn 1.4 enddo
575     #endif
576 jahn 1.1 #ifdef DAR_DIAG_ABSORP
577     do ii = 1,tlam
578     DO jj = 1,MAX_LEN_FNAM
579     name(jj:jj) = ' '
580     ENDDO
581     WRITE(name,'(a,i2.2)') 'dar_a',ii
582     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
583     & aave(1-OLx,1-OLy,1,1,1,ii),myThid)
584     enddo
585     #endif
586     #ifdef DAR_DIAG_SCATTER
587     do ii = 1,tlam
588     DO jj = 1,MAX_LEN_FNAM
589     name(jj:jj) = ' '
590     ENDDO
591     WRITE(name,'(a,i2.2)') 'dar_bt',ii
592     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
593     & btave(1-OLx,1-OLy,1,1,1,ii),myThid)
594     WRITE(name,'(a,i2.2)') 'dar_bb',ii
595     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
596     & bbave(1-OLx,1-OLy,1,1,1,ii),myThid)
597     enddo
598     #endif
599     #ifdef DAR_DIAG_PART_SCATTER
600     do ii = 1,tlam
601     DO jj = 1,MAX_LEN_FNAM
602     name(jj:jj) = ' '
603     ENDDO
604     WRITE(name,'(a,i2.2)') 'dar_apart',ii
605     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
606     & apartave(1-OLx,1-OLy,1,1,1,ii),myThid)
607     WRITE(name,'(a,i2.2)') 'dar_btpart',ii
608     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
609     & btpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
610     WRITE(name,'(a,i2.2)') 'dar_bbpart',ii
611     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
612     & bbpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
613     enddo
614     #endif
615 jahn 1.4 #ifdef DAR_RADTRANS
616     DO jj = 1,MAX_LEN_FNAM
617     name(jj:jj) = ' '
618     ENDDO
619     WRITE(name,'(a)') 'dar_rmud'
620     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
621     & rmudave(1-OLx,1-OLy,1,1),myThid)
622     #endif
623 stephd 1.7 #ifdef DAR_DIAG_EK
624     do np = 1,npmax
625     DO jj = 1,MAX_LEN_FNAM
626     name(jj:jj) = ' '
627     ENDDO
628     WRITE(name,'(a,i2.2)') 'dar_Ek',np
629     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
630     & Ekave(1-OLx,1-OLy,1,1,1,np),myThid)
631     WRITE(name,'(a,i2.2)') 'dar_EkoverE',np
632     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
633     & EkoverEave(1-OLx,1-OLy,1,1,1,np),myThid)
634     WRITE(name,'(a,i2.2)') 'dar_acclim',np
635     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
636     & acclimave(1-OLx,1-OLy,1,1,1,np),myThid)
637     do ii = 1,tlam
638     WRITE(name,'(a,i2.2,a,i2.2)') 'dar_Ek_nl',np,'_',ii
639     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
640     & Ek_nlave(1-OLx,1-OLy,1,1,1,np,ii),myThid)
641     WRITE(name,'(a,i2.2,a,i2.2)') 'dar_EkoverE_nl',np,'_',ii
642     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
643     & EkoverE_nlave(1-OLx,1-OLy,1,1,1,np,ii),myThid)
644     enddo
645     enddo
646     #endif
647 jahn 1.1 c ANNA_TAVE
648     #ifdef WAVES_DIAG_PCHL
649     do np=1,npmax
650     ii=iPhy+np-1
651     DO jj = 1,MAX_LEN_FNAM
652     name(jj:jj) = ' '
653     ENDDO
654     ilnb = ILNBLNK(PTRACERS_names(ii))
655     WRITE(name,'(a,a)') 'dar_Pchl_',PTRACERS_names(ii)(1:ilnb)
656     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
657     & Pchlave(1-OLx,1-OLy,1,1,1,np),myThid)
658     enddo
659     #endif
660     c ANNA end TAVE
661     #ifdef DAR_DIAG_RSTAR
662     do np=1,npmax
663     ii=iPhy+np-1
664     DO jj = 1,MAX_LEN_FNAM
665     name(jj:jj) = ' '
666     ENDDO
667     ilnb = ILNBLNK(PTRACERS_names(ii))
668     WRITE(name,'(a,a)') 'dar_Rstar_',PTRACERS_names(ii)(1:ilnb)
669     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
670     & Rstarave(1-OLx,1-OLy,1,1,1,np),myThid)
671     enddo
672     do np=1,npmax
673     ii=iPhy+np-1
674     DO jj = 1,MAX_LEN_FNAM
675     name(jj:jj) = ' '
676     ENDDO
677     ilnb = ILNBLNK(PTRACERS_names(ii))
678     WRITE(name,'(a,a)') 'dar_RNstar_',PTRACERS_names(ii)(1:ilnb)
679     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
680     & RNstarave(1-OLx,1-OLy,1,1,1,np),myThid)
681     enddo
682     #endif
683     #ifdef DAR_DIAG_DIVER
684     CALL MNC_CW_RL_W(
685     & pf,'dar_tave',0,0,'dar_Diver1_ave',Diver1ave,myThid)
686     CALL MNC_CW_RL_W(
687     & pf,'dar_tave',0,0,'dar_Diver2_ave',Diver2ave,myThid)
688     CALL MNC_CW_RL_W(
689     & pf,'dar_tave',0,0,'dar_Diver3_ave',Diver3ave,myThid)
690     CALL MNC_CW_RL_W(
691     & pf,'dar_tave',0,0,'dar_Diver4_ave',Diver4ave,myThid)
692     #endif
693     c
694     #ifdef DAR_DIAG_GROW
695     do np=1,npmax
696     ii=iPhy+np-1
697     DO jj = 1,MAX_LEN_FNAM
698     name(jj:jj) = ' '
699     ENDDO
700     ilnb = ILNBLNK(PTRACERS_names(ii))
701     WRITE(name,'(a,a)') 'dar_Grow_',PTRACERS_names(ii)(1:ilnb)
702     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
703     & Growave(1-OLx,1-OLy,1,1,1,np),myThid)
704     enddo
705     do np=1,npmax
706     ii=iPhy+np-1
707     DO jj = 1,MAX_LEN_FNAM
708     name(jj:jj) = ' '
709     ENDDO
710     ilnb = ILNBLNK(PTRACERS_names(ii))
711     WRITE(name,'(a,a)') 'dar_Growsq_',PTRACERS_names(ii)(1:ilnb)
712     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
713     & Growsqave(1-OLx,1-OLy,1,1,1,np),myThid)
714     enddo
715     #endif
716     c
717     #ifdef ALLOW_DIAZ
718     #ifdef DAR_DIAG_NFIXP
719     do np=1,npmax
720     ii=iPhy+np-1
721     DO jj = 1,MAX_LEN_FNAM
722     name(jj:jj) = ' '
723     ENDDO
724     ilnb = ILNBLNK(PTRACERS_names(ii))
725     WRITE(name,'(a,a)') 'dar_NfixP_',PTRACERS_names(ii)(1:ilnb)
726     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
727     & NfixPave(1-OLx,1-OLy,1,1,1,np),myThid)
728     enddo
729     #endif
730     #endif
731     ENDIF
732     #endif
733    
734     C Reset averages to zero
735     DO bj = myByLo(myThid), myByHi(myThid)
736     DO bi = myBxLo(myThid), myBxHi(myThid)
737     CALL TIMEAVE_RESET(PARave,Nr,bi,bj,myThid)
738     CALL TIMEAVE_RESET(PPave,Nr,bi,bj,myThid)
739 benw 1.3 #ifdef QUOTA_DIAG_LIMIT
740     CALL TIMEAVE_RESET(Nlimave,Nr,bi,bj,myThid)
741     CALL TIMEAVE_RESET(Flimave,Nr,bi,bj,myThid)
742     CALL TIMEAVE_RESET(Ilimave,Nr,bi,bj,myThid)
743     CALL TIMEAVE_RESET(Tlimave,Nr,bi,bj,myThid)
744     #endif
745 jahn 1.1 #ifndef ALLOW_QUOTA
746     CALL TIMEAVE_RESET(Chlave,Nr,bi,bj,myThid)
747     #endif
748     CALL TIMEAVE_RESET(Nfixave,Nr,bi,bj,myThid)
749     CALL TIMEAVE_RESET(Denitave,Nr,bi,bj,myThid)
750 stephd 1.7 #ifdef DAR_DIAG_PARW
751     do ii = 1,tlam
752     CALL TIMEAVE_RESET(PARwave(1-OLx,1-OLy,1,1,1,ii),
753     & Nr,bi,bj,myThid)
754     enddo
755     do np = 1,npmax
756     CALL TIMEAVE_RESET(chl2cave(1-OLx,1-OLy,1,1,1,np),
757     & Nr,bi,bj,myThid)
758     enddo
759     #endif
760 jahn 1.1 #ifdef DAR_DIAG_ACDOM
761     CALL TIMEAVE_RESET(aCDOMave,Nr,bi,bj,myThid)
762     #endif
763     #ifdef DAR_DIAG_IRR
764     do ii = 1,tlam
765     CALL TIMEAVE_RESET(Edave(1-OLx,1-OLy,1,1,1,ii),
766     & Nr,bi,bj,myThid)
767     CALL TIMEAVE_RESET(Esave(1-OLx,1-OLy,1,1,1,ii),
768     & Nr,bi,bj,myThid)
769     CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,ii),
770     & Nr,bi,bj,myThid)
771 jahn 1.5 CALL TIMEAVE_RESET(Estave(1-OLx,1-OLy,1,1,1,ii),
772     & Nr,bi,bj,myThid)
773 jahn 1.1 CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,ii),
774     & Nr,bi,bj,myThid)
775     enddo
776     #endif
777 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
778     do ii = 1,tlam
779 jahn 1.5 CALL TIMEAVE_RESET(amp1ave(1-OLx,1-OLy,1,1,1,ii),
780 jahn 1.4 & Nr,bi,bj,myThid)
781 jahn 1.5 CALL TIMEAVE_RESET(amp2ave(1-OLx,1-OLy,1,1,1,ii),
782 jahn 1.4 & Nr,bi,bj,myThid)
783     enddo
784     #endif
785 jahn 1.1 #ifdef DAR_DIAG_ABSORP
786     do ii = 1,tlam
787     CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,ii),
788     & Nr,bi,bj,myThid)
789     enddo
790     #endif
791     #ifdef DAR_DIAG_SCATTER
792     do ii = 1,tlam
793     CALL TIMEAVE_RESET(btave(1-OLx,1-OLy,1,1,1,ii),
794     & Nr,bi,bj,myThid)
795     CALL TIMEAVE_RESET(bbave(1-OLx,1-OLy,1,1,1,ii),
796     & Nr,bi,bj,myThid)
797     enddo
798     #endif
799     #ifdef DAR_DIAG_PART_SCATTER
800     do ii = 1,tlam
801     CALL TIMEAVE_RESET(apartave(1-OLx,1-OLy,1,1,1,ii),
802     & Nr,bi,bj,myThid)
803     CALL TIMEAVE_RESET(btpartave(1-OLx,1-OLy,1,1,1,ii),
804     & Nr,bi,bj,myThid)
805     CALL TIMEAVE_RESET(bbpartave(1-OLx,1-OLy,1,1,1,ii),
806     & Nr,bi,bj,myThid)
807     enddo
808     #endif
809 jahn 1.4 #ifdef DAR_RADTRANS
810     CALL TIMEAVE_RESET(rmudave(1-OLx,1-OLy,1,1),
811     & 1,bi,bj,myThid)
812     #endif
813 stephd 1.7 #ifdef DAR_DIAG_EK
814     do np = 1,npmax
815     CALL TIMEAVE_RESET(Ekave(1-OLx,1-OLy,1,1,1,np),
816     & Nr,bi,bj,myThid)
817     CALL TIMEAVE_RESET(EkoverEave(1-OLx,1-OLy,1,1,1,np),
818     & Nr,bi,bj,myThid)
819     CALL TIMEAVE_RESET(acclimave(1-OLx,1-OLy,1,1,1,np),
820     & Nr,bi,bj,myThid)
821     do ii = 1,tlam
822     CALL TIMEAVE_RESET(Ek_nlave(1-OLx,1-OLy,1,1,1,np,ii),
823     & Nr,bi,bj,myThid)
824     CALL TIMEAVE_RESET(EkoverE_nlave(1-OLx,1-OLy,1,1,1,np,ii),
825     & Nr,bi,bj,myThid)
826     enddo
827     enddo
828     #endif
829 jahn 1.1 c ANNA_TAVE
830     #ifdef WAVES_DIAG_PCHL
831     do np=1,npmax
832     CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np),
833     & Nr,bi,bj,myThid)
834     enddo
835     #endif
836     c ANNA and TAVE
837     #ifdef DAR_DIAG_RSTAR
838     do np=1,npmax
839     CALL TIMEAVE_RESET(Rstarave(1-OLx,1-OLy,1,1,1,np),
840     & Nr,bi,bj,myThid)
841     enddo
842     do np=1,npmax
843     CALL TIMEAVE_RESET(RNstarave(1-OLx,1-OLy,1,1,1,np),
844     & Nr,bi,bj,myThid)
845     enddo
846     #endif
847     #ifdef DAR_DIAG_DIVER
848     CALL TIMEAVE_RESET(Diver1ave,Nr,bi,bj,myThid)
849     CALL TIMEAVE_RESET(Diver2ave,Nr,bi,bj,myThid)
850     CALL TIMEAVE_RESET(Diver3ave,Nr,bi,bj,myThid)
851     CALL TIMEAVE_RESET(Diver4ave,Nr,bi,bj,myThid)
852     #endif
853     c
854     #ifdef DAR_DIAG_GROW
855     do np=1,npmax
856     CALL TIMEAVE_RESET(Growave(1-OLx,1-OLy,1,1,1,np),
857     & Nr,bi,bj,myThid)
858     enddo
859     do np=1,npmax
860     CALL TIMEAVE_RESET(Growsqave(1-OLx,1-OLy,1,1,1,np),
861     & Nr,bi,bj,myThid)
862     enddo
863     #endif
864     c
865     #ifdef ALLOW_DIAZ
866     #ifdef DAR_DIAG_NFIXP
867     do np=1,npmax
868     CALL TIMEAVE_RESET(NfixPave(1-OLx,1-OLy,1,1,1,np),
869     & Nr,bi,bj,myThid)
870     enddo
871     #endif
872     #endif
873     do k=1,Nr
874     DAR_TimeAve(bi,bj,k)=0.d0
875     enddo
876     ENDDO
877     ENDDO
878    
879     ENDIF
880    
881     #endif /* ALLOW_TIMEAVE */
882    
883     #endif /* ALLOW_DARWIN */
884    
885     RETURN
886     END

  ViewVC Help
Powered by ViewVC 1.1.22