...
Code Block |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<secondaryValidation xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/secondaryValidation.xsd">
<variableDefinition>
<variableId>input1</variableId>
<timeSeriesSet>
<moduleInstanceId>MinReliableValuesCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationId>location1</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<!-- any relativeViewPeriod here will always be overruled by checkRelativePeriod in each check -->
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<variableDefinition>
<variableId>input2</variableId>
<timeSeriesSet>
<moduleInstanceId>MinReliableValuesCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationId>location2</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<!-- any relativeViewPeriod here will always be overruled by checkRelativePeriod in each check -->
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<minNonMissingValuesCheck id="MinNonMissingValuesCheck">
<variable>
<variableId>input1</variableId>
</variable>
<variable>
<variableId>input2</variableId>
</variable>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<minNumberOfValues>18</minNumberOfValues>
<logLevel>INFO</logLevel>
<logEventCode>TimeSeries.Check</logEventCode>
<logMessage>Not enough values available for time series %header%</logMessage>
</minNonMissingValuesCheck>
<minNumberOfValuesCheck id="MinNumberOfValuesCheck">
<variable>
<variableId>input1</variableId>
</variable>
<variable>
<variableId>input2</variableId>
</variable>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<minNumberOfValues>24</minNumberOfValues>
<logLevel>DEBUG</logLevel>
<logEventCode>TimeSeries.Check</logEventCode>
<logMessage>Not enough values available for time series %header%</logMessage>
</minNumberOfValuesCheck>
<minReliableOrDoubtfulValuesCheck id="MinReliableOrDoubtfulValuesCheck">
<variable>
<variableId>input1</variableId>
</variable>
<variable>
<variableId>input2</variableId>
</variable>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<minNumberOfValues>12</minNumberOfValues>
<logLevel>WARN</logLevel>
<logEventCode>TimeSeries.Check</logEventCode>
<logMessage>Not enough values available for time series %header%</logMessage>
</minReliableOrDoubtfulValuesCheck>
<minReliableValuesCheck id="MinReliableValuesCheck">
<variable>
<variableId>input1</variableId>
</variable>
<variable>
<variableId>input2</variableId>
</variable>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<minNumberOfValues>6</minNumberOfValues>
<logLevel>WARN</logLevel>
<logEventCode>TimeSeries.Check</logEventCode>
<logMessage>Not enough values available for time series %header%</logMessage>
</minReliableValuesCheck>
</secondaryValidation>
|
Configuration examples for checks for setting flags per time step
The expression is always an comparison. The comparison operator is within XML is one of .ne., .eq., .gt., .ge., .lt., .le..
A simple configuration example with for the seriesComparisonCheck is given below:
Code Block |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<secondaryValidation xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/secondaryValidation.xsd">
<!-- comparison between location variable and scalar, set to unreliable -->
<seriesComparisonCheck id="checkWithScalar">
<variableDefinition>
<variableId>H_obs_location1</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheck</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationId>location1</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<expression>H_obs_location1 .ge. 13</expression>
<validatingVariableId>H_obs_location1</validatingVariableId>
<outputFlag>unreliable</outputFlag>
</seriesComparisonCheck>
</secondaryValidation>
|
A more complex sample does a comparison for different parameters in similar location sets:
Code Block |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<secondaryValidation xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/secondaryValidation.xsd">
<!-- comparison of variables with similar location sets, different parameters, does comparison per location -->
<seriesComparisonCheck id="similarLocationSetSeriesComparisonCheck">
<!-- referred to by locationset1 and locationset2-->
<variableDefinition>
<variableId>H_obs1_location1</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs1</parameterId>
<locationId>location1</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<!-- referred to by locationset1 and locationset2-->
<variableDefinition>
<variableId>H_obs1_location2</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs1</parameterId>
<locationId>location2</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<!-- referred to by locationset1 and locationset2-->
<variableDefinition>
<variableId>H_obs2_location1</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs2</parameterId>
<locationId>location1</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<!-- referred to by locationset1 and locationset2-->
<variableDefinition>
<variableId>H_obs2_location2</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs2</parameterId>
<locationId>location2</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<variableDefinition>
<variableId>locationSet1</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationSetId>locationset1</locationSetId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<variableDefinition>
<variableId>locationSet2</variableId>
<timeSeriesSet>
<moduleInstanceId>SeriesComparisonCheckTest</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationSetId>locationset2</locationSetId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</variableDefinition>
<checkRelativePeriod unit="hour" start="-12" end="0"/>
<expression>locationSet1 .ne. locationSet2</expression>
<validatingVariableId>locationSet1</validatingVariableId>
<validatingVariableId>locationSet2</validatingVariableId>
<outputFlag>unreliable</outputFlag>
</seriesComparisonCheck>
</secondaryValidation>
|