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

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

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


Revision 1.5 - (show annotations) (download)
Tue Mar 6 18:01:07 2001 UTC (23 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint40pre1, pre38tag1, checkpoint41, c37_adj, checkpoint40pre2, checkpoint40pre5, checkpoint40pre6, checkpoint40pre8, release1_b1, checkpoint42, checkpoint43, checkpoint40pre4, ecco-branch-mod1, checkpoint40pre3, checkpoint40pre9, pre38-close, checkpoint37, release1_beta1, checkpoint40pre7, checkpoint40, checkpoint39, checkpoint38
Branch point for: ecco-branch, pre38, release1, release1_coupled
Changes since 1.4: +16 -18 lines
change Time-Average routine names (new package) ; use CPP-opt ALLOW_TIMEAVE

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/gmredi/gmredi_diags.F,v 1.4 2001/02/15 18:43:13 jmc Exp $
2 C $Name: $
3
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 ALLOW_TIMEAVE
41
42
43 C Dump files and restart average computation if needed
44 IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock)
45 & ) THEN
46
47 C Normalize by integrated time
48 DO bj = myByLo(myThid), myByHi(myThid)
49 DO bi = myBxLo(myThid), myBxHi(myThid)
50 CALL TIMEAVE_NORMALIZ(GM_Kwx_T,GM_timeave, Nr,
51 & bi,bj,myThid)
52 CALL TIMEAVE_NORMALIZ(GM_Kwy_T,GM_timeave, Nr,
53 & bi,bj,myThid)
54 CALL TIMEAVE_NORMALIZ(GM_Kwz_T,GM_timeave, Nr,
55 & bi,bj,myThid)
56 #ifdef GM_VISBECK_VARIABLE_K
57 CALL TIMEAVE_NORMALIZ(Visbeck_K_T,GM_timeave, 1,
58 & bi,bj,myThid)
59 #endif
60 ENDDO
61 ENDDO
62
63 WRITE(suff,'(I10.10)') myIter
64
65 CALL WRITE_FLD_XYZ_RL('GM_Kwx-T.',suff,GM_Kwx_T,myIter,myThid)
66 CALL WRITE_FLD_XYZ_RL('GM_Kwy-T.',suff,GM_Kwy_T,myIter,myThid)
67 CALL WRITE_FLD_XYZ_RL('GM_Kwz-T.',suff,GM_Kwz_T,myIter,myThid)
68 #ifdef GM_VISBECK_VARIABLE_K
69 CALL WRITE_FLD_XY_RL('Visbeck_K-T.',suff,Visbeck_K_T,
70 & myIter,myThid)
71 #endif
72
73 C Reset averages to zero
74 DO bj = myByLo(myThid), myByHi(myThid)
75 DO bi = myBxLo(myThid), myBxHi(myThid)
76 CALL TIMEAVE_RESET(GM_Kwx_T,Nr,bi,bj,myThid)
77 CALL TIMEAVE_RESET(GM_Kwy_T,Nr,bi,bj,myThid)
78 CALL TIMEAVE_RESET(GM_Kwz_T,Nr,bi,bj,myThid)
79 DO k=1,Nr
80 GM_TimeAve(k,bi,bj)=0.
81 ENDDO
82 #ifdef GM_VISBECK_VARIABLE_K
83 CALL TIMEAVE_RESET(Visbeck_K_T,1,bi,bj,myThid)
84 #endif
85 ENDDO
86 ENDDO
87
88 ENDIF
89
90 #endif /* ALLOW_TIMEAVE */
91
92 #endif /* ALLOW_GMREDI */
93
94 RETURN
95 END

  ViewVC Help
Powered by ViewVC 1.1.22