/[MITgcm]/MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code/EEPARAMS.h
ViewVC logotype

Annotation of /MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code/EEPARAMS.h

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


Revision 1.1 - (hide annotations) (download)
Sun Aug 28 18:18:09 2005 UTC (19 years, 11 months ago) by edhill
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
 o initial check-in of an example to test some new exch2 bits

1 edhill 1.1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.16 2004/12/15 08:29:56 dimitri Exp $
2     C $Name: $
3     CBOP
4     C !ROUTINE: EEPARAMS.h
5     C !INTERFACE:
6     C include "EEPARAMS.h"
7     C
8     C !DESCRIPTION:
9     C *==========================================================*
10     C | EEPARAMS.h |
11     C *==========================================================*
12     C | Parameters for "execution environemnt". These are used |
13     C | by both the particular numerical model and the execution |
14     C | environment support routines. |
15     C *==========================================================*
16     CEOP
17    
18     C MAX_LEN_MBUF - Default message buffer max. size
19     C MAX_LEN_FNAM - Default file name max. size
20     C MAX_LEN_PREC - Default record length for reading "parameter" files
21     INTEGER MAX_LEN_MBUF
22     PARAMETER ( MAX_LEN_MBUF = 512 )
23     INTEGER MAX_LEN_FNAM
24     PARAMETER ( MAX_LEN_FNAM = 512 )
25     INTEGER MAX_LEN_PREC
26     PARAMETER ( MAX_LEN_PREC = 200 )
27    
28     C SQUEEZE_RIGHT - Flag indicating right blank space removal
29     C from text field.
30     C SQUEEZE_LEFT - Flag indicating left blank space removal
31     C from text field.
32     C SQUEEZE_BOTH - Flag indicating left and right blank
33     C space removal from text field.
34     C PRINT_MAP_XY - Flag indicating to plot map as XY slices
35     C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices
36     C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
37     C commentCharacter - Variable used in column 1 of parameter files to
38     C indicate comments.
39     C INDEX_I - Variable used to select an index label
40     C INDEX_J for formatted input parameters.
41     C INDEX_K
42     C INDEX_NONE
43     CHARACTER*(*) SQUEEZE_RIGHT
44     PARAMETER ( SQUEEZE_RIGHT = 'R' )
45     CHARACTER*(*) SQUEEZE_LEFT
46     PARAMETER ( SQUEEZE_LEFT = 'L' )
47     CHARACTER*(*) SQUEEZE_BOTH
48     PARAMETER ( SQUEEZE_BOTH = 'B' )
49     CHARACTER*(*) PRINT_MAP_XY
50     PARAMETER ( PRINT_MAP_XY = 'XY' )
51     CHARACTER*(*) PRINT_MAP_XZ
52     PARAMETER ( PRINT_MAP_XZ = 'XZ' )
53     CHARACTER*(*) PRINT_MAP_YZ
54     PARAMETER ( PRINT_MAP_YZ = 'YZ' )
55     CHARACTER*(*) commentCharacter
56     PARAMETER ( commentCharacter = '#' )
57     INTEGER INDEX_I
58     INTEGER INDEX_J
59     INTEGER INDEX_K
60     INTEGER INDEX_NONE
61     PARAMETER ( INDEX_I = 1,
62     & INDEX_J = 2,
63     & INDEX_K = 3,
64     & INDEX_NONE = 4 )
65    
66    
67     C EXCH_IGNORE_CORNERS - Flag to select ignoring or
68     C EXCH_UPDATE_CORNERS updating of corners during
69     C an edge exchange.
70     INTEGER EXCH_IGNORE_CORNERS
71     INTEGER EXCH_UPDATE_CORNERS
72     PARAMETER ( EXCH_IGNORE_CORNERS = 0,
73     & EXCH_UPDATE_CORNERS = 1 )
74    
75     C FORWARD_SIMULATION
76     C REVERSE_SIMULATION
77     C TANGENT_SIMULATION
78     INTEGER FORWARD_SIMULATION
79     INTEGER REVERSE_SIMULATION
80     INTEGER TANGENT_SIMULATION
81     PARAMETER ( FORWARD_SIMULATION = 0,
82     & REVERSE_SIMULATION = 1,
83     & TANGENT_SIMULATION = 2 )
84    
85    
86     C Particularly weird and obscure voodoo numbers
87     C lShare - This wants to be the length in
88     C [148]-byte words of the size of
89     C the address "window" that is snooped
90     C on an SMP bus. By separating elements in
91     C the global sum buffer we can avoid generating
92     C extraneous invalidate traffic between
93     C processors. The length of this window is usually
94     C a cache line i.e. small O(64 bytes).
95     C The buffer arrays are usually short arrays
96     C and are declared REAL ARRA(lShare[148],LBUFF).
97     C Setting lShare[148] to 1 is like making these arrays
98     C one dimensional.
99     INTEGER cacheLineSize
100     INTEGER lShare1
101     INTEGER lShare4
102     INTEGER lShare8
103     PARAMETER ( cacheLineSize = 256 )
104     PARAMETER ( lShare1 = cacheLineSize )
105     PARAMETER ( lShare4 = cacheLineSize/4 )
106     PARAMETER ( lShare8 = cacheLineSize/8 )
107    
108     C MAX_NO_THREADS - Maximum number of threads allowed.
109     C MAX_NO_PROCS - Maximum number of processes allowed.
110     C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"
111     INTEGER MAX_NO_THREADS
112     PARAMETER ( MAX_NO_THREADS = 32 )
113     INTEGER MAX_NO_PROCS
114     PARAMETER ( MAX_NO_PROCS = 2048 )
115     INTEGER MAX_NO_BARRIERS
116     PARAMETER ( MAX_NO_BARRIERS = 1 )
117    
118     C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
119     C eeBootError - Flag indicating error during multi-processing
120     C eeEndError initialisation/termination.
121     C fatalError - Flag used to indicate that the model is ended with
122     C an error
123     C useCoupler - use Coupler for a multi-components set-up
124     COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
125     & useCubedSphereExchange, useCoupler, useAsciiW2Reader
126     LOGICAL eeBootError
127     LOGICAL eeEndError
128     LOGICAL fatalError
129     LOGICAL useCubedSphereExchange
130     LOGICAL useCoupler
131     LOGICAL useAsciiW2Reader
132    
133     C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
134     C errorMessageUnit - Fortran IO unit for error messages
135     C standardMessageUnit - Fortran IO unit for informational messages
136     C scrUnit1 - Scratch file 1 unit number
137     C scrUnit2 - Scratch file 2 unit number
138     C eeDataUnit - Unit number used for reading "execution environment" parameter file.
139     C modelDataUnit - Unit number for reading "model" parameter file.
140     C numberOfProcs - Number of processes computing in parallel
141     C pidIO - Id of process to use for I/O.
142     C myBxLo, myBxHi - Extents of domain in blocks in X and Y
143     C myByLo, myByHi that each threads is responsble for.
144     C myProcId - My own "process" id.
145     C myPx - My X coord on the proc. grid.
146     C myPy - My Y coord on the proc. grid.
147     C myXGlobalLo - My bottom-left (south-west) x-index
148     C global domain. The x-coordinate of this
149     C point in for example m or degrees is *not*
150     C specified here. A model needs to provide a
151     C mechanism for deducing that information if it
152     C is needed.
153     C myYGlobalLo - My bottom-left (south-west) y-index in
154     C global domain. The y-coordinate of this
155     C point in for example m or degrees is *not*
156     C specified here. A model needs to provide a
157     C mechanism for deducing that information if it
158     C is needed.
159     C nThreads - No. of threads
160     C nTx - No. of threads in X
161     C nTy - No. of threads in Y
162     C This assumes a simple cartesian
163     C gridding of the threads which is not required elsewhere
164     C but that makes it easier.
165     C ioErrorCount - IO Error Counter. Set to zero initially and increased
166     C by one every time an IO error occurs.
167     COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
168     & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
169     & numberOfProcs, pidIO, myProcId,
170     & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
171     & myBxLo, myBxHi, myByLo, myByHi,
172     & nTx, nTy, ioErrorCount
173     INTEGER eeDataUnit
174     INTEGER errorMessageUnit
175     INTEGER ioErrorCount(MAX_NO_THREADS)
176     INTEGER modelDataUnit
177     INTEGER myBxLo(MAX_NO_THREADS)
178     INTEGER myBxHi(MAX_NO_THREADS)
179     INTEGER myByLo(MAX_NO_THREADS)
180     INTEGER myByHi(MAX_NO_THREADS)
181     INTEGER myProcId
182     INTEGER myPx
183     INTEGER myPy
184     INTEGER myXGlobalLo
185     INTEGER myYGlobalLo
186     INTEGER nThreads
187     INTEGER nTx
188     INTEGER nTy
189     INTEGER numberOfProcs
190     INTEGER pidIO
191     INTEGER scrUnit1
192     INTEGER scrUnit2
193     INTEGER standardMessageUnit
194    
195     CEH3 ;;; Local Variables: ***
196     CEH3 ;;; mode:fortran ***
197     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22