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 |
|
|
18 |
C MAX_LEN_MBUF - Default message buffer max. size |
C MAX_LEN_MBUF - Default message buffer max. size |
19 |
C MAX_LEN_FNAM - Default file name max. size |
C MAX_LEN_FNAM - Default file name max. size |
63 |
& INDEX_K = 3, |
& INDEX_K = 3, |
64 |
& INDEX_NONE = 4 ) |
& 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 |
C Particularly weird and obscure voodoo numbers |
87 |
C lShare - This wants to be the length in |
C lShare - This wants to be the length in |
88 |
C [148]-byte words of the size of |
C [148]-byte words of the size of |
96 |
C and are declared REAL ARRA(lShare[148],LBUFF). |
C and are declared REAL ARRA(lShare[148],LBUFF). |
97 |
C Setting lShare[148] to 1 is like making these arrays |
C Setting lShare[148] to 1 is like making these arrays |
98 |
C one dimensional. |
C one dimensional. |
99 |
|
INTEGER cacheLineSize |
100 |
INTEGER lShare1 |
INTEGER lShare1 |
101 |
INTEGER lShare4 |
INTEGER lShare4 |
102 |
INTEGER lShare8 |
INTEGER lShare8 |
103 |
PARAMETER ( lShare1 = 8 * 32 ) |
PARAMETER ( cacheLineSize = 256 ) |
104 |
PARAMETER ( lShare4 = 2 * 32 ) |
PARAMETER ( lShare1 = cacheLineSize ) |
105 |
PARAMETER ( lShare8 = 1 * 32 ) |
PARAMETER ( lShare4 = cacheLineSize/4 ) |
106 |
|
PARAMETER ( lShare8 = cacheLineSize/8 ) |
107 |
|
|
108 |
C MAX_NO_THREADS - Maximum number of threads allowed. |
C MAX_NO_THREADS - Maximum number of threads allowed. |
109 |
C MAX_NO_PROCS - Maximum number of processes allowed. |
C MAX_NO_PROCS - Maximum number of processes allowed. |
110 |
C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers" |
C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers" |
111 |
INTEGER MAX_NO_THREADS |
INTEGER MAX_NO_THREADS |
112 |
PARAMETER ( MAX_NO_THREADS = 16 ) |
PARAMETER ( MAX_NO_THREADS = 32 ) |
113 |
INTEGER MAX_NO_PROCS |
INTEGER MAX_NO_PROCS |
114 |
PARAMETER ( MAX_NO_PROCS = 128 ) |
PARAMETER ( MAX_NO_PROCS = 128 ) |
115 |
INTEGER MAX_NO_BARRIERS |
INTEGER MAX_NO_BARRIERS |
120 |
C eeEndError initialisation/termination. |
C eeEndError initialisation/termination. |
121 |
C fatalError - Flag used to indicate that the model is ended with |
C fatalError - Flag used to indicate that the model is ended with |
122 |
C an error |
C an error |
123 |
COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError |
COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError, |
124 |
|
& useCubedSphereExchange |
125 |
LOGICAL eeBootError |
LOGICAL eeBootError |
126 |
LOGICAL eeEndError |
LOGICAL eeEndError |
127 |
LOGICAL fatalError |
LOGICAL fatalError |
128 |
|
LOGICAL useCubedSphereExchange |
129 |
|
|
130 |
C-- COMMON /EPARAMS_I/ Execution environment public integer variables. |
C-- COMMON /EPARAMS_I/ Execution environment public integer variables. |
131 |
C errorMessageUnit - Fortran IO unit for error messages |
C errorMessageUnit - Fortran IO unit for error messages |
159 |
C This assumes a simple cartesian |
C This assumes a simple cartesian |
160 |
C gridding of the threads which is not required elsewhere |
C gridding of the threads which is not required elsewhere |
161 |
C but that makes it easier. |
C but that makes it easier. |
162 |
|
C ioErrorCount - IO Error Counter. Set to zero initially and increased |
163 |
|
C by one every time an IO error occurs. |
164 |
COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit, |
COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit, |
165 |
& scrUnit1, scrUnit2, eeDataUnit, modelDataUnit, |
& scrUnit1, scrUnit2, eeDataUnit, modelDataUnit, |
166 |
& numberOfProcs, pidIO, myProcId, |
& numberOfProcs, pidIO, myProcId, |
167 |
& myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads, |
& myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads, |
168 |
& myBxLo, myBxHi, myByLo, myByHi, |
& myBxLo, myBxHi, myByLo, myByHi, |
169 |
& nTx, nTy |
& nTx, nTy, ioErrorCount |
170 |
INTEGER eeDataUnit |
INTEGER eeDataUnit |
171 |
INTEGER errorMessageUnit |
INTEGER errorMessageUnit |
172 |
|
INTEGER ioErrorCount(MAX_NO_THREADS) |
173 |
INTEGER modelDataUnit |
INTEGER modelDataUnit |
174 |
INTEGER myBxLo(MAX_NO_THREADS) |
INTEGER myBxLo(MAX_NO_THREADS) |
175 |
INTEGER myBxHi(MAX_NO_THREADS) |
INTEGER myBxHi(MAX_NO_THREADS) |