The secondary validation module also takes into account the time dependency of the locations. The secondary validation will only run if all of the used locations are valid. And the values of location attributes used in the
expression can be time dependent and are always resolved for the time step for which the validation is being done.
<seriesComparisonCheck id="timeDependentSeriesComparisonCheck"> <expression>output - A1 >@A@</expression> <validatingVariableId>output</validatingVariableId> <outputFlag>unreliable</outputFlag> <logLevel>DEBUG</logLevel> <logEventCode>SecondaryValidation.locationSeriesComparisonCheckUnreliable</logEventCode> <logMessage>%AMOUNT_CHANGED_FLAGS% flags set to %OUTPUT_FLAG% by [%CHECK_ID%, %EXPRESSION%].</logMessage> </seriesComparisonCheck>
In the example above the expression contains one location attribute A. But which location should be used to resolve this location?
Both variable output and variable A1 provide a location which could be usedto used to resolve the attribute. In addition it is possible to have several validating variables. In that case the expression is being used to validate several variables.
The secondary validation always uses the location of the time series for which it is validating. In the case that there are more than 1 validating variables the validation is done for each validation variable seperatly.
Because there will always be only one validating variable it is always determined which location should be used to resolve the location attributes used in the expression. The value of the variable can be time depedentWe chose to always use the value of the attribute of the output location in the expression.
Using the input is not very logical and in addition it would still not be clear which location to use in the case that the input consists of time series with more than one location.
But should be done in the case that more than one validating variable is configured? In that case the validation is being done for one validating variable at the time.
If 2 validating variables are being used. Lets say for example A and B than the secondary validation will first run for validating variable A and validate the time series defined by this variable.
In that case the location of variable A will be used to determine the value of the location attributes. After that the secondary validation will run for validating variable B which will mean that the location of this variable will be used.