/[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.1 by cnh, Wed Apr 22 19:15:30 1998 UTC revision 1.29 by mlosch, Tue Oct 5 17:43:40 2010 UTC
# Line 1  Line 1 
1  C $Id$  C $Header$
2    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 18  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   =  4096 )
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 27  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
108    C     INDEX_J               for formatted input parameters.
109    C     INDEX_K
110    C     INDEX_NONE
111        CHARACTER*(*) SQUEEZE_RIGHT        CHARACTER*(*) SQUEEZE_RIGHT
112        PARAMETER ( SQUEEZE_RIGHT = 'R' )        PARAMETER ( SQUEEZE_RIGHT = 'R' )
113        CHARACTER*(*) SQUEEZE_LEFT        CHARACTER*(*) SQUEEZE_LEFT
# Line 43  C                           indicate com Line 122  C                           indicate com
122        PARAMETER ( PRINT_MAP_YZ = 'YZ' )        PARAMETER ( PRINT_MAP_YZ = 'YZ' )
123        CHARACTER*(*) commentCharacter        CHARACTER*(*) commentCharacter
124        PARAMETER ( commentCharacter = '#' )        PARAMETER ( commentCharacter = '#' )
125          INTEGER INDEX_I
126  C     Particularly weird and obscure voodoo numbers        INTEGER INDEX_J
127  C     lShare  - This wants to be the length in        INTEGER INDEX_K
128  C               [148]-byte words of the size of        INTEGER INDEX_NONE
129  C               the address "window" that is snooped        PARAMETER ( INDEX_I    = 1,
130  C               on an SMP bus. By separating elements in       &            INDEX_J    = 2,
131  C               the global sum buffer we can avoid generating       &            INDEX_K    = 3,
132  C               extraneous invalidate traffic between       &            INDEX_NONE = 4 )
133  C               processors. The length of this window is usually  
134  C               a cache line i.e. small O(64 bytes).  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or
135  C               The buffer arrays are usually short arrays  C     EXCH_UPDATE_CORNERS   updating of corners during
136  C               and are declared REAL ARRA(lShare[148],LBUFF).  C                           an edge exchange.
137  C               Setting lShare[148] to 1 is like making these arrays        INTEGER EXCH_IGNORE_CORNERS
138  C               one dimensional.        INTEGER EXCH_UPDATE_CORNERS
139        INTEGER lShare1        PARAMETER ( EXCH_IGNORE_CORNERS = 0,
140        INTEGER lShare4       &            EXCH_UPDATE_CORNERS = 1 )
141        INTEGER lShare8  
142        PARAMETER ( lShare1 = 8 * 32 )  C     FORWARD_SIMULATION
143        PARAMETER ( lShare4 = 2 * 32 )  C     REVERSE_SIMULATION
144        PARAMETER ( lShare8 = 1 * 32 )  C     TANGENT_SIMULATION
145          INTEGER FORWARD_SIMULATION
146  C     MAX_NO_THREADS  - Maximum number of threads allowed.        INTEGER REVERSE_SIMULATION
147  C     MAX_NO_PROCS    - Maximum number of processes allowed.        INTEGER TANGENT_SIMULATION
148  C     MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"        PARAMETER ( FORWARD_SIMULATION = 0,
149        INTEGER MAX_NO_THREADS       &            REVERSE_SIMULATION = 1,
150        PARAMETER ( MAX_NO_THREADS =   16 )       &            TANGENT_SIMULATION = 2 )
       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    :: Flags indicating error during multi-processing
154  C     eeEndError    initialisation/termination.  C     eeEndError     :: initialisation and 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     useSingleCpuIO :: When useSingleCpuIO is set, MDS_WRITE_FIELD outputs from
157        COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError  C                       master MPI process only. -- NOTE: read from main parameter
158    C                       file "data" and not set until call to INI_PARMS.
159    C     printMapIncludesZeros  :: Flag that controls whether character constant
160    C                               map code ignores exact zero values.
161    C     useCubedSphereExchange :: use Cubed-Sphere topology domain.
162    C     useCoupler     :: use Coupler for a multi-components set-up.
163    C     useNEST_PARENT :: use Parent Nesting interface (pkg/nest_parent)
164    C     useNEST_CHILD  :: use Child  Nesting interface (pkg/nest_child)
165    C     useOASIS       :: use OASIS-coupler for a multi-components set-up.
166          COMMON /EEPARAMS_L/
167         &  eeBootError, fatalError, eeEndError,
168         &  useSingleCpuIO, printMapIncludesZeros,
169         &  useCubedSphereExchange, useCoupler,
170         &  useNEST_PARENT, useNEST_CHILD, useOASIS,
171         &  useSETRLSTK, useSIGREG
172        LOGICAL eeBootError        LOGICAL eeBootError
173        LOGICAL eeEndError        LOGICAL eeEndError
174        LOGICAL fatalError        LOGICAL fatalError
175          LOGICAL useSingleCpuIO
176          LOGICAL printMapIncludesZeros
177          LOGICAL useCubedSphereExchange
178          LOGICAL useCoupler
179          LOGICAL useNEST_PARENT
180          LOGICAL useNEST_CHILD
181          LOGICAL useOASIS
182          LOGICAL useSETRLSTK
183          LOGICAL useSIGREG
184    
185  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.
186  C     errorMessageUnit    - Fortran IO unit for error messages  C     errorMessageUnit    - Fortran IO unit for error messages
187  C     standardMessageUnit - Fortran IO unit for informational messages  C     standardMessageUnit - Fortran IO unit for informational messages
188    C     maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array
189  C     scrUnit1      - Scratch file 1 unit number  C     scrUnit1      - Scratch file 1 unit number
190  C     scrUnit2      - Scratch file 2 unit number  C     scrUnit2      - Scratch file 2 unit number
191  C     eeDataUnit    - Unit number used for reading "execution environment" parameter file.  C     eeDataUnit    - Unit # for reading "execution environment" parameter file.
192  C     modelDataUnit - Unit number for reading "model" parameter file.  C     modelDataUnit - Unit number for reading "model" parameter file.
193  C     numberOfProcs - Number of processes computing in parallel  C     numberOfProcs - Number of processes computing in parallel
194  C     pidIO         - Id of process to use for I/O.  C     pidIO         - Id of process to use for I/O.
# Line 116  C     nTy         - No. of threads in Y Line 215  C     nTy         - No. of threads in Y
215  C                   This assumes a simple cartesian  C                   This assumes a simple cartesian
216  C                   gridding of the threads which is not required elsewhere  C                   gridding of the threads which is not required elsewhere
217  C                   but that makes it easier.  C                   but that makes it easier.
218        COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,  C     ioErrorCount - IO Error Counter. Set to zero initially and increased
219       & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,  C                    by one every time an IO error occurs.
220       & numberOfProcs, pidIO, myProcId,        COMMON /EEPARAMS_I/
221       & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,       &  errorMessageUnit, standardMessageUnit, maxLengthPrt1D,
222       & myBxLo, myBxHi, myByLo, myByHi,       &  scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
223       & nTx, nTy       &  numberOfProcs, pidIO, myProcId,
224        INTEGER eeDataUnit       &  myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
225         &  myBxLo, myBxHi, myByLo, myByHi,
226         &  nTx, nTy, ioErrorCount
227        INTEGER errorMessageUnit        INTEGER errorMessageUnit
228          INTEGER standardMessageUnit
229          INTEGER maxLengthPrt1D
230          INTEGER scrUnit1
231          INTEGER scrUnit2
232          INTEGER eeDataUnit
233        INTEGER modelDataUnit        INTEGER modelDataUnit
234          INTEGER ioErrorCount(MAX_NO_THREADS)
235        INTEGER myBxLo(MAX_NO_THREADS)        INTEGER myBxLo(MAX_NO_THREADS)
236        INTEGER myBxHi(MAX_NO_THREADS)        INTEGER myBxHi(MAX_NO_THREADS)
237        INTEGER myByLo(MAX_NO_THREADS)        INTEGER myByLo(MAX_NO_THREADS)
# Line 139  C                   but that makes it ea Line 246  C                   but that makes it ea
246        INTEGER nTy        INTEGER nTy
247        INTEGER numberOfProcs        INTEGER numberOfProcs
248        INTEGER pidIO        INTEGER pidIO
       INTEGER scrUnit1  
       INTEGER scrUnit2  
       INTEGER standardMessageUnit  
249    
250  C $Id$  CEH3 ;;; Local Variables: ***
251    CEH3 ;;; mode:fortran ***
252    CEH3 ;;; End: ***

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.22