/[MITgcm]/MITgcm/pkg/diagnostics/DIAGNOSTICS.h
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/DIAGNOSTICS.h

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


Revision 1.13 - (show annotations) (download)
Mon Jun 5 18:15:53 2006 UTC (17 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, mitgcm_mapl_00, checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58y_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
Changes since 1.12: +83 -66 lines
File MIME type: text/plain
Implement periodic averaging diagnostics (e.g., mean seasonal cycle,
 mean diurnal cycle)

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/DIAGNOSTICS.h,v 1.12 2006/01/23 22:13:53 jmc Exp $
2 C $Name: $
3
4 C ======================================================================
5 C Common blocks for diagnostics package.
6 C - DIAG_DEFINE contains the definition of all available diagnostics
7 C ndiagt :: total number of available diagnostics
8 C kdiag :: number of levels associated with the diagnostic
9 C cdiag :: character names
10 C tdiag :: description of field in diagnostic
11 C gdiag :: parser field with CHARACTERistics of the diagnostics
12 C udiag :: physical units of the diagnostic field
13 C - DIAG_STORE contains the large array to store diagnostic fields
14 C qdiag :: diagnostic fields array
15 C qSdiag :: storage array for diagnostics of (per level) statistics
16 C ndiag :: counter for number of times diagnostic is added
17 C - DIAG_SELECT contains the user selection of diagnostics to write
18 C idiag :: slot number in large diagnostic array
19 C mdiag :: slot number in large diagnostic array for the mate
20 C jdiag :: short-list (active diag.) to long-list (available diag.)
21 C pointer
22 C - DIAG_STATIS contains the user selection of statistics to write
23 C ======================================================================
24
25 C-- DIAG_DEFINE common block:
26 C ndiagt :: total number of available diagnostics
27 C kdiag :: number of levels associated with the diagnostic
28 C cdiag :: character names
29 C tdiag :: description of field in diagnostic
30 C gdiag :: parser field with CHARACTERistics of the diagnostics
31 C udiag :: physical units of the diagnostic field
32
33 INTEGER ndiagt
34 INTEGER kdiag(ndiagMax)
35 CHARACTER*8 cdiag(ndiagMax)
36 CHARACTER*80 tdiag(ndiagMax)
37 CHARACTER*16 gdiag(ndiagMax)
38 CHARACTER*16 udiag(ndiagMax)
39
40 COMMON / DIAG_DEFINE /
41 & ndiagt, kdiag,
42 & cdiag, tdiag, gdiag, udiag
43
44 C-- DIAG_STORE common block:
45 C qdiag :: diagnostic fields array
46 C qSdiag :: storage array for (per level) statistics
47 C ndiag :: counter for number of times diagnostic is added
48 C pdiag :: index of current averaging interval within the averaging-cycle
49
50 _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numdiags,nSx,nSy)
51 _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)
52 INTEGER ndiag(numdiags,nSx,nSy)
53 INTEGER pdiag(numlists,nSx,nSy)
54
55 COMMON / DIAG_STORE / qdiag, qSdiag, ndiag, pdiag
56
57
58 C-- DIAG_SELECT common block:
59 C freq :: frequency (in s) to write output stream # n
60 C phase :: phase (in s) to write output stream # n
61 C averageFreq :: frequency (in s) for periodic averaging interval
62 C averagePhase:: phase (in s) for periodic averaging interval
63 C averageCycle:: number of averaging intervals in 1 cycle
64 C nfields(n) :: number of active diagnostics for output stream # n
65 C nActive(n) :: number of active diagnostics (including counters)
66 C for output stream # n
67 C nlists :: effective number of output streams
68 C idiag :: slot number in large diagnostic array
69 C mdiag :: slot number in large diagnostic array for the mate
70 C jdiag :: short-list (active diag.) to long-list (available diag.) pointer
71 C flds(:,n) :: list of field names in output stream # n
72 C fnames(n) :: output file name for output stream # n
73 C fflags(n) :: character string with per-file flags
74
75 _RL freq(numlists), phase(numlists)
76 _RL levs (numLevels,numlists)
77 _RL averageFreq(numlists), averagePhase(numlists)
78 INTEGER averageCycle(numlists)
79 INTEGER nlevels(numlists)
80 INTEGER nfields(numlists)
81 INTEGER nActive(numlists)
82 INTEGER nlists
83 INTEGER idiag(numperlist,numlists)
84 INTEGER mdiag(numperlist,numlists)
85 INTEGER jdiag(numperlist,numlists)
86 CHARACTER*8 flds (numperlist,numlists)
87 CHARACTER*80 fnames(numlists)
88 CHARACTER*8 fflags(numlists)
89 LOGICAL dumpAtLast, diag_mdsio, diag_mnc
90 LOGICAL diag_pickup_read, diag_pickup_write
91 LOGICAL diag_pickup_read_mdsio, diag_pickup_write_mdsio
92 LOGICAL diag_pickup_read_mnc, diag_pickup_write_mnc
93
94 COMMON / DIAG_SELECT /
95 & freq, phase, levs,
96 & averageFreq, averagePhase, averageCycle,
97 & nlevels, nfields, nActive, nlists,
98 & idiag, mdiag, jdiag,
99 & dumpAtLast, diag_mdsio, diag_mnc,
100 & diag_pickup_read, diag_pickup_write,
101 & diag_pickup_read_mdsio, diag_pickup_write_mdsio,
102 & diag_pickup_read_mnc, diag_pickup_write_mnc,
103 & flds, fnames, fflags
104
105 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
106
107 C-- DIAG_STATIS common block:
108 C iSdiag :: slot number in large diagnostic array
109 C mSdiag :: slot number in large diagnostic array for the mate
110 C jSdiag :: short-list (active diag.) to long-list (available diag.)
111 C pointer
112 C diagSt_region(j,n) :: flag to perform (=1) or not (=0) regional-statistics
113 C over region # j for output stream # n
114 C diagSt_freq(n) :: frequency (in s) to write output stream # n
115 C diagSt_phase(n) :: phase (in s) to write output stream # n
116 C diagSt_nbFlds(n) :: number of active diagnostics for output stream # n
117 C diagSt_nbActv(n) :: number of active diagnostics (including counters)
118 C for output stream # n
119 C diagSt_nbLists :: effective number of output streams
120 C diagSt_ioUnit(n) :: fortran IO unit for output stream # n (ascii output)
121 C diagSt_Flds(:,n) :: list of field names in output stream # n
122 C diagSt_Fname(n) :: output file name for output stream # n
123
124 _RL diagSt_freq(numlists), diagSt_phase(numlists)
125 CHARACTER*8 diagSt_Flds(numperlist,numlists)
126 CHARACTER*80 diagSt_Fname(numlists)
127 INTEGER iSdiag(numperlist,numlists)
128 INTEGER jSdiag(numperlist,numlists)
129 INTEGER mSdiag(numperlist,numlists)
130 INTEGER diagSt_region(0:nRegions,numlists)
131 INTEGER diagSt_nbFlds(numlists)
132 INTEGER diagSt_nbActv(numlists)
133 INTEGER diagSt_nbLists
134 INTEGER diagSt_ioUnit(numlists)
135 LOGICAL diagSt_ascii, diagSt_mnc
136 COMMON / DIAG_STATIS /
137 & diagSt_freq, diagSt_phase,
138 & iSdiag, jSdiag, mSdiag, diagSt_region,
139 & diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,
140 & diagSt_ioUnit,
141 & diagSt_Ascii, diagSt_mnc,
142 & diagSt_Flds, diagSt_Fname
143
144 CEH3 ;;; Local Variables: ***
145 CEH3 ;;; mode:fortran ***
146 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22