...
Code Block | ||||
---|---|---|---|---|
| ||||
<locationSet id="MultiVariateThresholdsHyFS"> <csvFile> <file>MultiVariateThresholdsHyFS.csv</file> <id>%id%</id> <x>%x%</x> <y>%y%</y> <attributeFile> <csvFile>MultiVariateThresholdsAttributesHyFS.csv</csvFile> <id>%id%</id> <attribute id="inputLocationSetId"> <text>%inputLocationSetId%</text> </attribute> <attribute id="variable"> <text>%variable%</text> </attribute> <attribute id="ruleId"> <text>%ruleId%</text> </attribute> <attribute id="lowerBound"> <number>%lowerBound%</number> </attribute> <attribute id="lowerBoundInclusive"> <boolean>%lowerBoundInclusive%</boolean> </attribute> <attribute id="upperBound"> <number>%upperBound%</number> </attribute> <attribute id="upperBoundInclusive"> <boolean>%upperBoundInclusive%</boolean> </attribute> <attribute id="ruleOutcome"> <number>%ruleOutcome%</number> </attribute> <attribute id="numberOfTimeSeries"> <number>%numberOfTimeSeries%</number> </attribute> <attribute id="severity"> <text>%severity%</text> </attribute> <attribute id="certainty"> <text>%certainty%</text> </attribute> <attribute id="instruction"> <text>%instruction%</text> </attribute> <attribute id="responseType"> <text>%responseType%</text> </attribute> <attribute id="urgency"> <text>%urgency%</text> </attribute> <attribute id="headline"> <text>%headline%</text> </attribute> </attributeFile> </csvFile> </locationSet> <locationSet id="MultiVarHyFSInput"> <locationSetId>MultiVariateThresholdsHyFS</locationSetId> <constraints> <idContains contains="MultiVarHyFSInput"/> </constraints> </locationSet> |
For multivariate threshold crossings a transformation is used to combine the multiple input time series to 1 output time series which is connected to thresholds.
For each line in the threshold crossing matrix on top of the page a rule should be defined, specifying which and how many input time series should have a value higher than a certain boundary.
Each rule has a rule outcome which will be the value written to the output time series. Those output values should be connected to a threshold value in the threshold value sets.
The <inputVariableAttributeId> specifies which input variable is used to find the input time series and <inputLocationSetIdAttributeId> specifies which locations within the variable should be used.
The <lowerBoundAttributeId> specifies the trigger for the input time series in order to apply to to rule.
The <numberOfTimeSeriesWithinBoundariesAttributeId> specifies how many of the time series need to have their trigger crossed in order for the rule to apply.
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by WL | Delft Hydraulics (WL | Delft Hydraulics) --> <transformationModule version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.wldelft.nl/fews" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/transformationModule.xsd"> <variable> <variableId>ForecastRain</variableId> <timeSeriesSet> <moduleInstanceId>ImportMultiVariateInput</moduleInstanceId> <valueType>scalar</valueType> <parameterId>P.radar.forecast</parameterId> <locationSetId>MultiVarHyFSInput</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="day"/> <relativeViewPeriod unit="day" start="-12" end="0"/> <readWriteMode>editing visible to all future task runs</readWriteMode> </timeSeriesSet> </variable> <variable> <variableId>ObservedRain</variableId> <timeSeriesSet> <moduleInstanceId>ImportMultiVariateInput</moduleInstanceId> <valueType>scalar</valueType> <parameterId>P.obs</parameterId> <locationSetId>MultiVarHyFSInput</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="day"/> <relativeViewPeriod unit="day" start="-12" end="0"/> <readWriteMode>editing visible to all future task runs</readWriteMode> </timeSeriesSet> </variable> <variable> <variableId>ObservedFlooding</variableId> <timeSeriesSet> <moduleInstanceId>ImportMultiVariateInput</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.obs</parameterId> <locationSetId>MultiVarHyFSInput</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="day"/> <relativeViewPeriod unit="day" start="-12" end="0"/> <readWriteMode>editing visible to all future task runs</readWriteMode> </timeSeriesSet> </variable> <variable> <variableId>output</variableId> <timeSeriesSet> <moduleInstanceId>MultiVariateThresholdsTransformation</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.sim</parameterId> <locationId>MultiVarHyFSOutput1</locationId> <timeSeriesType>simulated forecasting</timeSeriesType> <timeStep unit="day"/> <relativeViewPeriod unit="day" start="-12" end="0"/> <readWriteMode>editing visible to all future task runs</readWriteMode> </timeSeriesSet> </variable> <transformation id="MultiVariateHyFS"> <multipleLocationAttributes> <multiVariateThresholdsHyFS> <ruleAttributeId>ruleId</ruleAttributeId> <inputVariableAttributeId>variable</inputVariableAttributeId> <inputLocationSetIdAttributeId>inputLocationSetId</inputLocationSetIdAttributeId> <lowerBoundAttributeId>lowerBound</lowerBoundAttributeId> <numberOfTimeSeriesWithinBoundariesAttributeId>numberOfTimeSeries</numberOfTimeSeriesWithinBoundariesAttributeId> <ruleOutcomeAttributeId>ruleOutcome</ruleOutcomeAttributeId> <outputVariable> <variableId>output</variableId> </outputVariable> </multiVariateThresholdsHyFS> </multipleLocationAttributes> </transformation> </transformationModule> |
...