Description
Set of rules to allow selection of peaks from an input time series.
This transformation will select only the peaks which occur within the defined gap in time between peaks.
Input
Timeseries
Options
Requirements for definitions of peak selections using gaps to define independence are:
- An attribute "gapLengthInsec" must be defined. The value attribute defines the length of the minimum gap in seconds.
There are two choices for refining the selection:
- An attribute "totalNumberBeforeT0" must be defined. The value attribute defines the maximum number of peaks to consider before T0.
- An attribute "totalNumberAfterT0" must be defined. The value attribute defines the maximum number of peaks to consider after T0.
- An attribute "skipJustBeforeT0" indicates how many peaks to skip just before T0. (optional)
- An attribute "skipJustAfterT0" indicates how many peaks to skip just after T0. (optional)
or
- An attribute "totalNumber" must be defined. The value attribute defines the maximum number of peaks to consider.
Output
Timeseries containing the selection of peaks
Configuration example
<transformation id="independent peaks function test"> <selection> <independentPeaks> <inputVariable> <timeSeriesSet> <moduleInstanceId>SelectionIndependentPeaksFunctionTest</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.tidal</parameterId> <locationId>H-2010</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="minute" multiplier="15"/> <relativeViewPeriod unit="day" start="0" end="365"/> <readWriteMode>editing visible to all future task runs</readWriteMode> </timeSeriesSet> </inputVariable> <gapLengthInSec>2700</gapLengthInSec> <totalNumberBeforeT0>3</totalNumberBeforeT0> <totalNumberAfterT0>4</totalNumberAfterT0> <skipJustBeforeT0>2</skipJustBeforeT0> <skipJustAfterT0>2</skipJustAfterT0> <outputVariable> <timeSeriesSet> <moduleInstanceId>SelectionIndependentPeaksFunctionTest</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.updated</parameterId> <locationId>H-2010</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="nonequidistant"/> <relativeViewPeriod unit="day" start="-5" end="15"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> </outputVariable> </independentPeaks> </selection> </transformation>
In this example:
- The time between two local maxima (peaks) should be at least 2700 seconds or 45 minutes.
- Only the last three peaks before T0 and the first four peaks after T0 are considered.
- The first two peaks of the last three peaks just before T0 are skipped, leaving only the third last one.
- Similarly the first two peaks just after T0 are skipped, leaving the third and fourth ones.
forecastLoopSearchPeriod
When a forecastLoopSearchPeriod is configured the transformation will be repeated for each external forecast found in the defined period.
This will only work when the <inputVariable> and <outputVariable> are external forecasts, the output variable for each execution will get the same external forecast time.
<transformation id="SelectionIndependentPeaksMultipleForecastsTest"> <selection> <independentPeaks> <inputVariable> <variableId>forecast</variableId> </inputVariable> <forecastLoopSearchPeriod unit="week" start="-5" end="0"/> <gapLengthInSec>2700</gapLengthInSec> <totalNumberBeforeT0>0</totalNumberBeforeT0> <totalNumberAfterT0>0</totalNumberAfterT0> <skipJustBeforeT0>0</skipJustBeforeT0> <skipJustAfterT0>0</skipJustAfterT0> <outputVariable> <variableId>outputForecast</variableId> </outputVariable> </independentPeaks> </selection> </transformation>