Versions Compared

Key

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

...

Figure 3. Expanded Environmental Flow Manager Conceptual Model: Detailed flowchart for the 'Prioritise and activate/flag actions' box in Figure 2.

 


Environmental Flow Manager Prioritisation Phase:

...

  1. Update functions with time of evaluation of Environmental Flow Prioritisation
  2. Decide if the flow manager will run based on the decision point configuration
  3. Calculate Portfolio balancesBalances
  4. Run the main prioritisation loop

...

All functions are updated at the very start of the prioritisation phase. This is to ensure that any priority, estimated cost, balance adjustment and decision point functions can get updated before we begin the main section of the EFM prioritisation phase.  Any modelled variables used in the function will need to be evaluated at "Current ItertionIteration" to include previous decisons made.

...

If a function returns false, each group maintains the state it set to by the EFM during the last time the main priorisation loop occurred (i.e. any enabled groups will continue being enabled, even though the EFM has not run).

3. Calculate Portfolio

...

Balances

The balance of a portfolio is equal to:

...

Before any prioritisation can occur, the priorities of all actions associated with EFM are calculated. Only actions that are enabled at the node and are allowed to order are considered by the EFM.

The priority of a an action is defined as:

Priority = (1- Condition ) x / Importance

where Condition unless specified by the user is equal to

Condition = EXP(- time Time since last successful spell in a successful season/average return interval)

...


CommitEstimatedCostToPortfolios will distribute the estimated cost of a group across portfolios so that the Portfolio.AvailableWater is reduced. This distribution works in a similar way to distribution of water user orders to supply points. That is, the cost will be split across the highest priority portfolios first in the share percentages specified in the portfolio configuration. Lower priority portfolios will only be used once higher priority portfolios have no available water.

Once the prioritise are priorities are calculated, the main loop begins:

...

It is important to note a few things in the above psuedo pseudo code. First, groups are prioritised in the following order: Groups that were actively ordering last timestep, groups that were enabled the last time the EFM was run will be prioritised before other groups that were not, regardless of priority. Secondly, if a group has no actions that are in season today, they will always be disabledthen by priority. The ReducePortfoliosByCost function is the same as described above.

...

The environmental flow manager sorts groups of actions into ascending priority order by examining the priority values generated for each action by the importance and condition functions. The condition is calculated by default by dividing the average desired return interval by as the natural exponent of the number of days since last success (with values limited to maximum of 1)divided by the average desired return interval. This can be replaced by a user specified condition function. The importance weighting is calculated using a user defined function, which allows flexibility in the way the events are prioritised and coordinated.

Priority = (1- Condition ) x / Importance

If groups have the same priority value, then they are ranked by the importance values, then by the condition. The priority of a group is considered to be equal to that of the highest priority action within that group. Priority can be 0, or even negative, and these are considered a higher priority than any positive value. 

If all actions in a groups have an importance of <= 0, the group is disabled.

The environmental flow manager will not enable an action if it returns an importance value of zerothat is zero or negative. Groups with any actions with importance > 0 will still be enabled along with any actions in them. To disable a group with multiple actions all actions would need to have importance = 0.

...

The default condition calculation if not specified by the user is EXP(- time Time since last successful spell in a successful season/average return interval)

If actions have the same priority (or actions within a group have the same priority), the logic to determine which action should order (and hence pay) is as follows:
order by priority;
then by importance;
then by condition (descending);
then by name

Environmental Flow Prioritisation Phase

All functions are set by default to evaluate at the start of time step, environmental flow prioritisation phase is an advanced usage. If enabling one group has dependencies on another group (e.g. the cost or importance are a function of another group being enabled or not), the functions will need to be evaluated multiple times during prioritisation, and therefore the time of evaluation in the for the function needs to be set to 'Environmental Flow Prioritisation phase is indicated'. This allows the cost of actions, and hence groups, to be recalculated based on the groups which have already been enabled or disabled. This recalculation occurs each time a group is enabled or disabled.

...

An action will effectively be disabled if the flow manager does not allocate water to its group, however, the action will still monitor the flow based on action definition. 

When an action is disabled at the EFN, the action has effectively been turned off for the whole run, as opposed to the enabling/disabling by the manager which is dynamic.

Portfolios

Each account within a portfolio can have a balance adjustment specified.  A negative balance adjustment means that water is reserved for later use, or for carry over at the end of the water year. A positive balance adjustment represents an expectation that more water will become available before it is needed during the action's season.

Portfolio Account Balances + Portfolio Balance Adjustments = Balance considered when evaluating against Estimated Costs David Hehir (Deactivated)