Versions Compared

Key

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

...

  1. The file-type you want to import should be readable by one of the imports available in Delft-Fews
  2. You must configure an instance of this import module
  3. You must add the moduleInstance to an workflow (usually tne the ImportExternal Workflow)
  4. In case the locationId's and parameterId's in your Delft-Fews configuration are not identical to those in the files you need to import a IdMap file should be set up and referred to in the import module
  5. You will probably need to adjust one or more locationsets, the filters.xml file and the DisplayGroups.xml file if you need to display or process the newly imported data types.
    Info

    Please note that Delft-Fews DELETES all files after importing them. As such, you should ALWAYS copy files from another directory to the location from which Delft-Fews imports files. If you do not do this you might loose you files.

...

The first step is to configure an instance of the import module for the type of data you need to import. In this example we will import data in PI XML format for 4 locations. The file we want to import is shown below:

No Format
<?xml version="1.0" encoding="UTF-8"?>
<TimeSeries xmlns="http://www.wldelft.nl/fews/PI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wldelft.nl/fews/PI
http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_timeseries.xsd"
version="1.2">
	<series>
		<header>
			<type>instantaneous</type>
			<locationId>locA</locationId>
			<parameterId>WaterLevel</parameterId>
			<timeStep unit="second" multiplier="3600"/>
			<startDate date="2006-08-23" time="17:00:00"/>
			<endDate date="2006-08-24" time="00:00:00"/>
			<missVal>-8888.0</missVal>
			<longName>locA</longName>
			<units>m</units>
		</header>
		<event date="2006-08-23" time="17:00:00" value="8.66"/>
		<event date="2006-08-23" time="18:00:00" value="9.66"/>
		<event date="2006-08-23" time="19:00:00" value="8.66"/>
		<event date="2006-08-23" time="20:00:00" value="-8888.0"/>
		<event date="2006-08-23" time="21:00:00" value="3"/>
		<event date="2006-08-23" time="22:00:00" value="3"/>
		<event date="2006-08-23" time="23:00:00" value="3"/>
		<event date="2006-08-24" time="00:00:00" value="-8888.0"/>
	</series>
	<series>
		<header>
			<type>instantaneous</type>
			<locationId>locB</locationId>
			<parameterId>WaterLevel</parameterId>
			<timeStep unit="second" multiplier="3600"/>
			<startDate date="2006-08-23" time="13:00:00"/>
			<endDate date="2006-08-24" time="00:00:00"/>
			<missVal>-999.0</missVal>
			<longName>locB</longName>
			<units>m</units>
		</header>
		<event date="2006-08-23" time="13:00:00" value="0.63"/>
		<event date="2006-08-23" time="14:00:00" value="0.61"/>
		<event date="2006-08-23" time="15:00:00" value="0.59"/>
		<event date="2006-08-23" time="16:00:00" value="0.59"/>
		<event date="2006-08-23" time="17:00:00" value="0.59"/>
		<event date="2006-08-23" time="18:00:00" value="0.59"/>
		<event date="2006-08-23" time="19:00:00" value="0.60"/>
		<event date="2006-08-23" time="20:00:00" value="0.57"/>
		<event date="2006-08-23" time="21:00:00" value="0.59"/>
		<event date="2006-08-23" time="22:00:00" value="0.59"/>
		<event date="2006-08-23" time="23:00:00" value="-999.0"/>
		<event date="2006-08-24" time="00:00:00" value="-999.0"/>
	</series>
	<series>
		<header>
			<type>instantaneous</type>
			<locationId>LocC</locationId>
			<parameterId>WaterLevel</parameterId>
			<timeStep unit="second" multiplier="3600"/>
			<startDate date="2006-08-23" time="13:00:00"/>
			<endDate date="2006-08-24" time="00:00:00"/>
			<missVal>-999.0</missVal>
			<longName>LocC</longName>
			<units>m</units>
		</header>
		<event date="2006-08-23" time="13:00:00" value="-1.42"/>
		<event date="2006-08-23" time="14:00:00" value="-1.42"/>
		<event date="2006-08-23" time="15:00:00" value="-1.44"/>
		<event date="2006-08-23" time="16:00:00" value="-1.46"/>
		<event date="2006-08-23" time="17:00:00" value="-1.46"/>
		<event date="2006-08-23" time="18:00:00" value="-1.46"/>
		<event date="2006-08-23" time="19:00:00" value="-1.48"/>
		<event date="2006-08-23" time="20:00:00" value="-1.48"/>
		<event date="2006-08-23" time="21:00:00" value="-1.48"/>
		<event date="2006-08-23" time="22:00:00" value="-1.49"/>
		<event date="2006-08-23" time="23:00:00" value="-999.0"/>
		<event date="2006-08-24" time="00:00:00" value="-999.0"/>
	</series>
	<series>
		<header>
			<type>instantaneous</type>
			<locationId>LocD</locationId>
			<parameterId>WaterLevel</parameterId>
			<timeStep unit="second" multiplier="3600"/>
			<startDate date="2006-08-23" time="13:00:00"/>
			<endDate date="2006-08-24" time="00:00:00"/>
			<missVal>-999.0</missVal>
			<longName>LocD</longName>
			<units>m</units>
		</header>
		<event date="2006-08-23" time="13:00:00" value="-1.42"/>
		<event date="2006-08-23" time="14:00:00" value="-1.42"/>
		<event date="2006-08-23" time="15:00:00" value="-1.44"/>
		<event date="2006-08-23" time="16:00:00" value="-1.46"/>
		<event date="2006-08-23" time="17:00:00" value="-1.46"/>
		<event date="2006-08-23" time="18:00:00" value="-1.46"/>
		<event date="2006-08-23" time="19:00:00" value="-1.48"/>
		<event date="2006-08-23" time="20:00:00" value="-1.48"/>
		<event date="2006-08-23" time="21:00:00" value="-1.48"/>
		<event date="2006-08-23" time="22:00:00" value="-1.49"/>
		<event date="2006-08-23" time="23:00:00" value="-999.0"/>
		<event date="2006-08-24" time="00:00:00" value="-999.0"/>
	</series>
</TimeSeries>

...

With this we can make the file below:

Info

Please see the Delft-Fews configuration guide for detailed information on how to configure the Import modules. In addition, the .xsd schema file will provide documentation.

...

All moduleInstances must be registered in Delft-Fews. This is done by adding en entry in the moduleInstancseDescriptors file in the RegionConfigDiles section of the configuration. To register this module we will need to a the following to the moduleInstancedescriptors:

Info

In this example only one moduleInstance is present. Usually you will need to ad your module to an existing list.

No Format
<?xml version="1.0" encoding="UTF-8"?>
<moduleInstanceDescriptors 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/moduleInstanceDescriptors.xsd" 
version="1.0">
	<!--Import Module Instances-->
	<moduleInstanceDescriptor id="Import">
		<description>Import Our new data</description>
		<moduleId>TimeSeriesImportRun</moduleId>
	</moduleInstanceDescriptor>
</moduleInstanceDescriptors>

Step 3: Add the module to a workflow (ImportExternal 1.00D

...

Default.xml)

In order to use the module (to be able to run it from the manual forecast dialog) you will need to list the module as an activity in a workflow. Assuming this workflow is already registered (see the Delft-Fews configuration manual on how to register workflow) the only thing to do is to add in to the workflow. In the following example the new module is the only activity in the workflow:

Code Blocknoformat
<?xml version="1.0" encoding="UTF-8"?>
<workflow 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/workflow.xsd" version="1.1">
	<activity>
		<runIndependent>true</runIndependent>
		<moduleInstanceId>Import</moduleInstanceId>
	</activity>
</workflow>

...