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 |
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 |
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 |
#ifdef QUOTA_DIAG_LIMIT |
77 |
do np=1,npmax |
do np=1,npmax |
78 |
CALL TIMEAVE_NORMALIZ(Nlimave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Nlimave(1-Olx,1-Oly,1,1,1,np), |
79 |
& DAR_timeave, nR ,bi,bj,myThid) |
& DAR_timeave, nR ,bi,bj,myThid) |
80 |
CALL TIMEAVE_NORMALIZ(Flimave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Flimave(1-Olx,1-Oly,1,1,1,np), |
81 |
& DAR_timeave, nR ,bi,bj,myThid) |
& DAR_timeave, nR ,bi,bj,myThid) |
82 |
CALL TIMEAVE_NORMALIZ(Ilimave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Ilimave(1-Olx,1-Oly,1,1,1,np), |
83 |
& DAR_timeave, nR ,bi,bj,myThid) |
& DAR_timeave, nR ,bi,bj,myThid) |
84 |
enddo |
enddo |
85 |
CALL TIMEAVE_NORMALIZ(Tlimave,DAR_timeave, nR , |
CALL TIMEAVE_NORMALIZE(Tlimave,DAR_timeave, nR , |
86 |
& bi,bj,myThid) |
& bi,bj,myThid) |
87 |
#endif |
#endif |
88 |
#ifndef ALLOW_QUOTA |
#ifndef ALLOW_QUOTA |
89 |
CALL TIMEAVE_NORMALIZ(Chlave, DAR_timeave, nR , |
CALL TIMEAVE_NORMALIZE(Chlave, DAR_timeave, nR , |
90 |
& bi,bj,myThid) |
& bi,bj,myThid) |
91 |
#endif |
#endif |
92 |
CALL TIMEAVE_NORMALIZ(Nfixave, DAR_timeave, nR , |
CALL TIMEAVE_NORMALIZE(Nfixave, DAR_timeave, nR , |
93 |
& bi,bj,myThid) |
& bi,bj,myThid) |
94 |
CALL TIMEAVE_NORMALIZ(Denitave, DAR_timeave, nR , |
CALL TIMEAVE_NORMALIZE(Denitave, DAR_timeave, nR , |
95 |
& bi,bj,myThid) |
& bi,bj,myThid) |
96 |
|
|
97 |
#ifdef DAR_DIAG_PARW |
#ifdef DAR_DIAG_PARW |
98 |
do ii = 1,tlam |
do ii = 1,tlam |
99 |
CALL TIMEAVE_NORMALIZ(PARwave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(PARwave(1-Olx,1-Oly,1,1,1,ii), |
100 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
101 |
enddo |
enddo |
102 |
do np = 1,npmax |
do np = 1,npmax |
103 |
CALL TIMEAVE_NORMALIZ(chl2cave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(chl2cave(1-Olx,1-Oly,1,1,1,np), |
104 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
105 |
enddo |
enddo |
106 |
#endif |
#endif |
107 |
#ifdef DAR_DIAG_ACDOM |
#ifdef DAR_DIAG_ACDOM |
108 |
CALL TIMEAVE_NORMALIZ(aCDOMave, DAR_timeave, nR , |
CALL TIMEAVE_NORMALIZE(aCDOMave, DAR_timeave, nR , |
109 |
& bi,bj,myThid) |
& bi,bj,myThid) |
110 |
#endif |
#endif |
111 |
#ifdef DAR_DIAG_IRR |
#ifdef DAR_DIAG_IRR |
112 |
do ii = 1,tlam |
do ii = 1,tlam |
113 |
CALL TIMEAVE_NORMALIZ(Edave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(Edave(1-Olx,1-Oly,1,1,1,ii), |
114 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
115 |
CALL TIMEAVE_NORMALIZ(Esave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(Esave(1-Olx,1-Oly,1,1,1,ii), |
116 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
117 |
CALL TIMEAVE_NORMALIZ(Euave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(Euave(1-Olx,1-Oly,1,1,1,ii), |
118 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
119 |
CALL TIMEAVE_NORMALIZ(Estave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(Estave(1-Olx,1-Oly,1,1,1,ii), |
120 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
121 |
CALL TIMEAVE_NORMALIZ(Eutave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(Eutave(1-Olx,1-Oly,1,1,1,ii), |
122 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
123 |
enddo |
enddo |
124 |
#endif |
#endif |
125 |
#ifdef DAR_DIAG_IRR_AMPS |
#ifdef DAR_DIAG_IRR_AMPS |
126 |
do ii = 1,tlam |
do ii = 1,tlam |
127 |
CALL TIMEAVE_NORMALIZ(amp1ave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(amp1ave(1-Olx,1-Oly,1,1,1,ii), |
128 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
129 |
CALL TIMEAVE_NORMALIZ(amp2ave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(amp2ave(1-Olx,1-Oly,1,1,1,ii), |
130 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
131 |
enddo |
enddo |
132 |
#endif |
#endif |
133 |
#ifdef DAR_DIAG_ABSORP |
#ifdef DAR_DIAG_ABSORP |
134 |
do ii = 1,tlam |
do ii = 1,tlam |
135 |
CALL TIMEAVE_NORMALIZ(aave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(aave(1-Olx,1-Oly,1,1,1,ii), |
136 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
137 |
enddo |
enddo |
138 |
#endif |
#endif |
139 |
#ifdef DAR_DIAG_SCATTER |
#ifdef DAR_DIAG_SCATTER |
140 |
do ii = 1,tlam |
do ii = 1,tlam |
141 |
CALL TIMEAVE_NORMALIZ(btave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(btave(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(bbave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(bbave(1-Olx,1-Oly,1,1,1,ii), |
144 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
145 |
enddo |
enddo |
146 |
#endif |
#endif |
147 |
#ifdef DAR_DIAG_PART_SCATTER |
#ifdef DAR_DIAG_PART_SCATTER |
148 |
do ii = 1,tlam |
do ii = 1,tlam |
149 |
CALL TIMEAVE_NORMALIZ(apartave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(apartave(1-Olx,1-Oly,1,1,1,ii), |
150 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
151 |
CALL TIMEAVE_NORMALIZ(btpartave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(btpartave(1-Olx,1-Oly,1,1,1,ii), |
152 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
153 |
CALL TIMEAVE_NORMALIZ(bbpartave(1-Olx,1-Oly,1,1,1,ii), |
CALL TIMEAVE_NORMALIZE(bbpartave(1-Olx,1-Oly,1,1,1,ii), |
154 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
155 |
enddo |
enddo |
156 |
#endif |
#endif |
157 |
#ifdef DAR_RADTRANS |
#ifdef DAR_RADTRANS |
158 |
CALL TIMEAVE_NORMALIZ(rmudave(1-Olx,1-Oly,1,1), |
CALL TIMEAVE_NORMALIZE(rmudave(1-Olx,1-Oly,1,1), |
159 |
& DAR_timeave,1,bi,bj,myThid) |
& DAR_timeave,1,bi,bj,myThid) |
160 |
#endif |
#endif |
161 |
#ifdef DAR_DIAG_EK |
#ifdef DAR_DIAG_EK |
162 |
do np = 1,npmax |
do np = 1,npmax |
163 |
CALL TIMEAVE_NORMALIZ(Ekave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Ekave(1-Olx,1-Oly,1,1,1,np), |
164 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
165 |
CALL TIMEAVE_NORMALIZ(EkoverEave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(EkoverEave(1-Olx,1-Oly,1,1,1,np), |
166 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
167 |
CALL TIMEAVE_NORMALIZ(acclimave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(acclimave(1-Olx,1-Oly,1,1,1,np), |
168 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
169 |
do ii = 1,tlam |
do ii = 1,tlam |
170 |
CALL TIMEAVE_NORMALIZ(Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii), |
CALL TIMEAVE_NORMALIZE(Ek_nlave(1-Olx,1-Oly,1,1,1,np,ii), |
171 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
172 |
CALL TIMEAVE_NORMALIZ( |
CALL TIMEAVE_NORMALIZE( |
173 |
& EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii), |
& EkoverE_nlave(1-Olx,1-Oly,1,1,1,np,ii), |
174 |
& DAR_timeave,nR,bi,bj,myThid) |
& DAR_timeave,nR,bi,bj,myThid) |
175 |
enddo |
enddo |
179 |
c ANNA_TAVE |
c ANNA_TAVE |
180 |
#ifdef WAVES_DIAG_PCHL |
#ifdef WAVES_DIAG_PCHL |
181 |
do np=1,npmax |
do np=1,npmax |
182 |
CALL TIMEAVE_NORMALIZ(Pchlave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Pchlave(1-Olx,1-Oly,1,1,1,np), |
183 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
184 |
& bi,bj,myThid) |
& bi,bj,myThid) |
185 |
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), |
186 |
c & DAR_timeave, nR , |
c & DAR_timeave, nR , |
187 |
c & bi,bj,myThid) |
c & bi,bj,myThid) |
188 |
enddo |
enddo |
191 |
|
|
192 |
#ifdef DAR_DIAG_RSTAR |
#ifdef DAR_DIAG_RSTAR |
193 |
do np=1,npmax |
do np=1,npmax |
194 |
CALL TIMEAVE_NORMALIZ(Rstarave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Rstarave(1-Olx,1-Oly,1,1,1,np), |
195 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
196 |
& bi,bj,myThid) |
& bi,bj,myThid) |
197 |
CALL TIMEAVE_NORMALIZ(RNstarave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(RNstarave(1-Olx,1-Oly,1,1,1,np), |
198 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
199 |
& bi,bj,myThid) |
& bi,bj,myThid) |
200 |
enddo |
enddo |
201 |
#endif |
#endif |
202 |
#ifdef DAR_DIAG_DIVER |
#ifdef DAR_DIAG_DIVER |
203 |
CALL TIMEAVE_NORMALIZ(Diver1ave(1-Olx,1-Oly,1,1,1), |
CALL TIMEAVE_NORMALIZE(Diver1ave(1-Olx,1-Oly,1,1,1), |
204 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
205 |
& bi,bj,myThid) |
& bi,bj,myThid) |
206 |
CALL TIMEAVE_NORMALIZ(Diver2ave(1-Olx,1-Oly,1,1,1), |
CALL TIMEAVE_NORMALIZE(Diver2ave(1-Olx,1-Oly,1,1,1), |
207 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
208 |
& bi,bj,myThid) |
& bi,bj,myThid) |
209 |
CALL TIMEAVE_NORMALIZ(Diver3ave(1-Olx,1-Oly,1,1,1), |
CALL TIMEAVE_NORMALIZE(Diver3ave(1-Olx,1-Oly,1,1,1), |
210 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
211 |
& bi,bj,myThid) |
& bi,bj,myThid) |
212 |
CALL TIMEAVE_NORMALIZ(Diver4ave(1-Olx,1-Oly,1,1,1), |
CALL TIMEAVE_NORMALIZE(Diver4ave(1-Olx,1-Oly,1,1,1), |
213 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
214 |
& bi,bj,myThid) |
& bi,bj,myThid) |
215 |
#endif |
#endif |
216 |
c |
c |
217 |
#ifdef DAR_DIAG_GROW |
#ifdef DAR_DIAG_GROW |
218 |
do np=1,npmax |
do np=1,npmax |
219 |
CALL TIMEAVE_NORMALIZ(Growave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Growave(1-Olx,1-Oly,1,1,1,np), |
220 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
221 |
& bi,bj,myThid) |
& bi,bj,myThid) |
222 |
CALL TIMEAVE_NORMALIZ(Growsqave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(Growsqave(1-Olx,1-Oly,1,1,1,np), |
223 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
224 |
& bi,bj,myThid) |
& bi,bj,myThid) |
225 |
enddo |
enddo |
228 |
c |
c |
229 |
#ifdef DAR_DIAG_NFIXP |
#ifdef DAR_DIAG_NFIXP |
230 |
do np=1,npmax |
do np=1,npmax |
231 |
CALL TIMEAVE_NORMALIZ(NfixPave(1-Olx,1-Oly,1,1,1,np), |
CALL TIMEAVE_NORMALIZE(NfixPave(1-Olx,1-Oly,1,1,1,np), |
232 |
& DAR_timeave, nR , |
& DAR_timeave, nR , |
233 |
& bi,bj,myThid) |
& bi,bj,myThid) |
234 |
enddo |
enddo |
255 |
_END_MASTER( myThid ) |
_END_MASTER( myThid ) |
256 |
#endif |
#endif |
257 |
|
|
258 |
|
|
259 |
IF ( PTRACERS_timeave_mdsio ) THEN |
IF ( PTRACERS_timeave_mdsio ) THEN |
260 |
WRITE(suff,'(I10.10)') myIter |
WRITE(suff,'(I10.10)') myIter |
261 |
CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave, |
CALL WRITE_FLD_XYZ_RL('DAR_PARtave.',suff,PARave, |
262 |
& myIter,myThid) |
& myIter,myThid) |
263 |
CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave, |
CALL WRITE_FLD_XYZ_RL('DAR_PPtave.',suff,PPave, |
264 |
& myIter,myThid) |
& myIter,myThid) |
826 |
enddo |
enddo |
827 |
enddo |
enddo |
828 |
#endif |
#endif |
829 |
c ANNA_TAVE |
c ANNA_TAVE |
830 |
#ifdef WAVES_DIAG_PCHL |
#ifdef WAVES_DIAG_PCHL |
831 |
do np=1,npmax |
do np=1,npmax |
832 |
CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np), |
CALL TIMEAVE_RESET(Pchlave(1-OLx,1-OLy,1,1,1,np), |
870 |
enddo |
enddo |
871 |
#endif |
#endif |
872 |
#endif |
#endif |
873 |
do k=1,Nr |
DAR_TimeAve(bi,bj)=0.d0 |
|
DAR_TimeAve(bi,bj,k)=0.d0 |
|
|
enddo |
|
874 |
ENDDO |
ENDDO |
875 |
ENDDO |
ENDDO |
876 |
|
|
877 |
ENDIF |
ENDIF |
878 |
|
|
879 |
#endif /* ALLOW_TIMEAVE */ |
#endif /* ALLOW_TIMEAVE */ |
|
|
|
880 |
#endif /* ALLOW_DARWIN */ |
#endif /* ALLOW_DARWIN */ |
881 |
|
|
882 |
RETURN |
RETURN |
883 |
END |
END |