Back to home page

MITgcm

 
 

    


File indexing completed on 2021-11-06 05:18:33 UTC

view on githubraw file Latest commit 016b84c4 on 2021-11-02 20:24:44 UTC
893df04db0 Mart*0001 #include "OPPS_OPTIONS.h"
                0002 
                0003       SUBROUTINE OPPS_CHECK( myThid )
016b84c482 Mart*0004 C     *==========================================================*
                0005 C     | SUBROUTINE OPPS_CHECK                                    |
893df04db0 Mart*0006 C     | o Validate basic package setup and inter-package         |
016b84c482 Mart*0007 C     |   dependencies.                                          |
                0008 C     *==========================================================*
893df04db0 Mart*0009       IMPLICIT NONE
                0010 
                0011 C     === Global variables ===
                0012 #include "SIZE.h"
                0013 #include "EEPARAMS.h"
                0014 #include "PARAMS.h"
                0015 
                0016 C     === Routine arguments ===
016b84c482 Mart*0017 C     myThid  :: my Thread Id number
893df04db0 Mart*0018       INTEGER myThid
                0019 
                0020 #ifdef ALLOW_OPPS
                0021 C     === Local variables ===
016b84c482 Mart*0022 C     msgBuf  :: Informational/error message buffer
893df04db0 Mart*0023       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0024 
016b84c482 Mart*0025       _BEGIN_MASTER(myThid)
                0026 
893df04db0 Mart*0027       WRITE(msgBuf,'(A)') 'OPPS_CHECK: #define ALLOW_OPPS'
                0028       CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
016b84c482 Mart*0029      &                    SQUEEZE_RIGHT, myThid )
893df04db0 Mart*0030 
c03c7c94fb Mart*0031 C     So far, OPPS works only with oceanic z-coordinates
                0032       IF ( buoyancyRelation .NE. 'OCEANIC' ) THEN
                0033          WRITE(msgBuf,'(A)')
                0034      &      'OPPS works only with buoyancyRelation = ''OCEANIC'''
016b84c482 Mart*0035          CALL PRINT_ERROR( msgBuf, myThid )
c03c7c94fb Mart*0036          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0037       ENDIF
                0038 
893df04db0 Mart*0039 C     OPPS needs convection turned off (will be packaged later)
016b84c482 Mart*0040       IF ( cAdjFreq.NE.0. .OR.
893df04db0 Mart*0041      &     ivdc_kappa.NE.0. ) THEN
                0042          WRITE(msgBuf,'(A)') 'Some form of convection has been enabled'
016b84c482 Mart*0043          CALL PRINT_ERROR( msgBuf, myThid )
893df04db0 Mart*0044          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0045       ENDIF
                0046 
                0047       IF ( useKPP ) THEN
                0048          WRITE(msgBuf,'(A)')
                0049      &      'OPPS and KPP cannot be turned on at the same time'
016b84c482 Mart*0050          CALL PRINT_ERROR( msgBuf, myThid )
893df04db0 Mart*0051          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0052       ENDIF
                0053 
                0054       IF ( usePP81 ) THEN
016b84c482 Mart*0055          WRITE(msgBuf,'(A)')
893df04db0 Mart*0056      &      'OPPS and PP81 cannot be turned on at the same time'
016b84c482 Mart*0057          CALL PRINT_ERROR( msgBuf, myThid )
893df04db0 Mart*0058          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0059       ENDIF
                0060 
                0061       IF ( useMY82 ) THEN
016b84c482 Mart*0062          WRITE(msgBuf,'(A)')
893df04db0 Mart*0063      &      'OPPS and MY82 cannot be turned on at the same time'
016b84c482 Mart*0064          CALL PRINT_ERROR( msgBuf, myThid )
893df04db0 Mart*0065          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0066       ENDIF
                0067 
                0068       IF ( useGGL90 ) THEN
016b84c482 Mart*0069          WRITE(msgBuf,'(A)')
893df04db0 Mart*0070      &      'OPPS and GGL90 cannot be turned on at the same time'
                0071          CALL PRINT_ERROR( msgBuf , 1)
                0072          STOP 'ABNORMAL END: S/R OPPS_CHECK'
                0073       ENDIF
                0074 
016b84c482 Mart*0075       _END_MASTER(myThid)
893df04db0 Mart*0076 #endif /* ALLOW_OPPS */
                0077 
016b84c482 Mart*0078       RETURN
                0079       END