/[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.4 - (hide annotations) (download)
Mon Jul 30 15:21:51 2012 UTC (12 years, 11 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt63r_20120817, ctrb_darwin2_ckpt63q_20120731
Changes since 1.3: +67 -1 lines
add timeave diagnostics rmud and c1,c2 for irradiance amplitudes

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

  ViewVC Help
Powered by ViewVC 1.1.22