/[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.16 by jmc, Fri Jan 15 00:24:37 2010 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
# Line 26  C ====================================== Line 26  C ======================================
26  C--   DIAG_DEFINE common block:  C--   DIAG_DEFINE common block:
27  C       ndiagt :: total number of available diagnostics  C       ndiagt :: total number of available diagnostics
28  C       kdiag  :: number of levels associated with the diagnostic  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  C       cdiag  :: list of available diagnostic names
 C       tdiag  :: description of field in diagnostic  
31  C       gdiag  :: parser field with characteristics of the diagnostics  C       gdiag  :: parser field with characteristics of the diagnostics
32  C       hdiag  :: mate number (in available diag. list) of the diagnostic  C       tdiag  :: description of field in diagnostic
33  C       udiag  :: physical units of the diagnostic field  C       udiag  :: physical units of the diagnostic field
34    
35        INTEGER        ndiagt        INTEGER        ndiagt
# Line 40  C       udiag  :: physical units of the Line 40  C       udiag  :: physical units of the
40        CHARACTER*16   gdiag(ndiagMax)        CHARACTER*16   gdiag(ndiagMax)
41        CHARACTER*16   udiag(ndiagMax)        CHARACTER*16   udiag(ndiagMax)
42    
43        COMMON / DIAG_DEFINE /        COMMON / DIAG_DEFINE_I /
44       &  ndiagt, kdiag, hdiag,       &  ndiagt, kdiag, hdiag
45       &  cdiag, tdiag, gdiag, udiag        COMMON / DIAG_DEFINE_C /
46         &  cdiag, gdiag, tdiag, udiag
47    
48  C--   DIAG_STORE common block:  C--   DIAG_STORE common block:
49  C       qdiag  :: storage array for 2D/3D diagnostic fields  C       qdiag  :: storage array for 2D/3D diagnostic fields
# Line 55  C       pdiag  :: index of current avera Line 56  C       pdiag  :: index of current avera
56        INTEGER  ndiag(numDiags,nSx,nSy)        INTEGER  ndiag(numDiags,nSx,nSy)
57        INTEGER  pdiag(numlists,nSx,nSy)        INTEGER  pdiag(numlists,nSx,nSy)
58    
59        COMMON / DIAG_STORE / qdiag, qSdiag, ndiag, pdiag        COMMON / DIAG_STORE_R / qdiag, qSdiag
60          COMMON / DIAG_STORE_I / ndiag, pdiag
61    
           
62  C--   DIAG_SELECT common block:  C--   DIAG_SELECT common block:
63  C     freq        :: frequency (in s) to write output stream # n  C     freq(n)     :: frequency (in s) to write output stream # n
64  C     phase       :: phase     (in s) to write output stream # n  C     phase(n)    :: phase     (in s) to write output stream # n
65  C     averageFreq :: frequency (in s) for periodic averaging interval  C     averageFreq :: frequency (in s) for periodic averaging interval
66  C     averagePhase:: phase     (in s) for periodic averaging interval  C     averagePhase:: phase     (in s) for periodic averaging interval
67  C     averageCycle:: number of averaging intervals in 1 cycle  C     averageCycle:: number of averaging intervals in 1 cycle
68  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
69  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
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  C     nfields(n)  :: number of active diagnostics for output stream # n
73  C     nActive(n)  :: number of active diagnostics (including counters)  C     nActive(n)  :: number of active diagnostics (including counters)
74  C                    for output stream # n  C                    for output stream # n
75  C     nlists      :: effective number of output streams  C     nlists      :: effective number of output streams
76  C     idiag       :: slot number in large diagnostic array  C     idiag(:,n)  :: list of diag slot number in long-list of available diag.
77  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.
78  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
79  C     flds(:,n)   :: list of field names in output stream # n  C     flds(:,n)   :: list of field names in output stream # n
80  C     fnames(n)   :: output file name for output stream # n  C     fnames(n)   :: output file name for output stream # n
81  C     fflags(n)   :: character string with per-file flags  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)
       _RL levs (numLevels,numlists)  
86        _RL averageFreq(numlists), averagePhase(numlists)        _RL averageFreq(numlists), averagePhase(numlists)
87        _RL misvalFlt(numlists)        _RL misvalFlt(numlists)
88        INTEGER misvalInt(numlists)        _RL levs (numLevels,numlists)
89        INTEGER averageCycle(numlists)        INTEGER averageCycle(numlists)
90          INTEGER misvalInt(numlists)
91        INTEGER nlevels(numlists)        INTEGER nlevels(numlists)
92        INTEGER nfields(numlists)        INTEGER nfields(numlists)
93        INTEGER nActive(numlists)        INTEGER nActive(numlists)
# Line 90  C     fflags(n)   :: character string wi Line 95  C     fflags(n)   :: character string wi
95        INTEGER idiag(numperlist,numlists)        INTEGER idiag(numperlist,numlists)
96        INTEGER mdiag(numperlist,numlists)        INTEGER mdiag(numperlist,numlists)
97        INTEGER jdiag(numperlist,numlists)        INTEGER jdiag(numperlist,numlists)
98        CHARACTER*8 flds (numperlist,numlists)        CHARACTER*8  flds  (numperlist,numlists)
99        CHARACTER*80 fnames(numlists)        CHARACTER*80 fnames(numlists)
100        CHARACTER*8 fflags(numlists)        CHARACTER*8  fflags(numlists)
101          LOGICAL settingDiags
102        LOGICAL dumpAtLast, diag_mdsio,  diag_mnc        LOGICAL dumpAtLast, diag_mdsio,  diag_mnc
103        LOGICAL diag_pickup_read,        diag_pickup_write        LOGICAL diag_pickup_read,        diag_pickup_write
104        LOGICAL diag_pickup_read_mdsio,  diag_pickup_write_mdsio        LOGICAL diag_pickup_read_mdsio,  diag_pickup_write_mdsio
105        LOGICAL diag_pickup_read_mnc,    diag_pickup_write_mnc        LOGICAL diag_pickup_read_mnc,    diag_pickup_write_mnc
106    
107        COMMON / DIAG_SELECT /        COMMON / DIAG_SELECT_R /
108       &     freq, phase, levs,       &     freq, phase, averageFreq, averagePhase,
109       &     averageFreq, averagePhase, averageCycle,       &     misvalFlt, levs
110       &     misvalFlt,  misvalInt,        COMMON / DIAG_SELECT_I /
111       &     nlevels, nfields, nActive, nlists,       &     averageCycle, misvalInt,
112       &     idiag, mdiag, jdiag,       &     nlevels, nfields, nActive,
113       &     dumpAtLast, diag_mdsio, diag_mnc,       &     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:  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  
125  C     diagSt_freq(n)   :: frequency (in s) to write output stream # n  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  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  C     diagSt_nbFlds(n) :: number of active diagnostics for output stream # n
134  C     diagSt_nbActv(n) :: number of active diagnostics (including counters)  C     diagSt_nbActv(n) :: number of active diagnostics (including counters)
135  C                         for output stream # n  C                         for output stream # n
# Line 130  C     diagSt_Flds(:,n) :: list of field Line 139  C     diagSt_Flds(:,n) :: list of field
139  C     diagSt_Fname(n)  :: output file name for output stream # n  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.15  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22