/[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.1 - (hide annotations) (download)
Wed Apr 13 18:56:24 2011 UTC (14 years, 3 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt62v_20110413, ctrb_darwin2_ckpt62w_20110426, ctrb_darwin2_baseline
darwin2 initial checkin

1 jahn 1.1 C $Header$
2     C $Name$
3    
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     write(30,*) 'PPtot', PPtot
203     write(30,*) 'Nfixtot', Nfixtot
204     write(30,*) 'Denittot', Denittot
205     #endif
206    
207    
208     IF ( PTRACERS_timeave_mdsio ) THEN
209     WRITE(suff,'(I10.10)') myIter
210     CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave,
211     & myIter,myThid)
212     CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave,
213     & myIter,myThid)
214     #ifndef ALLOW_QUOTA
215     CALL WRITE_FLD_XYZ_RL('DAR_Chltave.',suff,Chlave,
216     & myIter,myThid)
217     #endif
218     CALL WRITE_FLD_XYZ_RL('DAR_Nfixtave.',suff,Nfixave,
219     & myIter,myThid)
220     CALL WRITE_FLD_XYZ_RL('DAR_Denittave.',suff,Denitave,
221     & myIter,myThid)
222     #ifdef DAR_DIAG_ACDOM
223     CALL WRITE_FLD_XYZ_RL('DAR_aCDOMtave',suff,aCDOMave,
224     & myIter,myThid)
225     #endif
226     #ifdef DAR_DIAG_IRR
227     do ii = 1,tlam
228     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Edave',
229     & ii,'.',myIter
230     CALL WRITE_FLD_XYZ_RL(suff,' ',
231     & Edave(1-Olx,1-Oly,1,1,1,ii),
232     & myIter,myThid)
233     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Esave',
234     & ii,'.',myIter
235     CALL WRITE_FLD_XYZ_RL(suff,' ',
236     & Esave(1-Olx,1-Oly,1,1,1,ii),
237     & myIter,myThid)
238     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'Euave',
239     & ii,'.',myIter
240     CALL WRITE_FLD_XYZ_RL(suff,' ',
241     & Euave(1-Olx,1-Oly,1,1,1,ii),
242     & myIter,myThid)
243     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Eutopave',
244     & ii,'.',myIter
245     CALL WRITE_FLD_XYZ_RL(suff,' ',
246     & Eutave(1-Olx,1-Oly,1,1,1,ii),
247     & myIter,myThid)
248     enddo
249     #endif
250     #ifdef DAR_DIAG_ABSORP
251     do ii = 1,tlam
252     WRITE(suff,'(A4,I2.2,A1,I10.10)') 'aave',
253     & ii,'.',myIter
254     CALL WRITE_FLD_XYZ_RL(suff,' ',
255     & aave(1-Olx,1-Oly,1,1,1,ii),
256     & myIter,myThid)
257     enddo
258     #endif
259     #ifdef DAR_DIAG_SCATTER
260     do ii = 1,tlam
261     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'btave',
262     & ii,'.',myIter
263     CALL WRITE_FLD_XYZ_RL(suff,' ',
264     & btave(1-Olx,1-Oly,1,1,1,ii),
265     & myIter,myThid)
266     WRITE(suff,'(A5,I2.2,A1,I10.10)') 'bbave',
267     & ii,'.',myIter
268     CALL WRITE_FLD_XYZ_RL(suff,' ',
269     & bbave(1-Olx,1-Oly,1,1,1,ii),
270     & myIter,myThid)
271     enddo
272     #endif
273     #ifdef DAR_DIAG_PART_SCATTER
274     do ii = 1,tlam
275     WRITE(suff,'(A8,I2.2,A1,I10.10)') 'apartave',
276     & ii,'.',myIter
277     CALL WRITE_FLD_XYZ_RL(suff,' ',
278     & apartave(1-Olx,1-Oly,1,1,1,ii),
279     & myIter,myThid)
280     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'btpartave',
281     & ii,'.',myIter
282     CALL WRITE_FLD_XYZ_RL(suff,' ',
283     & btpartave(1-Olx,1-Oly,1,1,1,ii),
284     & myIter,myThid)
285     WRITE(suff,'(A9,I2.2,A1,I10.10)') 'bbpartave',
286     & ii,'.',myIter
287     CALL WRITE_FLD_XYZ_RL(suff,' ',
288     & bbpartave(1-Olx,1-Oly,1,1,1,ii),
289     & myIter,myThid)
290     enddo
291     #endif
292    
293     c ANNA_TAVE
294     #ifdef WAVES_DIAG_PCHL
295     do np=1,npmax
296     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Pchlave',
297     & np,'.',myIter
298     CALL WRITE_FLD_XYZ_RL(suff,' ',
299     & Pchlave(1-Olx,1-Oly,1,1,1,np),
300     & myIter,myThid)
301     enddo
302     #endif
303     c ANNA end TAVE
304     #ifdef DAR_DIAG_RSTAR
305     do np=1,npmax
306     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Rstarave',
307     & np,'.',myIter
308     CALL WRITE_FLD_XYZ_RL(suff,' ',
309     & Rstarave(1-Olx,1-Oly,1,1,1,np),
310     & myIter,myThid)
311     enddo
312     do np=1,npmax
313     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'RNstarave',
314     & np,'.',myIter
315     CALL WRITE_FLD_XYZ_RL(suff,' ',
316     & RNstarave(1-Olx,1-Oly,1,1,1,np),
317     & myIter,myThid)
318     enddo
319     #endif
320     #ifdef DAR_DIAG_DIVER
321     WRITE(suff,'(I10.10)') myIter
322     CALL WRITE_FLD_XYZ_RL('DAR_Diver1tave.',suff,Diver1ave,
323     & myIter,myThid)
324     CALL WRITE_FLD_XYZ_RL('DAR_Diver2tave.',suff,Diver2ave,
325     & myIter,myThid)
326     CALL WRITE_FLD_XYZ_RL('DAR_Diver3tave.',suff,Diver3ave,
327     & myIter,myThid)
328     CALL WRITE_FLD_XYZ_RL('DAR_Diver4tave.',suff,Diver4ave,
329     & myIter,myThid)
330     #endif
331     c
332     #ifdef DAR_DIAG_GROW
333     do np=1,npmax
334     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growave',
335     & np,'.',myIter
336     CALL WRITE_FLD_XYZ_RL(suff,' ',
337     & Growave(1-Olx,1-Oly,1,1,1,np),
338     & myIter,myThid)
339     enddo
340     do np=1,npmax
341     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'Growsqave',
342     & np,'.',myIter
343     CALL WRITE_FLD_XYZ_RL(suff,' ',
344     & Growsqave(1-Olx,1-Oly,1,1,1,np),
345     & myIter,myThid)
346     enddo
347     #endif
348     c
349     #ifdef ALLOW_DIAZ
350     #ifdef DAR_DIAG_NFIXP
351     do np=1,npmax
352     WRITE(suff,'(A7,I2.2,A1,I10.10)') 'NfixPave',
353     & np,'.',myIter
354     CALL WRITE_FLD_XYZ_RL(suff,' ',
355     & NfixPave(1-Olx,1-Oly,1,1,1,np),
356     & myIter,myThid)
357     enddo
358     #endif
359     #endif
360     ENDIF
361    
362     #ifdef ALLOW_MNC
363     IF ( PTRACERS_timeave_mnc ) THEN
364     CALL MNC_CW_SET_UDIM('dar_tave', -1, myThid)
365     CALL MNC_CW_RL_W_S('D','dar_tave',0,0,'T',myTime,myThid)
366     CALL MNC_CW_SET_UDIM('dar_tave', 0, myThid)
367     CALL MNC_CW_I_W_S('I','dar_tave',0,0,'iter',myIter,myThid)
368     CALL MNC_CW_RL_W(
369     & pf,'dar_tave',0,0,'dar_PAR_ave',PARave,myThid)
370     CALL MNC_CW_RL_W(
371     & pf,'dar_tave',0,0,'dar_PP_ave',PPave,myThid)
372     #ifndef ALLOW_QUOTA
373     CALL MNC_CW_RL_W(
374     & pf,'dar_tave',0,0,'dar_Chl_ave',Chlave,myThid)
375     #endif
376     CALL MNC_CW_RL_W(
377     & pf,'dar_tave',0,0,'dar_Nfix_ave',Nfixave,myThid)
378     CALL MNC_CW_RL_W(
379     & pf,'dar_tave',0,0,'dar_Denit_ave',Denitave,myThid)
380     #ifdef DAR_DIAG_ACDOM
381     CALL MNC_CW_RL_W(
382     & pf,'dar_tave',0,0,'dar_aCDOM_ave',aCDOMave,myThid)
383     #endif
384     #ifdef DAR_DIAG_IRR
385     do ii = 1,tlam
386     DO jj = 1,MAX_LEN_FNAM
387     name(jj:jj) = ' '
388     ENDDO
389     WRITE(name,'(a,i2.2)') 'dar_Ed',ii
390     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
391     & Edave(1-OLx,1-OLy,1,1,1,ii),myThid)
392     WRITE(name,'(a,i2.2)') 'dar_Es',ii
393     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
394     & Esave(1-OLx,1-OLy,1,1,1,ii),myThid)
395     WRITE(name,'(a,i2.2)') 'dar_Eu',ii
396     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
397     & Euave(1-OLx,1-OLy,1,1,1,ii),myThid)
398     WRITE(name,'(a,i2.2)') 'dar_Eutop',ii
399     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
400     & Eutave(1-OLx,1-OLy,1,1,1,ii),myThid)
401     enddo
402     #endif
403     #ifdef DAR_DIAG_ABSORP
404     do ii = 1,tlam
405     DO jj = 1,MAX_LEN_FNAM
406     name(jj:jj) = ' '
407     ENDDO
408     WRITE(name,'(a,i2.2)') 'dar_a',ii
409     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
410     & aave(1-OLx,1-OLy,1,1,1,ii),myThid)
411     enddo
412     #endif
413     #ifdef DAR_DIAG_SCATTER
414     do ii = 1,tlam
415     DO jj = 1,MAX_LEN_FNAM
416     name(jj:jj) = ' '
417     ENDDO
418     WRITE(name,'(a,i2.2)') 'dar_bt',ii
419     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
420     & btave(1-OLx,1-OLy,1,1,1,ii),myThid)
421     WRITE(name,'(a,i2.2)') 'dar_bb',ii
422     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
423     & bbave(1-OLx,1-OLy,1,1,1,ii),myThid)
424     enddo
425     #endif
426     #ifdef DAR_DIAG_PART_SCATTER
427     do ii = 1,tlam
428     DO jj = 1,MAX_LEN_FNAM
429     name(jj:jj) = ' '
430     ENDDO
431     WRITE(name,'(a,i2.2)') 'dar_apart',ii
432     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
433     & apartave(1-OLx,1-OLy,1,1,1,ii),myThid)
434     WRITE(name,'(a,i2.2)') 'dar_btpart',ii
435     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
436     & btpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
437     WRITE(name,'(a,i2.2)') 'dar_bbpart',ii
438     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
439     & bbpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
440     enddo
441     #endif
442     c ANNA_TAVE
443     #ifdef WAVES_DIAG_PCHL
444     do np=1,npmax
445     ii=iPhy+np-1
446     DO jj = 1,MAX_LEN_FNAM
447     name(jj:jj) = ' '
448     ENDDO
449     ilnb = ILNBLNK(PTRACERS_names(ii))
450     WRITE(name,'(a,a)') 'dar_Pchl_',PTRACERS_names(ii)(1:ilnb)
451     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
452     & Pchlave(1-OLx,1-OLy,1,1,1,np),myThid)
453     enddo
454     #endif
455     c ANNA end TAVE
456     #ifdef DAR_DIAG_RSTAR
457     do np=1,npmax
458     ii=iPhy+np-1
459     DO jj = 1,MAX_LEN_FNAM
460     name(jj:jj) = ' '
461     ENDDO
462     ilnb = ILNBLNK(PTRACERS_names(ii))
463     WRITE(name,'(a,a)') 'dar_Rstar_',PTRACERS_names(ii)(1:ilnb)
464     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
465     & Rstarave(1-OLx,1-OLy,1,1,1,np),myThid)
466     enddo
467     do np=1,npmax
468     ii=iPhy+np-1
469     DO jj = 1,MAX_LEN_FNAM
470     name(jj:jj) = ' '
471     ENDDO
472     ilnb = ILNBLNK(PTRACERS_names(ii))
473     WRITE(name,'(a,a)') 'dar_RNstar_',PTRACERS_names(ii)(1:ilnb)
474     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
475     & RNstarave(1-OLx,1-OLy,1,1,1,np),myThid)
476     enddo
477     #endif
478     #ifdef DAR_DIAG_DIVER
479     CALL MNC_CW_RL_W(
480     & pf,'dar_tave',0,0,'dar_Diver1_ave',Diver1ave,myThid)
481     CALL MNC_CW_RL_W(
482     & pf,'dar_tave',0,0,'dar_Diver2_ave',Diver2ave,myThid)
483     CALL MNC_CW_RL_W(
484     & pf,'dar_tave',0,0,'dar_Diver3_ave',Diver3ave,myThid)
485     CALL MNC_CW_RL_W(
486     & pf,'dar_tave',0,0,'dar_Diver4_ave',Diver4ave,myThid)
487     #endif
488     c
489     #ifdef DAR_DIAG_GROW
490     do np=1,npmax
491     ii=iPhy+np-1
492     DO jj = 1,MAX_LEN_FNAM
493     name(jj:jj) = ' '
494     ENDDO
495     ilnb = ILNBLNK(PTRACERS_names(ii))
496     WRITE(name,'(a,a)') 'dar_Grow_',PTRACERS_names(ii)(1:ilnb)
497     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
498     & Growave(1-OLx,1-OLy,1,1,1,np),myThid)
499     enddo
500     do np=1,npmax
501     ii=iPhy+np-1
502     DO jj = 1,MAX_LEN_FNAM
503     name(jj:jj) = ' '
504     ENDDO
505     ilnb = ILNBLNK(PTRACERS_names(ii))
506     WRITE(name,'(a,a)') 'dar_Growsq_',PTRACERS_names(ii)(1:ilnb)
507     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
508     & Growsqave(1-OLx,1-OLy,1,1,1,np),myThid)
509     enddo
510     #endif
511     c
512     #ifdef ALLOW_DIAZ
513     #ifdef DAR_DIAG_NFIXP
514     do np=1,npmax
515     ii=iPhy+np-1
516     DO jj = 1,MAX_LEN_FNAM
517     name(jj:jj) = ' '
518     ENDDO
519     ilnb = ILNBLNK(PTRACERS_names(ii))
520     WRITE(name,'(a,a)') 'dar_NfixP_',PTRACERS_names(ii)(1:ilnb)
521     CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
522     & NfixPave(1-OLx,1-OLy,1,1,1,np),myThid)
523     enddo
524     #endif
525     #endif
526     ENDIF
527     #endif
528    
529     C Reset averages to zero
530     DO bj = myByLo(myThid), myByHi(myThid)
531     DO bi = myBxLo(myThid), myBxHi(myThid)
532     CALL TIMEAVE_RESET(PARave,Nr,bi,bj,myThid)
533     CALL TIMEAVE_RESET(PPave,Nr,bi,bj,myThid)
534     #ifndef ALLOW_QUOTA
535     CALL TIMEAVE_RESET(Chlave,Nr,bi,bj,myThid)
536     #endif
537     CALL TIMEAVE_RESET(Nfixave,Nr,bi,bj,myThid)
538     CALL TIMEAVE_RESET(Denitave,Nr,bi,bj,myThid)
539     #ifdef DAR_DIAG_ACDOM
540     CALL TIMEAVE_RESET(aCDOMave,Nr,bi,bj,myThid)
541     #endif
542     #ifdef DAR_DIAG_IRR
543     do ii = 1,tlam
544     CALL TIMEAVE_RESET(Edave(1-OLx,1-OLy,1,1,1,ii),
545     & Nr,bi,bj,myThid)
546     CALL TIMEAVE_RESET(Esave(1-OLx,1-OLy,1,1,1,ii),
547     & Nr,bi,bj,myThid)
548     CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,ii),
549     & Nr,bi,bj,myThid)
550     CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,ii),
551     & Nr,bi,bj,myThid)
552     enddo
553     #endif
554     #ifdef DAR_DIAG_ABSORP
555     do ii = 1,tlam
556     CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,ii),
557     & Nr,bi,bj,myThid)
558     enddo
559     #endif
560     #ifdef DAR_DIAG_SCATTER
561     do ii = 1,tlam
562     CALL TIMEAVE_RESET(btave(1-OLx,1-OLy,1,1,1,ii),
563     & Nr,bi,bj,myThid)
564     CALL TIMEAVE_RESET(bbave(1-OLx,1-OLy,1,1,1,ii),
565     & Nr,bi,bj,myThid)
566     enddo
567     #endif
568     #ifdef DAR_DIAG_PART_SCATTER
569     do ii = 1,tlam
570     CALL TIMEAVE_RESET(apartave(1-OLx,1-OLy,1,1,1,ii),
571     & Nr,bi,bj,myThid)
572     CALL TIMEAVE_RESET(btpartave(1-OLx,1-OLy,1,1,1,ii),
573     & Nr,bi,bj,myThid)
574     CALL TIMEAVE_RESET(bbpartave(1-OLx,1-OLy,1,1,1,ii),
575     & Nr,bi,bj,myThid)
576     enddo
577     #endif
578     c ANNA_TAVE
579     #ifdef WAVES_DIAG_PCHL
580     do np=1,npmax
581     CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np),
582     & Nr,bi,bj,myThid)
583     enddo
584     #endif
585     c ANNA and TAVE
586     #ifdef DAR_DIAG_RSTAR
587     do np=1,npmax
588     CALL TIMEAVE_RESET(Rstarave(1-OLx,1-OLy,1,1,1,np),
589     & Nr,bi,bj,myThid)
590     enddo
591     do np=1,npmax
592     CALL TIMEAVE_RESET(RNstarave(1-OLx,1-OLy,1,1,1,np),
593     & Nr,bi,bj,myThid)
594     enddo
595     #endif
596     #ifdef DAR_DIAG_DIVER
597     CALL TIMEAVE_RESET(Diver1ave,Nr,bi,bj,myThid)
598     CALL TIMEAVE_RESET(Diver2ave,Nr,bi,bj,myThid)
599     CALL TIMEAVE_RESET(Diver3ave,Nr,bi,bj,myThid)
600     CALL TIMEAVE_RESET(Diver4ave,Nr,bi,bj,myThid)
601     #endif
602     c
603     #ifdef DAR_DIAG_GROW
604     do np=1,npmax
605     CALL TIMEAVE_RESET(Growave(1-OLx,1-OLy,1,1,1,np),
606     & Nr,bi,bj,myThid)
607     enddo
608     do np=1,npmax
609     CALL TIMEAVE_RESET(Growsqave(1-OLx,1-OLy,1,1,1,np),
610     & Nr,bi,bj,myThid)
611     enddo
612     #endif
613     c
614     #ifdef ALLOW_DIAZ
615     #ifdef DAR_DIAG_NFIXP
616     do np=1,npmax
617     CALL TIMEAVE_RESET(NfixPave(1-OLx,1-OLy,1,1,1,np),
618     & Nr,bi,bj,myThid)
619     enddo
620     #endif
621     #endif
622     do k=1,Nr
623     DAR_TimeAve(bi,bj,k)=0.d0
624     enddo
625     ENDDO
626     ENDDO
627    
628     ENDIF
629    
630     #endif /* ALLOW_TIMEAVE */
631    
632     #endif /* ALLOW_DARWIN */
633    
634     RETURN
635     END

  ViewVC Help
Powered by ViewVC 1.1.22