28 |
C === Local variables === |
C === Local variables === |
29 |
C msgBuf - Informational/error meesage buffer |
C msgBuf - Informational/error meesage buffer |
30 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
31 |
|
INTEGER minOlSize |
32 |
|
|
33 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
34 |
|
|
118 |
WRITE(msgBuf,'(A)') '// ===================================' |
WRITE(msgBuf,'(A)') '// ===================================' |
119 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1) |
120 |
|
|
121 |
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
122 |
|
|
123 |
|
C-- Check size of the overlap : |
124 |
|
IF ( useCubedSphereExchange .AND. useMultiDimAdvec ) THEN |
125 |
|
C- multi-dim-advection on CS-grid requires to double the size of Olx,Oly |
126 |
|
minOlSize = 2 |
127 |
|
IF ( tempMultiDimAdvec ) THEN |
128 |
|
IF ( tempAdvScheme.EQ.ENUM_FLUX_LIMIT .OR. |
129 |
|
& tempAdvScheme.EQ.ENUM_DST3_FLUX_LIMIT .OR. |
130 |
|
& tempAdvScheme.EQ.ENUM_DST3 ) minOlSize = 4 |
131 |
|
ENDIF |
132 |
|
IF ( saltMultiDimAdvec ) THEN |
133 |
|
IF ( saltAdvScheme.EQ.ENUM_FLUX_LIMIT .OR. |
134 |
|
& saltAdvScheme.EQ.ENUM_DST3_FLUX_LIMIT .OR. |
135 |
|
& saltAdvScheme.EQ.ENUM_DST3 ) minOlSize = 4 |
136 |
|
ENDIF |
137 |
|
IF ( Olx.LT.minOlSize .OR. Oly.LT.minOlSize ) THEN |
138 |
|
WRITE(msgBuf,'(A)') |
139 |
|
& 'GAD_INIT: Multi-Dim Advection with 5-points stencil' |
140 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
141 |
|
WRITE(msgBuf,'(A,I2)') |
142 |
|
& 'GAD_INIT: advection scheme needs at least Olx,Oly=', |
143 |
|
& minOlSize |
144 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
145 |
|
STOP 'ABNORMAL END: S/R GAD_INIT' |
146 |
|
ENDIF |
147 |
|
ENDIF |
148 |
|
|
149 |
_END_MASTER(myThid) |
_END_MASTER(myThid) |
150 |
_BARRIER |
_BARRIER |
151 |
|
|