/[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.21 - (hide annotations) (download)
Wed Jan 11 06:02:31 2006 UTC (18 years, 5 months ago) by edhill
Branch: MAIN
Changes since 1.20: +4 -2 lines
File MIME type: text/plain
o add "--embed-source" option to genmake2 which, when the supporting
  tools can be compiled (as determined by genmake2) will turn on the
  embed_files package which then embeds the entire MITgcm source code
  (*.[fFhc] + Makefile) used for the build within the executable
  - requested by CNH but off by default
  - adds a paltry <9MB to the mitgcmuv executable in most cases
  - only writes the output when useEMBEDSRC in eedata is true

1 edhill 1.21 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.20 2005/12/03 08:30:32 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.21 & useCubedSphereExchange, useCoupler, useSETRLSTK, useSIGREG,
134     & useEMBEDSRC
135 cnh 1.1 LOGICAL eeBootError
136     LOGICAL eeEndError
137     LOGICAL fatalError
138 adcroft 1.9 LOGICAL useCubedSphereExchange
139 jmc 1.13 LOGICAL useCoupler
140 edhill 1.17 LOGICAL useSETRLSTK
141 edhill 1.20 LOGICAL useSIGREG
142 edhill 1.21 LOGICAL useEMBEDSRC
143 cnh 1.1
144     C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
145     C errorMessageUnit - Fortran IO unit for error messages
146     C standardMessageUnit - Fortran IO unit for informational messages
147     C scrUnit1 - Scratch file 1 unit number
148     C scrUnit2 - Scratch file 2 unit number
149     C eeDataUnit - Unit number used for reading "execution environment" parameter file.
150     C modelDataUnit - Unit number for reading "model" parameter file.
151     C numberOfProcs - Number of processes computing in parallel
152     C pidIO - Id of process to use for I/O.
153     C myBxLo, myBxHi - Extents of domain in blocks in X and Y
154     C myByLo, myByHi that each threads is responsble for.
155     C myProcId - My own "process" id.
156     C myPx - My X coord on the proc. grid.
157     C myPy - My Y coord on the proc. grid.
158     C myXGlobalLo - My bottom-left (south-west) x-index
159     C global domain. The x-coordinate of this
160     C point in for example m or degrees is *not*
161     C specified here. A model needs to provide a
162     C mechanism for deducing that information if it
163     C is needed.
164     C myYGlobalLo - My bottom-left (south-west) y-index in
165     C global domain. The y-coordinate of this
166     C point in for example m or degrees is *not*
167     C specified here. A model needs to provide a
168     C mechanism for deducing that information if it
169     C is needed.
170     C nThreads - No. of threads
171     C nTx - No. of threads in X
172     C nTy - No. of threads in Y
173     C This assumes a simple cartesian
174     C gridding of the threads which is not required elsewhere
175     C but that makes it easier.
176 cnh 1.4 C ioErrorCount - IO Error Counter. Set to zero initially and increased
177     C by one every time an IO error occurs.
178 cnh 1.1 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
179     & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
180     & numberOfProcs, pidIO, myProcId,
181     & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
182     & myBxLo, myBxHi, myByLo, myByHi,
183 cnh 1.4 & nTx, nTy, ioErrorCount
184 cnh 1.1 INTEGER eeDataUnit
185     INTEGER errorMessageUnit
186 cnh 1.4 INTEGER ioErrorCount(MAX_NO_THREADS)
187 cnh 1.1 INTEGER modelDataUnit
188     INTEGER myBxLo(MAX_NO_THREADS)
189     INTEGER myBxHi(MAX_NO_THREADS)
190     INTEGER myByLo(MAX_NO_THREADS)
191     INTEGER myByHi(MAX_NO_THREADS)
192     INTEGER myProcId
193     INTEGER myPx
194     INTEGER myPy
195     INTEGER myXGlobalLo
196     INTEGER myYGlobalLo
197     INTEGER nThreads
198     INTEGER nTx
199     INTEGER nTy
200     INTEGER numberOfProcs
201     INTEGER pidIO
202     INTEGER scrUnit1
203     INTEGER scrUnit2
204     INTEGER standardMessageUnit
205 edhill 1.15
206     CEH3 ;;; Local Variables: ***
207     CEH3 ;;; mode:fortran ***
208     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22