/[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.3 - (hide annotations) (download)
Sun Feb 4 14:38:49 2001 UTC (23 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint35
Changes since 1.2: +2 -1 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

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

  ViewVC Help
Powered by ViewVC 1.1.22