/[MITgcm]/MITgcm/pkg/ocn_compon_interf/cpl_write_diags.F
ViewVC logotype

Contents of /MITgcm/pkg/ocn_compon_interf/cpl_write_diags.F

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


Revision 1.2 - (show annotations) (download)
Fri May 21 19:42:26 2004 UTC (20 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint53f_post, checkpoint54a_pre, checkpoint55c_post, checkpoint53c_post, checkpoint53d_post, checkpoint55d_pre, checkpoint54a_post, checkpoint55h_post, checkpoint54b_post, checkpoint54d_post, checkpoint54e_post, checkpoint55b_post, checkpoint55, checkpoint55a_post, checkpoint55g_post, checkpoint55f_post, checkpoint54, checkpoint53g_post, checkpoint54f_post, checkpoint55e_post, checkpoint53d_pre, checkpoint54c_post, checkpoint55d_post
Changes since 1.1: +55 -44 lines
new version of ocean-coupler interface for AIM+thSIce and ocean models

1 C $Header: /u/gcmpack/MITgcm/pkg/ocn_compon_interf/cpl_write_diags.F,v 1.1 2003/12/15 02:49:09 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CStartOfInterFace
8 SUBROUTINE CPL_WRITE_DIAGS( myTime, myIter, myThid )
9 C /==========================================================\
10 C | SUBROUTINE CPL_WRITE_DIAGS |
11 C | o Calculate CPL diagnostics |
12 C | - Oceanic version - |
13 C \==========================================================/
14 IMPLICIT NONE
15
16 C === Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "CPL_PARAMS.h"
21 #include "OCNCPL.h"
22 #include "CPL_DIAGS.h"
23
24 LOGICAL DIFFERENT_MULTIPLE
25 EXTERNAL DIFFERENT_MULTIPLE
26
27 C == Routine arguments ==
28 C myTime - Current time of simulation ( s )
29 C myIter - Iteration number
30 C myThid - Number of this instance of the routine
31 _RL myTime
32 INTEGER myIter
33 INTEGER myThid
34 CEndOfInterface
35
36 #ifdef COMPONENT_MODULE
37
38 C == Local variables ==
39 C bi,bj - Tile index
40 INTEGER bi,bj
41 CHARACTER*(MAX_LEN_MBUF) fn
42 LOGICAL gf
43
44 #ifdef ALLOW_TIMEAVE
45
46 C Dump files and restart average computation if needed
47 IF ( myIter.NE.nIter0 .AND.
48 & DIFFERENT_MULTIPLE(cpl_taveFreq,myTime,myTime-deltaTClock)
49 & ) THEN
50
51 C Normalize by integrated time
52 DO bj = myByLo(myThid), myByHi(myThid)
53 DO bi = myBxLo(myThid), myBxHi(myThid)
54 CALL TIMEAVE_NORMALIZ(SLPtave, CPL_TimeAve, 1, bi, bj, myThid)
55 CALL TIMEAVE_NORMALIZ(HFtave , CPL_TimeAve, 1, bi, bj, myThid)
56 CALL TIMEAVE_NORMALIZ(QSWtave, CPL_TimeAve, 1, bi, bj, myThid)
57 c CALL TIMEAVE_NORMALIZ(QLTtave, CPL_TimeAve, 1, bi, bj, myThid)
58 c CALL TIMEAVE_NORMALIZ(QSNtave, CPL_TimeAve, 1, bi, bj, myThid)
59 c CALL TIMEAVE_NORMALIZ(QLWtave, CPL_TimeAve, 1, bi, bj, myThid)
60 c CALL TIMEAVE_NORMALIZ(UGtave , CPL_TimeAve, 1, bi, bj, myThid)
61 c CALL TIMEAVE_NORMALIZ(VGtave , CPL_TimeAve, 1, bi, bj, myThid)
62 CALL TIMEAVE_NORMALIZ(TXtave , CPL_TimeAve, 1, bi, bj, myThid)
63 CALL TIMEAVE_NORMALIZ(TYtave , CPL_TimeAve, 1, bi, bj, myThid)
64 CALL TIMEAVE_NORMALIZ(FWtave , CPL_TimeAve, 1, bi, bj, myThid)
65 CALL TIMEAVE_NORMALIZ(SFxtave, CPL_TimeAve, 1, bi, bj, myThid)
66 CALL TIMEAVE_NORMALIZ(SICtave, CPL_TimeAve, 1, bi, bj, myThid)
67 CALL TIMEAVE_NORMALIZ(MXLtave, CPL_TimeAve, 1, bi, bj, myThid)
68 CALL TIMEAVE_NORMALIZ(SSTtave, CPL_TimeAve, 1, bi, bj, myThid)
69 CALL TIMEAVE_NORMALIZ(SSStave, CPL_TimeAve, 1, bi, bj, myThid)
70 CALL TIMEAVE_NORMALIZ(vSqtave, CPL_TimeAve, 1, bi, bj, myThid)
71 ENDDO
72 ENDDO
73
74 _BARRIER
75 _BEGIN_MASTER( myThid )
76 gf = globalFiles
77 WRITE(fn,'(A,I10.10)') 'cplFldtave.',myIter
78 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
79 & 1, SLPtave , 1, myIter, myThid )
80 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
81 & 1, HFtave , 2, myIter, myThid )
82 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
83 & 1, QSWtave , 3, myIter, myThid )
84 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
85 & 1, TXtave , 4, myIter, myThid )
86 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
87 & 1, TYtave , 5, myIter, myThid )
88 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
89 & 1, FWtave , 6, myIter, myThid )
90 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
91 & 1, SFxtave , 7, myIter, myThid )
92 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
93 & 1, SICtave , 8, myIter, myThid )
94 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
95 & 1, MXLtave , 9, myIter, myThid )
96 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
97 & 1, SSTtave , 10, myIter, myThid )
98 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
99 & 1, SSStave , 11, myIter, myThid )
100 CALL MDSWRITEFIELD(fn, writeBinaryPrec, gf, 'RL',
101 & 1, vSqtave , 12, myIter, myThid )
102
103 _END_MASTER( myThid )
104 _BARRIER
105
106 C Reset diagnostic counters
107 DO bj = myByLo(myThid), myByHi(myThid)
108 DO bi = myBxLo(myThid), myBxHi(myThid)
109 CALL TIMEAVE_RESET(SLPtave, 1, bi, bj, myThid)
110 CALL TIMEAVE_RESET(HFtave , 1, bi, bj, myThid)
111 CALL TIMEAVE_RESET(QSWtave, 1, bi, bj, myThid)
112 c CALL TIMEAVE_RESET(QLTtave, 1, bi, bj, myThid)
113 c CALL TIMEAVE_RESET(QSNtave, 1, bi, bj, myThid)
114 c CALL TIMEAVE_RESET(QLWtave, 1, bi, bj, myThid)
115 c CALL TIMEAVE_RESET(UGtave , 1, bi, bj, myThid)
116 c CALL TIMEAVE_RESET(VGtave , 1, bi, bj, myThid)
117 CALL TIMEAVE_RESET(TXtave , 1, bi, bj, myThid)
118 CALL TIMEAVE_RESET(TYtave , 1, bi, bj, myThid)
119 CALL TIMEAVE_RESET(FWtave , 1, bi, bj, myThid)
120 CALL TIMEAVE_RESET(SFxtave, 1, bi, bj, myThid)
121 CALL TIMEAVE_RESET(SICtave, 1, bi, bj, myThid)
122 CALL TIMEAVE_RESET(MXLtave, 1, bi, bj, myThid)
123 CALL TIMEAVE_RESET(SSTtave, 1, bi, bj, myThid)
124 CALL TIMEAVE_RESET(SSStave, 1, bi, bj, myThid)
125 CALL TIMEAVE_RESET(vSqtave, 1, bi, bj, myThid)
126 CPL_TimeAve(1,bi,bj) = 0.
127 ENDDO
128 ENDDO
129
130 ENDIF
131
132 #endif /* ALLOW_TIMEAVE */
133
134 #endif /* COMPONENT_MODULE */
135
136 RETURN
137 END

  ViewVC Help
Powered by ViewVC 1.1.22