...
This functionality is available from Delft-FEWS version 2015.02 onwards.
For background of validation functionality and quality flags within Delft-FEWS, please see this presentation.
Use Cases
Validation Status should support the users in their specific validation practices and allow the users to confirm that the data has been adequately validated. The following use cases will be supported:
...
The flagSourceColumns can only contain the existing flagSources. Also see D Time Series Flags. These flagSources will automatically be set to the flagSource Column when a flag is changed in the respective validation step
Primary Validation | FlagSource |
soft min. | SN |
hard min. | HN |
soft max. | SX |
hard max. | HX |
rate of rise | ROR |
rate of fall | ROF |
same reading | SR |
temporary shift | TS |
oscillation | OSC |
...
Secondary Validation | FlagSource |
spatialHomogeneityCheck | SH |
seriesComparisonCheck | SC |
minReliableValuesCheck | RV |
minReliableOrDoubtfulValuesCheck | RDV |
minNumberOfValuesCheck | NV |
minNonMissingValuesCheck | NM |
mannKendallCheck | KT |
flagsComparisonCheck | FC |
flagPersistencyCheck | FP |
...
To support transformation and visual validation steps, custom flagSources can be configured in the customFlagSources configuration file, see 27 CustomFlagSources.
Tranformation/Manual | Custom FlagSource |
default validation (success) | OK |
Interpolation small gap | SG |
Interpolation large gap | LG |
...
An option 'Validation Steps' is available in the table view options (when flagSource Columns are configured). When this option is activated, all flagSource Columns that are either filled (the validation step has been performed) or are configured 'editable' will be shown next to the value column. The header of the flagSource Columns is equal to the configured 'shortName' and when the user hoovers above the header, a configured tooltip for the flagSource Column is shown.
The order in which the flagSourceColumns are configured should reflect the sequence of the respective validation steps in the validation process. This order is also used in the timeseriesDisplay - tableview, when the 'Validation Steps' are visualized. Note that the order in the configuration file is from top (first validation step) to bottom (last validation step), in the interface the order is from right (first) to left (last).
...
When a data value is deleted (either by the user or by a different action), the flagSources for that timestep will remain. For an individual value in the time series table, the history of that value can be shown using the right-mouse menu - Show history (CTRL+H). This menu also shows the 'state' of the flagSourceColumns for each time the value was changed in the datastore.
Anchor | ||||
---|---|---|---|---|
|
Since 2016.01 it is possible to open up 'Time of Validity' (Tv) related functionality in the timeSeries display, by configuring a timeOfValidity element in the flagSourceColumns.xml configuration file.
Activating Time of Validity 'mode'
...
Besides the functionality as described below, when the Tv button from the toolbar is activated, the time series display will be set to 'edit mode' automatically.
Definition Time of Validity
...
It is noted that the this automatic ordering of the display nodes within a (sub)directory will only be executed at the moment the Tv button is selected. When a validator wants to update the sorting, the Tv button can be de-activated and activated again.
View period and cursor behaviour
...
Note: the cursor will update to the last time step for which data is available
Update Tv flagSource column
...
The update will only take place for the view period of the display. When this update function is used when Tv is outside the view period of the display, a pop up will be displayed warning the user that a validation gap would be created. The update action will not be performed in this case. This might for example happen when the validator updates the flagSourceColumns using the functionality described above - without saving. Delft FEWS does not know in that case that the Tv should be updated, as the Time of Validity is only recalculated after the timeSeries have been saved.
Export of flagSourceColumns
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <timeSeriesImportRun 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/timeSeriesImportRun.xsd"> <import> <general> <importType>generalCSV</importType> <folder>../junit_test_output/nl/wldelft/fews/system/plugin/dataImport/TimeSeriesImportTestData/import/generalcsv</folder> <table> <dateTimeColumn name="DATE" pattern="dd-MM-yy HH:mm"/> <locationColumn name="LOC"/> <unitColumn name="UNIT"/> <parameterColumn name="PARAM"/> <flagSourceColumn id="A" name="FS_A"/> <!-- column with name fs a will be mapped to the flag source column with identifier A --> <flagSourceColumn id="B" name="FS_B"/> <flagSourceColumn id="C" name="FS_C"/> <flagSourceColumn id="D" name="FS_D"/> <flagSourceColumn id="E" name="FS_E"/> <valueColumn name="VALUE"/> </table> <logWarningsForUnmappableLocations>true</logWarningsForUnmappableLocations> <logWarningsForUnmappableParameters>true</logWarningsForUnmappableParameters> <logWarningsForUnmappableQualifiers>true</logWarningsForUnmappableQualifiers> <maxLogWarnings>1000</maxLogWarnings> <missingValue>-999</missingValue> <importTimeZone> <timeZoneOffset>+01:00</timeZoneOffset> </importTimeZone> <dataFeedId>generalCSV</dataFeedId> </general> </import> </timeSeriesImportRun> |
...
The CSV file for this example could look like this:
Code Block | ||||
---|---|---|---|---|
| ||||
DATE,LOC,VALUE,UNIT,PARAM,FS_A,FS_B,FS_C,FS_D,FS_E 01-01-81 00:00,H-2001,2.3,m,P.m,OK,OK,OK,OK,OK |
Note that during import, the mapping goes from 'name' to 'id'. When importing the data, the flagSourceColumnId's should be configured in the flagSourceColumns configuration file.
...
It is not possible to copy flagSource columns in a transformation to another timeseries.