Versions Compared

Key

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

...

Code Block
xml
xml
titleExample variable definition
	<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>

...

If certain criticalConditions are met, at a certain moment the state transition should be activated. The moment at which this occurs will be determined by the transitionRules.

Schema definition

DecisionTrees definition

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).

Decision definition

DecisionEvaluation

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 decisionEvalution

	<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>

...

After running the model for the first time, we need to evaluate the decision logic prior to a (possible) second run. If a state change occurs in the decisionTree, we need to run the model again taking this state change into account. From the second iteration and onwards, the section within the 'conditionalWorkflow' tag will be run. Note that we need to evaluate three state changes in this case (SVKH = the position of the Hartelkering, SVKW = the position of the Maeslantkering and scheepvaart = the "shipping state"), each of which has a separate decisionTree definition.

evaluationType

If one state variable changes value, this will change the overall system state, and hence may effect the evaluation of the other state variables. There are to options which can be defined:

  • All: all state variable changes will be taken into account in the next iteration.
  • FirstInTime: if there is a state change in more than one state variable, only the state change which occurs first in time should be taken into account in the next iteration. After a new iteration with the model, the other state values will be re-evaluated in this case.