/[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.2 - (hide annotations) (download)
Wed May 11 18:11:56 2011 UTC (14 years, 2 months ago) by stephd
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt63l_20120405, ctrb_darwin2_ckpt63f_20111201, ctrb_darwin2_ckpt62y_20110526, ctrb_darwin2_ckpt62x_20110513, ctrb_darwin2_ckpt63o_20120629, ctrb_darwin2_ckpt63c_20111011, ctrb_darwin2_ckpt63i_20120124, ctrb_darwin2_ckpt63m_20120506, ctrb_darwin2_ckpt63e_20111107, ctrb_darwin2_ckpt63b_20110830, ctrb_darwin2_ckpt63j_20120217, ctrb_darwin2_ckpt63g_20111220, ctrb_darwin2_ckpt63a_20110804, ctrb_darwin2_ckpt63h_20111230, ctrb_darwin2_ckpt63d_20111107, ctrb_darwin2_ckpt63_20110728, ctrb_darwin2_ckpt63n_20120604, ctrb_darwin2_ckpt63k_20120317, ctrb_darwin2_ckpt62z_20110622
Changes since 1.1: +3 -5 lines
o tidy up how total rate (PP, Nfix, Denit) are written out, and add new file
  for writing out global total of CO2 flux

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

  ViewVC Help
Powered by ViewVC 1.1.22