Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
	<validationRule>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>reliable</outputValueFlag>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>15</inputMissingPercentage>
					<outputValueFlag>reliable</outputValueFlag>
					<outputCustomFlagSourceId>CA</outputCustomFlagSourceId>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>40</inputMissingPercentage>
					<outputValueFlag>doubtful</outputValueFlag>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>100</inputMissingPercentage>
					<outputValueFlag>missing</outputValueFlag>
	</validationRule>

Finally it is also possible to define validation rules based on the number of doubtful values in the input. It is even possible to define validation rules based on a combination of an allowed percentage of unreliable/missing values and doubtfull values.

Let's say for example that we also want rules to be defined for the doubtful input values. For example when only a small number of input values are doubtful we still want the output to be reliable. Otherwise we would like to have the output to be doubtfull but with an custom flag source which give us an indication of how many of the input values were doubtful.

Below a configuration example

Code Block

				<validationRule>
					<inputDoubtfulPercentage>10</inputDoubtfulPercentage>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>reliable</outputValueFlag>
				</validationRule>
				<validationRule>
					<inputDoubtfulPercentage>30</inputDoubtfulPercentage>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>doubtful</outputValueFlag>
					<outputCustomFlagSourceId>D1</outputCustomFlagSourceId>
				</validationRule>
				<validationRule>
					<inputDoubtfulPercentage>60</inputDoubtfulPercentage>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>doubtful</outputValueFlag>
					<outputCustomFlagSourceId>D2</outputCustomFlagSourceId>
				</validationRule>
				<validationRule>
					<inputDoubtfulPercentage>100</inputDoubtfulPercentage>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>doubtful</outputValueFlag>
					<outputCustomFlagSourceId>D3</outputCustomFlagSourceId>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>0</inputMissingPercentage>
					<outputValueFlag>reliable</outputValueFlag>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>15</inputMissingPercentage>
					<outputValueFlag>reliable</outputValueFlag>
					<outputCustomFlagSourceId>CA</outputCustomFlagSourceId>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>40</inputMissingPercentage>
					<outputValueFlag>doubtful</outputValueFlag>
				</validationRule>
				<validationRule>
					<inputMissingPercentage>100</inputMissingPercentage>
					<outputValueFlag>missing</outputValueFlag>
				</validationRule>
Configuration example
No Format
	<transformation id="aggregation accumulative">
		<aggregation>
			<accumulative>
				<inputVariable>
					<timeSeriesSet>
						<moduleInstanceId>ImportTelemetry</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>H.obs</parameterId>
						<locationSetId>hydgauges</locationSetId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="minute" multiplier="15"/>
						<relativeViewPeriod unit="day" startOverrulable="true" start="-7" end="0"/>
						<readWriteMode>read only</readWriteMode>
						<delay unit="minute" multiplier="0"/>
					</timeSeriesSet>
				</inputVariable>
				<outputVariable>
					<timeSeriesSet>
						<moduleInstanceId>Aggregate_Historic</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>accumulative</parameterId>
						<locationSetId>hydgauges</locationSetId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="hour" multiplier="1"/>
						<relativeViewPeriod unit="day" startOverrulable="true" start="-7" end="0"/>
						<readWriteMode>add originals</readWriteMode>
						<synchLevel>1</synchLevel>
					</timeSeriesSet>
				</outputVariable>
			</accumulative>
		</aggregation>
	</transformation>