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

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

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

revision 1.1 by jahn, Wed Apr 13 18:56:24 2011 UTC revision 1.10 by benw, Tue May 19 14:30:15 2015 UTC
# Line 32  C     myThid -  Number of this instance Line 32  C     myThid -  Number of this instance
32        INTEGER myThid        INTEGER myThid
33  CEndOfInterface  CEndOfInterface
34    
35    #ifdef ALLOW_DARWIN
36    #ifdef ALLOW_TIMEAVE
37    
38  C     == Local variables ==  C     == Local variables ==
39        LOGICAL  DIFFERENT_MULTIPLE        LOGICAL  DIFFERENT_MULTIPLE
# Line 50  C     Functions Line 52  C     Functions
52    
53        _RL Nfixtot, PPtot, Denittot        _RL Nfixtot, PPtot, Denittot
54    
 #ifdef ALLOW_DARWIN  
   
55        IF ( writeBinaryPrec .EQ. precFloat64 ) THEN        IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
56          pf(1:1) = 'D'          pf(1:1) = 'D'
57        ELSE        ELSE
58          pf(1:1) = 'R'          pf(1:1) = 'R'
59        ENDIF        ENDIF
60    
 #ifdef ALLOW_TIMEAVE  
   
61  #ifdef ALLOW_QUOTA  #ifdef ALLOW_QUOTA
62        iPhy = ibiomass        iPhy = ibiomass
63  #endif  #endif
# Line 67  C     Functions Line 65  C     Functions
65  C     Dump files and restart average computation if needed  C     Dump files and restart average computation if needed
66        IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,deltaTClock).        IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,deltaTClock).
67       &                               and.myIter.ne.nIter0 ) THEN       &                               and.myIter.ne.nIter0 ) THEN
68            
69  C      Normalize by integrated time  C      Normalize by integrated time
70         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
71          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
72           CALL TIMEAVE_NORMALIZ(PARave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(PARave, DAR_timeave, nR ,
73       &                 bi,bj,myThid)       &                 bi,bj,myThid)
74           CALL TIMEAVE_NORMALIZ(PPave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(PPave, DAR_timeave, nR ,
75       &                 bi,bj,myThid)       &                 bi,bj,myThid)
76    #ifdef QUOTA_DIAG_LIMIT
77             do np=1,npmax
78    ! Carbon
79               CALL TIMEAVE_NORMALIZE(AP_C_ave(1-Olx,1-Oly,1,1,1,np),
80         &                           DAR_timeave, nR ,bi,bj,myThid)
81               CALL TIMEAVE_NORMALIZE(HP_C_ave(1-Olx,1-Oly,1,1,1,np),
82         &                           DAR_timeave, nR ,bi,bj,myThid)
83    ! Nitrogen
84               CALL TIMEAVE_NORMALIZE(AP_N_ave(1-Olx,1-Oly,1,1,1,np),
85         &                           DAR_timeave, nR ,bi,bj,myThid)
86               CALL TIMEAVE_NORMALIZE(HP_N_ave(1-Olx,1-Oly,1,1,1,np),
87         &                           DAR_timeave, nR ,bi,bj,myThid)
88               CALL TIMEAVE_NORMALIZE(Nlimave(1-Olx,1-Oly,1,1,1,np),
89         &                           DAR_timeave, nR ,bi,bj,myThid)
90    ! Phosphorus
91    #ifdef PQUOTA
92               CALL TIMEAVE_NORMALIZE(AP_P_ave(1-Olx,1-Oly,1,1,1,np),
93         &                           DAR_timeave, nR ,bi,bj,myThid)
94               CALL TIMEAVE_NORMALIZE(HP_P_ave(1-Olx,1-Oly,1,1,1,np),
95         &                           DAR_timeave, nR ,bi,bj,myThid)
96               CALL TIMEAVE_NORMALIZE(Plimave(1-Olx,1-Oly,1,1,1,np),
97         &                           DAR_timeave, nR ,bi,bj,myThid)
98    #endif
99    ! Iron
100    #ifdef FQUOTA
101               CALL TIMEAVE_NORMALIZE(AP_F_ave(1-Olx,1-Oly,1,1,1,np),
102         &                           DAR_timeave, nR ,bi,bj,myThid)
103               CALL TIMEAVE_NORMALIZE(HP_F_ave(1-Olx,1-Oly,1,1,1,np),
104         &                           DAR_timeave, nR ,bi,bj,myThid)
105               CALL TIMEAVE_NORMALIZE(Flimave(1-Olx,1-Oly,1,1,1,np),
106         &                           DAR_timeave, nR ,bi,bj,myThid)
107    #endif
108    ! Light
109               CALL TIMEAVE_NORMALIZE(Ilimave(1-Olx,1-Oly,1,1,1,np),
110         &                           DAR_timeave, nR ,bi,bj,myThid)
111             enddo
112    ! Temperature
113             CALL TIMEAVE_NORMALIZE(Tlimave,DAR_timeave, nR ,
114         &                                           bi,bj,myThid)
115    #endif
116  #ifndef ALLOW_QUOTA  #ifndef ALLOW_QUOTA
117           CALL TIMEAVE_NORMALIZ(Chlave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(Chlave, DAR_timeave, nR ,
118       &                 bi,bj,myThid)       &                 bi,bj,myThid)
119  #endif  #endif
120           CALL TIMEAVE_NORMALIZ(Nfixave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(Nfixave, DAR_timeave, nR ,
121       &                 bi,bj,myThid)       &                 bi,bj,myThid)
122           CALL TIMEAVE_NORMALIZ(Denitave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(Denitave, DAR_timeave, nR ,
123       &                 bi,bj,myThid)       &                 bi,bj,myThid)
124    
125    #ifdef DAR_DIAG_PARW
126             do ii = 1,tlam
127              CALL TIMEAVE_NORMALIZE(PARwave(1-Olx,1-Oly,1,1,1,ii),
128         &                          DAR_timeave,nR,bi,bj,myThid)
129             enddo
130             do np = 1,npmax
131              CALL TIMEAVE_NORMALIZE(chl2cave(1-Olx,1-Oly,1,1,1,np),
132         &                          DAR_timeave,nR,bi,bj,myThid)
133             enddo
134    #endif
135  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
136           CALL TIMEAVE_NORMALIZ(aCDOMave, DAR_timeave, nR ,           CALL TIMEAVE_NORMALIZE(aCDOMave, DAR_timeave, nR ,
137       &                 bi,bj,myThid)       &                 bi,bj,myThid)
138  #endif  #endif
139  #ifdef DAR_DIAG_IRR  #ifdef DAR_DIAG_IRR
140           do ii = 1,tlam           do ii = 1,tlam
141            CALL TIMEAVE_NORMALIZ(Edave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(Edave(1-Olx,1-Oly,1,1,1,ii),
142       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
143            CALL TIMEAVE_NORMALIZ(Esave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(Esave(1-Olx,1-Oly,1,1,1,ii),
144       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
145            CALL TIMEAVE_NORMALIZ(Euave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(Euave(1-Olx,1-Oly,1,1,1,ii),
146       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
147            CALL TIMEAVE_NORMALIZ(Eutave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(Estave(1-Olx,1-Oly,1,1,1,ii),
148         &                          DAR_timeave,nR,bi,bj,myThid)
149              CALL TIMEAVE_NORMALIZE(Eutave(1-Olx,1-Oly,1,1,1,ii),
150         &                          DAR_timeave,nR,bi,bj,myThid)
151             enddo
152    #endif
153    #ifdef DAR_DIAG_IRR_AMPS
154             do ii = 1,tlam
155              CALL TIMEAVE_NORMALIZE(amp1ave(1-Olx,1-Oly,1,1,1,ii),
156         &                          DAR_timeave,nR,bi,bj,myThid)
157              CALL TIMEAVE_NORMALIZE(amp2ave(1-Olx,1-Oly,1,1,1,ii),
158       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
159           enddo           enddo
160  #endif  #endif
161  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
162           do ii = 1,tlam           do ii = 1,tlam
163            CALL TIMEAVE_NORMALIZ(aave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(aave(1-Olx,1-Oly,1,1,1,ii),
164       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
165           enddo           enddo
166  #endif  #endif
167  #ifdef DAR_DIAG_SCATTER  #ifdef DAR_DIAG_SCATTER
168           do ii = 1,tlam           do ii = 1,tlam
169            CALL TIMEAVE_NORMALIZ(btave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(btave(1-Olx,1-Oly,1,1,1,ii),
170       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
171            CALL TIMEAVE_NORMALIZ(bbave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(bbave(1-Olx,1-Oly,1,1,1,ii),
172       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
173           enddo           enddo
174  #endif  #endif
175  #ifdef DAR_DIAG_PART_SCATTER  #ifdef DAR_DIAG_PART_SCATTER
176           do ii = 1,tlam           do ii = 1,tlam
177            CALL TIMEAVE_NORMALIZ(apartave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(apartave(1-Olx,1-Oly,1,1,1,ii),
178       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
179            CALL TIMEAVE_NORMALIZ(btpartave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(btpartave(1-Olx,1-Oly,1,1,1,ii),
180       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
181            CALL TIMEAVE_NORMALIZ(bbpartave(1-Olx,1-Oly,1,1,1,ii),            CALL TIMEAVE_NORMALIZE(bbpartave(1-Olx,1-Oly,1,1,1,ii),
182       &                          DAR_timeave,nR,bi,bj,myThid)       &                          DAR_timeave,nR,bi,bj,myThid)
183           enddo           enddo
184  #endif  #endif
185    #ifdef DAR_RADTRANS
186             CALL TIMEAVE_NORMALIZE(rmudave(1-Olx,1-Oly,1,1),
187         &                         DAR_timeave,1,bi,bj,myThid)
188    #endif
189    #ifdef DAR_DIAG_EK
190             do np = 1,npmax
191              CALL TIMEAVE_NORMALIZE(Ekave(1-Olx,1-Oly,1,1,1,np),
192         &                          DAR_timeave,nR,bi,bj,myThid)
193              CALL TIMEAVE_NORMALIZE(EkoverEave(1-Olx,1-Oly,1,1,1,np),
194         &                          DAR_timeave,nR,bi,bj,myThid)
195              CALL TIMEAVE_NORMALIZE(acclimave(1-Olx,1-Oly,1,1,1,np),
196         &                          DAR_timeave,nR,bi,bj,myThid)
197              do ii = 1,tlam
198                CALL TIMEAVE_NORMALIZE(Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii),
199         &                          DAR_timeave,nR,bi,bj,myThid)
200                CALL TIMEAVE_NORMALIZE(
201         &                       EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii),
202         &                          DAR_timeave,nR,bi,bj,myThid)
203              enddo
204             enddo
205    #endif
206    
207  c ANNA_TAVE  c ANNA_TAVE
208  #ifdef WAVES_DIAG_PCHL  #ifdef WAVES_DIAG_PCHL
209           do np=1,npmax           do np=1,npmax
210             CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(Pchlave(1-Olx,1-Oly,1,1,1,np),
211       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
212       &                 bi,bj,myThid)       &                 bi,bj,myThid)
213  c           CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np),  c           CALL TIMEAVE_NORMALIZE(Pchlave(1-Olx,1-Oly,1,1,1,np),
214  c     &                          DAR_timeave, nR ,  c     &                          DAR_timeave, nR ,
215  c     &                 bi,bj,myThid)  c     &                 bi,bj,myThid)
216           enddo           enddo
# Line 140  c ANNA end TAVE Line 219  c ANNA end TAVE
219    
220  #ifdef DAR_DIAG_RSTAR  #ifdef DAR_DIAG_RSTAR
221           do np=1,npmax           do np=1,npmax
222             CALL TIMEAVE_NORMALIZ(Rstarave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(Rstarave(1-Olx,1-Oly,1,1,1,np),
223       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
224       &                 bi,bj,myThid)       &                 bi,bj,myThid)
225             CALL TIMEAVE_NORMALIZ(RNstarave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(RNstarave(1-Olx,1-Oly,1,1,1,np),
226       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
227       &                 bi,bj,myThid)       &                 bi,bj,myThid)
228           enddo           enddo
229  #endif  #endif
230  #ifdef DAR_DIAG_DIVER  #ifdef DAR_DIAG_DIVER
231            CALL TIMEAVE_NORMALIZ(Diver1ave(1-Olx,1-Oly,1,1,1),            CALL TIMEAVE_NORMALIZE(Diver1ave(1-Olx,1-Oly,1,1,1),
232       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
233       &                 bi,bj,myThid)       &                 bi,bj,myThid)
234            CALL TIMEAVE_NORMALIZ(Diver2ave(1-Olx,1-Oly,1,1,1),            CALL TIMEAVE_NORMALIZE(Diver2ave(1-Olx,1-Oly,1,1,1),
235       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
236       &                 bi,bj,myThid)       &                 bi,bj,myThid)
237            CALL TIMEAVE_NORMALIZ(Diver3ave(1-Olx,1-Oly,1,1,1),            CALL TIMEAVE_NORMALIZE(Diver3ave(1-Olx,1-Oly,1,1,1),
238       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
239       &                 bi,bj,myThid)       &                 bi,bj,myThid)
240            CALL TIMEAVE_NORMALIZ(Diver4ave(1-Olx,1-Oly,1,1,1),            CALL TIMEAVE_NORMALIZE(Diver4ave(1-Olx,1-Oly,1,1,1),
241       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
242       &                 bi,bj,myThid)       &                 bi,bj,myThid)
243  #endif  #endif
244  c  c
245  #ifdef DAR_DIAG_GROW  #ifdef DAR_DIAG_GROW
246           do np=1,npmax           do np=1,npmax
247             CALL TIMEAVE_NORMALIZ(Growave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(Growave(1-Olx,1-Oly,1,1,1,np),
248       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
249       &                 bi,bj,myThid)       &                 bi,bj,myThid)
250             CALL TIMEAVE_NORMALIZ(Growsqave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(Growsqave(1-Olx,1-Oly,1,1,1,np),
251       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
252       &                 bi,bj,myThid)       &                 bi,bj,myThid)
253           enddo           enddo
# Line 177  c Line 256  c
256  c  c
257  #ifdef DAR_DIAG_NFIXP  #ifdef DAR_DIAG_NFIXP
258           do np=1,npmax           do np=1,npmax
259             CALL TIMEAVE_NORMALIZ(NfixPave(1-Olx,1-Oly,1,1,1,np),             CALL TIMEAVE_NORMALIZE(NfixPave(1-Olx,1-Oly,1,1,1,np),
260       &                          DAR_timeave, nR ,       &                          DAR_timeave, nR ,
261       &                 bi,bj,myThid)       &                 bi,bj,myThid)
262           enddo           enddo
# Line 190  c Line 269  c
269         call tracer_sumvol(         call tracer_sumvol(
270       &             PPave, nR, PPtot, myThid )       &             PPave, nR, PPtot, myThid )
271         PPtot=PPtot*120. _d 0 * 12. _d 0* 1. _d -3* 31536000. _d 0         PPtot=PPtot*120. _d 0 * 12. _d 0* 1. _d -3* 31536000. _d 0
272       &                      *1. _d-15       &                      *1. _d -15
273         call tracer_sumvol(         call tracer_sumvol(
274       &             Nfixave, nR, Nfixtot, myThid )       &             Nfixave, nR, Nfixtot, myThid )
275         Nfixtot=Nfixtot*14. _d 0 *1. _d -3* 31536000. _d 0         Nfixtot=Nfixtot*14. _d 0 *1. _d -3* 31536000. _d 0
# Line 199  c Line 278  c
278       &             Denitave, nR, Denittot, myThid )       &             Denitave, nR, Denittot, myThid )
279         Denittot=Denittot*14. _d 0 *1. _d -3* 31536000. _d 0         Denittot=Denittot*14. _d 0 *1. _d -3* 31536000. _d 0
280       &                      *1 _d -12       &                      *1 _d -12
281         write(30,*) 'PPtot', PPtot         _BEGIN_MASTER( myThid )
282         write(30,*) 'Nfixtot', Nfixtot         write(dar_ratetot_unit,*) myIter, PPtot, Nfixtot, Denittot
283         write(30,*) 'Denittot', Denittot         _END_MASTER( myThid )
284  #endif  #endif
285    
286          
287         IF ( PTRACERS_timeave_mdsio )  THEN         IF ( PTRACERS_timeave_mdsio )  THEN
288           WRITE(suff,'(I10.10)') myIter           WRITE(suff,'(I10.10)') myIter
289           CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave,                   CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave,
290       &        myIter,myThid)       &        myIter,myThid)
291           CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave,           CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave,
292       &        myIter,myThid)       &        myIter,myThid)
# Line 219  c Line 298  c
298       &        myIter,myThid)       &        myIter,myThid)
299           CALL WRITE_FLD_XYZ_RL('DAR_Denittave.',suff,Denitave,           CALL WRITE_FLD_XYZ_RL('DAR_Denittave.',suff,Denitave,
300       &        myIter,myThid)       &        myIter,myThid)
301    #ifdef DAR_DIAG_PARW
302             do ii = 1,tlam
303               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'PARwave',
304         &           ii,'.',myIter
305               CALL WRITE_FLD_XYZ_RL(suff,' ',
306         &           PARwave(1-Olx,1-Oly,1,1,1,ii),
307         &           myIter,myThid)
308             enddo
309             do np = 1,npmax
310               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'chl2cave',
311         &           np,'.',myIter
312               CALL WRITE_FLD_XYZ_RL(suff,' ',
313         &           chl2cave(1-Olx,1-Oly,1,1,1,np),
314         &           myIter,myThid)
315             enddo
316    #endif
317  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
318           CALL WRITE_FLD_XYZ_RL('DAR_aCDOMtave',suff,aCDOMave,           CALL WRITE_FLD_XYZ_RL('DAR_aCDOMtave',suff,aCDOMave,
319       &        myIter,myThid)       &        myIter,myThid)
# Line 240  c Line 335  c
335             CALL WRITE_FLD_XYZ_RL(suff,' ',             CALL WRITE_FLD_XYZ_RL(suff,' ',
336       &           Euave(1-Olx,1-Oly,1,1,1,ii),       &           Euave(1-Olx,1-Oly,1,1,1,ii),
337       &           myIter,myThid)       &           myIter,myThid)
338               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Estopave',
339         &           ii,'.',myIter
340               CALL WRITE_FLD_XYZ_RL(suff,' ',
341         &           Estave(1-Olx,1-Oly,1,1,1,ii),
342         &           myIter,myThid)
343             WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Eutopave',             WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Eutopave',
344       &           ii,'.',myIter       &           ii,'.',myIter
345             CALL WRITE_FLD_XYZ_RL(suff,' ',             CALL WRITE_FLD_XYZ_RL(suff,' ',
# Line 247  c Line 347  c
347       &           myIter,myThid)       &           myIter,myThid)
348           enddo           enddo
349  #endif  #endif
350    #ifdef DAR_DIAG_IRR_AMPS
351             do ii = 1,tlam
352               WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp1ave',
353         &           ii,'.',myIter
354               CALL WRITE_FLD_XYZ_RL(suff,' ',
355         &           amp1ave(1-Olx,1-Oly,1,1,1,ii),
356         &           myIter,myThid)
357               WRITE(suff,'(A5,I2.2,A1,I10.10)') 'amp2ave',
358         &           ii,'.',myIter
359               CALL WRITE_FLD_XYZ_RL(suff,' ',
360         &           amp2ave(1-Olx,1-Oly,1,1,1,ii),
361         &           myIter,myThid)
362             enddo
363    #endif
364  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
365           do ii = 1,tlam           do ii = 1,tlam
366             WRITE(suff,'(A4,I2.2,A1,I10.10)') 'aave',             WRITE(suff,'(A4,I2.2,A1,I10.10)') 'aave',
# Line 289  c Line 403  c
403       &           myIter,myThid)       &           myIter,myThid)
404           enddo           enddo
405  #endif  #endif
406    #ifdef DAR_RADTRANS
407             WRITE(suff,'(A7,A1,I10.10)') 'rmudave',
408         &         '.',myIter
409             CALL WRITE_FLD_XY_RL(suff,' ',
410         &         rmudave(1-Olx,1-Oly,1,1),
411         &         myIter,myThid)
412    #endif
413    #ifdef DAR_DIAG_EK
414             do np = 1,npmax
415               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'Ekave',
416         &           np,'.',myIter
417               CALL WRITE_FLD_XYZ_RL(suff,' ',
418         &           Ekave(1-Olx,1-Oly,1,1,1,np),
419         &           myIter,myThid)
420               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'EkoverEave',
421         &           np,'.',myIter
422               CALL WRITE_FLD_XYZ_RL(suff,' ',
423         &           EkoverEave(1-Olx,1-Oly,1,1,1,np),
424         &           myIter,myThid)
425               WRITE(suff,'(A8,I2.2,A1,I10.10)') 'acclimave',
426         &           np,'.',myIter
427               CALL WRITE_FLD_XYZ_RL(suff,' ',
428         &           acclimave(1-Olx,1-Oly,1,1,1,np),
429         &           myIter,myThid)
430               do ii = 1,tlam
431                 WRITE(suff,'(A8,I2.2,A1,I2.2,A1,I10.10)') 'Ek_nl_ave',
432         &             np,'_',ii,'.',myIter
433                 CALL WRITE_FLD_XYZ_RL(suff,' ',
434         &             Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii),
435         &             myIter,myThid)
436                 WRITE(suff,'(A8,I2.2,A1,I2.2,A1,I10.10)') 'EkoverE_nl_ave',
437         &             np,'_',ii,'.',myIter
438                 CALL WRITE_FLD_XYZ_RL(suff,' ',
439         &             EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii),
440         &             myIter,myThid)
441               enddo
442             enddo
443    #endif
444    
445  c ANNA_TAVE  c ANNA_TAVE
446  #ifdef WAVES_DIAG_PCHL  #ifdef WAVES_DIAG_PCHL
# Line 369  c Line 521  c
521       &        pf,'dar_tave',0,0,'dar_PAR_ave',PARave,myThid)       &        pf,'dar_tave',0,0,'dar_PAR_ave',PARave,myThid)
522           CALL MNC_CW_RL_W(           CALL MNC_CW_RL_W(
523       &        pf,'dar_tave',0,0,'dar_PP_ave',PPave,myThid)       &        pf,'dar_tave',0,0,'dar_PP_ave',PPave,myThid)
524    #ifdef QUOTA_DIAG_LIMIT
525             do np=1,npmax
526    ! Carbon
527               WRITE(name,'(a,i3.3)') 'dar_AP_C_',np
528               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
529         &          AP_C_ave(1-OLx,1-OLy,1,1,1,np),myThid)
530               WRITE(name,'(a,i3.3)') 'dar_HP_C_',np
531               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
532         &          HP_C_ave(1-OLx,1-OLy,1,1,1,np),myThid)
533    ! Nitrogen
534               WRITE(name,'(a,i3.3)') 'dar_Nlim_',np
535               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
536         &          Nlimave(1-OLx,1-OLy,1,1,1,np),myThid)
537               WRITE(name,'(a,i3.3)') 'dar_AP_N_',np
538               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
539         &          AP_N_ave(1-OLx,1-OLy,1,1,1,np),myThid)
540               WRITE(name,'(a,i3.3)') 'dar_HP_N_',np
541               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
542         &          HP_N_ave(1-OLx,1-OLy,1,1,1,np),myThid)
543    ! Phosphorus
544    #ifdef PQUOTA
545               WRITE(name,'(a,i3.3)') 'dar_Plim_',np
546               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
547         &          Plimave(1-OLx,1-OLy,1,1,1,np),myThid)
548               WRITE(name,'(a,i3.3)') 'dar_AP_P_',np
549               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
550         &          AP_P_ave(1-OLx,1-OLy,1,1,1,np),myThid)
551               WRITE(name,'(a,i3.3)') 'dar_HP_P_',np
552               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
553         &          HP_P_ave(1-OLx,1-OLy,1,1,1,np),myThid)
554    #endif
555    ! Iron
556    #ifdef FQUOTA
557               WRITE(name,'(a,i3.3)') 'dar_Flim_',np
558               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
559         &          Flimave(1-OLx,1-OLy,1,1,1,np),myThid)
560               WRITE(name,'(a,i3.3)') 'dar_AP_F_',np
561               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
562         &          AP_F_ave(1-OLx,1-OLy,1,1,1,np),myThid)
563               WRITE(name,'(a,i3.3)') 'dar_HP_F_',np
564               CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
565         &          HP_F_ave(1-OLx,1-OLy,1,1,1,np),myThid)
566    #endif
567    ! Light
568              WRITE(name,'(a,i3.3)') 'dar_Ilim_',np
569              CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
570         &         Ilimave(1-OLx,1-OLy,1,1,1,np),myThid)
571             enddo
572    ! Temperature
573             CALL MNC_CW_RL_W(
574         &        pf,'dar_tave',0,0,'dar_Tlim_ave',Tlimave,myThid)
575    #endif
576  #ifndef ALLOW_QUOTA  #ifndef ALLOW_QUOTA
577           CALL MNC_CW_RL_W(           CALL MNC_CW_RL_W(
578       &        pf,'dar_tave',0,0,'dar_Chl_ave',Chlave,myThid)       &        pf,'dar_tave',0,0,'dar_Chl_ave',Chlave,myThid)
# Line 377  c Line 581  c
581       &        pf,'dar_tave',0,0,'dar_Nfix_ave',Nfixave,myThid)       &        pf,'dar_tave',0,0,'dar_Nfix_ave',Nfixave,myThid)
582           CALL MNC_CW_RL_W(           CALL MNC_CW_RL_W(
583       &        pf,'dar_tave',0,0,'dar_Denit_ave',Denitave,myThid)       &        pf,'dar_tave',0,0,'dar_Denit_ave',Denitave,myThid)
584    #ifdef DAR_DIAG_PARW
585             do ii = 1,tlam
586                DO jj = 1,MAX_LEN_FNAM
587                  name(jj:jj) = ' '
588                ENDDO
589                WRITE(name,'(a,i2.2)') 'dar_PARw',ii
590                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
591         &           PARwave(1-OLx,1-OLy,1,1,1,ii),myThid)
592            enddo
593             do np = 1,npmax
594                DO jj = 1,MAX_LEN_FNAM
595                  name(jj:jj) = ' '
596                ENDDO
597                WRITE(name,'(a,i2.2)') 'dar_chl2c',np
598                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
599         &           chl2cave(1-OLx,1-OLy,1,1,1,np),myThid)
600            enddo
601    #endif
602  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
603           CALL MNC_CW_RL_W(           CALL MNC_CW_RL_W(
604       &        pf,'dar_tave',0,0,'dar_aCDOM_ave',aCDOMave,myThid)       &        pf,'dar_tave',0,0,'dar_aCDOM_ave',aCDOMave,myThid)
# Line 395  c Line 617  c
617              WRITE(name,'(a,i2.2)') 'dar_Eu',ii              WRITE(name,'(a,i2.2)') 'dar_Eu',ii
618              CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,              CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
619       &           Euave(1-OLx,1-OLy,1,1,1,ii),myThid)       &           Euave(1-OLx,1-OLy,1,1,1,ii),myThid)
620                WRITE(name,'(a,i2.2)') 'dar_Estop',ii
621                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
622         &           Estave(1-OLx,1-OLy,1,1,1,ii),myThid)
623              WRITE(name,'(a,i2.2)') 'dar_Eutop',ii              WRITE(name,'(a,i2.2)') 'dar_Eutop',ii
624              CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,              CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
625       &           Eutave(1-OLx,1-OLy,1,1,1,ii),myThid)       &           Eutave(1-OLx,1-OLy,1,1,1,ii),myThid)
626           enddo           enddo
627  #endif  #endif
628    #ifdef DAR_DIAG_IRR_AMPS
629             do ii = 1,tlam
630                DO jj = 1,MAX_LEN_FNAM
631                  name(jj:jj) = ' '
632                ENDDO
633                WRITE(name,'(a,i2.2)') 'dar_amp1_',ii
634                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
635         &           amp1ave(1-OLx,1-OLy,1,1,1,ii),myThid)
636                WRITE(name,'(a,i2.2)') 'dar_amp2_',ii
637                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
638         &           amp2ave(1-OLx,1-OLy,1,1,1,ii),myThid)
639             enddo
640    #endif
641  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
642           do ii = 1,tlam           do ii = 1,tlam
643              DO jj = 1,MAX_LEN_FNAM              DO jj = 1,MAX_LEN_FNAM
# Line 439  c Line 677  c
677       &           bbpartave(1-OLx,1-OLy,1,1,1,ii),myThid)       &           bbpartave(1-OLx,1-OLy,1,1,1,ii),myThid)
678           enddo           enddo
679  #endif  #endif
680    #ifdef DAR_RADTRANS
681             DO jj = 1,MAX_LEN_FNAM
682               name(jj:jj) = ' '
683             ENDDO
684             WRITE(name,'(a)') 'dar_rmud'
685             CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
686         &        rmudave(1-OLx,1-OLy,1,1),myThid)
687    #endif
688    #ifdef DAR_DIAG_EK
689             do np = 1,npmax
690                DO jj = 1,MAX_LEN_FNAM
691                  name(jj:jj) = ' '
692                ENDDO
693                WRITE(name,'(a,i2.2)') 'dar_Ek',np
694                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
695         &           Ekave(1-OLx,1-OLy,1,1,1,np),myThid)
696                WRITE(name,'(a,i2.2)') 'dar_EkoverE',np
697                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
698         &           EkoverEave(1-OLx,1-OLy,1,1,1,np),myThid)
699                WRITE(name,'(a,i2.2)') 'dar_acclim',np
700                CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
701         &           acclimave(1-OLx,1-OLy,1,1,1,np),myThid)
702                do ii = 1,tlam
703                  WRITE(name,'(a,i2.2,a,i2.2)') 'dar_Ek_nl',np,'_',ii
704                  CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
705         &             Ek_nlave(1-OLx,1-OLy,1,1,1,np,ii),myThid)
706                  WRITE(name,'(a,i2.2,a,i2.2)') 'dar_EkoverE_nl',np,'_',ii
707                  CALL MNC_CW_RL_W(pf,'dar_tave',0,0,name,
708         &             EkoverE_nlave(1-OLx,1-OLy,1,1,1,np,ii),myThid)
709                enddo
710            enddo
711    #endif
712  c ANNA_TAVE  c ANNA_TAVE
713  #ifdef WAVES_DIAG_PCHL  #ifdef WAVES_DIAG_PCHL
714           do np=1,npmax           do np=1,npmax
# Line 531  C      Reset averages to zero Line 801  C      Reset averages to zero
801          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
802           CALL TIMEAVE_RESET(PARave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(PARave,Nr,bi,bj,myThid)
803           CALL TIMEAVE_RESET(PPave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(PPave,Nr,bi,bj,myThid)
804    #ifdef QUOTA_DIAG_LIMIT
805    ! Carbon
806             CALL TIMEAVE_RESET(AP_C_ave,Nr,bi,bj,myThid)
807             CALL TIMEAVE_RESET(HP_C_ave,Nr,bi,bj,myThid)
808    ! Nitrogen
809             CALL TIMEAVE_RESET(AP_N_ave,Nr,bi,bj,myThid)
810             CALL TIMEAVE_RESET(HP_N_ave,Nr,bi,bj,myThid)
811             CALL TIMEAVE_RESET(Nlimave ,Nr,bi,bj,myThid)
812    ! Phosphorus
813    #ifdef PQUOTA
814             CALL TIMEAVE_RESET(AP_P_ave,Nr,bi,bj,myThid)
815             CALL TIMEAVE_RESET(HP_P_ave,Nr,bi,bj,myThid)
816             CALL TIMEAVE_RESET(Plimave ,Nr,bi,bj,myThid)
817    #endif
818    ! Iron
819    #ifdef FQUOTA
820             CALL TIMEAVE_RESET(AP_F_ave,Nr,bi,bj,myThid)
821             CALL TIMEAVE_RESET(HP_F_ave,Nr,bi,bj,myThid)
822             CALL TIMEAVE_RESET(Flimave ,Nr,bi,bj,myThid)
823    #endif
824             CALL TIMEAVE_RESET(Ilimave,Nr,bi,bj,myThid)
825             CALL TIMEAVE_RESET(Tlimave,Nr,bi,bj,myThid)
826    #endif
827  #ifndef ALLOW_QUOTA  #ifndef ALLOW_QUOTA
828           CALL TIMEAVE_RESET(Chlave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(Chlave,Nr,bi,bj,myThid)
829  #endif  #endif
830           CALL TIMEAVE_RESET(Nfixave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(Nfixave,Nr,bi,bj,myThid)
831           CALL TIMEAVE_RESET(Denitave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(Denitave,Nr,bi,bj,myThid)
832    #ifdef DAR_DIAG_PARW
833             do ii = 1,tlam
834               CALL TIMEAVE_RESET(PARwave(1-OLx,1-OLy,1,1,1,ii),
835         &                                    Nr,bi,bj,myThid)
836             enddo
837             do np = 1,npmax
838               CALL TIMEAVE_RESET(chl2cave(1-OLx,1-OLy,1,1,1,np),
839         &                                    Nr,bi,bj,myThid)
840             enddo
841    #endif
842  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
843           CALL TIMEAVE_RESET(aCDOMave,Nr,bi,bj,myThid)           CALL TIMEAVE_RESET(aCDOMave,Nr,bi,bj,myThid)
844  #endif  #endif
# Line 547  C      Reset averages to zero Line 850  C      Reset averages to zero
850       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
851             CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,ii),             CALL TIMEAVE_RESET(Euave(1-OLx,1-OLy,1,1,1,ii),
852       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
853               CALL TIMEAVE_RESET(Estave(1-OLx,1-OLy,1,1,1,ii),
854         &                                    Nr,bi,bj,myThid)
855             CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,ii),             CALL TIMEAVE_RESET(Eutave(1-OLx,1-OLy,1,1,1,ii),
856       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
857           enddo           enddo
858  #endif  #endif
859    #ifdef DAR_DIAG_IRR_AMPS
860             do ii = 1,tlam
861               CALL TIMEAVE_RESET(amp1ave(1-OLx,1-OLy,1,1,1,ii),
862         &                                    Nr,bi,bj,myThid)
863               CALL TIMEAVE_RESET(amp2ave(1-OLx,1-OLy,1,1,1,ii),
864         &                                    Nr,bi,bj,myThid)
865             enddo
866    #endif
867  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
868           do ii = 1,tlam           do ii = 1,tlam
869             CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,ii),             CALL TIMEAVE_RESET(aave(1-OLx,1-OLy,1,1,1,ii),
# Line 575  C      Reset averages to zero Line 888  C      Reset averages to zero
888       &                                    Nr,bi,bj,myThid)       &                                    Nr,bi,bj,myThid)
889           enddo           enddo
890  #endif  #endif
891  c ANNA_TAVE  #ifdef DAR_RADTRANS
892             CALL TIMEAVE_RESET(rmudave(1-OLx,1-OLy,1,1),
893         &                                  1,bi,bj,myThid)
894    #endif
895    #ifdef DAR_DIAG_EK
896             do np = 1,npmax
897               CALL TIMEAVE_RESET(Ekave(1-OLx,1-OLy,1,1,1,np),
898         &                                    Nr,bi,bj,myThid)
899               CALL TIMEAVE_RESET(EkoverEave(1-OLx,1-OLy,1,1,1,np),
900         &                                    Nr,bi,bj,myThid)
901               CALL TIMEAVE_RESET(acclimave(1-OLx,1-OLy,1,1,1,np),
902         &                                    Nr,bi,bj,myThid)
903               do ii = 1,tlam
904                 CALL TIMEAVE_RESET(Ek_nlave(1-OLx,1-OLy,1,1,1,np,ii),
905         &                                    Nr,bi,bj,myThid)
906                 CALL TIMEAVE_RESET(EkoverE_nlave(1-OLx,1-OLy,1,1,1,np,ii),
907         &                                    Nr,bi,bj,myThid)
908               enddo
909             enddo
910    #endif
911    c ANNA_TAVE
912  #ifdef WAVES_DIAG_PCHL  #ifdef WAVES_DIAG_PCHL
913           do np=1,npmax           do np=1,npmax
914             CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np),             CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np),
# Line 619  c Line 952  c
952           enddo           enddo
953  #endif  #endif
954  #endif  #endif
955           do k=1,Nr           DAR_TimeAve(bi,bj)=0.d0
            DAR_TimeAve(bi,bj,k)=0.d0  
          enddo  
956          ENDDO          ENDDO
957         ENDDO         ENDDO
958            
959        ENDIF        ENDIF
960    
961  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
         
962  #endif /* ALLOW_DARWIN */  #endif /* ALLOW_DARWIN */
963          
964        RETURN        RETURN
965        END        END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22