C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/rpa_layers/modsrc/packages_boot.F,v 1.1 2009/09/15 19:46:38 rpa Exp $ C $Name: $ #include "PACKAGES_CONFIG.h" #include "CPP_OPTIONS.h" CBOP C !ROUTINE: PACKAGES_BOOT C !INTERFACE: SUBROUTINE PACKAGES_BOOT( myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE PACKAGES_BOOT C | o Routine to parse runtime package selection file C *==========================================================* C | Routine reads a flat file which contains a single flag C | for each known "package". Flag can enables runtime C | activation or deactivation of a package. The data is read C | from a file called data.pkg. C | Note - If a runtime activation flag is set on but the C | package code was not included in the build then C | the default behavior is to stop with an error. C *==========================================================* C \ev C !USES: IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" C !INPUT/OUTPUT PARAMETERS: C === Routine arguments === C myThid - Number of this instances INTEGER myThid C !LOCAL VARIABLES: C === Local variables === C msgBuf - Informational/error meesage buffer C iUnit - Work variable for IO unit number CHARACTER*(MAX_LEN_MBUF) msgBuf INTEGER iUnit C data.pkg namelists NAMELIST /PACKAGES/ & useOBCS, & useSHAP_FILT, & useZONAL_FILT, & useOPPS, & usePP81, & useMY82, & useGGL90, & useKPP, & useGMRedi, & useDOWN_SLOPE, c & useCAL, & useEXF, & useBulkForce, & useEBM, & useCheapAML, & useGrdchk, & useECCO, & useSBO, & useFLT, & usePTRACERS, & useGCHEM, & useRBCS, & useOffLine, & useMATRIX, & useSEAICE, & useSALT_PLUME, & useShelfIce, & useThSIce, & useATM2D, & useAIM, & useLand, & useFizhi, & useGridAlt, & useDiagnostics, & useREGRID, & useMNC, & useRunClock, & useEMBED_FILES, & useMYPACKAGE, C added by RPA & useLayers CEOP _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') ' PACKAGES_BOOT: opening data.pkg' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , myThid ) CALL OPEN_COPY_DATA_FILE( I 'data.pkg', 'PACKAGES_BOOT', O iUnit, I myThid ) C-- Default package configuration c useGAD =.FALSE. useOBCS =.FALSE. useSHAP_FILT =.FALSE. useZONAL_FILT =.FALSE. useOPPS =.FALSE. usePP81 =.FALSE. useMY82 =.FALSE. useGGL90 =.FALSE. useKPP =.FALSE. useGMRedi =.FALSE. useDOWN_SLOPE =.FALSE. useCAL =.FALSE. useEXF =.FALSE. useBulkForce =.FALSE. useEBM =.FALSE. useCheapAML =.FALSE. useGrdchk =.FALSE. useECCO =.FALSE. useSBO =.FALSE. useFLT =.FALSE. usePTRACERS =.FALSE. useGCHEM =.FALSE. useRBCS =.FALSE. useOffLine =.FALSE. useMATRIX =.FALSE. useSEAICE =.FALSE. useSALT_PLUME =.FALSE. useShelfIce =.FALSE. useThSIce =.FALSE. useATM2D =.FALSE. useAIM =.FALSE. useLand =.FALSE. useFizhi =.FALSE. useGridAlt =.FALSE. useDiagnostics =.FALSE. useREGRID =.FALSE. useMNC =.FALSE. useRunClock =.FALSE. useMYPACKAGE =.FALSE. C added by RPA useLayers =.FALSE. C-- Read parameters from open data file READ(UNIT=iUnit,NML=PACKAGES) WRITE(msgBuf,'(A)') ' PACKAGES_BOOT: finished reading data.pkg' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT , myThid ) C-- Close the open data file CLOSE(iUnit) C-- packages with hard-coded switch #ifdef ALLOW_CAL IF (useEXF) useCAL = .TRUE. #endif #ifdef ALLOW_PROFILES useCAL = .TRUE. #endif C-- packages with an implied switch useGAD = tempStepping .OR. saltStepping .OR. usePTRACERS _END_MASTER(myThid) C-- Everyone else must wait for the parameters to be loaded _BARRIER RETURN END