/[MITgcm]/MITgcm/pkg/timeave/timeave_statv_write.F
ViewVC logotype

Diff of /MITgcm/pkg/timeave/timeave_statv_write.F

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

revision 1.6 by jmc, Thu May 1 22:17:42 2003 UTC revision 1.14 by jmc, Tue Dec 30 02:37:11 2003 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3  #include "CPP_OPTIONS.h"  #include "TIMEAVE_OPTIONS.h"
4    
5        SUBROUTINE TIMEAVE_STATV_WRITE(myTime, myIter, myThid)        SUBROUTINE TIMEAVE_STATV_WRITE(myTime, myIter, myThid)
6  C     /==========================================================\  C     /==========================================================\
# Line 36  C     myTime - Current time of simulatio Line 36  C     myTime - Current time of simulatio
36  C     == Local variables ==  C     == Local variables ==
37  C     suff - Hold suffix part of a filename  C     suff - Hold suffix part of a filename
38  C     TimeAve - total time over average  C     TimeAve - total time over average
39    C     useVariableK   = T when vertical diffusion is not constant
40          LOGICAL useVariableK
41        INTEGER prevPrec        INTEGER prevPrec
42        CHARACTER*(MAX_LEN_FNAM) suff        CHARACTER*(MAX_LEN_FNAM) suff
43        INTEGER bi,bj,k        INTEGER bi,bj,k
# Line 46  C     TimeAve - total time over average Line 48  C     TimeAve - total time over average
48  C-    Final Time Averages and Dump Files if needed  C-    Final Time Averages and Dump Files if needed
49        IF(DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock) )THEN        IF(DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock) )THEN
50    
51           useVariableK = useKPP .OR. useGMredi .OR. ivdc_kappa.NE.0.
52         WRITE(suff,'(I10.10)') myIter         WRITE(suff,'(I10.10)') myIter
53    
54         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
55          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
56  C-     Normalize by integrated time  C-     Normalize by integrated time
57              CALL TIMEAVE_NORMALIZ(uFluxtave,TimeAve_full,1 ,bi,bj,myThid)
58              CALL TIMEAVE_NORMALIZ(vFluxtave,TimeAve_full,1 ,bi,bj,myThid)
59              CALL TIMEAVE_NORMALIZ(tFluxtave,TimeAve_full,1 ,bi,bj,myThid)
60              CALL TIMEAVE_NORMALIZ(sFluxtave,TimeAve_full,1 ,bi,bj,myThid)
61            CALL TIMEAVE_NORMALIZ(etatave,  TimeAve_half,1 ,bi,bj,myThid)            CALL TIMEAVE_NORMALIZ(etatave,  TimeAve_half,1 ,bi,bj,myThid)
62            CALL TIMEAVE_NORMALIZ(thetatave,TimeAve_half,Nr,bi,bj,myThid)            CALL TIMEAVE_NORMALIZ(thetatave,TimeAve_half,Nr,bi,bj,myThid)
63            CALL TIMEAVE_NORMALIZ(salttave, TimeAve_half,Nr,bi,bj,myThid)            CALL TIMEAVE_NORMALIZ(salttave, TimeAve_half,Nr,bi,bj,myThid)
# Line 77  c         CALL TIMEAVE_NORMALIZ(hFacStav Line 84  c         CALL TIMEAVE_NORMALIZ(hFacStav
84    
85            CALL TIMEAVE_NORMALIZ(TdiffRtave,TimeAve_full,Nr,            CALL TIMEAVE_NORMALIZ(TdiffRtave,TimeAve_full,Nr,
86       &                            bi,bj,myThid)       &                            bi,bj,myThid)
87    #ifdef ALLOW_MOM_VECINV
88              CALL TIMEAVE_NORMALIZ(uZetatave,TimeAve_full,Nr,bi,bj,myThid)
89              CALL TIMEAVE_NORMALIZ(vZetatave,TimeAve_full,Nr,bi,bj,myThid)
90    #endif
91            CALL TIMEAVE_NORMALIZ(phiHydtave,TimeAve_full,Nr,            CALL TIMEAVE_NORMALIZ(phiHydtave,TimeAve_full,Nr,
92       &                            bi,bj,myThid)       &                            bi,bj,myThid)
93            CALL TIMEAVE_NORMALIZ(phiHydLowtave,TimeAve_full,1,            CALL TIMEAVE_NORMALIZ(phiHydLowtave,TimeAve_full,1,
# Line 101  C--    Read IO error counter Line 112  C--    Read IO error counter
112         beginIOErrCount = IO_ERRCOUNT(myThid)         beginIOErrCount = IO_ERRCOUNT(myThid)
113  c      prevPrec = writeBinaryPrec  c      prevPrec = writeBinaryPrec
114  c      writeBinaryPrec = precFloat32  c      writeBinaryPrec = precFloat32
115         CALL WRITE_FLD_XY_RL('ETAtave.',suff,etatave,myIter,myThid)         CALL WRITE_FLD_XY_RL('ETAtave.'  ,suff,etatave  ,myIter,myThid)
116         CALL WRITE_FLD_XY_RL('Eta2tave.',suff,Eta2tave,myIter,myThid)         CALL WRITE_FLD_XY_RL('Eta2tave.' ,suff,Eta2tave ,myIter,myThid)
117    
118         CALL WRITE_FLD_XYZ_RL('Ttave.',suff,thetatave,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('Ttave.',suff,thetatave,myIter,myThid)
119         CALL WRITE_FLD_XYZ_RL('Stave.',suff,salttave,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('Stave.',suff,salttave,myIter,myThid)
# Line 118  c      CALL WRITE_FLD_XYZ_RL('KEtave.',s Line 129  c      CALL WRITE_FLD_XYZ_RL('KEtave.',s
129         CALL WRITE_FLD_XYZ_RL('VTtave.',suff,VTtave,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('VTtave.',suff,VTtave,myIter,myThid)
130         CALL WRITE_FLD_XYZ_RL('WTtave.',suff,WTtave,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('WTtave.',suff,WTtave,myIter,myThid)
131    
132         CALL WRITE_FLD_XYZ_RL('Tdiftave.',suff,TdiffRtave,myIter,myThid)         IF (useVariableK)
133         & CALL WRITE_FLD_XYZ_RL('Tdiftave.',suff,TdiffRtave,myIter,myThid)
134    #ifdef ALLOW_MOM_VECINV
135           IF (vectorInvariantMomentum) THEN
136             CALL WRITE_FLD_XYZ_RL('uZtave.',suff,uZetatave,myIter,myThid)
137             CALL WRITE_FLD_XYZ_RL('vZtave.',suff,vZetatave,myIter,myThid)
138           ENDIF
139    #endif
140         CALL WRITE_FLD_XYZ_RL('PhHytave.',suff,phiHydtave,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('PhHytave.',suff,phiHydtave,myIter,myThid)
141         IF ( buoyancyRelation .NE. 'ATMOSPHERIC' ) THEN         IF ( buoyancyRelation(1:7) .EQ. 'OCEANIC' ) THEN
142         CALL WRITE_FLD_XY_RL('PHLtave.',suff,phiHydLowtave,          CALL WRITE_FLD_XY_RL('PHLtave.',suff,phiHydLowtave,
143       &      myIter,myThid)       &       myIter,myThid)
144         CALL WRITE_FLD_XY_RL('PHL2tave.',suff,phiHydLow2tave,          CALL WRITE_FLD_XY_RL('PHL2tave.',suff,phiHydLow2tave,
145       &      myIter,myThid)       &       myIter,myThid)
146         CALL WRITE_FLD_XYZ_RL('Convtave.',suff,ConvectCountTave,          CALL WRITE_FLD_XYZ_RL('Convtave.',suff,ConvectCountTave,
147       &                       myIter,myThid)       &                        myIter,myThid)
148            CALL WRITE_FLD_XY_RL('uFluxtave.',suff,uFluxtave,myIter,myThid)
149            CALL WRITE_FLD_XY_RL('vFluxtave.',suff,vFluxtave,myIter,myThid)
150            CALL WRITE_FLD_XY_RL('tFluxtave.',suff,tFluxtave,myIter,myThid)
151            CALL WRITE_FLD_XY_RL('sFluxtave.',suff,sFluxtave,myIter,myThid)
152         ENDIF         ENDIF
153    
154  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22