/[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.17 - (show annotations) (download)
Mon Jun 27 22:23:09 2011 UTC (12 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.16: +32 -29 lines
File MIME type: text/plain
add run-time parameter "useMissingValue" (def=False) to fill land-point
 (i.e., where mask=0) with MissingValue ; used only in MNC output file.
this replace CPP-option DIAGNOSTICS_MISSING_VALUE.

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/DIAGNOSTICS.h,v 1.16 2010/01/15 00:24:37 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 hdiag :: mate number (in available diag. list) of the diagnostic
10 C cdiag :: list of available diagnostic names
11 C gdiag :: parser field with characteristics of the diagnostics
12 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 C qdiag :: storage array for 2D/3D diagnostic fields
16 C qSdiag :: storage array for diagnostics of (per level) statistics
17 C ndiag :: holds number of times a diagnostic is filled (for time-mean diag)
18 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 C ======================================================================
25
26 C-- DIAG_DEFINE common block:
27 C ndiagt :: total number of available diagnostics
28 C kdiag :: number of levels associated with the diagnostic
29 C hdiag :: mate number (in available diag. list) of the diagnostic
30 C cdiag :: list of available diagnostic names
31 C gdiag :: parser field with characteristics of the diagnostics
32 C tdiag :: description of field in diagnostic
33 C udiag :: physical units of the diagnostic field
34
35 INTEGER ndiagt
36 INTEGER kdiag(ndiagMax)
37 INTEGER hdiag(ndiagMax)
38 CHARACTER*8 cdiag(ndiagMax)
39 CHARACTER*80 tdiag(ndiagMax)
40 CHARACTER*16 gdiag(ndiagMax)
41 CHARACTER*16 udiag(ndiagMax)
42
43 COMMON / DIAG_DEFINE_I /
44 & ndiagt, kdiag, hdiag
45 COMMON / DIAG_DEFINE_C /
46 & cdiag, gdiag, tdiag, udiag
47
48 C-- DIAG_STORE common block:
49 C qdiag :: storage array for 2D/3D diagnostic fields
50 C qSdiag :: storage array for (per level) statistics
51 C ndiag :: holds number of times a diagnostic is filled (for time-mean diag)
52 C pdiag :: index of current averaging interval within the averaging-cycle
53
54 _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numDiags,nSx,nSy)
55 _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)
56 INTEGER ndiag(numDiags,nSx,nSy)
57 INTEGER pdiag(numLists,nSx,nSy)
58
59 COMMON / DIAG_STORE_R / qdiag, qSdiag
60 COMMON / DIAG_STORE_I / ndiag, pdiag
61
62 C-- DIAG_SELECT common block:
63 C freq(n) :: frequency (in s) to write output stream # n
64 C phase(n) :: phase (in s) to write output stream # n
65 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 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 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 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 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 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 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 C useMissingValue :: put MissingValue where mask = 0 (NetCDF output only)
85
86 _RL freq(numLists), phase(numLists)
87 _RL averageFreq(numLists), averagePhase(numLists)
88 _RL misvalFlt(numLists)
89 _RL levs (numLevels,numLists)
90 INTEGER averageCycle(numLists)
91 INTEGER misvalInt(numLists)
92 INTEGER nlevels(numLists)
93 INTEGER nfields(numLists)
94 INTEGER nActive(numLists)
95 INTEGER nlists
96 INTEGER idiag(numperList,numLists)
97 INTEGER mdiag(numperList,numLists)
98 INTEGER jdiag(numperList,numLists)
99 CHARACTER*8 flds (numperList,numLists)
100 CHARACTER*80 fnames(numLists)
101 CHARACTER*8 fflags(numLists)
102 LOGICAL settingDiags
103 LOGICAL dumpAtLast
104 LOGICAL diag_mdsio, diag_mnc, useMissingValue
105 LOGICAL diag_pickup_read, diag_pickup_write
106 LOGICAL diag_pickup_read_mdsio, diag_pickup_write_mdsio
107 LOGICAL diag_pickup_read_mnc, diag_pickup_write_mnc
108
109 COMMON / DIAG_SELECT_R /
110 & freq, phase, averageFreq, averagePhase,
111 & misvalFlt, levs
112 COMMON / DIAG_SELECT_I /
113 & averageCycle, misvalInt,
114 & nlevels, nfields, nActive,
115 & nlists, idiag, mdiag, jdiag
116 COMMON / DIAG_SELECT_C /
117 & flds, fnames, fflags
118 COMMON / DIAG_SELECT_L /
119 & settingDiags, dumpAtLast,
120 & diag_mdsio, diag_mnc, useMissingValue,
121 & diag_pickup_read, diag_pickup_write,
122 & diag_pickup_read_mdsio, diag_pickup_write_mdsio,
123 & diag_pickup_read_mnc, diag_pickup_write_mnc
124
125 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
126
127 C-- DIAG_STATIS common block:
128 C diagSt_freq(n) :: frequency (in s) to write output stream # n
129 C diagSt_phase(n) :: phase (in s) to write output stream # n
130 C iSdiag(:,n) :: list of diag slot number in long-list of available diag.
131 C mSdiag(:,n) :: list of mate slot number in long-list of available diag.
132 C jSdiag(:,n) :: short-list (active diag.) to long-list (available
133 C diag.) pointer
134 C diagSt_region(j,n) :: flag to perform (=1) or not (=0) regional-statistics
135 C over region # j for output stream # n
136 C diagSt_nbFlds(n) :: number of active diagnostics for output stream # n
137 C diagSt_nbActv(n) :: number of active diagnostics (including counters)
138 C for output stream # n
139 C diagSt_nbLists :: effective number of output streams
140 C diagSt_ioUnit(n) :: fortran IO unit for output stream # n (ascii output)
141 C diagSt_Flds(:,n) :: list of field names in output stream # n
142 C diagSt_Fname(n) :: output file name for output stream # n
143
144 _RL diagSt_freq(numLists), diagSt_phase(numLists)
145 INTEGER iSdiag(numperList,numLists)
146 INTEGER mSdiag(numperList,numLists)
147 INTEGER jSdiag(numperList,numLists)
148 INTEGER diagSt_region(0:nRegions,numLists)
149 INTEGER diagSt_nbFlds(numLists)
150 INTEGER diagSt_nbActv(numLists)
151 INTEGER diagSt_nbLists
152 INTEGER diagSt_ioUnit(numLists)
153 CHARACTER*8 diagSt_Flds(numperList,numLists)
154 CHARACTER*80 diagSt_Fname(numLists)
155 LOGICAL diagSt_ascii, diagSt_mnc
156
157 COMMON / DIAG_STATIS_R /
158 & diagSt_freq, diagSt_phase
159 COMMON / DIAG_STATIS_I /
160 & iSdiag, mSdiag, jSdiag, diagSt_region,
161 & diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,
162 & diagSt_ioUnit
163 COMMON / DIAG_STATIS_C /
164 & diagSt_Flds, diagSt_Fname
165 COMMON / DIAG_STATIS_L /
166 & diagSt_Ascii, diagSt_mnc
167
168 CEH3 ;;; Local Variables: ***
169 CEH3 ;;; mode:fortran ***
170 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22