Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

required element used to identify the timeSerieSet.

...

Code Block
xml
xml
titleExample variable definitionxml
	<variable>
		<variableId>SVKW.position.in</variableId>
		<timeSeriesSet>
			<moduleInstanceId>RMM_Structures_Forecast_Processing_Extrapolate</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>State.position.meting</parameterId>
			<locationId>SVKW</locationId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="minute" multiplier="10"/>
			<relativeViewPeriod unit="day" start="0" end="1" endOverrulable="true"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</variable>
	<variable>
		<variableId>SVKW.position.dss</variableId>
		<timeSeriesSet>
			<moduleInstanceId>RMM_DecisionTree</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>State.position.meting</parameterId>
			<locationId>SVKW</locationId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="minute" multiplier="10"/>
			<relativeViewPeriod unit="day" start="0" end="1" endOverrulable="true"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</variable>

...

For each barrier a decisionTree is configured. Each decision element in this decisionTree should be unique (i.e. at each moment in time only one element can be valid).

...

Code Block
xml
xml
titleExample decistionTreexml
	<decisionTree>
		<barrierId>scheepvaart</barrierId>
		<decision id="Stremming (peilsluiting)">
			<evaluationType>lastKnownState</evaluationType>
			<stateDefinitionId>scheepvaart</stateDefinitionId>
			<inputState>
				<stateValueId>geen stremming</stateValueId>
			</inputState>
			<conditionRules>
				<allValid>
					<anyValid>
						<isTrue>H.rotterdam.d</isTrue>
						<isTrue>H.dordrecht.d</isTrue>
					</anyValid>
					<isFalse>Q.lobith</isFalse>
				</allValid>
			</conditionRules>
			<transitionRules>
				<anyValid>
					<isTrue>scheepvaart.stremming.peilsluiting.rotterdam</isTrue>
					<isTrue>scheepvaart.stremming.peilsluiting.dordrecht</isTrue>
				</anyValid>
			</transitionRules>
			<outputState>
				<stateValueId>gestremd</stateValueId>
			</outputState>
		</decision>
		<decision id="Stremming (kenteringsluiting)">
                   ...
		</decision>
		<decision id="Vrijgeven scheepvaart">
                   ...
		</decision>
	</decisionTree>

...

The last section of this file deals with the evaluation of the decision logic. If we are in the first step of the iterative loop, the last know system (barrier) state is used as initial value. The section within the 'initialConditionalWorkflow' tag is run, where the timeSeriesSets associated with the variableId's are used for initial values. From this workflow the (external) model is called (for example, a workflow through which Sobek is run from the FEWS General Adapter).

...

Code Block
xml
xml
titleExample decisionEvalutionxml
	<decisionEvaluation>
		<initialConditionalWorkflow>
			<variableId>SVKH.position.in</variableId>
			<variableId>SVKW.position.in</variableId>
			<variableId>scheepvaart.in</variableId>
			<workflowId>Sobek_DSS_Forecast</workflowId>
		</initialConditionalWorkflow>
		<conditionalWorkflow>
			<variableId>SVKH.position.dss</variableId>
			<variableId>SVKW.position.dss</variableId>
			<variableId>scheepvaart.dss</variableId>
			<stateChanges>
				<evaluationType>FirstInTime</evaluationType>
				<stateChange>
					<decisionTreeId>SVKH</decisionTreeId>
				</stateChange>
				<stateChange>
					<decisionTreeId>SVKW</decisionTreeId>
				</stateChange>
				<stateChange>
					<decisionTreeId>scheepvaart</decisionTreeId>
				</stateChange>
			</stateChanges>
			<workflowId>Sobek_DSS_Forecast</workflowId>
		</conditionalWorkflow>
	</decisionEvaluation>

...