C $Header: /u/gcmpack/MITgcm/pkg/shelfice/shelfice_check.F,v 1.2 2006/02/10 10:00:42 mlosch Exp $
C $Name: $
#include "SHELFICE_OPTIONS.h"
SUBROUTINE SHELFICE_CHECK( myThid )
C /==========================================================\
C | SUBROUTINE SHELFICE_CHECK |
C | o Validate basic package setup and inter-package |
C | dependencies. |
C \==========================================================/
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C === Routine arguments ===
C myThid - Number of this instance of SHELFICE_CHECK
INTEGER myThid
#ifdef ALLOW_SHELFICE
C === Local variables ===
C msgBuf - Informational/error meesage buffer
CHARACTER*(MAX_LEN_MBUF) msgBuf
WRITE(msgBuf,'(A)') 'SHELFICE_CHECK: #define ALLOW_SHELFICE'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
C So far, SHELFICE works only with oceanic z-coordinates
IF ( buoyancyRelation .NE. 'OCEANIC' ) THEN
WRITE(msgBuf,'(A)')
& 'SHELFICE works only with buoyancyRelation = ''OCEANIC'''
CALL PRINT_ERROR( msgBuf , 1)
STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
ENDIF
C SHELFICE doesmay not work with many other packages
#ifdef ALLOW_NONHYDROSTATIC
IF ( nonHydrostatic ) THEN
WRITE(msgBuf,'(A)')
& 'Currently SHELFICE and nonHydrostatic cannot be turned'
CALL PRINT_ERROR( msgBuf , 1)
WRITE(msgBuf,'(A)') 'on at the same time'
CALL PRINT_ERROR( msgBuf , 1)
STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
ENDIF
#endif /* ALLOW_NONHYDROSTATIC */
#ifdef ALLOW_KPP
CMLC SHELFICE may not work with many other packages
CML IF ( useKPP ) THEN
CML WRITE(msgBuf,'(A)')
CML & 'SHELFICE and KPP cannot be turned on at the same time'
CML CALL PRINT_ERROR( msgBuf , 1)
CML STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
CML ENDIF
#endif ALLOW_KPP
#ifndef ALLOW_ISOMIP_TD
IF ( useISOMIPTD ) THEN
WRITE(msgBuf,'(A,A,A)')
& 'Run-time control flag useISOMIPTD was used'
CALL PRINT_ERROR( msgBuf , 1)
WRITE(msgBuf,'(A,A,A)')
& 'when CPP flag ALLOW_ISOMIP_TD was unset'
CALL PRINT_ERROR( msgBuf , 1)
STOP 'ABNORMAL END: S/R SHELFICE_CHECK'
ENDIF
#endif /* ALLOW_ISOMIP_TD */
#endif /* ALLOW_SHELFICE */
return
end