| 1 |
C $Header: /u/gcmpack/MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code_v2/EEPARAMS.h,v 1.1 2005/09/23 20:52:00 edhill 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 |
#include "EESIZE.h" |
| 19 |
|
| 20 |
C SQUEEZE_RIGHT - Flag indicating right blank space removal |
| 21 |
C from text field. |
| 22 |
C SQUEEZE_LEFT - Flag indicating left blank space removal |
| 23 |
C from text field. |
| 24 |
C SQUEEZE_BOTH - Flag indicating left and right blank |
| 25 |
C space removal from text field. |
| 26 |
C PRINT_MAP_XY - Flag indicating to plot map as XY slices |
| 27 |
C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices |
| 28 |
C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices |
| 29 |
C commentCharacter - Variable used in column 1 of parameter |
| 30 |
C files to indicate comments. |
| 31 |
C INDEX_I - Variable used to select an index label |
| 32 |
C INDEX_J for formatted input parameters. |
| 33 |
C INDEX_K |
| 34 |
C INDEX_NONE |
| 35 |
CHARACTER*(*) SQUEEZE_RIGHT |
| 36 |
PARAMETER ( SQUEEZE_RIGHT = 'R' ) |
| 37 |
CHARACTER*(*) SQUEEZE_LEFT |
| 38 |
PARAMETER ( SQUEEZE_LEFT = 'L' ) |
| 39 |
CHARACTER*(*) SQUEEZE_BOTH |
| 40 |
PARAMETER ( SQUEEZE_BOTH = 'B' ) |
| 41 |
CHARACTER*(*) PRINT_MAP_XY |
| 42 |
PARAMETER ( PRINT_MAP_XY = 'XY' ) |
| 43 |
CHARACTER*(*) PRINT_MAP_XZ |
| 44 |
PARAMETER ( PRINT_MAP_XZ = 'XZ' ) |
| 45 |
CHARACTER*(*) PRINT_MAP_YZ |
| 46 |
PARAMETER ( PRINT_MAP_YZ = 'YZ' ) |
| 47 |
CHARACTER*(*) commentCharacter |
| 48 |
PARAMETER ( commentCharacter = '#' ) |
| 49 |
INTEGER INDEX_I |
| 50 |
INTEGER INDEX_J |
| 51 |
INTEGER INDEX_K |
| 52 |
INTEGER INDEX_NONE |
| 53 |
PARAMETER ( INDEX_I = 1, |
| 54 |
& INDEX_J = 2, |
| 55 |
& INDEX_K = 3, |
| 56 |
& INDEX_NONE = 4 ) |
| 57 |
|
| 58 |
C EXCH_IGNORE_CORNERS - Flag to select ignoring or |
| 59 |
C EXCH_UPDATE_CORNERS updating of corners during |
| 60 |
C an edge exchange. |
| 61 |
INTEGER EXCH_IGNORE_CORNERS |
| 62 |
INTEGER EXCH_UPDATE_CORNERS |
| 63 |
PARAMETER ( EXCH_IGNORE_CORNERS = 0, |
| 64 |
& EXCH_UPDATE_CORNERS = 1 ) |
| 65 |
|
| 66 |
C FORWARD_SIMULATION |
| 67 |
C REVERSE_SIMULATION |
| 68 |
C TANGENT_SIMULATION |
| 69 |
INTEGER FORWARD_SIMULATION |
| 70 |
INTEGER REVERSE_SIMULATION |
| 71 |
INTEGER TANGENT_SIMULATION |
| 72 |
PARAMETER ( FORWARD_SIMULATION = 0, |
| 73 |
& REVERSE_SIMULATION = 1, |
| 74 |
& TANGENT_SIMULATION = 2 ) |
| 75 |
|
| 76 |
C-- COMMON /EEPARAMS_L/ Execution environment public logical variables. |
| 77 |
C eeBootError - Flag indicating error during multi-processing |
| 78 |
C eeEndError initialisation/termination. |
| 79 |
C fatalError - Flag used to indicate that the model is ended with |
| 80 |
C an error |
| 81 |
C useCoupler - use Coupler for a multi-components set-up |
| 82 |
COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError, |
| 83 |
& useCubedSphereExchange, useCoupler, useSETRLSTK |
| 84 |
LOGICAL eeBootError |
| 85 |
LOGICAL eeEndError |
| 86 |
LOGICAL fatalError |
| 87 |
LOGICAL useCubedSphereExchange |
| 88 |
LOGICAL useCoupler |
| 89 |
LOGICAL useSETRLSTK |
| 90 |
|
| 91 |
C-- COMMON /EPARAMS_I/ Execution environment public integer variables. |
| 92 |
C errorMessageUnit - Fortran IO unit for error messages |
| 93 |
C standardMessageUnit - Fortran IO unit for informational messages |
| 94 |
C scrUnit1 - Scratch file 1 unit number |
| 95 |
C scrUnit2 - Scratch file 2 unit number |
| 96 |
C eeDataUnit - Unit number used for reading "execution environment" parameter file. |
| 97 |
C modelDataUnit - Unit number for reading "model" parameter file. |
| 98 |
C numberOfProcs - Number of processes computing in parallel |
| 99 |
C pidIO - Id of process to use for I/O. |
| 100 |
C myBxLo, myBxHi - Extents of domain in blocks in X and Y |
| 101 |
C myByLo, myByHi that each threads is responsble for. |
| 102 |
C myProcId - My own "process" id. |
| 103 |
C myPx - My X coord on the proc. grid. |
| 104 |
C myPy - My Y coord on the proc. grid. |
| 105 |
C myXGlobalLo - My bottom-left (south-west) x-index |
| 106 |
C global domain. The x-coordinate of this |
| 107 |
C point in for example m or degrees is *not* |
| 108 |
C specified here. A model needs to provide a |
| 109 |
C mechanism for deducing that information if it |
| 110 |
C is needed. |
| 111 |
C myYGlobalLo - My bottom-left (south-west) y-index in |
| 112 |
C global domain. The y-coordinate of this |
| 113 |
C point in for example m or degrees is *not* |
| 114 |
C specified here. A model needs to provide a |
| 115 |
C mechanism for deducing that information if it |
| 116 |
C is needed. |
| 117 |
C nThreads - No. of threads |
| 118 |
C nTx - No. of threads in X |
| 119 |
C nTy - No. of threads in Y |
| 120 |
C This assumes a simple cartesian |
| 121 |
C gridding of the threads which is not required elsewhere |
| 122 |
C but that makes it easier. |
| 123 |
C ioErrorCount - IO Error Counter. Set to zero initially and increased |
| 124 |
C by one every time an IO error occurs. |
| 125 |
COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit, |
| 126 |
& scrUnit1, scrUnit2, eeDataUnit, modelDataUnit, |
| 127 |
& numberOfProcs, pidIO, myProcId, |
| 128 |
& myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads, |
| 129 |
& myBxLo, myBxHi, myByLo, myByHi, |
| 130 |
& nTx, nTy, ioErrorCount |
| 131 |
INTEGER eeDataUnit |
| 132 |
INTEGER errorMessageUnit |
| 133 |
INTEGER ioErrorCount(MAX_NO_THREADS) |
| 134 |
INTEGER modelDataUnit |
| 135 |
INTEGER myBxLo(MAX_NO_THREADS) |
| 136 |
INTEGER myBxHi(MAX_NO_THREADS) |
| 137 |
INTEGER myByLo(MAX_NO_THREADS) |
| 138 |
INTEGER myByHi(MAX_NO_THREADS) |
| 139 |
INTEGER myProcId |
| 140 |
INTEGER myPx |
| 141 |
INTEGER myPy |
| 142 |
INTEGER myXGlobalLo |
| 143 |
INTEGER myYGlobalLo |
| 144 |
INTEGER nThreads |
| 145 |
INTEGER nTx |
| 146 |
INTEGER nTy |
| 147 |
INTEGER numberOfProcs |
| 148 |
INTEGER pidIO |
| 149 |
INTEGER scrUnit1 |
| 150 |
INTEGER scrUnit2 |
| 151 |
INTEGER standardMessageUnit |
| 152 |
|
| 153 |
CEH3 ;;; Local Variables: *** |
| 154 |
CEH3 ;;; mode:fortran *** |
| 155 |
CEH3 ;;; End: *** |