--- MITgcm/eesupp/inc/EEPARAMS.h 1998/04/26 23:41:54 1.3 +++ MITgcm/eesupp/inc/EEPARAMS.h 2001/05/29 14:01:35 1.9 @@ -1,4 +1,5 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/EEPARAMS.h,v 1.3 1998/04/26 23:41:54 cnh Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/EEPARAMS.h,v 1.9 2001/05/29 14:01:35 adcroft Exp $ +C $Name: $ C C /==========================================================\ C | EEPARAMS.h | @@ -56,6 +57,23 @@ & 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. + INTEGER EXCH_IGNORE_CORNERS + INTEGER EXCH_UPDATE_CORNERS + PARAMETER ( EXCH_IGNORE_CORNERS = 0, + & EXCH_UPDATE_CORNERS = 1 ) + +C FORWARD_SIMULATION +C REVERSE_SIMULATION + INTEGER FORWARD_SIMULATION + INTEGER REVERSE_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 @@ -69,18 +87,20 @@ 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 ( lShare1 = 8 * 32 ) - PARAMETER ( lShare4 = 2 * 32 ) - PARAMETER ( lShare8 = 1 * 32 ) + 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 = 16 ) + PARAMETER ( MAX_NO_THREADS = 32 ) INTEGER MAX_NO_PROCS PARAMETER ( MAX_NO_PROCS = 128 ) INTEGER MAX_NO_BARRIERS @@ -91,10 +111,12 @@ 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 + COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError, + & useCubedSphereExchange LOGICAL eeBootError LOGICAL eeEndError LOGICAL fatalError + LOGICAL useCubedSphereExchange C-- COMMON /EPARAMS_I/ Execution environment public integer variables. C errorMessageUnit - Fortran IO unit for error messages @@ -128,14 +150,17 @@ C This assumes a simple cartesian C gridding of the threads which is not required elsewhere 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 + & nTx, nTy, ioErrorCount INTEGER eeDataUnit INTEGER errorMessageUnit + INTEGER ioErrorCount(MAX_NO_THREADS) INTEGER modelDataUnit INTEGER myBxLo(MAX_NO_THREADS) INTEGER myBxHi(MAX_NO_THREADS)