Function: | Qualifiers to parameters |
Where to Use? | Time series |
Why to Use? | To reduce the number of parameters |
Description: | Gives a qualifier to a parameter, like "minimum" of "observed" |
Available since: | DelftFEWS200803 |
Contents
Overview
To be able to give additional information to a parameter without creating lots of extra parameters, we introduced the feature of qualifiers. Qualifiers are used to define a unique time series, next to the locationId and parameterId. Examples are series where you want to derive the daily minimum, maximum and mean values of an observed series of water levels. The original series is a regular series with parameterId "H" and no qualifier, where the other series have the same parameterId "H", but qualifiers like "min", "mean" and "max".
Configuration
Qualifier definition
Qualifiers are defined in the regionConfigFiles directory. When available on the file system, the name of the XML file is for example:
Qualifiers 1.00 default.xml
An example looks like:
<?xml version="1.0" encoding="UTF-8"?> <qualifiers 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/qualifiers.xsd"> <qualifier id="min" name="min"> <description>minimum</description> </qualifier> <qualifier id="max" name="max"> <description>maximum</description> </qualifier> </qualifiers>
Qualifiers can also be defined in an csv file:
<?xml version="1.0" encoding="UTF-8"?> <qualifiers 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/qualifiers.xsd"> ... <csvFile> <file>vissen_lengteklasse.csv</file> <id>%qualifierId%</id> <name>%qualifierName%</name> <group>Vissen lengteklasse</group> <attribute id="ExternalQualifierId"> <text>LNG_KLAS_%qualifierId%</text> </attribute> </csvFile> ... </qualifiers>
Time Series
The most useful way is first to read all locations from the DBF into one locationSet, where all attributes are assigned.
See for example:
<timeSeriesSet> <moduleInstanceId>ImportCAW</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.meting</parameterId> <qualifierId>min</qualifierId> <locationSetId>Boezem_Poldergemaal_H.meting</locationSetId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="nonequidistant"/> <relativeViewPeriod unit="day" start="-6000" end="0"/> <readWriteMode>editing visible to all future task runs</readWriteMode> <synchLevel>5</synchLevel> </timeSeriesSet>
Qualifier Tree
<qualifierRootNode id="Hydrobiologie"> <qualifierNode id="Taxa"> <qualifierNode id="Alle taxa"> <constraints> <attributeExists id="Qualifier_TAXA"/> </constraints> </qualifierNode> ... <qualifierNode id="Macrofyten"> <qualifierNode id="ALGAE"> <constraints> <attributeTextEquals id="Type" equals="MACFT"/> <attributeTextEquals id="Groep" equals="ALGAE"/> </constraints> </qualifierNode> <qualifierNode id="ANGIO"> <constraints> <attributeTextEquals id="Type" equals="MACFT"/> <attributeTextEquals id="Groep" equals="ANGIO"/> </constraints> </qualifierNode> <qualifierNode id="SPORO"> <constraints> <attributeTextEquals id="Type" equals="MACFT"/> <attributeTextEquals id="Groep" equals="SPORO"/> </constraints> </qualifierNode> </qualifierNode> ... </qualifierRootNode>