/[MITgcm]/MITgcm/eesupp/inc/EEPARAMS.h
ViewVC logotype

Diff of /MITgcm/eesupp/inc/EEPARAMS.h

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

revision 1.8 by cnh, Sun Feb 4 14:38:41 2001 UTC revision 1.32 by dimitri, Thu Apr 25 06:12:09 2013 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    CBOP
4    C     !ROUTINE: EEPARAMS.h
5    C     !INTERFACE:
6    C     include "EEPARAMS.h"
7  C  C
8  C     /==========================================================\  C     !DESCRIPTION:
9    C     *==========================================================*
10  C     | EEPARAMS.h                                               |  C     | EEPARAMS.h                                               |
11  C     |==========================================================|  C     *==========================================================*
12  C     | Parameters for "execution environemnt". These are used   |  C     | Parameters for "execution environemnt". These are used   |
13  C     | by both the particular numerical model and the "execution|  C     | by both the particular numerical model and the execution |
14  C     | environment" support routines.                           |  C     | environment support routines.                            |
15  C     \==========================================================/  C     *==========================================================*
16    CEOP
17  C     MAX_LEN_MBUF         - Default message buffer max. size  
18  C     MAX_LEN_FNAM         - Default file name max. size  C     ========  EESIZE.h  ========================================
19  C     MAX_LEN_PREC         - Default record length for reading "parameter" files  
20    C     MAX_LEN_MBUF  - Default message buffer max. size
21    C     MAX_LEN_FNAM  - Default file name max. size
22    C     MAX_LEN_PREC  - Default rec len for reading "parameter" files
23    
24        INTEGER MAX_LEN_MBUF        INTEGER MAX_LEN_MBUF
25        PARAMETER ( MAX_LEN_MBUF = 512 )        PARAMETER ( MAX_LEN_MBUF = 512 )
26        INTEGER MAX_LEN_FNAM        INTEGER MAX_LEN_FNAM
# Line 19  C     MAX_LEN_PREC         - Default rec Line 28  C     MAX_LEN_PREC         - Default rec
28        INTEGER MAX_LEN_PREC        INTEGER MAX_LEN_PREC
29        PARAMETER ( MAX_LEN_PREC = 200 )        PARAMETER ( MAX_LEN_PREC = 200 )
30    
31    C     MAX_NO_THREADS  - Maximum number of threads allowed.
32    C     MAX_NO_PROCS    - Maximum number of processes allowed.
33    C     MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"
34          INTEGER MAX_NO_THREADS
35          PARAMETER ( MAX_NO_THREADS =  4 )
36          INTEGER MAX_NO_PROCS
37          PARAMETER ( MAX_NO_PROCS   =  8192 )
38          INTEGER MAX_NO_BARRIERS
39          PARAMETER ( MAX_NO_BARRIERS = 1 )
40    
41    C     Particularly weird and obscure voodoo numbers
42    C     lShare  - This wants to be the length in
43    C               [148]-byte words of the size of
44    C               the address "window" that is snooped
45    C               on an SMP bus. By separating elements in
46    C               the global sum buffer we can avoid generating
47    C               extraneous invalidate traffic between
48    C               processors. The length of this window is usually
49    C               a cache line i.e. small O(64 bytes).
50    C               The buffer arrays are usually short arrays
51    C               and are declared REAL ARRA(lShare[148],LBUFF).
52    C               Setting lShare[148] to 1 is like making these arrays
53    C               one dimensional.
54          INTEGER cacheLineSize
55          INTEGER lShare1
56          INTEGER lShare4
57          INTEGER lShare8
58          PARAMETER ( cacheLineSize = 256 )
59          PARAMETER ( lShare1 =  cacheLineSize )
60          PARAMETER ( lShare4 =  cacheLineSize/4 )
61          PARAMETER ( lShare8 =  cacheLineSize/8 )
62    
63          INTEGER MAX_VGS
64          PARAMETER ( MAX_VGS = 8192 )
65    
66    C     ========  EESIZE.h  ========================================
67    
68    C     Symbolic values
69    C     precXXXX :: precision used for I/O
70          INTEGER precFloat32
71          PARAMETER ( precFloat32 = 32 )
72          INTEGER precFloat64
73          PARAMETER ( precFloat64 = 64 )
74    
75    C     Real-type constant for some frequently used simple number (0,1,2,1/2):
76          _RS     zeroRS, oneRS, twoRS, halfRS
77          PARAMETER ( zeroRS = 0.0 _d 0 , oneRS  = 1.0 _d 0 )
78          PARAMETER ( twoRS  = 2.0 _d 0 , halfRS = 0.5 _d 0 )
79          _RL     zeroRL, oneRL, twoRL, halfRL
80          PARAMETER ( zeroRL = 0.0 _d 0 , oneRL  = 1.0 _d 0 )
81          PARAMETER ( twoRL  = 2.0 _d 0 , halfRL = 0.5 _d 0 )
82    
83    C     UNSET_xxx :: Used to indicate variables that have not been given a value
84          Real*8  UNSET_FLOAT8
85          PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
86          Real*4  UNSET_FLOAT4
87          PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
88          _RL     UNSET_RL
89          PARAMETER ( UNSET_RL     = 1.234567D5 )
90          _RS     UNSET_RS
91          PARAMETER ( UNSET_RS     = 1.234567D5 )
92          INTEGER UNSET_I
93          PARAMETER ( UNSET_I      = 123456789  )
94    
95    C     debLevX  :: used to decide when to print debug messages
96          INTEGER debLevZero
97          INTEGER debLevA, debLevB,  debLevC, debLevD, debLevE
98          PARAMETER ( debLevZero=0 )
99          PARAMETER ( debLevA=1 )
100          PARAMETER ( debLevB=2 )
101          PARAMETER ( debLevC=3 )
102          PARAMETER ( debLevD=4 )
103          PARAMETER ( debLevE=5 )
104    
105  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal
106  C                           from text field.  C                           from text field.
107  C     SQUEEZE_LEFT        - Flag indicating left blank space removal  C     SQUEEZE_LEFT        - Flag indicating left blank space removal
# Line 28  C                           space remova Line 111  C                           space remova
111  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices
112  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices
113  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices
114  C     commentCharacter    - Variable used in column 1 of parameter files to  C     commentCharacter    - Variable used in column 1 of parameter
115  C                           indicate comments.  C                           files to indicate comments.
116  C     INDEX_I             - Variable used to select an index label  C     INDEX_I             - Variable used to select an index label
117  C     INDEX_J               for formatted input parameters.  C     INDEX_J               for formatted input parameters.
118  C     INDEX_K  C     INDEX_K
# Line 50  C     INDEX_NONE Line 133  C     INDEX_NONE
133        PARAMETER ( commentCharacter = '#' )        PARAMETER ( commentCharacter = '#' )
134        INTEGER INDEX_I        INTEGER INDEX_I
135        INTEGER INDEX_J        INTEGER INDEX_J
136        INTEGER INDEX_K          INTEGER INDEX_K
137        INTEGER INDEX_NONE        INTEGER INDEX_NONE
138        PARAMETER ( INDEX_I    = 1,        PARAMETER ( INDEX_I    = 1,
139       &            INDEX_J    = 2,       &            INDEX_J    = 2,
140       &            INDEX_K    = 3,       &            INDEX_K    = 3,
141       &            INDEX_NONE = 4 )       &            INDEX_NONE = 4 )
142    
   
143  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or
144  C     EXCH_UPDATE_CORNERS   updating of corners during  C     EXCH_UPDATE_CORNERS   updating of corners during
145  C                           an edge exchange.  C                           an edge exchange.
# Line 68  C                           an edge exch Line 150  C                           an edge exch
150    
151  C     FORWARD_SIMULATION  C     FORWARD_SIMULATION
152  C     REVERSE_SIMULATION  C     REVERSE_SIMULATION
153    C     TANGENT_SIMULATION
154        INTEGER FORWARD_SIMULATION        INTEGER FORWARD_SIMULATION
155        INTEGER REVERSE_SIMULATION        INTEGER REVERSE_SIMULATION
156          INTEGER TANGENT_SIMULATION
157        PARAMETER ( FORWARD_SIMULATION = 0,        PARAMETER ( FORWARD_SIMULATION = 0,
158       &            REVERSE_SIMULATION = 1 )       &            REVERSE_SIMULATION = 1,
159         &            TANGENT_SIMULATION = 2 )
   
 C     Particularly weird and obscure voodoo numbers  
 C     lShare  - This wants to be the length in  
 C               [148]-byte words of the size of  
 C               the address "window" that is snooped  
 C               on an SMP bus. By separating elements in  
 C               the global sum buffer we can avoid generating  
 C               extraneous invalidate traffic between  
 C               processors. The length of this window is usually  
 C               a cache line i.e. small O(64 bytes).  
 C               The buffer arrays are usually short arrays  
 C               and are declared REAL ARRA(lShare[148],LBUFF).  
 C               Setting lShare[148] to 1 is like making these arrays  
 C               one dimensional.  
       INTEGER cacheLineSize  
       INTEGER lShare1  
       INTEGER lShare4  
       INTEGER lShare8  
       PARAMETER ( cacheLineSize = 256 )  
       PARAMETER ( lShare1 =  cacheLineSize )  
       PARAMETER ( lShare4 =  cacheLineSize/4 )  
       PARAMETER ( lShare8 =  cacheLineSize/8 )  
   
 C     MAX_NO_THREADS  - Maximum number of threads allowed.  
 C     MAX_NO_PROCS    - Maximum number of processes allowed.  
 C     MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"  
       INTEGER MAX_NO_THREADS  
       PARAMETER ( MAX_NO_THREADS =   32 )  
       INTEGER MAX_NO_PROCS  
       PARAMETER ( MAX_NO_PROCS   =  128 )  
       INTEGER MAX_NO_BARRIERS  
       PARAMETER ( MAX_NO_BARRIERS = 1 )  
160    
161  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.
162  C     eeBootError - Flag indicating error during multi-processing  C     eeBootError    :: Flags indicating error during multi-processing
163  C     eeEndError    initialisation/termination.  C     eeEndError     :: initialisation and termination.
164  C     fatalError  - Flag used to indicate that the model is ended with  C     fatalError     :: Flag used to indicate that the model is ended with an error
165  C                   an error  C     debugMode      :: controls printing of debug msg (sequence of S/R calls).
166        COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError  C     useSingleCpuIO :: When useSingleCpuIO is set, MDS_WRITE_FIELD outputs from
167    C                       master MPI process only. -- NOTE: read from main parameter
168    C                       file "data" and not set until call to INI_PARMS.
169    C     printMapIncludesZeros  :: Flag that controls whether character constant
170    C                               map code ignores exact zero values.
171    C     useCubedSphereExchange :: use Cubed-Sphere topology domain.
172    C     useCoupler     :: use Coupler for a multi-components set-up.
173    C     useNEST_PARENT :: use Parent Nesting interface (pkg/nest_parent)
174    C     useNEST_CHILD  :: use Child  Nesting interface (pkg/nest_child)
175    C     useOASIS       :: use OASIS-coupler for a multi-components set-up.
176          COMMON /EEPARAMS_L/
177    c    &  eeBootError, fatalError, eeEndError,
178         &  eeBootError, eeEndError, fatalError, debugMode,
179         &  useSingleCpuIO, printMapIncludesZeros,
180         &  useCubedSphereExchange, useCoupler,
181         &  useNEST_PARENT, useNEST_CHILD, useOASIS,
182         &  useSETRLSTK, useSIGREG
183        LOGICAL eeBootError        LOGICAL eeBootError
184        LOGICAL eeEndError        LOGICAL eeEndError
185        LOGICAL fatalError        LOGICAL fatalError
186          LOGICAL debugMode
187          LOGICAL useSingleCpuIO
188          LOGICAL printMapIncludesZeros
189          LOGICAL useCubedSphereExchange
190          LOGICAL useCoupler
191          LOGICAL useNEST_PARENT
192          LOGICAL useNEST_CHILD
193          LOGICAL useOASIS
194          LOGICAL useSETRLSTK
195          LOGICAL useSIGREG
196    
197  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.
198  C     errorMessageUnit    - Fortran IO unit for error messages  C     errorMessageUnit    - Fortran IO unit for error messages
199  C     standardMessageUnit - Fortran IO unit for informational messages  C     standardMessageUnit - Fortran IO unit for informational messages
200    C     maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array
201  C     scrUnit1      - Scratch file 1 unit number  C     scrUnit1      - Scratch file 1 unit number
202  C     scrUnit2      - Scratch file 2 unit number  C     scrUnit2      - Scratch file 2 unit number
203  C     eeDataUnit    - Unit number used for reading "execution environment" parameter file.  C     eeDataUnit    - Unit # for reading "execution environment" parameter file.
204  C     modelDataUnit - Unit number for reading "model" parameter file.  C     modelDataUnit - Unit number for reading "model" parameter file.
205  C     numberOfProcs - Number of processes computing in parallel  C     numberOfProcs - Number of processes computing in parallel
206  C     pidIO         - Id of process to use for I/O.  C     pidIO         - Id of process to use for I/O.
# Line 150  C                   gridding of the thre Line 229  C                   gridding of the thre
229  C                   but that makes it easier.  C                   but that makes it easier.
230  C     ioErrorCount - IO Error Counter. Set to zero initially and increased  C     ioErrorCount - IO Error Counter. Set to zero initially and increased
231  C                    by one every time an IO error occurs.  C                    by one every time an IO error occurs.
232        COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,        COMMON /EEPARAMS_I/
233       & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,       &  errorMessageUnit, standardMessageUnit, maxLengthPrt1D,
234       & numberOfProcs, pidIO, myProcId,       &  scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
235       & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,       &  numberOfProcs, pidIO, myProcId,
236       & myBxLo, myBxHi, myByLo, myByHi,       &  myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
237       & nTx, nTy, ioErrorCount       &  myBxLo, myBxHi, myByLo, myByHi,
238        INTEGER eeDataUnit       &  nTx, nTy, ioErrorCount
239        INTEGER errorMessageUnit        INTEGER errorMessageUnit
240        INTEGER ioErrorCount(MAX_NO_THREADS)        INTEGER standardMessageUnit
241          INTEGER maxLengthPrt1D
242          INTEGER scrUnit1
243          INTEGER scrUnit2
244          INTEGER eeDataUnit
245        INTEGER modelDataUnit        INTEGER modelDataUnit
246          INTEGER ioErrorCount(MAX_NO_THREADS)
247        INTEGER myBxLo(MAX_NO_THREADS)        INTEGER myBxLo(MAX_NO_THREADS)
248        INTEGER myBxHi(MAX_NO_THREADS)        INTEGER myBxHi(MAX_NO_THREADS)
249        INTEGER myByLo(MAX_NO_THREADS)        INTEGER myByLo(MAX_NO_THREADS)
# Line 174  C                    by one every time a Line 258  C                    by one every time a
258        INTEGER nTy        INTEGER nTy
259        INTEGER numberOfProcs        INTEGER numberOfProcs
260        INTEGER pidIO        INTEGER pidIO
261        INTEGER scrUnit1  
262        INTEGER scrUnit2  CEH3 ;;; Local Variables: ***
263        INTEGER standardMessageUnit  CEH3 ;;; mode:fortran ***
264    CEH3 ;;; End: ***

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.32

  ViewVC Help
Powered by ViewVC 1.1.22