/[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.15 by mlosch, Thu May 22 08:36:05 2008 UTC revision 1.18 by jmc, Fri Jul 1 18:28:52 2011 UTC
# Line 6  C  Common blocks for diagnostics package Line 6  C  Common blocks for diagnostics package
6  C  - DIAG_DEFINE contains the definition of all available diagnostics  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         hdiag :: mate number (in available diag. list) of the diagnostic
10  C         cdiag :: list of available diagnostic names  C         cdiag :: list of available diagnostic names
 C         tdiag :: description of field in diagnostic  
11  C         gdiag :: parser field with characteristics of the diagnostics  C         gdiag :: parser field with characteristics of the diagnostics
12  C         hdiag :: mate number (in available diag. list) of the diagnostic  C         tdiag :: description of field in diagnostic
13  C         udiag :: physical units of the diagnostic field  C         udiag :: physical units of the diagnostic field
14  C  - DIAG_STORE  contains the large array to store diagnostic fields  C  - DIAG_STORE  contains the large array to store diagnostic fields
15  C         qdiag :: storage array for 2D/3D diagnostic fields  C         qdiag :: storage array for 2D/3D diagnostic fields
16  C        qSdiag :: storage array for diagnostics of (per level) statistics  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)  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  C  - DIAG_SELECT contains the user selection of diagnostics to write
19  C         idiag :: slot number in large diagnostic array  C         idiag :: slot number in large diagnostic array
20  C         mdiag :: slot number in large diagnostic array for the mate  C         mdiag :: slot number in large diagnostic array for the mate
21  C         jdiag :: short-list (active diag.) to long-list (available diag.)  C         jdiag :: short-list (active diag.) to long-list (available diag.)
22  C                  pointer  C                  pointer
23  C  - DIAG_STATIS  contains the user selection of statistics to write  C  - DIAG_PARAMS contains general parameters (used for both 2D/3D & Stats diags)
24    C  - DIAG_STATIS contains the user selection of statistics-diags to write
25  C ======================================================================  C ======================================================================
26    
27  C--   DIAG_DEFINE common block:  C--   DIAG_DEFINE common block:
28  C       ndiagt :: total number of available diagnostics  C       ndiagt :: total number of available diagnostics
29  C       kdiag  :: number of levels associated with the diagnostic  C       kdiag  :: number of levels associated with the diagnostic
30    C       hdiag  :: mate number (in available diag. list) of the diagnostic
31  C       cdiag  :: list of available diagnostic names  C       cdiag  :: list of available diagnostic names
 C       tdiag  :: description of field in diagnostic  
32  C       gdiag  :: parser field with characteristics of the diagnostics  C       gdiag  :: parser field with characteristics of the diagnostics
33  C       hdiag  :: mate number (in available diag. list) of the diagnostic  C       tdiag  :: description of field in diagnostic
34  C       udiag  :: physical units of the diagnostic field  C       udiag  :: physical units of the diagnostic field
35    C settingDiags :: internal flag: enable adding/changing available diagnostics list
36    
37        INTEGER        ndiagt        INTEGER        ndiagt
38        INTEGER        kdiag(ndiagMax)        INTEGER        kdiag(ndiagMax)
# Line 39  C       udiag  :: physical units of the Line 41  C       udiag  :: physical units of the
41        CHARACTER*80   tdiag(ndiagMax)        CHARACTER*80   tdiag(ndiagMax)
42        CHARACTER*16   gdiag(ndiagMax)        CHARACTER*16   gdiag(ndiagMax)
43        CHARACTER*16   udiag(ndiagMax)        CHARACTER*16   udiag(ndiagMax)
44          LOGICAL settingDiags
45    
46        COMMON / DIAG_DEFINE /        COMMON / DIAG_DEFINE_I /
47       &  ndiagt, kdiag, hdiag,       &  ndiagt, kdiag, hdiag
48       &  cdiag, tdiag, gdiag, udiag        COMMON / DIAG_DEFINE_C /
49         &  cdiag, gdiag, tdiag, udiag
50          COMMON / DIAG_DEFINE_L /
51         &  settingDiags
52    
53  C--   DIAG_STORE common block:  C--   DIAG_STORE common block:
54  C       qdiag  :: storage array for 2D/3D diagnostic fields  C       qdiag  :: storage array for 2D/3D diagnostic fields
# Line 53  C       pdiag  :: index of current avera Line 59  C       pdiag  :: index of current avera
59        _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numDiags,nSx,nSy)        _RL qdiag(1-OLx:sNx+Olx,1-Oly:sNy+Oly,numDiags,nSx,nSy)
60        _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)        _RL qSdiag(0:nStats,0:nRegions,diagSt_size,nSx,nSy)
61        INTEGER  ndiag(numDiags,nSx,nSy)        INTEGER  ndiag(numDiags,nSx,nSy)
62        INTEGER  pdiag(numlists,nSx,nSy)        INTEGER  pdiag(numLists,nSx,nSy)
63    
64        COMMON / DIAG_STORE / qdiag, qSdiag, ndiag, pdiag        COMMON / DIAG_STORE_R / qdiag, qSdiag
65          COMMON / DIAG_STORE_I / ndiag, pdiag
66    
           
67  C--   DIAG_SELECT common block:  C--   DIAG_SELECT common block:
68  C     freq        :: frequency (in s) to write output stream # n  C     freq(n)     :: frequency (in s) to write output stream # n
69  C     phase       :: phase     (in s) to write output stream # n  C     phase(n)    :: phase     (in s) to write output stream # n
70  C     averageFreq :: frequency (in s) for periodic averaging interval  C     averageFreq :: frequency (in s) for periodic averaging interval
71  C     averagePhase:: phase     (in s) for periodic averaging interval  C     averagePhase:: phase     (in s) for periodic averaging interval
72  C     averageCycle:: number of averaging intervals in 1 cycle  C     averageCycle:: number of averaging intervals in 1 cycle
73  C     misvalFlt(n):: missing value for floats   to use in output stream #n  C     misvalFlt(n):: missing value for floats   to use in output stream #n
74  C     misvalInt(n):: missing value for integers to use in output stream #n  C     misvalInt(n):: missing value for integers to use in output stream #n
75    C     levs(:,n)   :: list of selected levels to write for output stream # n
76    C     nlevels(n)  :: number of levels to write for output stream # n
77  C     nfields(n)  :: number of active diagnostics for output stream # n  C     nfields(n)  :: number of active diagnostics for output stream # n
78  C     nActive(n)  :: number of active diagnostics (including counters)  C     nActive(n)  :: number of active diagnostics (including counters)
79  C                    for output stream # n  C                    for output stream # n
80  C     nlists      :: effective number of output streams  C     nlists      :: effective number of output streams
81  C     idiag       :: slot number in large diagnostic array  C     idiag(:,n)  :: list of diag slot number in long-list of available diag.
82  C     mdiag       :: slot number in large diagnostic array for the mate  C     mdiag(:,n)  :: list of mate slot number in long-list of available diag.
83  C     jdiag       :: short-list (active diag.) to long-list (available diag.) pointer  C     jdiag(:,n)  :: short-list (active diag.) to long-list (available diag.) pointer
84  C     flds(:,n)   :: list of field names in output stream # n  C     flds(:,n)   :: list of field names in output stream # n
85  C     fnames(n)   :: output file name for output stream # n  C     fnames(n)   :: output file name for output stream # n
86  C     fflags(n)   :: character string with per-file flags  C     fflags(n)   :: character string with per-file flags
87    C useMissingValue :: put MissingValue where mask = 0 (NetCDF output only)
88    
89        _RL freq(numlists), phase(numlists)        _RL freq(numLists), phase(numLists)
90        _RL levs (numLevels,numlists)        _RL averageFreq(numLists), averagePhase(numLists)
91        _RL averageFreq(numlists), averagePhase(numlists)        _RL misvalFlt(numLists)
92        _RL misvalFlt(numlists)        _RL levs (numLevels,numLists)
93        INTEGER misvalInt(numlists)        INTEGER averageCycle(numLists)
94        INTEGER averageCycle(numlists)        INTEGER misvalInt(numLists)
95        INTEGER nlevels(numlists)        INTEGER nlevels(numLists)
96        INTEGER nfields(numlists)        INTEGER nfields(numLists)
97        INTEGER nActive(numlists)        INTEGER nActive(numLists)
98        INTEGER nlists        INTEGER nlists
99        INTEGER idiag(numperlist,numlists)        INTEGER idiag(numperList,numLists)
100        INTEGER mdiag(numperlist,numlists)        INTEGER mdiag(numperList,numLists)
101        INTEGER jdiag(numperlist,numlists)        INTEGER jdiag(numperList,numLists)
102        CHARACTER*8 flds (numperlist,numlists)        CHARACTER*8  flds  (numperList,numLists)
103        CHARACTER*80 fnames(numlists)        CHARACTER*80 fnames(numLists)
104        CHARACTER*8 fflags(numlists)        CHARACTER*8  fflags(numLists)
105        LOGICAL dumpAtLast, diag_mdsio,  diag_mnc        LOGICAL diag_mdsio, diag_mnc, useMissingValue
106    
107          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         &     diag_mdsio, diag_mnc, useMissingValue
118    
119    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
120    
121    C  - DIAG_PARAMS common block:
122    C    diagLoc_ioUnit :: internal parameter: I/O unit for local diagnostics output
123    C    dumpAtLast :: always write time-ave (freq>0) diagnostics at the end of the run
124          INTEGER diagLoc_ioUnit
125          LOGICAL dumpAtLast
126        LOGICAL diag_pickup_read,        diag_pickup_write        LOGICAL diag_pickup_read,        diag_pickup_write
127        LOGICAL diag_pickup_read_mdsio,  diag_pickup_write_mdsio        LOGICAL diag_pickup_read_mdsio,  diag_pickup_write_mdsio
128        LOGICAL diag_pickup_read_mnc,    diag_pickup_write_mnc        LOGICAL diag_pickup_read_mnc,    diag_pickup_write_mnc
129    
130        COMMON / DIAG_SELECT /        COMMON / DIAG_PARAMS_I /
131       &     freq, phase, levs,       &     diagLoc_ioUnit
132       &     averageFreq, averagePhase, averageCycle,        COMMON / DIAG_PARAMS_L /
133       &     misvalFlt,  misvalInt,       &     dumpAtLast,
      &     nlevels, nfields, nActive, nlists,  
      &     idiag, mdiag, jdiag,  
      &     dumpAtLast, diag_mdsio, diag_mnc,  
134       &     diag_pickup_read,        diag_pickup_write,       &     diag_pickup_read,        diag_pickup_write,
135       &     diag_pickup_read_mdsio,  diag_pickup_write_mdsio,       &     diag_pickup_read_mdsio,  diag_pickup_write_mdsio,
136       &     diag_pickup_read_mnc,    diag_pickup_write_mnc,       &     diag_pickup_read_mnc,    diag_pickup_write_mnc
      &     flds, fnames, fflags  
137    
138  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
139    
140  C--   DIAG_STATIS common block:  C--   DIAG_STATIS common block:
 C     iSdiag :: slot number in large diagnostic array  
 C     mSdiag :: slot number in large diagnostic array for the mate  
 C     jSdiag :: short-list (active diag.) to long-list (available diag.)  
 C               pointer  
 C     diagSt_region(j,n) :: flag to perform (=1) or not (=0) regional-statistics  
 C                           over region # j for output stream # n  
141  C     diagSt_freq(n)   :: frequency (in s) to write output stream # n  C     diagSt_freq(n)   :: frequency (in s) to write output stream # n
142  C     diagSt_phase(n)  :: phase     (in s) to write output stream # n  C     diagSt_phase(n)  :: phase     (in s) to write output stream # n
143    C     iSdiag(:,n)      :: list of diag slot number in long-list of available diag.
144    C     mSdiag(:,n)      :: list of mate slot number in long-list of available diag.
145    C     jSdiag(:,n)      :: short-list (active diag.) to long-list (available
146    C                         diag.) pointer
147    C     diagSt_region(j,n) :: flag to perform (=1) or not (=0) regional-statistics
148    C                           over region # j for output stream # n
149  C     diagSt_nbFlds(n) :: number of active diagnostics for output stream # n  C     diagSt_nbFlds(n) :: number of active diagnostics for output stream # n
150  C     diagSt_nbActv(n) :: number of active diagnostics (including counters)  C     diagSt_nbActv(n) :: number of active diagnostics (including counters)
151  C                         for output stream # n  C                         for output stream # n
# Line 129  C     diagSt_ioUnit(n) :: fortran IO uni Line 154  C     diagSt_ioUnit(n) :: fortran IO uni
154  C     diagSt_Flds(:,n) :: list of field names in output stream # n  C     diagSt_Flds(:,n) :: list of field names in output stream # n
155  C     diagSt_Fname(n)  :: output file name for output stream # n  C     diagSt_Fname(n)  :: output file name for output stream # n
156    
157        _RL       diagSt_freq(numlists), diagSt_phase(numlists)        _RL       diagSt_freq(numLists), diagSt_phase(numLists)
158        CHARACTER*8  diagSt_Flds(numperlist,numlists)        INTEGER   iSdiag(numperList,numLists)
159        CHARACTER*80 diagSt_Fname(numlists)        INTEGER   mSdiag(numperList,numLists)
160        INTEGER   iSdiag(numperlist,numlists)        INTEGER   jSdiag(numperList,numLists)
161        INTEGER   jSdiag(numperlist,numlists)        INTEGER   diagSt_region(0:nRegions,numLists)
162        INTEGER   mSdiag(numperlist,numlists)        INTEGER   diagSt_nbFlds(numLists)
163        INTEGER   diagSt_region(0:nRegions,numlists)        INTEGER   diagSt_nbActv(numLists)
       INTEGER   diagSt_nbFlds(numlists)  
       INTEGER   diagSt_nbActv(numlists)  
164        INTEGER   diagSt_nbLists        INTEGER   diagSt_nbLists
165        INTEGER   diagSt_ioUnit(numlists)        INTEGER   diagSt_ioUnit(numLists)
166          CHARACTER*8  diagSt_Flds(numperList,numLists)
167          CHARACTER*80 diagSt_Fname(numLists)
168        LOGICAL   diagSt_ascii, diagSt_mnc        LOGICAL   diagSt_ascii, diagSt_mnc
169        COMMON / DIAG_STATIS /  
170       &     diagSt_freq, diagSt_phase,        COMMON / DIAG_STATIS_R /
171       &     iSdiag, jSdiag, mSdiag, diagSt_region,       &     diagSt_freq, diagSt_phase
172          COMMON / DIAG_STATIS_I /
173         &     iSdiag, mSdiag, jSdiag, diagSt_region,
174       &     diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,       &     diagSt_nbFlds, diagSt_nbActv, diagSt_nbLists,
175       &     diagSt_ioUnit,       &     diagSt_ioUnit
176       &     diagSt_Ascii, diagSt_mnc,        COMMON / DIAG_STATIS_C /
177       &     diagSt_Flds, diagSt_Fname       &     diagSt_Flds, diagSt_Fname
178          COMMON / DIAG_STATIS_L /
179         &     diagSt_Ascii, diagSt_mnc
180    
181  CEH3 ;;; Local Variables: ***  CEH3 ;;; Local Variables: ***
182  CEH3 ;;; mode:fortran ***  CEH3 ;;; mode:fortran ***

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22