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

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

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


Revision 1.19 - (hide annotations) (download)
Wed Sep 28 23:21:33 2005 UTC (18 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpint57u_post, checkpoint57w_post
Changes since 1.18: +52 -2 lines
File MIME type: text/plain
 o put EEPARAMS.h back the way JMC insists
   - and fix args to global_vec_sum.F

1 edhill 1.19 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.18 2005/09/28 01:58:25 edhill Exp $
2 adcroft 1.9 C $Name: $
3 cnh 1.10 CBOP
4     C !ROUTINE: EEPARAMS.h
5     C !INTERFACE:
6     C include "EEPARAMS.h"
7 cnh 1.1 C
8 cnh 1.10 C !DESCRIPTION:
9     C *==========================================================*
10 cnh 1.1 C | EEPARAMS.h |
11 cnh 1.10 C *==========================================================*
12 cnh 1.1 C | Parameters for "execution environemnt". These are used |
13 heimbach 1.12 C | by both the particular numerical model and the execution |
14     C | environment support routines. |
15 cnh 1.10 C *==========================================================*
16     CEOP
17 cnh 1.1
18 edhill 1.19 C ======== EESIZE.h ========================================
19    
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
25     PARAMETER ( MAX_LEN_MBUF = 512 )
26     INTEGER MAX_LEN_FNAM
27     PARAMETER ( MAX_LEN_FNAM = 512 )
28     INTEGER MAX_LEN_PREC
29     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 cnh 1.1
70     C SQUEEZE_RIGHT - Flag indicating right blank space removal
71     C from text field.
72     C SQUEEZE_LEFT - Flag indicating left blank space removal
73     C from text field.
74     C SQUEEZE_BOTH - Flag indicating left and right blank
75     C space removal from text field.
76     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
78     C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
79 edhill 1.18 C commentCharacter - Variable used in column 1 of parameter
80     C files to indicate comments.
81 cnh 1.3 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 cnh 1.1 CHARACTER*(*) SQUEEZE_RIGHT
86     PARAMETER ( SQUEEZE_RIGHT = 'R' )
87     CHARACTER*(*) SQUEEZE_LEFT
88     PARAMETER ( SQUEEZE_LEFT = 'L' )
89     CHARACTER*(*) SQUEEZE_BOTH
90     PARAMETER ( SQUEEZE_BOTH = 'B' )
91     CHARACTER*(*) PRINT_MAP_XY
92     PARAMETER ( PRINT_MAP_XY = 'XY' )
93     CHARACTER*(*) PRINT_MAP_XZ
94     PARAMETER ( PRINT_MAP_XZ = 'XZ' )
95     CHARACTER*(*) PRINT_MAP_YZ
96     PARAMETER ( PRINT_MAP_YZ = 'YZ' )
97     CHARACTER*(*) commentCharacter
98     PARAMETER ( commentCharacter = '#' )
99 cnh 1.3 INTEGER INDEX_I
100     INTEGER INDEX_J
101     INTEGER INDEX_K
102     INTEGER INDEX_NONE
103     PARAMETER ( INDEX_I = 1,
104     & INDEX_J = 2,
105     & INDEX_K = 3,
106     & INDEX_NONE = 4 )
107 cnh 1.1
108 cnh 1.5 C EXCH_IGNORE_CORNERS - Flag to select ignoring or
109     C EXCH_UPDATE_CORNERS updating of corners during
110     C an edge exchange.
111     INTEGER EXCH_IGNORE_CORNERS
112     INTEGER EXCH_UPDATE_CORNERS
113     PARAMETER ( EXCH_IGNORE_CORNERS = 0,
114     & EXCH_UPDATE_CORNERS = 1 )
115    
116     C FORWARD_SIMULATION
117     C REVERSE_SIMULATION
118 heimbach 1.11 C TANGENT_SIMULATION
119 cnh 1.5 INTEGER FORWARD_SIMULATION
120     INTEGER REVERSE_SIMULATION
121 heimbach 1.11 INTEGER TANGENT_SIMULATION
122 cnh 1.5 PARAMETER ( FORWARD_SIMULATION = 0,
123 heimbach 1.11 & REVERSE_SIMULATION = 1,
124     & TANGENT_SIMULATION = 2 )
125 cnh 1.5
126 cnh 1.1 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
127     C eeBootError - Flag indicating error during multi-processing
128     C eeEndError initialisation/termination.
129     C fatalError - Flag used to indicate that the model is ended with
130     C an error
131 jmc 1.13 C useCoupler - use Coupler for a multi-components set-up
132 adcroft 1.9 COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
133 edhill 1.17 & useCubedSphereExchange, useCoupler, useSETRLSTK
134 cnh 1.1 LOGICAL eeBootError
135     LOGICAL eeEndError
136     LOGICAL fatalError
137 adcroft 1.9 LOGICAL useCubedSphereExchange
138 jmc 1.13 LOGICAL useCoupler
139 edhill 1.17 LOGICAL useSETRLSTK
140 cnh 1.1
141     C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
142     C errorMessageUnit - Fortran IO unit for error messages
143     C standardMessageUnit - Fortran IO unit for informational messages
144     C scrUnit1 - Scratch file 1 unit number
145     C scrUnit2 - Scratch file 2 unit number
146     C eeDataUnit - Unit number used for reading "execution environment" parameter file.
147     C modelDataUnit - Unit number for reading "model" parameter file.
148     C numberOfProcs - Number of processes computing in parallel
149     C pidIO - Id of process to use for I/O.
150     C myBxLo, myBxHi - Extents of domain in blocks in X and Y
151     C myByLo, myByHi that each threads is responsble for.
152     C myProcId - My own "process" id.
153     C myPx - My X coord on the proc. grid.
154     C myPy - My Y coord on the proc. grid.
155     C myXGlobalLo - My bottom-left (south-west) x-index
156     C global domain. The x-coordinate of this
157     C point in for example m or degrees is *not*
158     C specified here. A model needs to provide a
159     C mechanism for deducing that information if it
160     C is needed.
161     C myYGlobalLo - My bottom-left (south-west) y-index in
162     C global domain. The y-coordinate of this
163     C point in for example m or degrees is *not*
164     C specified here. A model needs to provide a
165     C mechanism for deducing that information if it
166     C is needed.
167     C nThreads - No. of threads
168     C nTx - No. of threads in X
169     C nTy - No. of threads in Y
170     C This assumes a simple cartesian
171     C gridding of the threads which is not required elsewhere
172     C but that makes it easier.
173 cnh 1.4 C ioErrorCount - IO Error Counter. Set to zero initially and increased
174     C by one every time an IO error occurs.
175 cnh 1.1 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
176     & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
177     & numberOfProcs, pidIO, myProcId,
178     & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
179     & myBxLo, myBxHi, myByLo, myByHi,
180 cnh 1.4 & nTx, nTy, ioErrorCount
181 cnh 1.1 INTEGER eeDataUnit
182     INTEGER errorMessageUnit
183 cnh 1.4 INTEGER ioErrorCount(MAX_NO_THREADS)
184 cnh 1.1 INTEGER modelDataUnit
185     INTEGER myBxLo(MAX_NO_THREADS)
186     INTEGER myBxHi(MAX_NO_THREADS)
187     INTEGER myByLo(MAX_NO_THREADS)
188     INTEGER myByHi(MAX_NO_THREADS)
189     INTEGER myProcId
190     INTEGER myPx
191     INTEGER myPy
192     INTEGER myXGlobalLo
193     INTEGER myYGlobalLo
194     INTEGER nThreads
195     INTEGER nTx
196     INTEGER nTy
197     INTEGER numberOfProcs
198     INTEGER pidIO
199     INTEGER scrUnit1
200     INTEGER scrUnit2
201     INTEGER standardMessageUnit
202 edhill 1.15
203     CEH3 ;;; Local Variables: ***
204     CEH3 ;;; mode:fortran ***
205     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22