C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/obcs/obcs_check.F,v 1.6 2004/09/24 12:32:09 mlosch Exp $ C $Name: $ #include "OBCS_OPTIONS.h" SUBROUTINE OBCS_CHECK( myThid ) C /==========================================================\ C | SUBROUTINE OBCS_CHECK | C | o Check dependances with other packages | C |==========================================================| C \==========================================================/ IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "OBCS.h" C === Routine arguments === C myThid - Number of this instances INTEGER myThid #ifdef ALLOW_OBCS C === Local variables === C msgBuf - Informational/error meesage buffer CHARACTER*(MAX_LEN_MBUF) msgBuf WRITE(msgBuf,'(A)') 'OBCS_CHECK: #define ALLOW_OBCS' CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, & SQUEEZE_RIGHT,myThid) #ifdef ALLOW_ORLANSKI WRITE(msgBuf,'(A)') 'OBCS_CHECK: #define ALLOW_ORLANSKI' CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, & SQUEEZE_RIGHT,myThid) #else IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR. & useOrlanskiEast.OR.useOrlanskiWest) THEN WRITE(msgBuf,'(A)') & 'OBCS_CHECK: ERROR: #undef OBCS_RADIATE_ORLANSKI and' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'OBCS_CHECK: ERROR: one of useOrlanski* logicals is true' CALL PRINT_ERROR( msgBuf , 1) STOP 'ABNORMAL END: S/R OBCS_CHECK' ENDIF #endif /* ALLOW_ORLANSKI */ IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR. & useOrlanskiEast.OR.useOrlanskiWest) THEN IF (nonlinFreeSurf.GT.0) THEN WRITE(msgBuf,'(A)') & 'OBCS_CHECK: ERROR: useOrlanski* Rad OBC with' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'OBCS_CHECK: ERROR: nonlinFreeSurf not yet implemented' CALL PRINT_ERROR( msgBuf , 1) STOP 'ABNORMAL END: S/R OBCS_CHECK' ENDIF ENDIF #ifndef ALLOW_OBCS_PRESCRIBE IF (useOBCSprescribe) THEN WRITE(msgBuf,'(A)') & 'OBCS_CHECK: ERROR: useOBCSprescribe = .TRUE. for' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'OBCS_CHECK: undef ALLOW_OBCS_PRESCRIBE' STOP 'ABNORMAL END: S/R OBCS_CHECK' ENDIF #endif WRITE(msgBuf,'(A)') 'OBCS_CHECK: OK' CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, & SQUEEZE_RIGHT,myThid) #endif /* ALLOW_OBCS */ return end