Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...



 Figure 57 Root element of the Transformation module.

transformationSet

Root element for the definition of a transformation (processing an input to an output). Multiple entries may exist.

...


Figure 58 Elements of the definition of an input variable.

inputVariable

Definition of the input variables to be used in transformation. This may either be a time series set, a typical profile or a set of (harmonic) components. The InputVariable is assigned an ID. This ID is used later in the transformation functions as a reference to the data.

...

Available harmonic components are listed in the attached file.

timeSerieSet

Definition of an input variable as a time series set (see TimeSeriesSet definition).

timeStep

Time step for typical profile if variable to be defined as typical profile.

...

Relative view period of the typical profile to create. If this is defined and the time span indicated is longer than the typical profile data provided, then the profile data will be repeated until the required time span is filled. If the optional element is not provided then the typical profile data will be used only once.

data

Data entered to define the typical profile. Data can be entered in different ways. The typical profile can be defined as a series of values at the requested time step, inserted at the start of the series, or it can be mapped to specific time values (e.g. setting a profile value to hold at 03:15 of every day). Which of these is used depends on the attributes defined.

...

Optional specification of the time zone for the data entered (see timeZone specification).

timeZone:timeZoneOffset

The offset of the time zone with reference to UTC (equivalent to GMT). Entries should define the number of hours (or fraction of hours) offset. (e.g. +01:00)

timeZone:timeZoneName

Enumeration of supported time zones. See appendix B for list of supported time zones.

arithmeticFunction

Root element for defining a transformation as an arithmetic function (see next section for details).

hydroMeteoFunction

Root element for defining one of the available hydro-meteorological transformations.

...

  • rule: definition of approach. Enumeration of;
  • zero
  • missing
  • linearinterpolated
  • equaltolast

Statistics

Root element for defining statistical transformations. 

Season: the statistics transformation can also be carried out for a specific season which is defined by a start and end date. If multiple seasons are specified, then the statistics transformation will be carried out separately for each specified season. A warning will be given when seasons overlap in time.

...


Figure 60 Elements of the Arithmetic section of the transformation module configuration

segments

Root element for defining segments. When used this must include the input variable Id used to determine segments as an attribute.
Attributes;

...

  • nrOfColumns: number of columns in table (should equal 2).
  • variableIdCol1 Input variable associated with first column
  • variableIdCol2 Output variable associated with first column

tableColumnData:data

Element containing data for each row in the table
Attributes;

...

Id of the output variable from the function. This may be saved to the database by associating the Id to an outputVariable.

flag

Optional element to force saving the result data for the segment with a given flag. This may be used for example to force data from a segment as doubtful. Enumeration is either "unreliable" or "doubtful". if data is reliable the element should not be included.

...

  • Coefficient values for coefficientId's "a", "b" and "c" must be defined.
  • Input variable Id must be "Q"
  • Output variable Id must be "H".
  • limitVariableId must be "Q".

Example:

Anchor
_Toc154574415
_Toc154574415
Anchor
_Toc95297269
_Toc95297269
Establishing catchment average precipitation

...

  • functionType must be set to weightedaverage
  • Weights are given as coefficient values with coefficientId's "a", "b" and "c" etc.
  • Additional coefficients may be defined to allow for altitude correction.

Example:

Anchor
_Toc154574416
_Toc154574416
Anchor
_Toc95297270
_Toc95297270
Aggregation, disaggregation and non-equidistant to equidistant

...

  • Instantaneous: apply linear interpolation- ie value at cardinal time step in output series is same as in input time series at that time step. Values in between are interpolated.
  • accumulative : value in output time series is derived as equal fraction of valuein input series. Fraction is determined using ration of time steps.
  • Disaggregateusingweights value in output time series weighted fraction of input value. Weights are defined as coefficients. These are sub-elements to the disaggregation element. The number of coefficients defined should be equal to the disaggregation ration (i.e. 24 when disaggregating from day to hour). The coefficient Id's should be numbered 1 to n..
  • constant value in output time series at intermediate time steps is equal to the last available value in the input time series.
    Rules for mapping non-equidistant time series to equidistant time series
  • zero value in output time series is zero if time values do not coincide
  • missing value in output time series is missing if time values do not coincide
  • linearinterpolated value in output time series is interpolated linearly between neighbouring values in input time series
  • equaltolast value in output time series is equal to last available value in input time series.

 

Anchor
_Toc154574417
_Toc154574417
Anchor
_Toc95297271
_Toc95297271
Rule based transformations

...

Selection of peak or low flow values

Selection of peaks and lows

...

They default to 0.

Example:

No Format

<ruleBasedTransformation rule="selectpeakvalueswithincertaingap">
    <segments limitVariableId="X1">
        <segment>
            <coefficient coefficientId="a" coefficientType="gaplengthinsec" value="2700"/>
            <coefficient coefficientId="b" coefficientType="peaksbeforetimezero" value="3"/>
            <coefficient coefficientId="c" coefficientType="peaksaftertimezero" value="4"/>
            <coefficient coefficientId="d" coefficientType="totalnumberofpeaks" value="0"/>
            <coefficient coefficientId="e" coefficientType="skipjustbeforetimezero" value="2"/>
            <coefficient coefficientId="f" coefficientType="skipjustaftertimezero" value="2"/>
            <outputVariableId>Y1</outputVariableId>
        </segment>
    </segments>
</ruleBasedTransformation>

...

  • 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 last two peaks just before T0 are skipped, leaving only the third last one.
  • Similarly the first peaks just after T0 are skipped, leaving the third and fourth ones.

 

Sampling values from equidistant time series

...

  • The limitVariableId attribute of the segements element must be the non-equidistant time series which determines the time values at which the equidistant series is to be sampled.
  • The userDefinedFunction must contain the equidistant time series to be sampled
  • The outputVariableId must resolve to a non-equidistant time series.
    __
    Example:

 

Data Hierarchy

This is a simple method to merge overlapping equidistant time series in a single equidistant series. Gaps in foremost (first) series will be filled with data of second series if a valid value is available at the current time step, otherwise the gap is filled with data from the third series and so on until no more time series are available. Only missing data values and unreliable values are filled. Doubtful values remain in the result series as doubtful.

Figure 61 Schematic example of merging series using data hierarchy.

...

Data hierarchy poses no specific requirements to variables defined. Only the Id of the output variable is of importance.

Creating time series from typical profiles

...