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
SelectionIndependentPeaksFunctionTest 1.00 default.xml
<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 as the input.

For some general info see ForecastLoop

Example forecastLoopSearchPeriod
<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>
  • No labels