Information

Transformation:

SumInterval

Transformation Group:

Accumulation

Description:

This transformation creates cumulative curves from the input time series within several intervals. The intervals are defined by the specified intervalTimeStep. For a given interval the first output value equals the first input value within the interval and the other output values are equal to the sum of the corresponding input value and all previous input values within the interval. The startTime of an interval is exclusive and the endTime of an interval is inclusive. The output time series must have the same timeStep as the input time series. In case the transformation is from instantaneous/mean to accumulated, the result is multiplied by the timestep. The calculation starts at the first valid interval time step within the run period. Therefore the relative view period for the input and output variables must be large enough so that it contains at least one interval time step.

Hydrological Information

Purpose and use of Transformation:

To create cumulative curves in several intervals.

Background and Exceptions:

This transformation also works for grid input and output. It does not work for irregular time steps. If the transformation is from instantaneous/mean input parameter type to accumulated output parameter type, then the result is multiplied by the timestep in seconds. In this case the input data is assumed to be in units/second.

Input

Input variable.

preCalculatedInputVariable

Optional input variable which contains values that can immediately be written to the output, the accumulation can then continue from the last available time step. This can save loading lots of data and calculating output values that have been calculated and written before

Options

intervalTimeStep This time step defines the intervals that are used for the accumulation. Each time in this time step is the boundary between two intervals. The calculation starts at the first valid interval time step within the run period. Therefore the relative view period for the input and output variables must be large enough so that it contains at least one interval time step.

ignoreMissing Optional. If true, then missing values are ignored and treated as 0. If false, then output values will be set to missing values starting from the first missing input value in an interval until the end of that interval. Default is true.

Output

Output variable with cumulative curves.

Configuration Example


Example
<?xml version="1.0" encoding="UTF-8"?>
<transformationModule version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.wldelft.nl/fews" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/transformationModule.xsd">
	<variable>
		<variableId>input</variableId>
		<timeSeriesSet>
			<moduleInstanceId>AccumulationSumInterval</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.m</parameterId>
			<locationId>H-2001</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="15"/>
			<relativeViewPeriod unit="hour" start="0" end="10"/>
			<readWriteMode>editing visible to all future task runs</readWriteMode>
		</timeSeriesSet>
	</variable>
	<variable>
		<variableId>output</variableId>
		<timeSeriesSet>
			<moduleInstanceId>AccumulationSumInterval</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.sum</parameterId>
			<locationId>H-2001</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="15"/>
			<relativeViewPeriod unit="hour" start="0" end="10"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</variable>
	<transformation id="accumulation sum interval">
		<accumulation>
			<sumInterval>
				<inputVariable>
					<variableId>input</variableId>
				</inputVariable>
				<intervalTimeStep unit="hour" multiplier="1"/>
				<ignoreMissing>false</ignoreMissing>
				<outputVariable>
					<variableId>output</variableId>
				</outputVariable>
			</sumInterval>
		</accumulation>
	</transformation>
</transformationModule>
Example with preCalculatedInput
<?xml version="1.0" encoding="UTF-8"?>
<transformationModule version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.wldelft.nl/fews" xsi:schemaLocation="http://www.wldelft.nl/fews https://fewsdocs.deltares.nl/schemas/version1.0/transformationModule.xsd">
	<!-- input variables -->
	<variable>
		<variableId>input</variableId>
		<timeSeriesSet>
			<moduleInstanceId>AccumulationSumIntervalTest</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>H.m</parameterId>
			<locationId>H-2001</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="15"/>
			<relativeViewPeriod unit="minute" start="15" end="600"/>
			<readWriteMode>editing visible to all future task runs</readWriteMode>
		</timeSeriesSet>
	</variable>
	<variable>
		<variableId>preCalculatedInput</variableId>
		<timeSeriesSet>
			<moduleInstanceId>AccumulationSumIntervalTest</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>Q.m</parameterId>
			<locationId>H-2001</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="15"/>
			<relativeViewPeriod unit="minute" start="15" end="600"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</variable>
	<!-- output variables -->
	<variable>
		<variableId>output</variableId>
		<timeSeriesSet>
			<moduleInstanceId>AccumulationSumIntervalTest</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>Q.m</parameterId>
			<locationId>H-2001</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="15"/>
			<relativeViewPeriod unit="minute" start="15" end="600"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</variable>
	<!-- transformations -->
	<transformation id="accumulation sum interval pre calculated input test">
		<accumulation>
			<sumInterval>
				<inputVariable>
					<variableId>input</variableId>
				</inputVariable>
				<preCalculatedInputVariable>
					<variableId>preCalculatedInput</variableId>
				</preCalculatedInputVariable>
				<intervalTimeStep unit="hour" multiplier="1"/>
				<ignoreMissing>false</ignoreMissing>
				<outputVariable>
					<variableId>output</variableId>
				</outputVariable>
			</sumInterval>
		</accumulation>
	</transformation>
</transformationModule>
  • No labels