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

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

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


Revision 1.2 - (hide annotations) (download)
Mon Jan 29 20:07:39 2001 UTC (23 years, 4 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint34
Changes since 1.1: +1 -1 lines
Corrected array dimensions.
Temporary scalars introduced to avoid storing by TAMC.

1 heimbach 1.2 C $Header: /u/ralf/cvs/ecco_env/pkg/gmredi/gmredi_diags.F,v 1.3 2000/11/14 17:21:41 heimbach Exp $
2 adcroft 1.1
3     #include "GMREDI_OPTIONS.h"
4    
5     CStartOfInterface
6     SUBROUTINE GMREDI_DIAGS( myTime, myIter, myThid )
7     C /==========================================================\
8     C | SUBROUTINE GMREDI_DIAGS |
9     C | o Do GM/Redi diagnostic output |
10     C |==========================================================|
11     C \==========================================================/
12     IMPLICIT NONE
13    
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "PARAMS.h"
18     #include "GMREDI.h"
19     #include "GMREDI_DIAGS.h"
20    
21     C == Routine arguments ==
22     C myTime - Current time of simulation ( s )
23     C myIter - Iteration number
24     C myThid - Number of this instance of INI_FORCING
25     _RL myTime
26     INTEGER myIter
27     INTEGER myThid
28     CEndOfInterface
29    
30     #ifdef ALLOW_GMREDI
31    
32     C == Local variables ==
33     LOGICAL DIFFERENT_MULTIPLE
34     EXTERNAL DIFFERENT_MULTIPLE
35     INTEGER bi, bj, K
36     CHARACTER*(MAX_LEN_MBUF) suff
37    
38    
39     #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE
40    
41    
42     C Dump files and restart average computation if needed
43     IF ( myIter.NE.nIter0 .AND.
44     & DIFFERENT_MULTIPLE(taveFreq,myTime,
45     & myTime-deltaTClock)
46     & ) THEN
47    
48     C Normalize by integrated time
49     DO bj = myByLo(myThid), myByHi(myThid)
50     DO bi = myBxLo(myThid), myBxHi(myThid)
51     DO k=1,Nr
52     CALL TIMEAVER_FINAL_XYZ(GM_Kwx_T,GM_timeave,
53     & bi,bj,K,myThid)
54     CALL TIMEAVER_FINAL_XYZ(GM_Kwy_T,GM_timeave,
55     & bi,bj,K,myThid)
56     CALL TIMEAVER_FINAL_XYZ(GM_Kwz_T,GM_timeave,
57     & bi,bj,K,myThid)
58     ENDDO
59     #ifdef GM_VISBECK_VARIABLE_K
60     CALL TIMEAVER_FINAL_XY(Visbeck_K_T,GM_timeave,
61     & bi,bj,myThid)
62     #endif
63     ENDDO
64     ENDDO
65    
66     WRITE(suff,'(I10.10)') myIter
67    
68     CALL WRITE_FLD_XYZ_RL('GM_Kwx-T',suff,GM_Kwx_T,myIter,myThid)
69     CALL WRITE_FLD_XYZ_RL('GM_Kwy-T',suff,GM_Kwy_T,myIter,myThid)
70     CALL WRITE_FLD_XYZ_RL('GM_Kwz-T',suff,GM_Kwz_T,myIter,myThid)
71     #ifdef GM_VISBECK_VARIABLE_K
72     CALL WRITE_FLD_XY_RL('Visbeck_K-T',suff,Visbeck_K_T,
73     & myIter,myThid)
74     #endif
75    
76     C Reset averages to zero
77     DO bj = myByLo(myThid), myByHi(myThid)
78     DO bi = myBxLo(myThid), myBxHi(myThid)
79     DO k=1,Nr
80     CALL TIMEAVER_INI_XYZ(GM_Kwx_T,bi,bj,K,myThid)
81     CALL TIMEAVER_INI_XYZ(GM_Kwy_T,bi,bj,K,myThid)
82     CALL TIMEAVER_INI_XYZ(GM_Kwz_T,bi,bj,K,myThid)
83     GM_TimeAve(k,bi,bj)=0.
84     ENDDO
85     #ifdef GM_VISBECK_VARIABLE_K
86     CALL TIMEAVER_INI_XY(Visbeck_K_T,bi,bj,myThid)
87     #endif
88     ENDDO
89     ENDDO
90    
91     ENDIF
92    
93     #endif /* INCLUDE_DIAGNOSTICS_INTERFACE_CODE */
94    
95     #endif /* ALLOW_GMREDI */
96    
97     RETURN
98     END

  ViewVC Help
Powered by ViewVC 1.1.22