/[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.8 by jahn, Wed Dec 4 21:19:12 2013 UTC revision 1.9 by jahn, Fri Dec 27 17:29:00 2013 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  #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
# Line 181  C      Normalize by integrated time Line 179  C      Normalize by integrated time
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
# Line 193  c ANNA end TAVE Line 191  c ANNA end TAVE
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
# Line 230  c Line 228  c
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
# Line 257  c Line 255  c
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)
# Line 828  C      Reset averages to zero Line 826  C      Reset averages to zero
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),
# Line 872  c Line 870  c
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

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22