/[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.2 by cnh, Thu Apr 23 20:59:34 1998 UTC revision 1.22 by edhill, Thu Jan 12 03:24:09 2006 UTC
# Line 1  Line 1 
1  C $Header$  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 =  32 )
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    
70  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal  C     SQUEEZE_RIGHT       - Flag indicating right blank space removal
71  C                           from text field.  C                           from text field.
72  C     SQUEEZE_LEFT        - Flag indicating left blank space removal  C     SQUEEZE_LEFT        - Flag indicating left blank space removal
# Line 27  C                           space remova Line 76  C                           space remova
76  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices  C     PRINT_MAP_XY        - Flag indicating to plot map as XY slices
77  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices  C     PRINT_MAP_XZ        - Flag indicating to plot map as XZ slices
78  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices  C     PRINT_MAP_YZ        - Flag indicating to plot map as YZ slices
79  C     commentCharacter    - Variable used in column 1 of parameter files to  C     commentCharacter    - Variable used in column 1 of parameter
80  C                           indicate comments.  C                           files to indicate comments.
81    C     INDEX_I             - Variable used to select an index label
82    C     INDEX_J               for formatted input parameters.
83    C     INDEX_K
84    C     INDEX_NONE
85        CHARACTER*(*) SQUEEZE_RIGHT        CHARACTER*(*) SQUEEZE_RIGHT
86        PARAMETER ( SQUEEZE_RIGHT = 'R' )        PARAMETER ( SQUEEZE_RIGHT = 'R' )
87        CHARACTER*(*) SQUEEZE_LEFT        CHARACTER*(*) SQUEEZE_LEFT
# Line 43  C                           indicate com Line 96  C                           indicate com
96        PARAMETER ( PRINT_MAP_YZ = 'YZ' )        PARAMETER ( PRINT_MAP_YZ = 'YZ' )
97        CHARACTER*(*) commentCharacter        CHARACTER*(*) commentCharacter
98        PARAMETER ( commentCharacter = '#' )        PARAMETER ( commentCharacter = '#' )
99          INTEGER INDEX_I
100  C     Particularly weird and obscure voodoo numbers        INTEGER INDEX_J
101  C     lShare  - This wants to be the length in        INTEGER INDEX_K  
102  C               [148]-byte words of the size of        INTEGER INDEX_NONE
103  C               the address "window" that is snooped        PARAMETER ( INDEX_I    = 1,
104  C               on an SMP bus. By separating elements in       &            INDEX_J    = 2,
105  C               the global sum buffer we can avoid generating       &            INDEX_K    = 3,
106  C               extraneous invalidate traffic between       &            INDEX_NONE = 4 )
107  C               processors. The length of this window is usually  
108  C               a cache line i.e. small O(64 bytes).  C     EXCH_IGNORE_CORNERS - Flag to select ignoring or
109  C               The buffer arrays are usually short arrays  C     EXCH_UPDATE_CORNERS   updating of corners during
110  C               and are declared REAL ARRA(lShare[148],LBUFF).  C                           an edge exchange.
111  C               Setting lShare[148] to 1 is like making these arrays        INTEGER EXCH_IGNORE_CORNERS
112  C               one dimensional.        INTEGER EXCH_UPDATE_CORNERS
113        INTEGER lShare1        PARAMETER ( EXCH_IGNORE_CORNERS = 0,
114        INTEGER lShare4       &            EXCH_UPDATE_CORNERS = 1 )
115        INTEGER lShare8  
116        PARAMETER ( lShare1 = 8 * 32 )  C     FORWARD_SIMULATION
117        PARAMETER ( lShare4 = 2 * 32 )  C     REVERSE_SIMULATION
118        PARAMETER ( lShare8 = 1 * 32 )  C     TANGENT_SIMULATION
119          INTEGER FORWARD_SIMULATION
120  C     MAX_NO_THREADS  - Maximum number of threads allowed.        INTEGER REVERSE_SIMULATION
121  C     MAX_NO_PROCS    - Maximum number of processes allowed.        INTEGER TANGENT_SIMULATION
122  C     MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"        PARAMETER ( FORWARD_SIMULATION = 0,
123        INTEGER MAX_NO_THREADS       &            REVERSE_SIMULATION = 1,
124        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 )  
125    
126  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.  C--   COMMON /EEPARAMS_L/ Execution environment public logical variables.
127  C     eeBootError - Flag indicating error during multi-processing  C     eeBootError - Flag indicating error during multi-processing
128  C     eeEndError    initialisation/termination.  C     eeEndError    initialisation/termination.
129  C     fatalError  - Flag used to indicate that the model is ended with  C     fatalError  - Flag used to indicate that the model is ended with
130  C                   an error  C                   an error
131        COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError  C     useCoupler  - use Coupler for a multi-components set-up
132          COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
133         &  useCubedSphereExchange, useCoupler, useSETRLSTK, useSIGREG
134        LOGICAL eeBootError        LOGICAL eeBootError
135        LOGICAL eeEndError        LOGICAL eeEndError
136        LOGICAL fatalError        LOGICAL fatalError
137          LOGICAL useCubedSphereExchange
138          LOGICAL useCoupler
139          LOGICAL useSETRLSTK
140          LOGICAL useSIGREG
141    
142  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.  C--   COMMON /EPARAMS_I/ Execution environment public integer variables.
143  C     errorMessageUnit    - Fortran IO unit for error messages  C     errorMessageUnit    - Fortran IO unit for error messages
# Line 116  C     nTy         - No. of threads in Y Line 171  C     nTy         - No. of threads in Y
171  C                   This assumes a simple cartesian  C                   This assumes a simple cartesian
172  C                   gridding of the threads which is not required elsewhere  C                   gridding of the threads which is not required elsewhere
173  C                   but that makes it easier.  C                   but that makes it easier.
174    C     ioErrorCount - IO Error Counter. Set to zero initially and increased
175    C                    by one every time an IO error occurs.
176        COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,        COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
177       & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,       & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
178       & numberOfProcs, pidIO, myProcId,       & numberOfProcs, pidIO, myProcId,
179       & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,       & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
180       & myBxLo, myBxHi, myByLo, myByHi,       & myBxLo, myBxHi, myByLo, myByHi,
181       & nTx, nTy       & nTx, nTy, ioErrorCount
182        INTEGER eeDataUnit        INTEGER eeDataUnit
183        INTEGER errorMessageUnit        INTEGER errorMessageUnit
184          INTEGER ioErrorCount(MAX_NO_THREADS)
185        INTEGER modelDataUnit        INTEGER modelDataUnit
186        INTEGER myBxLo(MAX_NO_THREADS)        INTEGER myBxLo(MAX_NO_THREADS)
187        INTEGER myBxHi(MAX_NO_THREADS)        INTEGER myBxHi(MAX_NO_THREADS)
# Line 142  C                   but that makes it ea Line 200  C                   but that makes it ea
200        INTEGER scrUnit1        INTEGER scrUnit1
201        INTEGER scrUnit2        INTEGER scrUnit2
202        INTEGER standardMessageUnit        INTEGER standardMessageUnit
203    
204    CEH3 ;;; Local Variables: ***
205    CEH3 ;;; mode:fortran ***
206    CEH3 ;;; End: ***

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22