Simulation phases
Simulation time-step phases
The steps below outline the phases of execution in a standard Source run. A more detailed series of steps, along with their explanation can be downloaded here.
The phases of execution followed in a standard run are:
- Start the simulation time-step.
- Read and Assign input values from a time series for the current time-step. For example, if the data source for an inflow node is a time series, then a value is read from the time series corresponding to the current time-step and assigned to the inflow node.
- Start River Operations: This overrides the values assigned from the input time series from the tabular view.
- Start the forecasting phase: Run the forecast models which do not use functions.
- Evaluate functions and modelled variables - where Time of Evaluation equals Start Of TimeStep
- Continue forecasting phase: Run the forecast models which do use functions.
- River Operations override functions and forecast values: If River Operations is used, then:
- Override the values generated by functions.
- Override the values generated by forecast models.
- Plugins: All valid Source plugins will be notified before each simulation time-step is run.
- Resource Assessment Phase
- For each Resource Assessment System
- Evaluate functions and modelled variables - where Time of Evaluation equals Resource Assessment.
- Process Resource Assessment System.
- For each Resource Assessment System
- Ordering phase:
- Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase and where the function is not used at a network element.
- Process Water Users:
- For each Water User:
- Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this Water User.
- Calculate and distribute the demands of each Water user.
- Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this Water User.
- For each Water User:
- Constraint Phase:
- For each Network Element:
- Calculate minimum and maximum constraints at each element and pass the constraints downstream.
- For each Network Element:
- Ordering Phase:
- For each Network Element:
- Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this network element.
- Calculate regulated orders and pass upstream.
- Calculate off allocation orders and pass upstream.
- For each Network Element:
- Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase and where the function is not used at a network element.
- Flow Phase
- Evaluate functions and modelled variables - where Time of Evaluation equals Flow Phase and where the function is not used at a network element.
- For each Network Element:
- Evaluate functions and modelled variables - where Time of Evaluation equals Flow Phase, and where the function is used at this network element
- Water Ownership - pre-timestep calculations
- Off Allocation: Generate additional release requests
- The wetland cluster that the element belongs to is solved for this time-step.
- Execute element flow phase calculations
- Water Ownership - post-timestep calculations, and colouring of water
- Calculate Constraint Factors for element
- Constituent modeling is executed.
- Evaluate functions and modelled variables - where Time of Evaluation equals Flow Phase and where the function is not used at a network element.
- Evaluate functions and modelled variables - where Time of Evaluation equals Post Flow Phase.
- Resource Assessment Post TimeStep Phase.
- Finalise constituent modeling (marker routing).
- End of the forecasting phase.
- Evaluate functions and modelled variables - where Time of Evaluation equals End of TimeStep.
- Evaluate modelled variables - where Time of Evaluation equals Post Function Evaluation.
- Recording phase: Writes the current time-step results to the requested recorders.
- Plugins: All valid Source plugins will be notified after every simulation time-step is run.
- End of the simulation time-step.