C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/gchem/gchem_readparms.F,v 1.8 2005/08/18 18:23:02 stephd Exp $ C $Name: checkpoint58g_post $ #include "GCHEM_OPTIONS.h" CBOP C !ROUTINE: GCHEM_READPARMS C !INTERFACE: ========================================================== SUBROUTINE GCHEM_READPARMS( myThid ) C !DESCRIPTION: C Initialize GCHEM parameters, read in data.gchem C !USES: =============================================================== IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "GCHEM.h" C !INPUT PARAMETERS: =================================================== C myThid :: thread number INTEGER myThid C !OUTPUT PARAMETERS: ================================================== C none #ifdef ALLOW_GCHEM C !LOCAL VARIABLES: ==================================================== C tIter0 :: retired parameter C iTracer :: loop indices C iUnit :: unit number for I/O C msgBuf :: message buffer INTEGER tIter0, UNSET_I INTEGER iTracer INTEGER iUnit CHARACTER*(MAX_LEN_MBUF) msgBuf PARAMETER ( UNSET_I = 123456789 ) CEOP NAMELIST /GCHEM_PARM01/ & tIter0, & WindFile, & IceFile, & AtmospFile, & IronFile, & SilicaFile, & Filename1, & Filename2, & Filename3, & Filename4, & Filename5, & nsubtime C Set defaults values for parameters in GCHEM.h tIter0 = UNSET_I nsubtime=1 windFile=' ' atmospFile=' ' IceFile=' ' IronFile=' ' SilicaFile=' ' Filename1=' ' Filename2=' ' Filename3=' ' Filename4=' ' Filename5=' ' C Open and read the data.gchem file _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') ' GCHEM_READPARMS: opening data.gchem' CALL PRINT_MESSAGE(msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) CALL OPEN_COPY_DATA_FILE( I 'data.gchem', 'GCHEM_PARM01', O iUnit, I myThid ) READ(UNIT=iUnit,NML=GCHEM_PARM01) WRITE(msgBuf,'(A)') & ' GCHEM_READPARMS: finished reading data.gchem' CALL PRINT_MESSAGE(msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , 1) C Close the open data file CLOSE(iUnit) C- Check for retired parameters: IF ( tIter0 .NE. UNSET_I ) THEN c nRetired = nRetired+1 WRITE(msgBuf,'(A,A)') & 'S/R GCHEM_READPARMS: Paramater "tIter0" is', & ' no longer allowed in file "data.gchem"' CALL PRINT_ERROR( msgBuf , myThid) WRITE(msgBuf,'(A,A)') & 'S/R GCHEM_READPARMS: "tIter0" has been moved to', & ' PTRACERS_Iter0 in file "data.ptracers".' CALL PRINT_ERROR( msgBuf , myThid) STOP 'ABNORMAL END: S/R GCHEM_READPARMS' ENDIF _END_MASTER(myThid) C Everyone else must wait for the parameters to be loaded _BARRIER #endif /* ALLOW_GCHEM */ RETURN END