scrollbar |
---|
<p><br /></p> |
What | ThresholdValueSets.xml |
---|---|
Required | no |
Description | definition of threshold values for all locations and data types |
schema location |
Table of Contents |
---|
Complementary to the definition of the types of thresholds identified, the values of the thresholds are defined in the ThresholdValueSets configuration (ThresholdValueSets.xml on a local filesystem).
...
EventTypeIds (otherwise known as EventCodes) are used as a prefix in logging messages for the MC to identify which threshold is crossed. When threshold messages need to be logged, a special predefined threshod activity is required in the workflows.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<levelThresholdValue> <levelThresholdId>UKV</levelThresholdId> <valueFunction>1</valueFunction> <upActionLogEventTypeId>UKVRRCThreshold.crossed</upActionLogEventTypeId> </levelThresholdValue> |
...
ThresholdValueSet Schema
The latest version of the ThresholdValueSet schema can be found on the Deltares schema site: http://fews.wldelft.nl/schemas/version1.0/thresholdValueSets.xsd. The elements in the schema are shortly described below.
...
One or more qualifier ids the used rating curve should have all
ThresholdValueSetSequence
...
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
levelThresholdIdFunction
Id for the thresholds based on attribute values
Can be based on multivalued attributes
description
Optional description.
descriptionFunction
Optional location dependent description 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 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/, then the description is ignored for that location.
...
comment
Optional labelcomment.
...
commentFunction
Optional location dependent label that comment 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 comment 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.
When the aggregationLevelThresholdValues function is used in the threshold module using the ActionEvent logging, the threshold module will only use the timestep of the original time series, it will ignore the timeSpanValue element. For rainfall threshold checking with timespan larger than the timestep of the original time series, the rateThresholdValue function must be used instead.
timeSpanValueFunction
If a comment that has more than 50 characters specified, the comment is truncated up to 47 characters. The full comment is then shown in a tooltip.
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.
targetLocationIdFunction
Location dependent text value that points to an id of a different location that is effected by this threshold crossing @TARGET_LOCATION_ID@.
Can be used in threshold event display to refer to different location / time series
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.
upActionLogEventTypeIdFunction
Similar to the descriptionFunction, this is a location dependent ID of the action message that is specified by a function, "@ENHANCE_EVENT@" in which the tags between "@" 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 The tags are replaced by actual attribute values. These attribute values can be different for different locations. When If an attribute is missing for a location the threshold value is invisible/, then the description is ignored for that location.
label
Optional label.
labelFunction
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 dotOptional location dependent label that is specified by a function, e.g. "@FLOODThreshold_Name.Down". The event code need not be unique.
downActionLogEventTypeIdFunction
Similar to the descriptionFunction and upActionLogEventTypeIdFunction, this is a location dependent ID of the action message that is specified by a function, "@STANDDOWN_EVENT@" in which the WATCH@", in which tags between "@" signs refer to location attributes that are defined in the the locationSets config config file. The 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 description 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.
rateThresholdValue
rateThresholdId
ID of the rate threshold type, as it is specified in the file thresholds
value
Value of the rate threshold. This is the change within timeSpan where timeSpan is the timeSpan configured below. Rate of change = (change within timeSpan) / timeSpan.
valueFunction
Code Block | ||||
---|---|---|---|---|
| ||||
<levelThresholdValue>
<levelThresholdIdFunction>@ThresholdType@ @ThresholdCategory@</levelThresholdIdFunction>
<descriptionFunction>@THRESHOLD_DESCRIPTION@</descriptionFunction>
<valueFunction>@ThresholdValue@</valueFunction>
<labelFunction>@ThresholdType@ @Purpose@ @FWACode@</labelFunction>
<toolTip>@ThresholdComment@</toolTip>
<targetLocationIdFunction>@FWACode@</targetLocationIdFunction>
</levelThresholdValue> |
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.
When the aggregationLevelThresholdValues function is used in the threshold module using the ActionEvent logging, the threshold module will only use the timestep of the original time series, it will ignore the timeSpanValue element. For rainfall threshold checking with timespan larger than the timestep of the original time series, the rateThresholdValue function must be used instead.
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 locationsLocation 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". The event code need not be unique.
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". The event code need not be unique.
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". The event code need not be unique.
timeSpan
If two peaks fall have a distance that is less then the defined timeSpan, only the first peak will be reported.
...
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.
rateThresholdValue
rateThresholdId
ID of the rate threshold type, as it is specified in the file thresholds
value
Value of the rate threshold. This is the change within timeSpan where timeSpan is the timeSpan configured below. Rate of change = (change within timeSpan) / timeSpan.
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". The event code need not be unique.
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". The event code need not be unique.
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". The event code need not be unique.
timeSpan
If two peaks fall have a distance that is less then the defined timeSpan, only the first peak will be reported.
Event Threshold Value
An event threshold value is similar to a level threshold, only it has the possibility to be based on correlation events. See 07 Correlation Module - EOL in 2023#07CorrelationModule-LocationAttributeBasedEvents
The advantage to this is that for instance peak heights that occured through the years can be used in the correlation display as well as a threshold without storing the same information in different ways.
The <parameterIdFunction> specifies for which parameter the threshold is valid, the enabled function specifies whether the it should be included as threshold or not. This is mainly meant to filter out events needed for the correlation module that is not desired as threshold. This function is optional, when not configured the thresholds will be applied to all parameters of the timeseries associated with the threshold value set. When multiple different parameters are present in a plot in the Time Series Dialog and it is desired that the event thresholds are visible it might be needed to duplicate the attribute values for the different parameters because there will be no thresholds shown when multiple time series have thresholds which are not identical. When this duplicate configuration is undesired it might be better to remove this function.
The <enabledFunction> can refer to a boolean location attribute which specifies whether the event should be included as threshold or not. Default is false.
This functionality is specifically designed for multivalued attributes. An important requirement is that for all the functions: <valueFunction>, <labelFunction>, <parameterIdFunction> and <enabledFunction> the location should have the same amount of attribute values.
This can easily be accomplished by storing all attributes in the same multivalued attribute csv file like the example below.
Code Block | ||||
---|---|---|---|---|
| ||||
<thresholdValueSet id="EventThresholds" name="EventThresholds">
<eventThresholdValues>
<eventThresholdId>LevelWarn</eventThresholdId>
<valueFunction>@PEAK_HEIGHT_VALUE@</valueFunction>
<labelFunction>@PEAK_HEIGHT_TIME@</labelFunction>
<parameterIdFunction>@PEAK_HEIGHT_PAR@</parameterIdFunction>
<enabledFunction>@PEAK_HEIGHT_ENABLED@</enabledFunction>
</eventThresholdValues>
<timeSeriesSet>
<moduleInstanceId>ThresholdCheck</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.m</parameterId>
<locationSetId>MultiValuedAttributeThresholds</locationSetId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="hour" divider="1" multiplier="1"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</thresholdValueSet> |
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?>
<locationSets xmlns="http://www.wldelft.nl/fews"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wldelft.nl/fews https://fewsdocs.deltares.nl/schemas/version1.0/locationSets.xsd" version="1.1">
<locationSet id="MultiValuedAttributePeakHeights">
<csvFile>
<file>MultiValuedAttributePeakHeightsLocations.csv</file>
<geoDatum>WGS 1984</geoDatum>
<id>%ID%</id>
<name>%NAME%</name>
<x>%X%</x>
<y>%Y%</y>
<z>0</z>
<attributeFile>
<csvFile>MultiValuedAttributePeakHeightsLocationAttributes.csv</csvFile>
<id>%ID%</id>
<dateTimePattern>dd-MM-yyyy</dateTimePattern>
<attribute id="PEAK_HEIGHT_PAR">
<text>%PAR%</text>
</attribute>
<attribute id="PEAK_HEIGHT_TIME">
<dateTime>%TIME%</dateTime>
</attribute>
<attribute id="PEAK_HEIGHT_VALUE">
<number>%VALUE%</number>
</attribute>
<attribute id="PEAK_HEIGHT_ENABLED">
<boolean>%ACTIVE%</boolean>
</attribute>
</attributeFile>
</csvFile>
</locationSet>
</locationSets>
|
Code Block | ||
---|---|---|
| ||
ID,PAR,VALUE,TIME,ACTIVE
PH_locA,H.m,0.1,01-01-2001,true
PH_locA,H.m,0.2,02-02-2002,false
PH_locA,H.m,0.3,03-03-2003,true
PH_locA,H.sim,0.4,04-04-2004,false
PH_locA,H.sim,0.5,05-05-2005,true
PH_locA,H.sim,0.6,06-06-2006,true
PH_locB,H.m,1.1,11-10-2011,true
PH_locB,H.m,1.2,12-10-2012,false
PH_locB,H.m,1.3,13-10-2013,true
PH_locB,H.m,1.4,14-10-2014,false
PH_locB,H.sim,1.5,15-10-2015,true
PH_locB,H.sim,1.6,16-10-2016,false
PH_locB,H.sim,1.7,17-10-2017,false
PH_locB,H.sim,1.8,18-10-2018,true
|
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
...
The aggregationLevelThresholdValues are used in the Spatial Display. When the accumulation slider computes new aggregated values, the correct thresholdvalue will be used for the aggregated time period.