This transformation is opposite of tranformation selectNumberedTidalLows

The input of the transformation is two scalar time series. The first one is non-equidistant and contains the times of the astronomical high tide. The values are not the levels, but the tide number. The second input is a regular, continuous time series that contains water levels. This can be a forecast, an observed or hindcast series.
The transformation will use the time stamps of the astronomical tide number input, and it will search for high tide values in the continuous time series around each of those times. The search window can be skewed around this astronomical extreme as the period before and after the extreme can be specified individually using minutesBeforeTidalExtreme and minutesAfterTidalExtreme.
Within this search window, the slope of the continuous timeseries is determined over the regression period (regressionPeriodInMinutes). This slope is determined looking forward for every timestep in the continuous series. A minimum or maximum is found if the slope is horizontal (thus the value of the angle is 0). If the slope value changes from positive to negative, it is a maximum, if it changes from negative to positive, it is a minimum.

A peak value is valid if:

  • There are two timestamps within the search window, one before and one after the extreme, where the absolute difference between the extreme and the value is greater than the validDifferenceExceedence. The value before the extreme is called firstThresholdCrossing in this method, the value after the extreme is called the secondThresholdCrossing.
  • Missing values are not allowed between the extreme and the two threshold crossings.

A peak value is invalid if:

  • a missing value is found after the extreme and before the second threshold crossing.

The transformation produces two non-equidistant output series with timestamps of the high tide extremes: one series holds the water level, the other series holds the associated tide number.

Config example:

<transformation id="SelectionTideNumbersAndPeaks">
   <selection>
      <selectNumberedTidalPeaks>
         <numberedTidalPeaks>
            <variableId>numberedTidalPeaks</variableId>
         </numberedTidalPeaks>
         <continuousLevelSeries>
            <variableId>continuousLevelSeries</variableId>
         </continuousLevelSeries>
         <minutesBeforeTidalExtreme>50</minutesBeforeTidalExtreme>
         <minutesAfterTidalExtreme>50</minutesAfterTidalExtreme>
         <regressionPeriodInMinutes>20</regressionPeriodInMinutes>
         <validDifferenceExceedence>0.02</validDifferenceExceedence>
         <highWaterLevelOutput>
            <variableId>outputTideValue</variableId>
         </highWaterLevelOutput>
         <highWaterTideNumberOutput>
            <variableId>outputTideNumber</variableId>
         </highWaterTideNumberOutput>
      </selectNumberedTidalPeaks>
   </selection>
</transformation>

See more information in:

Proposal.docx

  • No labels