Description

Set of rules to allow selection of lows from an input time series.
This transformation will select only the lows which occur within the defined gap in time between lows.

Input

Timeseries

Options

Requirements for definitions of low 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 lows to consider before T0.
  • An attribute "totalNumberAfterT0" must be defined. The value attribute defines the maximum number of lows to consider after T0.
  • An attribute "skipJustBeforeT0" indicates how many lows to lows just before T0. (optional)
  • An attribute "skipJustAfterT0" indicates how many lows to lows just after T0. (optional)

or

  • An attribute "totalNumber" must be defined. The value attribute defines the maximum number of lows to consider.
Output

Timeseries containing the selection of lows

Configuration example
SelectionIndependentLowsFunctionTest 1.00 default.xml
<transformation id="independent lows function test">
   <selection>
      <independentLows>
         <inputVariable>
            <timeSeriesSet>
               <moduleInstanceId>SelectionIndependentLowsFunctionTest</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>SelectionIndependentLowsFunctionTest</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>
      </independentLows>
   </selection>
</transformation>

In this example:

  • The time between two local minima (lows) should be at least 2700 seconds or 45 minutes.
  • Only the last three lows before T0 and the first four lows after T0 are considered.
  • The first two lows of the last three lows just before T0 are skipped, leaving only the third last one.
  • Similarly the first two lows 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="SelectionIndependentLowsMultipleForecastsTest">
   <selection>
      <independentLows>
         <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>
      </independentLows>
   </selection>
</transformation>
  • No labels