/[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.9 by adcroft, Tue May 29 14:01:35 2001 UTC revision 1.25 by jmc, Tue Apr 21 16:00:53 2009 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   =  2048 )
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    
69    C     Symbolic values
70    C     precXXXX :: precision used for I/O
71          INTEGER precFloat32
72          PARAMETER ( precFloat32 = 32 )
73          INTEGER precFloat64
74          PARAMETER ( precFloat64 = 64 )
75    
76    C     UNSET_xxx :: Used to indicate variables that have not been given a value
77          Real*8  UNSET_FLOAT8
78          PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
79          Real*4  UNSET_FLOAT4
80          PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
81          _RL     UNSET_RL
82          PARAMETER ( UNSET_RL     = 1.234567D5 )
83          _RS     UNSET_RS
84          PARAMETER ( UNSET_RS     = 1.234567D5 )
85          INTEGER UNSET_I
86          PARAMETER ( UNSET_I      = 123456789  )
87    
88    C     debLevX  :: used to decide when to print debug messages
89          INTEGER debLevZero
90          PARAMETER ( debLevZero=0 )
91          INTEGER debLevA
92          PARAMETER ( debLevA=1 )
93          INTEGER debLevB
94          PARAMETER ( debLevB=2 )
95    
96  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal
97  C                           from text field.  C                           from text field.
98  C     SQUEEZE_LEFT        - Flag indicating left blank space removal  C     SQUEEZE_LEFT        - Flag indicating left blank space removal
# Line 28  C                           space remova Line 102  C                           space remova
102  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices
103  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices
104  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices
105  C     commentCharacter    - Variable used in column 1 of parameter files to  C     commentCharacter    - Variable used in column 1 of parameter
106  C                           indicate comments.  C                           files to indicate comments.
107  C     INDEX_I             - Variable used to select an index label  C     INDEX_I             - Variable used to select an index label
108  C     INDEX_J               for formatted input parameters.  C     INDEX_J               for formatted input parameters.
109  C     INDEX_K  C     INDEX_K
# Line 50  C     INDEX_NONE Line 124  C     INDEX_NONE
124        PARAMETER ( commentCharacter = '#' )        PARAMETER ( commentCharacter = '#' )
125        INTEGER INDEX_I        INTEGER INDEX_I
126        INTEGER INDEX_J        INTEGER INDEX_J
127        INTEGER INDEX_K          INTEGER INDEX_K
128        INTEGER INDEX_NONE        INTEGER INDEX_NONE
129        PARAMETER ( INDEX_I    = 1,        PARAMETER ( INDEX_I    = 1,
130       &            INDEX_J    = 2,       &            INDEX_J    = 2,
131       &            INDEX_K    = 3,       &            INDEX_K    = 3,
132       &            INDEX_NONE = 4 )       &            INDEX_NONE = 4 )
133    
   
134  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or
135  C     EXCH_UPDATE_CORNERS   updating of corners during  C     EXCH_UPDATE_CORNERS   updating of corners during
136  C                           an edge exchange.  C                           an edge exchange.
# Line 68  C                           an edge exch Line 141  C                           an edge exch
141    
142  C     FORWARD_SIMULATION  C     FORWARD_SIMULATION
143  C     REVERSE_SIMULATION  C     REVERSE_SIMULATION
144    C     TANGENT_SIMULATION
145        INTEGER FORWARD_SIMULATION        INTEGER FORWARD_SIMULATION
146        INTEGER REVERSE_SIMULATION        INTEGER REVERSE_SIMULATION
147          INTEGER TANGENT_SIMULATION
148        PARAMETER ( FORWARD_SIMULATION = 0,        PARAMETER ( FORWARD_SIMULATION = 0,
149       &            REVERSE_SIMULATION = 1 )       &            REVERSE_SIMULATION = 1,
150         &            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 )  
151    
152  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.
153  C     eeBootError - Flag indicating error during multi-processing  C     eeBootError - Flag indicating error during multi-processing
154  C     eeEndError    initialisation/termination.  C     eeEndError    initialisation/termination.
155  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
156  C                   an error  C     printMapIncludesZeros :: Flag that controls whether character constant
157        COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,  C                              map code ignores exact zero values.
158       &  useCubedSphereExchange  C     useCoupler  - use Coupler for a multi-components set-up
159          COMMON /EEPARAMS_L/
160         &  eeBootError, fatalError, eeEndError,
161         &  printMapIncludesZeros,
162         &  useCubedSphereExchange, useCoupler, useSETRLSTK, useSIGREG
163        LOGICAL eeBootError        LOGICAL eeBootError
164        LOGICAL eeEndError        LOGICAL eeEndError
165        LOGICAL fatalError        LOGICAL fatalError
166          LOGICAL printMapIncludesZeros
167        LOGICAL useCubedSphereExchange        LOGICAL useCubedSphereExchange
168          LOGICAL useCoupler
169          LOGICAL useSETRLSTK
170          LOGICAL useSIGREG
171    
172    
173  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.
174  C     errorMessageUnit    - Fortran IO unit for error messages  C     errorMessageUnit    - Fortran IO unit for error messages
175  C     standardMessageUnit - Fortran IO unit for informational messages  C     standardMessageUnit - Fortran IO unit for informational messages
176    C     maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array
177  C     scrUnit1      - Scratch file 1 unit number  C     scrUnit1      - Scratch file 1 unit number
178  C     scrUnit2      - Scratch file 2 unit number  C     scrUnit2      - Scratch file 2 unit number
179  C     eeDataUnit    - Unit number used for reading "execution environment" parameter file.  C     eeDataUnit    - Unit # for reading "execution environment" parameter file.
180  C     modelDataUnit - Unit number for reading "model" parameter file.  C     modelDataUnit - Unit number for reading "model" parameter file.
181  C     numberOfProcs - Number of processes computing in parallel  C     numberOfProcs - Number of processes computing in parallel
182  C     pidIO         - Id of process to use for I/O.  C     pidIO         - Id of process to use for I/O.
# Line 152  C                   gridding of the thre Line 205  C                   gridding of the thre
205  C                   but that makes it easier.  C                   but that makes it easier.
206  C     ioErrorCount - IO Error Counter. Set to zero initially and increased  C     ioErrorCount - IO Error Counter. Set to zero initially and increased
207  C                    by one every time an IO error occurs.  C                    by one every time an IO error occurs.
208        COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,        COMMON /EEPARAMS_I/
209       & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,       &  errorMessageUnit, standardMessageUnit, maxLengthPrt1D,
210       & numberOfProcs, pidIO, myProcId,       &  scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
211       & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,       &  numberOfProcs, pidIO, myProcId,
212       & myBxLo, myBxHi, myByLo, myByHi,       &  myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
213       & nTx, nTy, ioErrorCount       &  myBxLo, myBxHi, myByLo, myByHi,
214        INTEGER eeDataUnit       &  nTx, nTy, ioErrorCount
215        INTEGER errorMessageUnit        INTEGER errorMessageUnit
216        INTEGER ioErrorCount(MAX_NO_THREADS)        INTEGER standardMessageUnit
217          INTEGER maxLengthPrt1D
218          INTEGER scrUnit1
219          INTEGER scrUnit2
220          INTEGER eeDataUnit
221        INTEGER modelDataUnit        INTEGER modelDataUnit
222          INTEGER ioErrorCount(MAX_NO_THREADS)
223        INTEGER myBxLo(MAX_NO_THREADS)        INTEGER myBxLo(MAX_NO_THREADS)
224        INTEGER myBxHi(MAX_NO_THREADS)        INTEGER myBxHi(MAX_NO_THREADS)
225        INTEGER myByLo(MAX_NO_THREADS)        INTEGER myByLo(MAX_NO_THREADS)
# Line 176  C                    by one every time a Line 234  C                    by one every time a
234        INTEGER nTy        INTEGER nTy
235        INTEGER numberOfProcs        INTEGER numberOfProcs
236        INTEGER pidIO        INTEGER pidIO
237        INTEGER scrUnit1  
238        INTEGER scrUnit2  CEH3 ;;; Local Variables: ***
239        INTEGER standardMessageUnit  CEH3 ;;; mode:fortran ***
240    CEH3 ;;; End: ***

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22