C $Header: /u/gcmpack/MITgcm/pkg/salt_plume/salt_plume_check.F,v 1.6 2014/05/21 10:46:03 heimbach Exp $ C $Name: $ #include "SALT_PLUME_OPTIONS.h" CBOP 0 C !ROUTINE: SALT_PLUME_CHECK C !INTERFACE: SUBROUTINE SALT_PLUME_CHECK( myThid ) C !DESCRIPTION: C Check dependances with other packages C !USES: IMPLICIT NONE #include "EEPARAMS.h" #include "SIZE.h" #include "SALT_PLUME.h" C !INPUT PARAMETERS: C myThid :: my Thread Id number INTEGER myThid CEOP #ifdef ALLOW_SALT_PLUME C !LOCAL VARIABLES: C msgBuf - Informational/error meesage buffer CHARACTER*(MAX_LEN_MBUF) msgBuf _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') 'SALT_PLUME_CHECK: #define SALT_PLUME' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , myThid ) #ifdef SALT_PLUME_SPLIT_BASIN IF ( (SPsalFRAC(1) .LT. 0. _d 0).OR. & (SPsalFRAC(1) .GT. 1. _d 0) ) then WRITE(msgBuf,'(2A)') 'SALT_PLUME_CHECK:', & ' SPsalFRAC(1) needs to lie between 0. and 1.' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R SALT_PLUME_CHECK' ENDIF IF ( (SPsalFRAC(2) .LT. 0. _d 0).OR. & (SPsalFRAC(2) .GT. 1. _d 0) ) then WRITE(msgBuf,'(2A)') 'SALT_PLUME_CHECK:', & ' SPsalFRAC(2) needs to lie between 0. and 1.' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R SALT_PLUME_CHECK' ENDIF #else IF ( (SPsalFRAC .LT. 0. _d 0).OR.(SPsalFRAC .GT. 1. _d 0) ) then WRITE(msgBuf,'(2A)') 'SALT_PLUME_CHECK:', & ' SPsalFRAC needs to lie between 0. and 1.' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R SALT_PLUME_CHECK' ENDIF #endif #ifdef SALT_PLUME_IN_LEADS IF ( (SPinflectionPoint .LT. 0. _d 0).OR. & (SPinflectionPoint .GT. 1. _d 0) ) then WRITE(msgBuf,'(2A)') 'SALT_PLUME_CHECK:', & ' SPinflectionPoint needs to lie between 0. and 1.' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R SALT_PLUME_CHECK' ENDIF #endif #ifdef SALT_PLUME_VOLUME IF ( (SPbrineSconst .LT. 0. _d 0).OR. & (SPbrineSconst .GT. SPbrineSaltmax) ) then WRITE(msgBuf,'(2A,F6.1,A)') 'SALT_PLUME_CHECK:', & ' SPbrineSconst valid range: [0.,',SPbrineSaltmax,']' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R SALT_PLUME_CHECK' ENDIF #endif _END_MASTER(myThid) #endif /* ALLOW_SALT_PLUME */ RETURN END