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

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

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

revision 1.11 by jmc, Sat Jul 9 17:22:58 2005 UTC revision 1.16 by jmc, Fri Jan 15 00:24:37 2010 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  C ======================================================================  C ======================================================================
5  C  Common blocks for diagnostics package.  C  Common blocks for diagnostics package.
6  C  - diagarrays contains the master list of diagnostics and parameters  C  - DIAG_DEFINE contains the definition of all available diagnostics
7  C        ndiagt :: total number of available diagnostics  C        ndiagt :: total number of available diagnostics
8  C         kdiag - number of levels associated with the diagnostic  C         kdiag :: number of levels associated with the diagnostic
9  C         cdiag - character names  C         hdiag :: mate number (in available diag. list) of the diagnostic
10  C         tdiag - description of field in diagnostic  C         cdiag :: list of available diagnostic names
11  C         gdiag - parser field with characteristics of the diagnostics  C         gdiag :: parser field with characteristics of the diagnostics
12  C         udiag - physical units of the diagnostic field  C         tdiag :: description of field in diagnostic
13  C  - diagnostics contains the large array containing diagnostic fields  C         udiag :: physical units of the diagnostic field
14  C         qdiag - diagnostic fields array  C  - DIAG_STORE  contains the large array to store diagnostic fields
15  C        qSdiag - storage array for diagnostics of (per level) statistics  C         qdiag :: storage array for 2D/3D diagnostic fields
16  C         ndiag - counter for number of times diagnostic is added  C        qSdiag :: storage array for diagnostics of (per level) statistics
17  C  - diag_choices contains the user-chosen list of fields to store  C         ndiag :: holds number of times a diagnostic is filled (for time-mean diag)
18  C         idiag - slot number in large diagnostic array  C  - DIAG_SELECT  contains the user selection of diagnostics to write
19  C         mdiag - slot number in large diagnostic array for the mate  C         idiag :: slot number in large diagnostic array
20  C         jdiag - short-list (active diag.) to long-list (available diag.)  C         mdiag :: slot number in large diagnostic array for the mate
21  C                 pointer  C         jdiag :: short-list (active diag.) to long-list (available diag.)
22  C  - diag_statis  contains the user-chosen list of statistics to store  C                  pointer
23    C  - DIAG_STATIS  contains the user selection of statistics to write
24  C ======================================================================  C ======================================================================
25    
26  C diagarrays common  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        integer        ndiagt        _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numDiags,nSx,nSy)
   
       integer        kdiag(ndiagMax)  
       character*8    cdiag(ndiagMax)  
       character*80   tdiag(ndiagMax)  
       character*16   gdiag(ndiagMax)  
       character*16   udiag(ndiagMax)  
   
       common /diagarrays/ ndiagt  
       common /diagarrays/ kdiag  
       common /diagarrays/ cdiag  
       common /diagarrays/ tdiag  
       common /diagarrays/ gdiag  
       common /diagarrays/ udiag  
   
 C diagnostics common  
 C      qSdiag  - storage array for (per level) statistics  
   
       _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numdiags,nSx,nSy)  
55        _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)        _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)
56        integer  ndiag(numdiags,nSx,nSy)        INTEGER  ndiag(numDiags,nSx,nSy)
57          INTEGER  pdiag(numlists,nSx,nSy)
       common /diagnostics/ qdiag, qSdiag, ndiag  
58    
59                  COMMON / DIAG_STORE_R / qdiag, qSdiag
60  C diag_choices common        COMMON / DIAG_STORE_I / ndiag, pdiag
 C     freq       :: frequency (in s) to write output stream # n  
 C     phase      :: phase     (in s) to write output stream # n  
 C     nfields(n) :: number of active diagnostics for output stream # n  
 C     nActive(n) :: number of active diagnostics (including counters)  
 C                   for output stream # n  
 C     fflags(n)  :: character string with per-file flags  
61    
62        integer nlists  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    
85        _RL freq(numlists), phase(numlists)        _RL freq(numlists), phase(numlists)
86          _RL averageFreq(numlists), averagePhase(numlists)
87          _RL misvalFlt(numlists)
88        _RL levs (numLevels,numlists)        _RL levs (numLevels,numlists)
89        integer nlevels(numlists)        INTEGER averageCycle(numlists)
90        integer nfields(numlists)        INTEGER misvalInt(numlists)
91        integer nActive(numlists)        INTEGER nlevels(numlists)
92        integer idiag(numperlist,numlists)        INTEGER nfields(numlists)
93        integer mdiag(numperlist,numlists)        INTEGER nActive(numlists)
94        integer jdiag(numperlist,numlists)        INTEGER nlists
95        character*8 flds (numperlist,numlists)        INTEGER idiag(numperlist,numlists)
96        character*80 fnames(numlists)        INTEGER mdiag(numperlist,numlists)
97        character*8 fflags(numlists)        INTEGER jdiag(numperlist,numlists)
98        logical dumpatlast, diag_mdsio,  diag_mnc        CHARACTER*8  flds  (numperlist,numlists)
99        logical diag_pickup_read,        diag_pickup_write        CHARACTER*80 fnames(numlists)
100        logical diag_pickup_read_mdsio,  diag_pickup_write_mdsio        CHARACTER*8  fflags(numlists)
101        logical diag_pickup_read_mnc,    diag_pickup_write_mnc        LOGICAL settingDiags
102          LOGICAL dumpAtLast, diag_mdsio,  diag_mnc
103        common /diag_choices/        LOGICAL diag_pickup_read,        diag_pickup_write
104       &     freq, phase, levs, nlevels,        LOGICAL diag_pickup_read_mdsio,  diag_pickup_write_mdsio
105       &     nfields, nActive, nlists,        LOGICAL diag_pickup_read_mnc,    diag_pickup_write_mnc
106       &     idiag, mdiag, jdiag,  
107       &     dumpatlast, diag_mdsio, diag_mnc,        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       &     diag_pickup_read,        diag_pickup_write,       &     diag_pickup_read,        diag_pickup_write,
119       &     diag_pickup_read_mdsio,  diag_pickup_write_mdsio,       &     diag_pickup_read_mdsio,  diag_pickup_write_mdsio,
120       &     diag_pickup_read_mnc,    diag_pickup_write_mnc,       &     diag_pickup_read_mnc,    diag_pickup_write_mnc
      &     flds, fnames, fflags  
121    
122  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
123    
124    C--   DIAG_STATIS common block:
125    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    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        _RL       diagSt_freq(numlists), diagSt_phase(numlists)        _RL       diagSt_freq(numlists), diagSt_phase(numlists)
       CHARACTER*8  diagSt_Flds(numperlist,numlists)  
       CHARACTER*80 diagSt_Fname(numlists)  
142        INTEGER   iSdiag(numperlist,numlists)        INTEGER   iSdiag(numperlist,numlists)
       INTEGER   jSdiag(numperlist,numlists)  
143        INTEGER   mSdiag(numperlist,numlists)        INTEGER   mSdiag(numperlist,numlists)
144          INTEGER   jSdiag(numperlist,numlists)
145        INTEGER   diagSt_region(0:nRegions,numlists)        INTEGER   diagSt_region(0:nRegions,numlists)
146        INTEGER   diagSt_nbFlds(numlists)        INTEGER   diagSt_nbFlds(numlists)
147        INTEGER   diagSt_nbActv(numlists)        INTEGER   diagSt_nbActv(numlists)
148        INTEGER   diagSt_nbLists        INTEGER   diagSt_nbLists
149        INTEGER   diagSt_ioUnit(numlists)        INTEGER   diagSt_ioUnit(numlists)
150          CHARACTER*8  diagSt_Flds(numperlist,numlists)
151          CHARACTER*80 diagSt_Fname(numlists)
152        LOGICAL   diagSt_ascii, diagSt_mnc        LOGICAL   diagSt_ascii, diagSt_mnc
153        COMMON / DIAG_STATIS /  
154       &     diagSt_freq, diagSt_phase,        COMMON / DIAG_STATIS_R /
155       &     iSdiag, jSdiag, mSdiag, diagSt_region,       &     diagSt_freq, diagSt_phase
156          COMMON / DIAG_STATIS_I /
157         &     iSdiag, mSdiag, jSdiag, diagSt_region,
158       &     diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,       &     diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,
159       &     diagSt_ioUnit,       &     diagSt_ioUnit
160       &     diagSt_Ascii, diagSt_mnc,        COMMON / DIAG_STATIS_C /
161       &     diagSt_Flds, diagSt_Fname       &     diagSt_Flds, diagSt_Fname
162          COMMON / DIAG_STATIS_L /
163         &     diagSt_Ascii, diagSt_mnc
164    
165  CEH3 ;;; Local Variables: ***  CEH3 ;;; Local Variables: ***
166  CEH3 ;;; mode:fortran ***  CEH3 ;;; mode:fortran ***

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22