1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
CBOP |
4 |
|
C !ROUTINE: EESUPPORT.h |
5 |
|
C !INTERFACE: |
6 |
|
C include "EESUPPORT.h" |
7 |
C |
C |
8 |
C /==========================================================\ |
C !DESCRIPTION: |
9 |
|
C *==========================================================* |
10 |
C | EESUPPORT.h | |
C | EESUPPORT.h | |
11 |
C |==========================================================| |
C *==========================================================* |
12 |
C | Support data structures for the MITgcm UV "execution | |
C | Support data structures for the MITgcm UV ``execution | |
13 |
C | environment" code. This data should be private to the | |
C | environment'' code. This data should be private to the | |
14 |
C | execution environment routines. Data which needs to be | |
C | execution environment routines. Data which needs to be | |
15 |
C | accessed directly by the numerical model goes in | |
C | accessed directly by a numerical model goes in | |
16 |
C | EEPARAMS.h. | |
C | EEPARAMS.h. | |
17 |
C \==========================================================/ |
C *==========================================================* |
18 |
|
CEOP |
19 |
|
|
20 |
C ERROR_HEADER - String which prefixes error messages |
C ERROR_HEADER - String which prefixes error messages |
21 |
CHARACTER*(*) ERROR_HEADER |
CHARACTER*(*) ERROR_HEADER |
87 |
C the main.F master loop. This should not happen |
C the main.F master loop. This should not happen |
88 |
C if the multi-threading compilation tools works right. |
C if the multi-threading compilation tools works right. |
89 |
C But (see for example KAP) this is not always the case! |
C But (see for example KAP) this is not always the case! |
|
C printMapIncludesZeros - Flag that controls whether character constant map code ignores |
|
|
C exact zero values. |
|
90 |
COMMON /EESUPP_L/ thError, threadIsRunning, threadIsComplete, |
COMMON /EESUPP_L/ thError, threadIsRunning, threadIsComplete, |
91 |
& allMyEdgesAreSharedMemory, usingMPI, usingSyncMessages, |
& allMyEdgesAreSharedMemory, usingMPI, usingSyncMessages, |
92 |
& notUsingXPeriodicity, notUsingYPeriodicity, |
& notUsingXPeriodicity, notUsingYPeriodicity |
|
& printMapIncludesZeros |
|
93 |
LOGICAL thError(MAX_NO_THREADS) |
LOGICAL thError(MAX_NO_THREADS) |
94 |
LOGICAL threadIsRunning(MAX_NO_THREADS) |
LOGICAL threadIsRunning(MAX_NO_THREADS) |
95 |
LOGICAL threadIsComplete(MAX_NO_THREADS) |
LOGICAL threadIsComplete(MAX_NO_THREADS) |
98 |
LOGICAL usingSyncMessages |
LOGICAL usingSyncMessages |
99 |
LOGICAL notUsingXPeriodicity |
LOGICAL notUsingXPeriodicity |
100 |
LOGICAL notUsingYPeriodicity |
LOGICAL notUsingYPeriodicity |
101 |
LOGICAL printMapIncludesZeros |
|
|
|
|
102 |
C-- COMMON /EESUPP_I/ Parallel support integer globals |
C-- COMMON /EESUPP_I/ Parallel support integer globals |
103 |
C pidW - Process ID of neighbor to West |
C pidW - Process ID of neighbor to West |
104 |
C pidE - ditto East |
C pidE - ditto East |
281 |
INTEGER mpiTagN |
INTEGER mpiTagN |
282 |
INTEGER mpiTagS |
INTEGER mpiTagS |
283 |
|
|
284 |
|
C-- COMMON /MPI_FULLMAP_I/ holds integer arrays of the full list of MPI process |
285 |
|
C mpi_myXGlobalLo :: List of all processors bottom-left X-index in global domain |
286 |
|
C mpi_myYGlobalLo :: List of all processors bottom-left Y-index in global domain |
287 |
|
C Note: needed for mpi gather/scatter routines & singleCpuIO. |
288 |
|
COMMON /MPI_FULLMAP_I/ |
289 |
|
& mpi_myXGlobalLo, mpi_myYGlobalLo |
290 |
|
INTEGER mpi_myXGlobalLo(nPx*nPy) |
291 |
|
INTEGER mpi_myYGlobalLo(nPx*nPy) |
292 |
|
|
293 |
C MPI communicator describing this model realization |
C MPI communicator describing this model realization |
294 |
COMMON /MPI_COMMS/ |
COMMON /MPI_COMMS/ |
295 |
& MPI_COMM_MODEL |
& MPI_COMM_MODEL |
296 |
INTEGER MPI_COMM_MODEL |
INTEGER MPI_COMM_MODEL |
297 |
|
|
298 |
#endif /* ALLOW_USE_MPI */ |
#endif /* ALLOW_USE_MPI */ |