/[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.13 - (hide 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 jmc 1.13 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/DIAGNOSTICS.h,v 1.12 2006/01/23 22:13:53 jmc 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     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 jmc 1.1 C ======================================================================
24    
25 jmc 1.13 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 jmc 1.1
50     _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numdiags,nSx,nSy)
51 jmc 1.8 _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)
52 jmc 1.13 INTEGER ndiag(numdiags,nSx,nSy)
53     INTEGER pdiag(numlists,nSx,nSy)
54 jmc 1.1
55 jmc 1.13 COMMON / DIAG_STORE / qdiag, qSdiag, ndiag, pdiag
56 jmc 1.1
57 jmc 1.8
58 jmc 1.13 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 jmc 1.1
75 jmc 1.7 _RL freq(numlists), phase(numlists)
76 jmc 1.10 _RL levs (numLevels,numlists)
77 jmc 1.13 _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 jmc 1.10 & idiag, mdiag, jdiag,
99 jmc 1.13 & dumpAtLast, diag_mdsio, diag_mnc,
100 edhill 1.3 & diag_pickup_read, diag_pickup_write,
101     & diag_pickup_read_mdsio, diag_pickup_write_mdsio,
102 jmc 1.10 & diag_pickup_read_mnc, diag_pickup_write_mnc,
103     & flds, fnames, fflags
104 jmc 1.1
105 jmc 1.8 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
106    
107 jmc 1.13 C-- DIAG_STATIS common block:
108 jmc 1.12 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 jmc 1.8 _RL diagSt_freq(numlists), diagSt_phase(numlists)
125     CHARACTER*8 diagSt_Flds(numperlist,numlists)
126     CHARACTER*80 diagSt_Fname(numlists)
127 jmc 1.10 INTEGER iSdiag(numperlist,numlists)
128 jmc 1.8 INTEGER jSdiag(numperlist,numlists)
129 jmc 1.10 INTEGER mSdiag(numperlist,numlists)
130 jmc 1.8 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 jmc 1.10 COMMON / DIAG_STATIS /
137     & diagSt_freq, diagSt_phase,
138     & iSdiag, jSdiag, mSdiag, diagSt_region,
139 jmc 1.8 & diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,
140     & diagSt_ioUnit,
141 jmc 1.10 & diagSt_Ascii, diagSt_mnc,
142     & diagSt_Flds, diagSt_Fname
143 jmc 1.1
144     CEH3 ;;; Local Variables: ***
145     CEH3 ;;; mode:fortran ***
146     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22