C $Header: /u/gcmpack/MITgcm/pkg/bbl/bbl_readparms.F,v 1.4 2017/08/09 15:23:39 mlosch Exp $ C $Name: $ #include "BBL_OPTIONS.h" C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| CBOP 0 C !ROUTINE: BBL_READPARMS C !INTERFACE: SUBROUTINE BBL_READPARMS( myThid ) C !DESCRIPTION: C Initialize BBL variables and constants. C !USES: IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "BBL.h" C !INPUT PARAMETERS: INTEGER myThid CEOP #ifdef ALLOW_BBL C !LOCAL VARIABLES: C msgBuf :: Informational/error message buffer C iUnit :: Work variable for IO unit number CHARACTER*(MAX_LEN_MBUF) msgBuf INTEGER iUnit NAMELIST //BBL_PARM01 & bbl_wvel, bbl_hvel, bbl_initEta, & bbl_thetaFile, bbl_saltFile, bbl_etaFile C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| IF ( .NOT.useBBL ) THEN C- pkg BBL is not used _BEGIN_MASTER(myThid) C- Track pkg activation status: C print a (weak) warning if data.bbl is found CALL PACKAGES_UNUSED_MSG( 'useBBL', ' ', ' ' ) _END_MASTER(myThid) RETURN ENDIF _BEGIN_MASTER(myThid) C-- Default values for BBL bbl_wvel = 1. _d -5 bbl_hvel = 1. _d 0 bbl_initEta = 20. _d 0 C- file names for initial conditions: bbl_thetaFile = ' ' bbl_saltFile = ' ' bbl_etaFile = ' ' WRITE(msgBuf,'(A)') 'BBL_READPARMS: opening data.bbl' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) CALL OPEN_COPY_DATA_FILE( I 'data.bbl', 'BBL_READPARMS', O iUnit, I myThid ) C Read parameters from open data file READ(UNIT=iUnit,NML=BBL_PARM01) WRITE(msgBuf,'(A)') & 'BBL_READPARMS: finished reading data.bbl' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C Close the open data file #ifdef SINGLE_DISK_IO CLOSE(iUnit) #else CLOSE(iUnit,STATUS='DELETE') #endif /* SINGLE_DISK_IO */ _END_MASTER(myThid) C-- Everyone else must wait for the parameters to be loaded _BARRIER #endif /* ALLOW_BBL */ RETURN END