212 |
|
|
213 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
214 |
|
|
215 |
C- check parameter consistency : |
C-- Check parameter consistency : |
216 |
|
|
217 |
IF ( ( Olx.LT.3 .OR. Oly.LT.3 ) .AND. |
IF ( ( Olx.LT.3 .OR. Oly.LT.3 ) .AND. |
218 |
& ( viscC4leithD.NE.0. .OR. viscC4leith.NE.0. |
& ( viscC4leithD.NE.0. .OR. viscC4leith.NE.0. |
234 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
235 |
ENDIF |
ENDIF |
236 |
|
|
237 |
C- Deep-Atmosphere & Anelastic limitations: |
C-- Deep-Atmosphere & Anelastic limitations: |
238 |
IF ( deepAtmosphere .AND. |
IF ( deepAtmosphere .AND. |
239 |
& useRealFreshWaterFlux .AND. usingPCoords ) THEN |
& useRealFreshWaterFlux .AND. usingPCoords ) THEN |
240 |
WRITE(msgBuf,'(A,A)') |
WRITE(msgBuf,'(A,A)') |
262 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
263 |
ENDIF |
ENDIF |
264 |
|
|
265 |
|
C-- Free-surface related limitations: |
266 |
IF ( rigidLid .AND. implicitFreeSurface ) THEN |
IF ( rigidLid .AND. implicitFreeSurface ) THEN |
267 |
WRITE(msgBuf,'(A,A)') |
WRITE(msgBuf,'(A,A)') |
268 |
& 'CONFIG_CHECK: Cannot select both implicitFreeSurface', |
& 'CONFIG_CHECK: Cannot select both implicitFreeSurface', |
415 |
ENDIF |
ENDIF |
416 |
#endif /* EXACT_CONSERV */ |
#endif /* EXACT_CONSERV */ |
417 |
|
|
418 |
|
C-- Momentum related limitations: |
419 |
IF ( vectorInvariantMomentum.AND.momStepping ) THEN |
IF ( vectorInvariantMomentum.AND.momStepping ) THEN |
420 |
IF ( highOrderVorticity.AND.upwindVorticity ) THEN |
IF ( highOrderVorticity.AND.upwindVorticity ) THEN |
421 |
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ', |
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ', |
459 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
460 |
ENDIF |
ENDIF |
461 |
|
|
462 |
|
C-- Time-stepping limitations |
463 |
IF ( momForcingOutAB.NE.0 .AND. momForcingOutAB.NE.1 ) THEN |
IF ( momForcingOutAB.NE.0 .AND. momForcingOutAB.NE.1 ) THEN |
464 |
WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: momForcingOutAB=', |
WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: momForcingOutAB=', |
465 |
& momForcingOutAB, ' not allowed' |
& momForcingOutAB, ' not allowed' |
479 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
480 |
ENDIF |
ENDIF |
481 |
|
|
482 |
IF ( useMATRIX .AND. useGCHEM ) THEN |
C-- Grid limitations: |
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
|
|
|
IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: cannot set useMATRIX without ', |
|
|
& 'setting usePTRACERS' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
|
|
483 |
IF ( rotateGrid ) THEN |
IF ( rotateGrid ) THEN |
484 |
IF ( .NOT. usingSphericalPolarGrid ) THEN |
IF ( .NOT. usingSphericalPolarGrid ) THEN |
485 |
WRITE(msgBuf,'(2A)') |
WRITE(msgBuf,'(2A)') |
504 |
#endif /* ALLOW_PROFILES */ |
#endif /* ALLOW_PROFILES */ |
505 |
ENDIF |
ENDIF |
506 |
|
|
507 |
|
C-- Packages conflict |
508 |
|
IF ( useMATRIX .AND. useGCHEM ) THEN |
509 |
|
WRITE(msgBuf,'(2A)') |
510 |
|
& 'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM' |
511 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
512 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
513 |
|
ENDIF |
514 |
|
|
515 |
|
IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN |
516 |
|
WRITE(msgBuf,'(2A)') |
517 |
|
& 'CONFIG_CHECK: cannot set useMATRIX without ', |
518 |
|
& 'setting usePTRACERS' |
519 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
520 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
521 |
|
ENDIF |
522 |
|
|
523 |
WRITE(msgBuf,'(A)') 'CONFIG_CHECK: OK' |
WRITE(msgBuf,'(A)') 'CONFIG_CHECK: OK' |
524 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, |
525 |
& SQUEEZE_RIGHT,myThid) |
& SQUEEZE_RIGHT,myThid) |