Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin



scrollbar
<p><br /></p>



What

ThresholdValueSets.xml

Required

no

Description

definition of threshold values for all locations and data types

schema location

http

https://

fews

fewsdocs.

wldelft

deltares.nl/schemas/version1.0/thresholdValueSets.xsd

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
xml
xml
titleThreshold Log Messages
<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

Image Removed

levelThresholdId

ID of the level threshold type, as it is specified in the file thresholds

levelThresholdIdFunction

Id for the thresholds

value

level threshold value

valueFunction

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

Image Removed

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.


Image Added


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 "@" 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 description is ignored for that location.

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.

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 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 the locationSets config  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.


Code Block

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.

 

rateThresholdValue

Image Removed

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

Image Removed

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 

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.

...

<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>
languagexml
titlelevelThresholdValue
		<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

Image Added

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 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". 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

Image Added

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

Image Added

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
languagexml
titleThreshold Value Set
<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
languagexml
titleLocationSets.xml
<?xml version="1.0" encoding="UTF-8"?

 

 

Code Block
xmlxml
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Juzer Dhondia (WL | Delft Hydraulics) -->
<!--Sample XML file generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
<locationSets xmlns="http://www.wldelft.nl/fews"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.wldelft.nl/fews httphttps://fewsfewsdocs.wldelftdeltares.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>

...

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.