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

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

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


Revision 1.16 - (hide annotations) (download)
Fri Jan 15 00:24:37 2010 UTC (14 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.15: +55 -42 lines
File MIME type: text/plain
add internal flag to check if adding diag to the list from the right place.

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

  ViewVC Help
Powered by ViewVC 1.1.22