C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/sannino/OASIS_3.0_Coupler/pkg/oasis_readparms.F,v 1.2 2006/07/20 21:35:41 sannino Exp $ C $Name: $ #include "OASIS_OPTIONS.h" C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| CBOP 0 C !ROUTINE: OASIS_READPARMS C !INTERFACE: SUBROUTINE OASIS_READPARMS( myThid ) C !DESCRIPTION: C Routine to read in file data.oasis C !USES: USE mod_kinds_model c USE mod_prism_proto c USE mod_prism_def_partition_proto c USE mod_prism_put_proto c USE mod_prism_get_proto c USE mod_prism_grids_writing IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "GRID.h" #include "OASIS_PARAMS.h" #include "OASIS.h" C !INPUT PARAMETERS: INTEGER myThid CEOP C !LOCAL VARIABLES: #ifdef ALLOW_OASIS C msgBuf - Informational/error meesage buffer C errIO - IO error flag C iUnit - Work variable for IO unit number CHARACTER*(MAX_LEN_MBUF) msgBuf INTEGER errIO, iUnit C-- OASIS coupler parameters NAMELIST /OASIS_PARM01/ & il_nbcplproc _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') ' OASIS_INIT: opening data.oasis' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) CALL OPEN_COPY_DATA_FILE( I 'data.oasis', 'OASIS_INIT', O iUnit, I myThid ) C-- set default OASIS coupler parameters il_nbcplproc = 1 C----------------------------------------------------------------------- C-- Read settings from model parameter file "data.oasis". READ(UNIT=iUnit,NML=OASIS_PARM01,IOSTAT=errIO) IF ( errIO .LT. 0 ) THEN WRITE(msgBuf,'(A)') & 'S/R INI_PARMS' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'Error reading numerical model ' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'parameter file "data.oasis"' CALL PRINT_ERROR( msgBuf , 1) WRITE(msgBuf,'(A)') & 'Problem in namelist OASIS_PARM01' CALL PRINT_ERROR( msgBuf , 1) C CALL MODELDATA_EXAMPLE( myThid ) STOP 'ABNORMAL END: S/R OASIS_READPARAM' ENDIF CLOSE(iUnit) WRITE(msgBuf,'(A)') ' OASIS_INIT: finished reading data.oasis' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) _END_MASTER(myThid) C-- Everyone else must wait for the parameters to be loaded _BARRIER #endif /* ALLOW_OASIS */ return end