/[MITgcm]/MITgcm/pkg/gmredi/gmredi_diags.F
ViewVC logotype

Diff of /MITgcm/pkg/gmredi/gmredi_diags.F

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

revision 1.2 by heimbach, Mon Jan 29 20:07:39 2001 UTC revision 1.7 by heimbach, Thu Nov 14 22:43:49 2002 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3    
4  #include "GMREDI_OPTIONS.h"  #include "GMREDI_OPTIONS.h"
5    
# Line 36  C     == Local variables == Line 37  C     == Local variables ==
37        CHARACTER*(MAX_LEN_MBUF) suff        CHARACTER*(MAX_LEN_MBUF) suff
38    
39    
40  #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE  #if ( defined (GM_NON_UNITY_DIAGONAL) || defined (GM_EXTRA_DIAGONAL) )
41    
42          IF ( DIFFERENT_MULTIPLE(diagFreq,myTime,myTime-deltaTClock)
43         &   ) THEN
44            WRITE(suff,'(I10.10)') myIter
45    #ifdef GM_NON_UNITY_DIAGONAL
46            CALL WRITE_FLD_XYZ_RL( 'GM_Kux.',suff,Kux,myIter,myThid)
47            CALL WRITE_FLD_XYZ_RL( 'GM_Kvy.',suff,Kvy,myIter,myThid)
48    #endif
49    #ifdef GM_EXTRA_DIAGONAL
50           IF (GM_ExtraDiag) THEN
51            CALL WRITE_FLD_XYZ_RL( 'GM_Kuz.',suff,Kuz,myIter,myThid)
52            CALL WRITE_FLD_XYZ_RL( 'GM_Kvz.',suff,Kvz,myIter,myThid)
53           ENDIF
54    #endif
55          ENDIF
56    
57    #endif /* GM_NON_UNITY_DIAGONAL || GM_EXTRA_DIAGONAL */
58    
59    
60    #ifdef ALLOW_TIMEAVE
61    
62  C     Dump files and restart average computation if needed  C     Dump files and restart average computation if needed
63        IF ( myIter.NE.nIter0 .AND.        IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock)
      &     DIFFERENT_MULTIPLE(taveFreq,myTime,  
      &     myTime-deltaTClock)  
64       &     ) THEN       &     ) THEN
65                    
66  C      Normalize by integrated time  C      Normalize by integrated time
67         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
68          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
69           DO k=1,Nr           CALL TIMEAVE_NORMALIZ(GM_Kwx_T,GM_timeave, Nr,
70            CALL TIMEAVER_FINAL_XYZ(GM_Kwx_T,GM_timeave,       &                 bi,bj,myThid)
71       &                 bi,bj,K,myThid)           CALL TIMEAVE_NORMALIZ(GM_Kwy_T,GM_timeave, Nr,
72            CALL TIMEAVER_FINAL_XYZ(GM_Kwy_T,GM_timeave,       &                 bi,bj,myThid)
73       &                 bi,bj,K,myThid)           CALL TIMEAVE_NORMALIZ(GM_Kwz_T,GM_timeave, Nr,
74            CALL TIMEAVER_FINAL_XYZ(GM_Kwz_T,GM_timeave,       &                 bi,bj,myThid)
      &                 bi,bj,K,myThid)  
          ENDDO  
75  #ifdef GM_VISBECK_VARIABLE_K  #ifdef GM_VISBECK_VARIABLE_K
76           CALL TIMEAVER_FINAL_XY(Visbeck_K_T,GM_timeave,          IF (GM_Visbeck_alpha.NE.0.)
77       &              bi,bj,myThid)       &   CALL TIMEAVE_NORMALIZ(Visbeck_K_T,GM_timeave, 1,
78         &                 bi,bj,myThid)
79    #endif
80    #ifdef GM_BOLUS_ADVEC
81            IF (GM_AdvForm) THEN
82             CALL TIMEAVE_NORMALIZ(GM_PsiXtave,GM_timeave, Nr,
83         &                 bi,bj,myThid)
84             CALL TIMEAVE_NORMALIZ(GM_PsiYtave,GM_timeave, Nr,
85         &                 bi,bj,myThid)
86            ENDIF
87  #endif  #endif
88          ENDDO          ENDDO
89         ENDDO         ENDDO
90                    
91         WRITE(suff,'(I10.10)') myIter         WRITE(suff,'(I10.10)') myIter
92    
93         CALL WRITE_FLD_XYZ_RL('GM_Kwx-T',suff,GM_Kwx_T,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('GM_Kwx-T.',suff,GM_Kwx_T,myIter,myThid)
94         CALL WRITE_FLD_XYZ_RL('GM_Kwy-T',suff,GM_Kwy_T,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('GM_Kwy-T.',suff,GM_Kwy_T,myIter,myThid)
95         CALL WRITE_FLD_XYZ_RL('GM_Kwz-T',suff,GM_Kwz_T,myIter,myThid)         CALL WRITE_FLD_XYZ_RL('GM_Kwz-T.',suff,GM_Kwz_T,myIter,myThid)
96  #ifdef GM_VISBECK_VARIABLE_K  #ifdef GM_VISBECK_VARIABLE_K
97         CALL WRITE_FLD_XY_RL('Visbeck_K-T',suff,Visbeck_K_T,         IF (GM_Visbeck_alpha.NE.0.)
98         &  CALL WRITE_FLD_XY_RL('Visbeck_K-T.',suff,Visbeck_K_T,
99       &                        myIter,myThid)       &                        myIter,myThid)
100  #endif  #endif
101    #ifdef GM_BOLUS_ADVEC
102           IF (GM_AdvForm) THEN
103            CALL WRITE_FLD_XYZ_RL('GM_PsiXtave.',suff,GM_PsiXtave,
104         &                        myIter,myThid)
105            CALL WRITE_FLD_XYZ_RL('GM_PsiYtave.',suff,GM_PsiYtave,
106         &                        myIter,myThid)
107           ENDIF
108    #endif
109                    
110  C      Reset averages to zero  C      Reset averages to zero
111         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
112          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
113             CALL TIMEAVE_RESET(GM_Kwx_T,Nr,bi,bj,myThid)
114             CALL TIMEAVE_RESET(GM_Kwy_T,Nr,bi,bj,myThid)
115             CALL TIMEAVE_RESET(GM_Kwz_T,Nr,bi,bj,myThid)
116    #ifdef GM_VISBECK_VARIABLE_K
117             IF (GM_Visbeck_alpha.NE.0.)
118         &    CALL TIMEAVE_RESET(Visbeck_K_T,1,bi,bj,myThid)
119    #endif
120    #ifdef GM_BOLUS_ADVEC
121             IF (GM_AdvForm) THEN
122              CALL TIMEAVE_RESET(GM_PsiXtave,Nr,bi,bj,myThid)
123              CALL TIMEAVE_RESET(GM_PsiYtave,Nr,bi,bj,myThid)
124             ENDIF
125    #endif
126           DO k=1,Nr           DO k=1,Nr
           CALL TIMEAVER_INI_XYZ(GM_Kwx_T,bi,bj,K,myThid)  
           CALL TIMEAVER_INI_XYZ(GM_Kwy_T,bi,bj,K,myThid)  
           CALL TIMEAVER_INI_XYZ(GM_Kwz_T,bi,bj,K,myThid)  
127            GM_TimeAve(k,bi,bj)=0.            GM_TimeAve(k,bi,bj)=0.
128           ENDDO           ENDDO
 #ifdef GM_VISBECK_VARIABLE_K  
          CALL TIMEAVER_INI_XY(Visbeck_K_T,bi,bj,myThid)  
 #endif  
129          ENDDO          ENDDO
130         ENDDO         ENDDO
131                    
132        ENDIF        ENDIF
133    
134  #endif /* INCLUDE_DIAGNOSTICS_INTERFACE_CODE */  #endif /* ALLOW_TIMEAVE */
135                
136  #endif /* ALLOW_GMREDI */  #endif /* ALLOW_GMREDI */
137                

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22