Configuration for the Secondary Validation module
Entry in ModuleDescriptors
SecondaryValidation (since 2010_01)
The SecondaryValidation module can be used to perform certain checks on time series data and generate log messages when the specified criteria are met.
- Checks for counting reliable, doubtful, unreliable and missing values
An XML file for configuring an instance of the SecondaryValidation module called for example CheckImportedData would be the following:
CheckImportedData 1.00 default.xml
File name for the CheckImportedData configuration.
Flag to indicate the version is the default configuration (otherwise omitted).
A SecondaryValidation configuration file is typically located in the ModuleConfigFiles folder and can be used to configure one or more checks. The configured checks will be processed one by one in the specified order. The checks can generate log messages, which can trigger actions in the master controller, like e.g. sending warning e-mails. A special type of check is available for automatically modifying flags to 'doubtful' or 'unreliable' per time step when a condition on multiple time series becomes true.
Checks for counting reliable, doubtful, unreliable and missing values
These checks are intended for generating log events when a specific constraint is violated. The time series configured in these checks will be processed one by one. If a time series does not pass the check, then the configured log message is logged with the specified event code and level. The log event code can be used to trigger a certain action in the master controller, e.g. sending warning emails.
The following different types of checks are available:
- minNumberOfValuesCheck: Logs a message when there are not enough values within a configured period. This check is only useful for nonequidistant timeseries because also missing values are counted. In case of equidistant timeseries simply the number of timesteps in the relative viewperiod are returned.
- minNonMissingValuesCheck: Logs a message when there are not enough non-missing values within a configured period. A non-missing value is a value that is reliable, doubtful or unreliable.
- minReliableOrDoubtfulValuesCheck: Logs a message when there are not enough values that are reliable or doubtful within a configured period.
- minReliableValuesCheck: Logs a message when there are not enough reliable values within a configured period.
Check for setting flags per time step using an expression
The seriesComparisonCheck check is available for testing constraints between multiple time series per time step.
This check verifies constraints between multiple time series sets or multiple parameters and automatically modifies the flags per time step when the required input data was available (reliable or doubtful) and the specified expression is evaluated and is true.
Check for setting flags per time step using other timeseries
The flagsComparisonCheck check is available for comparing and setting flags for multiple time series per time step.
This check determines for each timestep the most unreliable input flag within the input flags, and if it is more unreliable than the output flag it updates the output flag.
Check for setting flags per time step using comparisons with neighbouring locations
The spatialHomogeneityCheck check is available for comparing and setting flags for multiple time series per time step.
This check determines for the selected output timeseries at each timestep the mean error with neighbouring locations. If the mean error exceeds the specified absolute threshold or exceeds the specified relative factor times the standard deviation, then the output flag is updated to the selected output flag whenever that new flag is more unreliable than the existing flag.
Check for detecting trends
The mannKendallCheck check is available for detecting trends. This can be useful for monitor sensors on drift.
The configuration contains variable definitions for one or more time series that can be used as input for checks. Each variable definition contains a variableId and a timeSeriesSet. The variableId can be used to reference the time series in a check. Alternatively, depending on which check it is, either variable definitions or variables can be embedded in the checks.
Multiple checks for a time series
When multiple Secondary Validation checks for a time series are necessary within 1 workflow, all checks should be present within 1 and the same module config file.
This is because at the beginning of the Secondary Validation module all previous secondary validations are being undone and for significant database performance reasons.