Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Configuring HEC-HMS adapter

HEC-RAS HMS model adapter follows standard way of integrating external models into the Delft-FEWS system by use of General of General Adapter. For more details about configuration of General Adapter please check 05 General Adapter Module.

A very important part of the configuration is defined under the <exportRunFileActivity> element. It contains path to the HMS project file, location of the HMS binary files and list of variables to be written into the output files.

Example configuration of the HEC-HMS adapter:

Code Block
xml
xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by ICT (Stichting Deltares) -->
<generalAdapterRun xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/generalAdapterRun.xsd">
	<general>
		<rootDir>%REGION_HOME%/Modules/hechms</rootDir>
		<workDir>%ROOT_DIR%/bin</workDir>
		<exportDir>%ROOT_DIR%/UpperBlueNile/piInputTimeSeries</exportDir>
		<exportIdMap>IdExportHECHMS</exportIdMap>
		<importDir>%ROOT_DIR%/UpperBlueNile/piOutputTimeSeries</importDir>
		<importIdMap>IdImportHECHMS</importIdMap>
		<dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
		<dumpDir>%ROOT_DIR%/UpperBlueNile</dumpDir>
		<diagnosticFile>%ROOT_DIR%/UpperBlueNile/piDiagnostic.xml</diagnosticFile>
		<missVal>-901.0</missVal>
		<convertDatum>true</convertDatum>
	</general>
	<activities>
		<startUpActivities>
			<purgeActivity>
				<filter>%ROOT_DIR%/UpperBlueNile/piInputTimeSeries/*.*</filter>
			</purgeActivity>
			<purgeActivity>
				<filter>%ROOT_DIR%/UpperBlueNile/piOutputTimeSeries/*.*</filter>
			</purgeActivity>
			<purgeActivity>
				<filter>%ROOT_DIR%/UpperBlueNile/*.ds*</filter>
			</purgeActivity>
		</startUpActivities>
		<exportActivities>
			<!-- Export state (warm state)-->
			<exportStateActivity>
				<moduleInstanceId>UpperBlueNile_HEC-HMS_historical</moduleInstanceId>
				<stateExportDir>%ROOT_DIR%/UpperBlueNile/basinStates</stateExportDir>
				<stateConfigFile>%ROOT_DIR%/UpperBlueNile/State.xml</stateConfigFile>
				<stateLocations type="file">
					<stateLocation>
						<readLocation>UpperBlueNile_hist_state.state</readLocation>
						<writeLocation>UpperBlueNile_hist_state.state</writeLocation>
					</stateLocation>
				</stateLocations>
				<stateSelection>
					<warmState>
						<stateSearchPeriod unit="hour" start="-240" end="-1"/>
					</warmState>
				</stateSelection>
			</exportStateActivity>
			<!-- Export time series -->
			<exportTimeSeriesActivity>
				<description>Export rainfall as input for HecHms model</description>
				<exportFile>FEWS2DSS.xml</exportFile>
				<timeSeriesSets>
					<timeSeriesSet>
						<moduleInstanceId>Catchments_Aggregate_Precipitation_Historical</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>P.merged</parameterId>
						<locationId>UpperBlueNile</locationId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep times="21:00"/>
						<relativeViewPeriod unit="day" startOverrulable="true" end="0"/>
						<readWriteMode>read only</readWriteMode>
					</timeSeriesSet>
				</timeSeriesSets>
				<checkMissing>true</checkMissing>
			</exportTimeSeriesActivity>
		</exportActivities>
		<executeActivities>
			<executeActivity>
				<command>
					<className>nl.wldelft.fews.adapter.hec.HmsPreAdapter</className>
					<binDir>%ROOT_DIR%/binAdapter</binDir>
				</command>
				<arguments>
					<argument>%ROOT_DIR%/work/RunInfo.xml</argument>
				</arguments>
				<timeOut>120000</timeOut>
			</executeActivity>
			<executeActivity>
				<command>
					<executable>%WORK_DIR%/HEC-HMS.cmd</executable>
				</command>
				<arguments>
					<argument>-s</argument>
					<argument>%ROOT_DIR%/UpperBlueNile/UpperBlueNile.script </argument>
				</arguments>
				<timeOut>120000</timeOut>
			</executeActivity>
			<executeActivity>
				<command>
					<className>nl.wldelft.fews.adapter.hec.HmsPostAdapter</className>
					<binDir>%ROOT_DIR%/binAdapter</binDir>
				</command>
				<arguments>
					<argument>%ROOT_DIR%/work/RunInfo.xml</argument>
				</arguments>
				<timeOut>120000</timeOut>
			</executeActivity>
		</executeActivities>
		<importActivities>
			<!-- Import state -->
			<importStateActivity>
				<stateConfigFile>%ROOT_DIR%/UpperBlueNile/piOutputState.xml</stateConfigFile>
			</importStateActivity>
			<!-- Import HMS results-->
			<importTimeSeriesActivity>
				<description>Import XML file</description>
				<importFile>simulation.xml</importFile>
				<timeSeriesSets>
					<timeSeriesSet>
						<moduleInstanceId>UpperBlueNile_HEC-HMS_historical</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>Q.simulated.historical</parameterId>
						<locationId>900012</locationId>
						<timeSeriesType>simulated historical</timeSeriesType>
						<timeStep times="21:00"/>
						<readWriteMode>add originals</readWriteMode>
					</timeSeriesSet>
				</timeSeriesSets>
			</importTimeSeriesActivity>
		</importActivities>
	</activities>
</generalAdapterRun>

The hecras files (.basin, .contol, .gage, .hms, .pdata, .run, .script, .met, .dss etc.)are saved in the /Config/ModuleDataSet directory. These are copied to the /Model/hecras/<model> directory during the exportDataSet activity in the General Adapter file.