Instantaneous

disaggregates data by sampling the values and optionally interpolate linear

Input
  • inputVariable
Options
  • interpolate (true|false)
Output
  • outputVariable
Description

This transformation performs a disaggregation on an instantaneous input time series. The output values are copied from the input time series if a matching time exists in the input value. If this is not the case the output value is calculated by linear interpolation if the option interpolate is enabled. If the option is disabled the output value will be a missing value. 

Linear interpolation is done using the following equation:

Y = Y_0 + (Time_t - Time_0) * (Y_0 - Y_1)/(Time_0 - Time_1)

in which:

  • Y is the interpolation result in the output series
  • Y_0 is the value of the first point before Y (in the input series)
  • Y_1 is the value of the first point after Y (in the input series)
  • Time_t is the date/time for Y (in the output series)
  • Time_0 is first time before Time_t (in the input series)
  • Time_1 is first time after Time_t (in the input series)

 

 

Input

Output (interpolation)

Output (no interpolation)

Date/Time

Value

Value

Value

01-01-2007 00:00

10,00

10,00

10,00

01-01-2007 06:00

 

8,75

-

01-01-2007 12:00

 

7,50

-

01-01-2007 18:00

 

6,25

-

02-01-2007 00:00

5,00

5,00

5,00

02-01-2007 06:00

 

6,00

-

02-01-2007 12:00

 

7,00

-

02-01-2007 18:00

 

8,00

-

03-01-2007 00:00

9,00

9,00

9,00

Configuration example

<transformation id="disaggregation instantaneous">
		<disaggregation>
			<instantaneous>
				<inputVariable>
					<timeSeriesSet>
						<moduleInstanceId>ImportTelemetry</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>H.obs</parameterId>
						<locationSetId>hydgauges</locationSetId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="minute" multiplier="15"/>
						<relativeViewPeriod unit="day" startOverrulable="true" start="-7" end="0"/>
						<readWriteMode>read only</readWriteMode>
						<delay unit="minute" multiplier="0"/>
					</timeSeriesSet>
				</inputVariable>
				<outputVariable>
					<timeSeriesSet>
						<moduleInstanceId>Aggregate_Historic</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>dis_instantaneous</parameterId>
						<locationSetId>hydgauges</locationSetId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="minute" multiplier="5"/>
						<relativeViewPeriod unit="day" startOverrulable="true" start="-7" end="0"/>
						<readWriteMode>add originals</readWriteMode>
						<synchLevel>1</synchLevel>
					</timeSeriesSet>
				</outputVariable>
			</instantaneous>
		</disaggregation>
	</transformation>
  • No labels