3.3.0 Simulation phases

Simulation time-step phases

Note the colouring convention used to represent the various Source phases:

Undertaken if using River Operations
Plugins
Resource Assessment
Ordering phase
Run network
Ownership
Flow phase 

The phases of execution followed in a standard run are:

  1. Start the simulation time-step.
  2. Read and Assign input values from a time series for the current time-step. For example, if you are using an inflow node and the data source for the 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.
  3. Start River Operations mode (if used in the scenario): This overrides the values assigned from the input time series from the tabular view.
  4. Start the forecasting phase: Run the forecast models which do not use expressions (if River Operations is being used).
  5. Expression Editor StartOfTimeStep execution: This phase collects the variables and executes the expressions whose evaluation time is equal to ‘StartOfTimeStep’.
  6. Format the Tabular editor: The Tabular editor's cell highlighting can be driven by expressions. In this phase, all the expressions with evaluation time ‘StartOfTimeStep’ are evaluated to a boolean value, which can be used to colour a cell or bolden the text when the expression is true.
  7. Continue forecasting phase: Run the forecast models which use expressions (if River Operations is being used).
  8. River Operations override expressions and forecast values: If River Operations is used, then:
    1. Override the values generated by expressions.
    2. Override the values generated by forecast models.
  9. Plugins: All valid Source plugins will be notified before each simulation time-step is run.
  10. Initialise Resource Assessment:
    1. Enforces the rules for ordering/water accounting.
    2. Collects the variables and executes the expressions whose evaluation time is equal to ‘DuringResourceAssessment’.
  11. Ordering phase:
    1. Processes the release of water to supply downstream water orders.
    2. Collects the variables and executes the expressions whose evaluation time is equal to ‘DuringOrderingPhase’.
      NetLP Ordering: All the expressions with evaluation time ‘DuringOrderingPhase’ are evaluated
      1. Initialise NetLP iteration.
      2. NetLP iteration.
      3. Finalise NetLP iteration
      Rules Based Ordering: Steps i and iii above represent the phase where all the expressions with evaluation time ‘DuringOrderingPhase’ are processed.
      1. ProcessWaterUsers
      2. ProcessConstraints
      3. ProcessOrders
  12. Run the network by one time-step
    1. Order the nodes, links and catchments for sequential running.
    2. Then, for every element in the network:
      1. Collect model variables and execute expressions whose evaluation time is equal to ‘DuringFlowPhase’.
      2. Pre time-step phase of water ownership tracker.
      3. Pre-flow phase of river management. Generates additional release requests as off-allocation allocations are known at this point.
      4. The wetland cluster that the element belongs to is solved for this time-step.
      5. Flow phase is executed for the current simulation time-step.
      6. Post time-step phase of water ownership tracker.
      7. Post-flow phase of river management is run. In this phase, constraint factors are calculated in the new rules based ordering system. A constraint factor signifies a constraint relationship between actual flow and requested orders.
      8. Constituent modeling is executed.
  13. Resource Assessment PostRunTimeStep call: This phase fixes any shortfalls for ordering/water accounting.
  14. Finalise constituent modeling (marker routing).
  15. Recording phase: Writes the current time-step results to the requested recorders.
  16. Format the Tabular editor: Evaluates all the expressions with evaluation time ‘EndOfTimeStep’. Updates the Tabular Editor formatting according to the results from the current time-step.
  17. End of the forecasting phase.
  18. Expression Editor EndOfTimeStep execution: This phase collects the variables and executes the expressions whose evaluation time is equal to ‘EndOfTimeStep’.
  19. Plugins: All valid Source plugins will be notified after every simulation time-step is run.
  20. End of the simulation time-step.