...
- The values and what type each value is
- (Optional) Stage/Discharge conversions
- The timeSeries timeSeriesSet a thresholdValueSet is associated with
...
maxThresholdValues are compared with single values from a timeSeries. But only peak values are considered. A peak value has a previous and next value that are both lower. The threshold is crossed if a peak value is above the maxThresholdValue. If two crossings are within the timeSpan, only the first crossing will actually occur.
Figure 39 Elements of the ThresholdValueSets configuration.
thresholdValueSet
Root element for defining a set of thresholds. For each time series or time series set for which a threshold event is to be tested new element is required.
Attributes;
...
TimeSeriesSet Association
ThresholdValues are associated with all timeSeriesSets that are defined in the same thresholdValueSetSequence (With some extra associations for Stage/Discharge conversions). When the unit of the threshold values do not correspond with the internal unit, the unit element can be used to define the unit of the threshold values.
Stage/Discharge conversions
Rating Curves are used in fews to convert between stage (water level) and discharge (water flow) values. The optional stage and discharge elements in the thresholdValueSet should only and always be used if a rating curve is used in combination with thresholds.
A timeSeriesSet is put in the stage or discharge element based on what parameter is has. So putting a timeSeriesSet in the stage element says that this timeSeriesSet has a stage parameter. Putting the thresholds in the stage element is very similar to the timeSeriesSets in that it shows that these thresholds are a stage threshold. This indirectly shows what unit the threshold values are in.
A rating curve is normally associated to a timeSeriesSet by its locationId. So when leaving out any ratingCurve related config in the thresholdValueSet, ratingCurves are searched for in this way. When a different ratingCurve is needed, it can be specified with use of the ratingCurveLocationId and ratingCurveQualifierId elements.
After all these definitions it is clear:
- What thresholds are stage and discharge
- What timeseries are stage and discharge
- What ratingCurves need to be used and consequently how to convert between stage and discharge values
Now the stage thresholds will be converted to discharge thresholds and vice versa after which they are assigned to the timeSeriesSet. So the stage and converted discharge thresholds will be assigned to the timeSeriesSets that were placed in the stage element. And similarly, the discharge and converted stage thresholds will be assigned to the timeSeriesSets in the discharge element.
Schemas
ThresholdValueSet
contains level- and/or rate- and/or max-thresholds set for a given time series
...
description
Optional description for the ThresholdValueSet. Used for reference purposes only.
stage
Threshold values and time series that are in units of stage.
discharge
Threshold values and time series that are in units of discharge.
forecastAvailableThresholdValue
If a threshold crossing event is measured for a given observed parameter, then the thresholdEventCrossing module logs whether or not there is a forecast run available for the corresponding forecast parameter, within a given relative time period. This information is used in the ThresholdSkillScoreDisplay.
timeSeriesSet
Define one or more time series sets for which the threshold values in this thresholdValueSet will be used.
ratingCurveLocationId
When specified the rating curve available at this location is used instead of the location from the time series set.
ratingCurveQualifierId
One or more qualifier ids the used rating curve should have all
ThresholdValueSetSequence
unit
Specify when the unit given for the values is not the same as the (internally stored) unit of the parameter it applies to. When specified it is required to also specify configUnitConversionsId configUnitConversionsId in Parameters.xml. In those this unit conversions the conversion from the specified unit to the (internal) unit should be available
levelThresholdValue
Definition of Specific values for level thresholds.
aggregationLevelThresholdValues
Specific values for level thresholds. This contains one or more level threshold values for different aggregation periods.
rateThresholdValue
Definition of Specific values for rate thresholds.
...
maxThresholdValue
Definition of values fro peak event thresholds.
forecastAvailableThresholdValue
If a threshold crossing event is measured for a given observed parameter, then the thresholdEventCrossing module logs whether or not there is a forecastrun available for the corresponding forecast parameter, within a given relative time period. This information is used in the ThresholdSkillScoreDisplay
timeSeriesSet
Definition of the time series set for which the thresholds are to be tested.
ratingCurve
Convert this threshold level value to a discharge level threshold value using the ratingcurve defined here
Defining level thresholds
Figure 40 Elements of the Level Threshold configuration of the ThresholdValueSets configuration
levelThresholdId
Id of the level threshold. This Id must refer to a threshold type defined in the Thresholds definition (see previous paragraph).
value
Value of the threshold.
valueFunction
Function alternatives may also be used instead of the value itself (see: Location and attributes defined in Shape-DBF files).
upActionLogEventTypeId
Event code to be generated on the up-crossing of the threshold. This event code can be used to initiate for example enhanced forecasting. The event code need not be unique. Multiple threshold crossings may generate the same event code. Note that event codes will only be generated for runs which have an a-priori approved status. This is normally the scheduled forecast run.
downActionLogEventTypeId
Specific values for max thresholds.
levelThresholdValue
levelThresholdId
ID of the level threshold type, as it is specified in the file thresholds
value
level threshold value
valueFunction
Location dependent threshold value by using a function with location attributes. eg. @FLOOD_WATCH@. When an attribute is missing for a location the threshold value is invisible/ignored for that location.
label
Optional label.
labelFunction
Optional location dependent label that is specified by a function, e.g. "@FLOOD_WATCH@", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The tags are replaced by actual attribute values. These attribute values can be different for different locations. If an attribute is missing for a location, then the label is ignored for that location.
warningArea
One or more warnings that correspond to this threshold for the configured timeSeriesSet(s). These warningAreas are e.g. used in the ThresholdOverviewDisplay threshold crossing counts tabs.
upActionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if a threshold value is crossed UP. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Up". The event code need not be unique.
downActionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if a threshold value is crossed DOWN. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Down". The event code need not be unique.
aggregationLevelThresholdValues
levelThresholdId
ID of the level threshold type, as it is specified in the file thresholds
timeSpanValue
One or more level threshold values for different aggregation periods. If this threshold value set is used for a time series without an aggregation period, then the timeStep of that time series is used as aggregation period. If a value for the aggregation period of a time series is not configured here, then these threshold values are ignored for that time series.
timeSpanValueFunction
One or more level threshold values for different aggregation periods. If this threshold value set is used for a time series without an aggregation period, then the timeStep of that time series is used as aggregation period. If a value for the aggregation period of a time series is not configured here, then these threshold values are ignored for that time series. Here the value elements can be function expressions, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated when the configuration is read, by replacing the tags with actual values. These values can be different for different locations. When an attribute is missing for a location the threshold value is invisible/ignored for that location.
label
Optional label.
labelFunction
Optional location dependent label that is specified by a function, e.g. "@FLOOD_WATCH@", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The tags are replaced by actual attribute values. These attribute values can be different for different locations. If an attribute is missing for a location, then the label is ignored for that location.
warningArea
One or more warnings that correspond to this threshold for the configured timeSeriesSet(s). These warningAreas are e.g. used in the ThresholdOverviewDisplay threshold crossing counts tabs.
upActionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if a threshold value is crossed UP. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Up"Event code to be generated on the down-crossing of the threshold. This event code can be used to initiate for example enhanced forecasting. The event code need not be unique. Multiple threshold crossings may generate the same event code. Note that event codes will only be generated for runs which have an a-priori approved status. This is normally the scheduled forecast run.
Defining rate thresholds
Figure 41 Elements of the Rate Threshold configuration of the ThresholdValueSets configuration
rateThresholdId
downActionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if a threshold value is crossed DOWN. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Down". The event code need not be unique.
rateThresholdValue
rateThresholdId
ID of the rate threshold type, as it is specified in the file thresholdsId of the rate threshold. This Id must refer to a threshold type defined in the Thresholds definition (see previous paragraph).
value
Value of the rate threshold that must be exceeded in . This is the change within timeSpan where timeSpan is the timeSpan configured below. Rate of change = (change within timeSpan) / timeSpan.
timeSpan
Time span to use to establish the rate.
rainRate
Boolean indicator to identify thresholds in rain rates where the threshold is defined as the average rainRate over the timeSpan exceeding the threshold, and a rate in for example a level where the rate is determined as the value divided by the time span.
upActionLogEventTypeId
valueFunction
Location dependent threshold value by using a function with location attributes. eg. @FLOOD_WATCH@. When an attribute is missing for a location the threshold value is invisible/ignored for that location
label
Optional label.
labelFunction
Optional location dependent label that is specified by a function, e.g. "@FLOOD_WATCH@", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The tags are replaced by actual attribute values. These attribute values can be different for different locations. If an attribute is missing for a location, then the label is ignored for that location.
upActionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if threshold value is crossed UP. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Up"Event code to be generated on the up-crossing of the threshold. This event code can be used to initiate for example enhanced forecasting. The event code need not be unique. Multiple threshold crossings may generate the same event code. Note that event codes will only be generated for runs which have an a-priori approved status. This is normally the scheduled forecast run.
downActionLogEventTypeId
downEventTypeId
ID of the action message (=additional log.message) that must be logged if threshold value is crossed DOWN. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Down"Event code to be generated on the down-crossing of the threshold. This event code can be used to initiate for example enhanced forecasting. The event code need not be unique. Multiple threshold crossings may generate the same event code. Note that event codes will only be generated for runs which have an a-priori approved status. This is normally the scheduled forecast run.
Defining peak event thresholds
Figure 42 Elements of the maxThreshold configuration of the ThresholdValueSets configuration
maxThresholdId
Id of the max threshold. This Id must refer to a threshold type defined in the Thresholds definition (see previous paragraph).
value
The value item is used here as a selection of peaks. The peak must exceed this value to be deemed significant (peaks over threshold)..
timeSpan
The timeSpan is used to establish independence of peaks. Peaks within timeSpan of each other are considered as being of the same event as a message will only be issued for the highest.
actionLogEventTypeId
timeSpan
This time span will be used in the computation of the rate of change. Rate of change = (change within timeSpan) / timeSpan.
rainRate
If rainRate is true, then the input time series is accumulated before the rate of change is computed.
maxThresholdValue
maxThresholdId
ID of the max threshold type, as it is specified in the file thresholds
value
max threshold value
valueFunction
Location dependent threshold value by using a function with location attributes. eg. @FLOOD_WATCH@. When an attribute is missing for a location the threshold value is invisible/ignored for that location
label
Optional label.
labelFunction
Optional location dependent label that is specified by a function, e.g. "@FLOOD_WATCH@", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The tags are replaced by actual attribute values. These attribute values can be different for different locations. If an attribute is missing for a location, then the label is ignored for that location.
actionLogEventTypeId
ID of the action message (=additional log.message) that must be logged if threshold value is exceeded. This id has to contain a dot, because the action event is only visible to the master controller if this id contains a dot, e.g. "Threshold_Name.Max"Event code to be generated on the threshold occurring. This event code can be used to initiate for example enhanced forecasting. The event code need not be unique. Multiple threshold crossings may generate the same event code. Note that event codes will only be generated for runs which have an a-priori approved status. This is normally the scheduled forecast run..
timeSpan
If two peaks fall have a distance that is less then the defined timeSpan, only the first peak will be reported.
forecastAvailableThresholdValue
is used to log the info that the related forecast run was available within a certain time window when the observed threshold has been crossed.
deprecatedConversionChoice
stageDischargeConversion
since 2010.01, for NEW style rating curve types. Used when stages are specified for the threshold levels and there are discharges in (some of) the specified time series sets.
dischargeParameterId
Discharge parameters for which the threshold values should be converted from stage to discharge.
dischargeStageConversion
since 2010.01, for NEW style rating curve types. Used when discharges are specified for the threshold levels and there are stages in (some of) the specified time series sets.
stageParameterId
Stage parameters for which the threshold values should be converted from discharge to stage
ratingCurve
For OLD style rating curve types. Convert the threshold levels from stage to discharge or vice versa using the rating curve defined here.
id
Rating curve id to use for threshold mapping.
ratingCurveType
Type of rating curve
parameterId
Parameter ids of the time series sets for which the conversion should take place.