--- MITgcm/eesupp/inc/EEPARAMS.h 2001/02/04 14:38:41 1.8 +++ MITgcm/eesupp/inc/EEPARAMS.h 2013/04/25 06:12:09 1.32 @@ -1,17 +1,26 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/EEPARAMS.h,v 1.8 2001/02/04 14:38:41 cnh Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/EEPARAMS.h,v 1.32 2013/04/25 06:12:09 dimitri Exp $ C $Name: $ +CBOP +C !ROUTINE: EEPARAMS.h +C !INTERFACE: +C include "EEPARAMS.h" C -C /==========================================================\ +C !DESCRIPTION: +C *==========================================================* C | EEPARAMS.h | -C |==========================================================| +C *==========================================================* C | Parameters for "execution environemnt". These are used | -C | by both the particular numerical model and the "execution| -C | environment" support routines. | -C \==========================================================/ - -C MAX_LEN_MBUF - Default message buffer max. size -C MAX_LEN_FNAM - Default file name max. size -C MAX_LEN_PREC - Default record length for reading "parameter" files +C | by both the particular numerical model and the execution | +C | environment support routines. | +C *==========================================================* +CEOP + +C ======== EESIZE.h ======================================== + +C MAX_LEN_MBUF - Default message buffer max. size +C MAX_LEN_FNAM - Default file name max. size +C MAX_LEN_PREC - Default rec len for reading "parameter" files + INTEGER MAX_LEN_MBUF PARAMETER ( MAX_LEN_MBUF = 512 ) INTEGER MAX_LEN_FNAM @@ -19,6 +28,80 @@ INTEGER MAX_LEN_PREC PARAMETER ( MAX_LEN_PREC = 200 ) +C MAX_NO_THREADS - Maximum number of threads allowed. +C MAX_NO_PROCS - Maximum number of processes allowed. +C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers" + INTEGER MAX_NO_THREADS + PARAMETER ( MAX_NO_THREADS = 4 ) + INTEGER MAX_NO_PROCS + PARAMETER ( MAX_NO_PROCS = 8192 ) + INTEGER MAX_NO_BARRIERS + PARAMETER ( MAX_NO_BARRIERS = 1 ) + +C Particularly weird and obscure voodoo numbers +C lShare - This wants to be the length in +C [148]-byte words of the size of +C the address "window" that is snooped +C on an SMP bus. By separating elements in +C the global sum buffer we can avoid generating +C extraneous invalidate traffic between +C processors. The length of this window is usually +C a cache line i.e. small O(64 bytes). +C The buffer arrays are usually short arrays +C and are declared REAL ARRA(lShare[148],LBUFF). +C Setting lShare[148] to 1 is like making these arrays +C one dimensional. + INTEGER cacheLineSize + INTEGER lShare1 + INTEGER lShare4 + INTEGER lShare8 + PARAMETER ( cacheLineSize = 256 ) + PARAMETER ( lShare1 = cacheLineSize ) + PARAMETER ( lShare4 = cacheLineSize/4 ) + PARAMETER ( lShare8 = cacheLineSize/8 ) + + INTEGER MAX_VGS + PARAMETER ( MAX_VGS = 8192 ) + +C ======== EESIZE.h ======================================== + +C Symbolic values +C precXXXX :: precision used for I/O + INTEGER precFloat32 + PARAMETER ( precFloat32 = 32 ) + INTEGER precFloat64 + PARAMETER ( precFloat64 = 64 ) + +C Real-type constant for some frequently used simple number (0,1,2,1/2): + _RS zeroRS, oneRS, twoRS, halfRS + PARAMETER ( zeroRS = 0.0 _d 0 , oneRS = 1.0 _d 0 ) + PARAMETER ( twoRS = 2.0 _d 0 , halfRS = 0.5 _d 0 ) + _RL zeroRL, oneRL, twoRL, halfRL + PARAMETER ( zeroRL = 0.0 _d 0 , oneRL = 1.0 _d 0 ) + PARAMETER ( twoRL = 2.0 _d 0 , halfRL = 0.5 _d 0 ) + +C UNSET_xxx :: Used to indicate variables that have not been given a value + Real*8 UNSET_FLOAT8 + PARAMETER ( UNSET_FLOAT8 = 1.234567D5 ) + Real*4 UNSET_FLOAT4 + PARAMETER ( UNSET_FLOAT4 = 1.234567E5 ) + _RL UNSET_RL + PARAMETER ( UNSET_RL = 1.234567D5 ) + _RS UNSET_RS + PARAMETER ( UNSET_RS = 1.234567D5 ) + INTEGER UNSET_I + PARAMETER ( UNSET_I = 123456789 ) + +C debLevX :: used to decide when to print debug messages + INTEGER debLevZero + INTEGER debLevA, debLevB, debLevC, debLevD, debLevE + PARAMETER ( debLevZero=0 ) + PARAMETER ( debLevA=1 ) + PARAMETER ( debLevB=2 ) + PARAMETER ( debLevC=3 ) + PARAMETER ( debLevD=4 ) + PARAMETER ( debLevE=5 ) + C SQUEEZE_RIGHT - Flag indicating right blank space removal C from text field. C SQUEEZE_LEFT - Flag indicating left blank space removal @@ -28,8 +111,8 @@ C PRINT_MAP_XY - Flag indicating to plot map as XY slices C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices -C commentCharacter - Variable used in column 1 of parameter files to -C indicate comments. +C commentCharacter - Variable used in column 1 of parameter +C files to indicate comments. C INDEX_I - Variable used to select an index label C INDEX_J for formatted input parameters. C INDEX_K @@ -50,14 +133,13 @@ PARAMETER ( commentCharacter = '#' ) INTEGER INDEX_I INTEGER INDEX_J - INTEGER INDEX_K + INTEGER INDEX_K INTEGER INDEX_NONE PARAMETER ( INDEX_I = 1, & INDEX_J = 2, & INDEX_K = 3, & INDEX_NONE = 4 ) - C EXCH_IGNORE_CORNERS - Flag to select ignoring or C EXCH_UPDATE_CORNERS updating of corners during C an edge exchange. @@ -68,60 +150,57 @@ C FORWARD_SIMULATION C REVERSE_SIMULATION +C TANGENT_SIMULATION INTEGER FORWARD_SIMULATION INTEGER REVERSE_SIMULATION + INTEGER TANGENT_SIMULATION PARAMETER ( FORWARD_SIMULATION = 0, - & REVERSE_SIMULATION = 1 ) - - -C Particularly weird and obscure voodoo numbers -C lShare - This wants to be the length in -C [148]-byte words of the size of -C the address "window" that is snooped -C on an SMP bus. By separating elements in -C the global sum buffer we can avoid generating -C extraneous invalidate traffic between -C processors. The length of this window is usually -C a cache line i.e. small O(64 bytes). -C The buffer arrays are usually short arrays -C and are declared REAL ARRA(lShare[148],LBUFF). -C Setting lShare[148] to 1 is like making these arrays -C one dimensional. - INTEGER cacheLineSize - INTEGER lShare1 - INTEGER lShare4 - INTEGER lShare8 - PARAMETER ( cacheLineSize = 256 ) - PARAMETER ( lShare1 = cacheLineSize ) - PARAMETER ( lShare4 = cacheLineSize/4 ) - PARAMETER ( lShare8 = cacheLineSize/8 ) - -C MAX_NO_THREADS - Maximum number of threads allowed. -C MAX_NO_PROCS - Maximum number of processes allowed. -C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers" - INTEGER MAX_NO_THREADS - PARAMETER ( MAX_NO_THREADS = 32 ) - INTEGER MAX_NO_PROCS - PARAMETER ( MAX_NO_PROCS = 128 ) - INTEGER MAX_NO_BARRIERS - PARAMETER ( MAX_NO_BARRIERS = 1 ) + & REVERSE_SIMULATION = 1, + & TANGENT_SIMULATION = 2 ) C-- COMMON /EEPARAMS_L/ Execution environment public logical variables. -C eeBootError - Flag indicating error during multi-processing -C eeEndError initialisation/termination. -C fatalError - Flag used to indicate that the model is ended with -C an error - COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError +C eeBootError :: Flags indicating error during multi-processing +C eeEndError :: initialisation and termination. +C fatalError :: Flag used to indicate that the model is ended with an error +C debugMode :: controls printing of debug msg (sequence of S/R calls). +C useSingleCpuIO :: When useSingleCpuIO is set, MDS_WRITE_FIELD outputs from +C master MPI process only. -- NOTE: read from main parameter +C file "data" and not set until call to INI_PARMS. +C printMapIncludesZeros :: Flag that controls whether character constant +C map code ignores exact zero values. +C useCubedSphereExchange :: use Cubed-Sphere topology domain. +C useCoupler :: use Coupler for a multi-components set-up. +C useNEST_PARENT :: use Parent Nesting interface (pkg/nest_parent) +C useNEST_CHILD :: use Child Nesting interface (pkg/nest_child) +C useOASIS :: use OASIS-coupler for a multi-components set-up. + COMMON /EEPARAMS_L/ +c & eeBootError, fatalError, eeEndError, + & eeBootError, eeEndError, fatalError, debugMode, + & useSingleCpuIO, printMapIncludesZeros, + & useCubedSphereExchange, useCoupler, + & useNEST_PARENT, useNEST_CHILD, useOASIS, + & useSETRLSTK, useSIGREG LOGICAL eeBootError LOGICAL eeEndError LOGICAL fatalError + LOGICAL debugMode + LOGICAL useSingleCpuIO + LOGICAL printMapIncludesZeros + LOGICAL useCubedSphereExchange + LOGICAL useCoupler + LOGICAL useNEST_PARENT + LOGICAL useNEST_CHILD + LOGICAL useOASIS + LOGICAL useSETRLSTK + LOGICAL useSIGREG C-- COMMON /EPARAMS_I/ Execution environment public integer variables. C errorMessageUnit - Fortran IO unit for error messages C standardMessageUnit - Fortran IO unit for informational messages +C maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array C scrUnit1 - Scratch file 1 unit number C scrUnit2 - Scratch file 2 unit number -C eeDataUnit - Unit number used for reading "execution environment" parameter file. +C eeDataUnit - Unit # for reading "execution environment" parameter file. C modelDataUnit - Unit number for reading "model" parameter file. C numberOfProcs - Number of processes computing in parallel C pidIO - Id of process to use for I/O. @@ -150,16 +229,21 @@ C but that makes it easier. C ioErrorCount - IO Error Counter. Set to zero initially and increased C by one every time an IO error occurs. - COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit, - & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit, - & numberOfProcs, pidIO, myProcId, - & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads, - & myBxLo, myBxHi, myByLo, myByHi, - & nTx, nTy, ioErrorCount - INTEGER eeDataUnit + COMMON /EEPARAMS_I/ + & errorMessageUnit, standardMessageUnit, maxLengthPrt1D, + & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit, + & numberOfProcs, pidIO, myProcId, + & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads, + & myBxLo, myBxHi, myByLo, myByHi, + & nTx, nTy, ioErrorCount INTEGER errorMessageUnit - INTEGER ioErrorCount(MAX_NO_THREADS) + INTEGER standardMessageUnit + INTEGER maxLengthPrt1D + INTEGER scrUnit1 + INTEGER scrUnit2 + INTEGER eeDataUnit INTEGER modelDataUnit + INTEGER ioErrorCount(MAX_NO_THREADS) INTEGER myBxLo(MAX_NO_THREADS) INTEGER myBxHi(MAX_NO_THREADS) INTEGER myByLo(MAX_NO_THREADS) @@ -174,6 +258,7 @@ INTEGER nTy INTEGER numberOfProcs INTEGER pidIO - INTEGER scrUnit1 - INTEGER scrUnit2 - INTEGER standardMessageUnit + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: ***