/[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.5 - (hide annotations) (download)
Thu Aug 23 21:48:24 2012 UTC (12 years, 10 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt63s_20120908
Changes since 1.4: +25 -13 lines
add Edstop timeave diagnostic, rename c1/2 to amp1/2

1 jahn 1.5 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/darwin/darwin_diags.F,v 1.4 2012/07/30 15:21:51 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     #ifdef DAR_DIAG_ACDOM
100     CALL TIMEAVE_NORMALIZ(aCDOMave, DAR_timeave, nR ,
101     & bi,bj,myThid)
102     #endif
103     #ifdef DAR_DIAG_IRR
104     do ii = 1,tlam
105     CALL TIMEAVE_NORMALIZ(Edave(1-Olx,1-Oly,1,1,1,ii),
106     & DAR_timeave,nR,bi,bj,myThid)
107     CALL TIMEAVE_NORMALIZ(Esave(1-Olx,1-Oly,1,1,1,ii),
108     & DAR_timeave,nR,bi,bj,myThid)
109     CALL TIMEAVE_NORMALIZ(Euave(1-Olx,1-Oly,1,1,1,ii),
110     & DAR_timeave,nR,bi,bj,myThid)
111 jahn 1.5 CALL TIMEAVE_NORMALIZ(Estave(1-Olx,1-Oly,1,1,1,ii),
112     & DAR_timeave,nR,bi,bj,myThid)
113 jahn 1.1 CALL TIMEAVE_NORMALIZ(Eutave(1-Olx,1-Oly,1,1,1,ii),
114     & DAR_timeave,nR,bi,bj,myThid)
115     enddo
116     #endif
117 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
118     do ii = 1,tlam
119 jahn 1.5 CALL TIMEAVE_NORMALIZ(amp1ave(1-Olx,1-Oly,1,1,1,ii),
120 jahn 1.4 & DAR_timeave,nR,bi,bj,myThid)
121 jahn 1.5 CALL TIMEAVE_NORMALIZ(amp2ave(1-Olx,1-Oly,1,1,1,ii),
122 jahn 1.4 & DAR_timeave,nR,bi,bj,myThid)
123     enddo
124     #endif
125 jahn 1.1 #ifdef DAR_DIAG_ABSORP
126     do ii = 1,tlam
127     CALL TIMEAVE_NORMALIZ(aave(1-Olx,1-Oly,1,1,1,ii),
128     & DAR_timeave,nR,bi,bj,myThid)
129     enddo
130     #endif
131     #ifdef DAR_DIAG_SCATTER
132     do ii = 1,tlam
133     CALL TIMEAVE_NORMALIZ(btave(1-Olx,1-Oly,1,1,1,ii),
134     & DAR_timeave,nR,bi,bj,myThid)
135     CALL TIMEAVE_NORMALIZ(bbave(1-Olx,1-Oly,1,1,1,ii),
136     & DAR_timeave,nR,bi,bj,myThid)
137     enddo
138     #endif
139     #ifdef DAR_DIAG_PART_SCATTER
140     do ii = 1,tlam
141     CALL TIMEAVE_NORMALIZ(apartave(1-Olx,1-Oly,1,1,1,ii),
142     & DAR_timeave,nR,bi,bj,myThid)
143     CALL TIMEAVE_NORMALIZ(btpartave(1-Olx,1-Oly,1,1,1,ii),
144     & DAR_timeave,nR,bi,bj,myThid)
145     CALL TIMEAVE_NORMALIZ(bbpartave(1-Olx,1-Oly,1,1,1,ii),
146     & DAR_timeave,nR,bi,bj,myThid)
147     enddo
148     #endif
149 jahn 1.4 #ifdef DAR_RADTRANS
150     CALL TIMEAVE_NORMALIZ(rmudave(1-Olx,1-Oly,1,1),
151     & DAR_timeave,1,bi,bj,myThid)
152     #endif
153 jahn 1.1
154     c ANNA_TAVE
155     #ifdef WAVES_DIAG_PCHL
156     do np=1,npmax
157     CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),
158     & DAR_timeave, nR ,
159     & bi,bj,myThid)
160     c CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),
161     c & DAR_timeave, nR ,
162     c & bi,bj,myThid)
163     enddo
164     #endif
165     c ANNA end TAVE
166    
167     #ifdef DAR_DIAG_RSTAR
168     do np=1,npmax
169     CALL TIMEAVE_NORMALIZ(Rstarave(1-Olx,1-Oly,1,1,1,np),
170     & DAR_timeave, nR ,
171     & bi,bj,myThid)
172     CALL TIMEAVE_NORMALIZ(RNstarave(1-Olx,1-Oly,1,1,1,np),
173     & DAR_timeave, nR ,
174     & bi,bj,myThid)
175     enddo
176     #endif
177     #ifdef DAR_DIAG_DIVER
178     CALL TIMEAVE_NORMALIZ(Diver1ave(1-Olx,1-Oly,1,1,1),
179     & DAR_timeave, nR ,
180     & bi,bj,myThid)
181     CALL TIMEAVE_NORMALIZ(Diver2ave(1-Olx,1-Oly,1,1,1),
182     & DAR_timeave, nR ,
183     & bi,bj,myThid)
184     CALL TIMEAVE_NORMALIZ(Diver3ave(1-Olx,1-Oly,1,1,1),
185     & DAR_timeave, nR ,
186     & bi,bj,myThid)
187     CALL TIMEAVE_NORMALIZ(Diver4ave(1-Olx,1-Oly,1,1,1),
188     & DAR_timeave, nR ,
189     & bi,bj,myThid)
190     #endif
191     c
192     #ifdef DAR_DIAG_GROW
193     do np=1,npmax
194     CALL TIMEAVE_NORMALIZ(Growave(1-Olx,1-Oly,1,1,1,np),
195     & DAR_timeave, nR ,
196     & bi,bj,myThid)
197     CALL TIMEAVE_NORMALIZ(Growsqave(1-Olx,1-Oly,1,1,1,np),
198     & DAR_timeave, nR ,
199     & bi,bj,myThid)
200     enddo
201     #endif
202     #ifdef ALLOW_DIAZ
203     c
204     #ifdef DAR_DIAG_NFIXP
205     do np=1,npmax
206     CALL TIMEAVE_NORMALIZ(NfixPave(1-Olx,1-Oly,1,1,1,np),
207     & DAR_timeave, nR ,
208     & bi,bj,myThid)
209     enddo
210     #endif
211     #endif
212     ENDDO
213     ENDDO
214    
215     #ifdef CALC_RATE_TOTALS
216     call tracer_sumvol(
217     & PPave, nR, PPtot, myThid )
218     PPtot=PPtot*120. _d 0 * 12. _d 0* 1. _d -3* 31536000. _d 0
219     & *1. _d-15
220     call tracer_sumvol(
221     & Nfixave, nR, Nfixtot, myThid )
222     Nfixtot=Nfixtot*14. _d 0 *1. _d -3* 31536000. _d 0
223     & *1 _d -12
224     call tracer_sumvol(
225     & Denitave, nR, Denittot, myThid )
226     Denittot=Denittot*14. _d 0 *1. _d -3* 31536000. _d 0
227     & *1 _d -12
228 stephd 1.2 write(dar_ratetot_unit,*) myIter, PPtot, Nfixtot, Denittot
229 jahn 1.1 #endif
230    
231    
232     IF ( PTRACERS_timeave_mdsio ) THEN
233     WRITE(suff,'(I10.10)') myIter
234     CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave,
235     & myIter,myThid)
236     CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave,
237     & myIter,myThid)
238     #ifndef ALLOW_QUOTA
239     CALL WRITE_FLD_XYZ_RL('DAR_Chltave.',suff,Chlave,
240     & myIter,myThid)
241     #endif
242     CALL WRITE_FLD_XYZ_RL('DAR_Nfixtave.',suff,Nfixave,
243     & myIter,myThid)
244     CALL WRITE_FLD_XYZ_RL('DAR_Denittave.',suff,Denitave,
245     & myIter,myThid)
246     #ifdef DAR_DIAG_ACDOM
247     CALL WRITE_FLD_XYZ_RL('DAR_aCDOMtave',suff,aCDOMave,
248     & myIter,myThid)
249     #endif
250     #ifdef DAR_DIAG_IRR
251     do ii = 1,tlam
252     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Edave',
253     & ii,'.',myIter
254     CALL WRITE_FLD_XYZ_RL(suff,' ',
255     & Edave(1-Olx,1-Oly,1,1,1,ii),
256     & myIter,myThid)
257     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Esave',
258     & ii,'.',myIter
259     CALL WRITE_FLD_XYZ_RL(suff,' ',
260     & Esave(1-Olx,1-Oly,1,1,1,ii),
261     & myIter,myThid)
262     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Euave',
263     & ii,'.',myIter
264     CALL WRITE_FLD_XYZ_RL(suff,' ',
265     & Euave(1-Olx,1-Oly,1,1,1,ii),
266     & myIter,myThid)
267 jahn 1.5 WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Estopave',
268     & ii,'.',myIter
269     CALL WRITE_FLD_XYZ_RL(suff,' ',
270     & Estave(1-Olx,1-Oly,1,1,1,ii),
271     & myIter,myThid)
272 jahn 1.1 WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Eutopave',
273     & ii,'.',myIter
274     CALL WRITE_FLD_XYZ_RL(suff,' ',
275     & Eutave(1-Olx,1-Oly,1,1,1,ii),
276     & myIter,myThid)
277     enddo
278     #endif
279 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
280     do ii = 1,tlam
281 jahn 1.5 WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp1ave',
282 jahn 1.4 & ii,'.',myIter
283     CALL WRITE_FLD_XYZ_RL(suff,' ',
284 jahn 1.5 & amp1ave(1-Olx,1-Oly,1,1,1,ii),
285 jahn 1.4 & myIter,myThid)
286 jahn 1.5 WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp2ave',
287 jahn 1.4 & ii,'.',myIter
288     CALL WRITE_FLD_XYZ_RL(suff,' ',
289 jahn 1.5 & amp2ave(1-Olx,1-Oly,1,1,1,ii),
290 jahn 1.4 & myIter,myThid)
291     enddo
292     #endif
293 jahn 1.1 #ifdef DAR_DIAG_ABSORP
294     do ii = 1,tlam
295     WRITE(suff,'(A4,I2.2,A1,I10.10)') 'aave',
296     & ii,'.',myIter
297     CALL WRITE_FLD_XYZ_RL(suff,' ',
298     & aave(1-Olx,1-Oly,1,1,1,ii),
299     & myIter,myThid)
300     enddo
301     #endif
302     #ifdef DAR_DIAG_SCATTER
303     do ii = 1,tlam
304     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'btave',
305     & ii,'.',myIter
306     CALL WRITE_FLD_XYZ_RL(suff,' ',
307     & btave(1-Olx,1-Oly,1,1,1,ii),
308     & myIter,myThid)
309     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'bbave',
310     & ii,'.',myIter
311     CALL WRITE_FLD_XYZ_RL(suff,' ',
312     & bbave(1-Olx,1-Oly,1,1,1,ii),
313     & myIter,myThid)
314     enddo
315     #endif
316     #ifdef DAR_DIAG_PART_SCATTER
317     do ii = 1,tlam
318     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'apartave',
319     & ii,'.',myIter
320     CALL WRITE_FLD_XYZ_RL(suff,' ',
321     & apartave(1-Olx,1-Oly,1,1,1,ii),
322     & myIter,myThid)
323     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'btpartave',
324     & ii,'.',myIter
325     CALL WRITE_FLD_XYZ_RL(suff,' ',
326     & btpartave(1-Olx,1-Oly,1,1,1,ii),
327     & myIter,myThid)
328     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'bbpartave',
329     & ii,'.',myIter
330     CALL WRITE_FLD_XYZ_RL(suff,' ',
331     & bbpartave(1-Olx,1-Oly,1,1,1,ii),
332     & myIter,myThid)
333     enddo
334     #endif
335 jahn 1.4 #ifdef DAR_RADTRANS
336     WRITE(suff,'(A7,A1,I10.10)') 'rmudave',
337     & '.',myIter
338     CALL WRITE_FLD_XY_RL(suff,' ',
339     & rmudave(1-Olx,1-Oly,1,1),
340     & myIter,myThid)
341     #endif
342 jahn 1.1
343     c ANNA_TAVE
344     #ifdef WAVES_DIAG_PCHL
345     do np=1,npmax
346     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Pchlave',
347     & np,'.',myIter
348     CALL WRITE_FLD_XYZ_RL(suff,' ',
349     & Pchlave(1-Olx,1-Oly,1,1,1,np),
350     & myIter,myThid)
351     enddo
352     #endif
353     c ANNA end TAVE
354     #ifdef DAR_DIAG_RSTAR
355     do np=1,npmax
356     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Rstarave',
357     & np,'.',myIter
358     CALL WRITE_FLD_XYZ_RL(suff,' ',
359     & Rstarave(1-Olx,1-Oly,1,1,1,np),
360     & myIter,myThid)
361     enddo
362     do np=1,npmax
363     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'RNstarave',
364     & np,'.',myIter
365     CALL WRITE_FLD_XYZ_RL(suff,' ',
366     & RNstarave(1-Olx,1-Oly,1,1,1,np),
367     & myIter,myThid)
368     enddo
369     #endif
370     #ifdef DAR_DIAG_DIVER
371     WRITE(suff,'(I10.10)') myIter
372     CALL WRITE_FLD_XYZ_RL('DAR_Diver1tave.',suff,Diver1ave,
373     & myIter,myThid)
374     CALL WRITE_FLD_XYZ_RL('DAR_Diver2tave.',suff,Diver2ave,
375     & myIter,myThid)
376     CALL WRITE_FLD_XYZ_RL('DAR_Diver3tave.',suff,Diver3ave,
377     & myIter,myThid)
378     CALL WRITE_FLD_XYZ_RL('DAR_Diver4tave.',suff,Diver4ave,
379     & myIter,myThid)
380     #endif
381     c
382     #ifdef DAR_DIAG_GROW
383     do np=1,npmax
384     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growave',
385     & np,'.',myIter
386     CALL WRITE_FLD_XYZ_RL(suff,' ',
387     & Growave(1-Olx,1-Oly,1,1,1,np),
388     & myIter,myThid)
389     enddo
390     do np=1,npmax
391     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growsqave',
392     & np,'.',myIter
393     CALL WRITE_FLD_XYZ_RL(suff,' ',
394     & Growsqave(1-Olx,1-Oly,1,1,1,np),
395     & myIter,myThid)
396     enddo
397     #endif
398     c
399     #ifdef ALLOW_DIAZ
400     #ifdef DAR_DIAG_NFIXP
401     do np=1,npmax
402     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'NfixPave',
403     & np,'.',myIter
404     CALL WRITE_FLD_XYZ_RL(suff,' ',
405     & NfixPave(1-Olx,1-Oly,1,1,1,np),
406     & myIter,myThid)
407     enddo
408     #endif
409     #endif
410     ENDIF
411    
412     #ifdef ALLOW_MNC
413     IF ( PTRACERS_timeave_mnc ) THEN
414     CALL MNC_CW_SET_UDIM('dar_tave', -1, myThid)
415     CALL MNC_CW_RL_W_S('D','dar_tave',0,0,'T',myTime,myThid)
416     CALL MNC_CW_SET_UDIM('dar_tave', 0, myThid)
417     CALL MNC_CW_I_W_S('I','dar_tave',0,0,'iter',myIter,myThid)
418     CALL MNC_CW_RL_W(
419     & pf,'dar_tave',0,0,'dar_PAR_ave',PARave,myThid)
420     CALL MNC_CW_RL_W(
421     & pf,'dar_tave',0,0,'dar_PP_ave',PPave,myThid)
422 benw 1.3 #ifdef QUOTA_DIAG_LIMIT
423     do np=1,npmax
424     WRITE(name,'(a,i3.3)') 'dar_Nlim_',np
425     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
426     & Nlimave(1-OLx,1-OLy,1,1,1,np),myThid)
427     WRITE(name,'(a,i3.3)') 'dar_Flim_',np
428     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
429     & Flimave(1-OLx,1-OLy,1,1,1,np),myThid)
430     WRITE(name,'(a,i3.3)') 'dar_Ilim_',np
431     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
432     & Ilimave(1-OLx,1-OLy,1,1,1,np),myThid)
433     enddo
434     CALL MNC_CW_RL_W(
435     & pf,'dar_tave',0,0,'dar_Tlim_ave',Tlimave,myThid)
436     #endif
437 jahn 1.1 #ifndef ALLOW_QUOTA
438     CALL MNC_CW_RL_W(
439     & pf,'dar_tave',0,0,'dar_Chl_ave',Chlave,myThid)
440     #endif
441     CALL MNC_CW_RL_W(
442     & pf,'dar_tave',0,0,'dar_Nfix_ave',Nfixave,myThid)
443     CALL MNC_CW_RL_W(
444     & pf,'dar_tave',0,0,'dar_Denit_ave',Denitave,myThid)
445     #ifdef DAR_DIAG_ACDOM
446     CALL MNC_CW_RL_W(
447     & pf,'dar_tave',0,0,'dar_aCDOM_ave',aCDOMave,myThid)
448     #endif
449     #ifdef DAR_DIAG_IRR
450     do ii = 1,tlam
451     DO jj = 1,MAX_LEN_FNAM
452     name(jj:jj) = ' '
453     ENDDO
454     WRITE(name,'(a,i2.2)') 'dar_Ed',ii
455     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
456     & Edave(1-OLx,1-OLy,1,1,1,ii),myThid)
457     WRITE(name,'(a,i2.2)') 'dar_Es',ii
458     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
459     & Esave(1-OLx,1-OLy,1,1,1,ii),myThid)
460     WRITE(name,'(a,i2.2)') 'dar_Eu',ii
461     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
462     & Euave(1-OLx,1-OLy,1,1,1,ii),myThid)
463 jahn 1.5 WRITE(name,'(a,i2.2)') 'dar_Estop',ii
464     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
465     & Estave(1-OLx,1-OLy,1,1,1,ii),myThid)
466 jahn 1.1 WRITE(name,'(a,i2.2)') 'dar_Eutop',ii
467     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
468     & Eutave(1-OLx,1-OLy,1,1,1,ii),myThid)
469     enddo
470     #endif
471 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
472     do ii = 1,tlam
473     DO jj = 1,MAX_LEN_FNAM
474     name(jj:jj) = ' '
475     ENDDO
476 jahn 1.5 WRITE(name,'(a,i2.2)') 'dar_amp1_',ii
477 jahn 1.4 CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
478 jahn 1.5 & amp1ave(1-OLx,1-OLy,1,1,1,ii),myThid)
479     WRITE(name,'(a,i2.2)') 'dar_amp2_',ii
480 jahn 1.4 CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
481 jahn 1.5 & amp2ave(1-OLx,1-OLy,1,1,1,ii),myThid)
482 jahn 1.4 enddo
483     #endif
484 jahn 1.1 #ifdef DAR_DIAG_ABSORP
485     do ii = 1,tlam
486     DO jj = 1,MAX_LEN_FNAM
487     name(jj:jj) = ' '
488     ENDDO
489     WRITE(name,'(a,i2.2)') 'dar_a',ii
490     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
491     & aave(1-OLx,1-OLy,1,1,1,ii),myThid)
492     enddo
493     #endif
494     #ifdef DAR_DIAG_SCATTER
495     do ii = 1,tlam
496     DO jj = 1,MAX_LEN_FNAM
497     name(jj:jj) = ' '
498     ENDDO
499     WRITE(name,'(a,i2.2)') 'dar_bt',ii
500     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
501     & btave(1-OLx,1-OLy,1,1,1,ii),myThid)
502     WRITE(name,'(a,i2.2)') 'dar_bb',ii
503     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
504     & bbave(1-OLx,1-OLy,1,1,1,ii),myThid)
505     enddo
506     #endif
507     #ifdef DAR_DIAG_PART_SCATTER
508     do ii = 1,tlam
509     DO jj = 1,MAX_LEN_FNAM
510     name(jj:jj) = ' '
511     ENDDO
512     WRITE(name,'(a,i2.2)') 'dar_apart',ii
513     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
514     & apartave(1-OLx,1-OLy,1,1,1,ii),myThid)
515     WRITE(name,'(a,i2.2)') 'dar_btpart',ii
516     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
517     & btpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
518     WRITE(name,'(a,i2.2)') 'dar_bbpart',ii
519     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
520     & bbpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
521     enddo
522     #endif
523 jahn 1.4 #ifdef DAR_RADTRANS
524     DO jj = 1,MAX_LEN_FNAM
525     name(jj:jj) = ' '
526     ENDDO
527     WRITE(name,'(a)') 'dar_rmud'
528     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
529     & rmudave(1-OLx,1-OLy,1,1),myThid)
530     #endif
531 jahn 1.1 c ANNA_TAVE
532     #ifdef WAVES_DIAG_PCHL
533     do np=1,npmax
534     ii=iPhy+np-1
535     DO jj = 1,MAX_LEN_FNAM
536     name(jj:jj) = ' '
537     ENDDO
538     ilnb = ILNBLNK(PTRACERS_names(ii))
539     WRITE(name,'(a,a)') 'dar_Pchl_',PTRACERS_names(ii)(1:ilnb)
540     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
541     & Pchlave(1-OLx,1-OLy,1,1,1,np),myThid)
542     enddo
543     #endif
544     c ANNA end TAVE
545     #ifdef DAR_DIAG_RSTAR
546     do np=1,npmax
547     ii=iPhy+np-1
548     DO jj = 1,MAX_LEN_FNAM
549     name(jj:jj) = ' '
550     ENDDO
551     ilnb = ILNBLNK(PTRACERS_names(ii))
552     WRITE(name,'(a,a)') 'dar_Rstar_',PTRACERS_names(ii)(1:ilnb)
553     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
554     & Rstarave(1-OLx,1-OLy,1,1,1,np),myThid)
555     enddo
556     do np=1,npmax
557     ii=iPhy+np-1
558     DO jj = 1,MAX_LEN_FNAM
559     name(jj:jj) = ' '
560     ENDDO
561     ilnb = ILNBLNK(PTRACERS_names(ii))
562     WRITE(name,'(a,a)') 'dar_RNstar_',PTRACERS_names(ii)(1:ilnb)
563     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
564     & RNstarave(1-OLx,1-OLy,1,1,1,np),myThid)
565     enddo
566     #endif
567     #ifdef DAR_DIAG_DIVER
568     CALL MNC_CW_RL_W(
569     & pf,'dar_tave',0,0,'dar_Diver1_ave',Diver1ave,myThid)
570     CALL MNC_CW_RL_W(
571     & pf,'dar_tave',0,0,'dar_Diver2_ave',Diver2ave,myThid)
572     CALL MNC_CW_RL_W(
573     & pf,'dar_tave',0,0,'dar_Diver3_ave',Diver3ave,myThid)
574     CALL MNC_CW_RL_W(
575     & pf,'dar_tave',0,0,'dar_Diver4_ave',Diver4ave,myThid)
576     #endif
577     c
578     #ifdef DAR_DIAG_GROW
579     do np=1,npmax
580     ii=iPhy+np-1
581     DO jj = 1,MAX_LEN_FNAM
582     name(jj:jj) = ' '
583     ENDDO
584     ilnb = ILNBLNK(PTRACERS_names(ii))
585     WRITE(name,'(a,a)') 'dar_Grow_',PTRACERS_names(ii)(1:ilnb)
586     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
587     & Growave(1-OLx,1-OLy,1,1,1,np),myThid)
588     enddo
589     do np=1,npmax
590     ii=iPhy+np-1
591     DO jj = 1,MAX_LEN_FNAM
592     name(jj:jj) = ' '
593     ENDDO
594     ilnb = ILNBLNK(PTRACERS_names(ii))
595     WRITE(name,'(a,a)') 'dar_Growsq_',PTRACERS_names(ii)(1:ilnb)
596     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
597     & Growsqave(1-OLx,1-OLy,1,1,1,np),myThid)
598     enddo
599     #endif
600     c
601     #ifdef ALLOW_DIAZ
602     #ifdef DAR_DIAG_NFIXP
603     do np=1,npmax
604     ii=iPhy+np-1
605     DO jj = 1,MAX_LEN_FNAM
606     name(jj:jj) = ' '
607     ENDDO
608     ilnb = ILNBLNK(PTRACERS_names(ii))
609     WRITE(name,'(a,a)') 'dar_NfixP_',PTRACERS_names(ii)(1:ilnb)
610     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
611     & NfixPave(1-OLx,1-OLy,1,1,1,np),myThid)
612     enddo
613     #endif
614     #endif
615     ENDIF
616     #endif
617    
618     C Reset averages to zero
619     DO bj = myByLo(myThid), myByHi(myThid)
620     DO bi = myBxLo(myThid), myBxHi(myThid)
621     CALL TIMEAVE_RESET(PARave,Nr,bi,bj,myThid)
622     CALL TIMEAVE_RESET(PPave,Nr,bi,bj,myThid)
623 benw 1.3 #ifdef QUOTA_DIAG_LIMIT
624     CALL TIMEAVE_RESET(Nlimave,Nr,bi,bj,myThid)
625     CALL TIMEAVE_RESET(Flimave,Nr,bi,bj,myThid)
626     CALL TIMEAVE_RESET(Ilimave,Nr,bi,bj,myThid)
627     CALL TIMEAVE_RESET(Tlimave,Nr,bi,bj,myThid)
628     #endif
629 jahn 1.1 #ifndef ALLOW_QUOTA
630     CALL TIMEAVE_RESET(Chlave,Nr,bi,bj,myThid)
631     #endif
632     CALL TIMEAVE_RESET(Nfixave,Nr,bi,bj,myThid)
633     CALL TIMEAVE_RESET(Denitave,Nr,bi,bj,myThid)
634     #ifdef DAR_DIAG_ACDOM
635     CALL TIMEAVE_RESET(aCDOMave,Nr,bi,bj,myThid)
636     #endif
637     #ifdef DAR_DIAG_IRR
638     do ii = 1,tlam
639     CALL TIMEAVE_RESET(Edave(1-OLx,1-OLy,1,1,1,ii),
640     & Nr,bi,bj,myThid)
641     CALL TIMEAVE_RESET(Esave(1-OLx,1-OLy,1,1,1,ii),
642     & Nr,bi,bj,myThid)
643     CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,ii),
644     & Nr,bi,bj,myThid)
645 jahn 1.5 CALL TIMEAVE_RESET(Estave(1-OLx,1-OLy,1,1,1,ii),
646     & Nr,bi,bj,myThid)
647 jahn 1.1 CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,ii),
648     & Nr,bi,bj,myThid)
649     enddo
650     #endif
651 jahn 1.4 #ifdef DAR_DIAG_IRR_AMPS
652     do ii = 1,tlam
653 jahn 1.5 CALL TIMEAVE_RESET(amp1ave(1-OLx,1-OLy,1,1,1,ii),
654 jahn 1.4 & Nr,bi,bj,myThid)
655 jahn 1.5 CALL TIMEAVE_RESET(amp2ave(1-OLx,1-OLy,1,1,1,ii),
656 jahn 1.4 & Nr,bi,bj,myThid)
657     enddo
658     #endif
659 jahn 1.1 #ifdef DAR_DIAG_ABSORP
660     do ii = 1,tlam
661     CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,ii),
662     & Nr,bi,bj,myThid)
663     enddo
664     #endif
665     #ifdef DAR_DIAG_SCATTER
666     do ii = 1,tlam
667     CALL TIMEAVE_RESET(btave(1-OLx,1-OLy,1,1,1,ii),
668     & Nr,bi,bj,myThid)
669     CALL TIMEAVE_RESET(bbave(1-OLx,1-OLy,1,1,1,ii),
670     & Nr,bi,bj,myThid)
671     enddo
672     #endif
673     #ifdef DAR_DIAG_PART_SCATTER
674     do ii = 1,tlam
675     CALL TIMEAVE_RESET(apartave(1-OLx,1-OLy,1,1,1,ii),
676     & Nr,bi,bj,myThid)
677     CALL TIMEAVE_RESET(btpartave(1-OLx,1-OLy,1,1,1,ii),
678     & Nr,bi,bj,myThid)
679     CALL TIMEAVE_RESET(bbpartave(1-OLx,1-OLy,1,1,1,ii),
680     & Nr,bi,bj,myThid)
681     enddo
682     #endif
683 jahn 1.4 #ifdef DAR_RADTRANS
684     CALL TIMEAVE_RESET(rmudave(1-OLx,1-OLy,1,1),
685     & 1,bi,bj,myThid)
686     #endif
687 jahn 1.1 c ANNA_TAVE
688     #ifdef WAVES_DIAG_PCHL
689     do np=1,npmax
690     CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np),
691     & Nr,bi,bj,myThid)
692     enddo
693     #endif
694     c ANNA and TAVE
695     #ifdef DAR_DIAG_RSTAR
696     do np=1,npmax
697     CALL TIMEAVE_RESET(Rstarave(1-OLx,1-OLy,1,1,1,np),
698     & Nr,bi,bj,myThid)
699     enddo
700     do np=1,npmax
701     CALL TIMEAVE_RESET(RNstarave(1-OLx,1-OLy,1,1,1,np),
702     & Nr,bi,bj,myThid)
703     enddo
704     #endif
705     #ifdef DAR_DIAG_DIVER
706     CALL TIMEAVE_RESET(Diver1ave,Nr,bi,bj,myThid)
707     CALL TIMEAVE_RESET(Diver2ave,Nr,bi,bj,myThid)
708     CALL TIMEAVE_RESET(Diver3ave,Nr,bi,bj,myThid)
709     CALL TIMEAVE_RESET(Diver4ave,Nr,bi,bj,myThid)
710     #endif
711     c
712     #ifdef DAR_DIAG_GROW
713     do np=1,npmax
714     CALL TIMEAVE_RESET(Growave(1-OLx,1-OLy,1,1,1,np),
715     & Nr,bi,bj,myThid)
716     enddo
717     do np=1,npmax
718     CALL TIMEAVE_RESET(Growsqave(1-OLx,1-OLy,1,1,1,np),
719     & Nr,bi,bj,myThid)
720     enddo
721     #endif
722     c
723     #ifdef ALLOW_DIAZ
724     #ifdef DAR_DIAG_NFIXP
725     do np=1,npmax
726     CALL TIMEAVE_RESET(NfixPave(1-OLx,1-OLy,1,1,1,np),
727     & Nr,bi,bj,myThid)
728     enddo
729     #endif
730     #endif
731     do k=1,Nr
732     DAR_TimeAve(bi,bj,k)=0.d0
733     enddo
734     ENDDO
735     ENDDO
736    
737     ENDIF
738    
739     #endif /* ALLOW_TIMEAVE */
740    
741     #endif /* ALLOW_DARWIN */
742    
743     RETURN
744     END

  ViewVC Help
Powered by ViewVC 1.1.22