Note: This is documentation for version 5.12 of Source. For a different version of Source, select the relevant space by using the Spaces menu in the toolbar above
Simulation phases details
Simulation time-step phases
The steps below outline the phases of execution in a standard Source run.
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
- 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
- Environmental Flow Manager Phase
- Water User and Constraint Phase
- Evaluate functions and modelled variables - where Time of Evaluation equals Water User & Constraint Phase and where the function is not used at a network element.
- Process Water Users:
- Water User order calculations can be run in Parallel at this point in the ordering phase with the option enabled: "Process Water User Orders in Parallel": Scenario Options \ Performance
- For each Water User:
- Evaluate functions and modelled variables - where Time of Evaluation equals Water User and Constraints Phase, and where the function is used at this Water User.
- Calculate and distribute the demands of each Water user.
- Constraint 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 minimum and maximum constraints at each element and pass the constraints downstream.
- For each Network Element:
- 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 or is used at a Water User.
- 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:
- Continue forecasting phase: Run the forecast models which do use functions.
- 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.
- Catchments can be all run in Parallel at this point in the flow phase with the option enabled: "Run Catchments in Parallel": Scenario Options \ Performance
- 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 storage release requests to distribute allocated volume to according to shares
- 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 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.