Versions Compared

Key

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

Document History

Date

Author

Revision

Description of Change


 

Linda Holz

0.1

First draft

Oct 2011

Chris Wilson

 


Review comments provided by Chris Wilson

Apr 2012

D Black

0.2

Extensively modified, using Specification version 0.8 as the basis but also incorporating feedback from Chris Wilson where possible. Needs reviewing again and further input by SMEs, especially as there is one code segment in it (from the specification) which needs to be converted into SRG description.

Mar 2015

D Black

0.3

Incorporates feedback from Chris Wilson and some input from Geoff Podger re thresholds (Figs 1 and 2).

Apr 2015

D Black

0.4

Incorporates 2nd round of feedback from Chris Wilson; 0.4a includes modified figs 1 and 2 incorporating feedback from Perlita

May 2015

G. Podger

0.5

Review of methodology

Mar 2017

G.Podger

0.6

Align method with code implementation in Source

 


Overview

Description and rationale

...

Flow event triggers are based on flows exceeding flow thresholds at an OAN. These thresholds may be fixed numbers or a function and different thresholds can be specified for commencing and ending the off allocation event. The event triggers may be optionally constrained by a seasonal period and a maximum flow threshold, which may be a fixed number or function. The threshold can be configured to be based on total flow (Figure 1) or flow above orders (Figure 2). In the case where triggers are based on flow, the larger of orders and event trigger is adopted as the threshold. The off allocation volume may be determined as flow above threshold (Option 1 2 and 3 in respective Figures 1 and 2) or flow above orders (Option 2 1 and 4 in respective Figures 1 and 2).

...

Figure 1. Off-allocation thresholds based on total flow

 


 Figure 2. Off-allocation thresholds based on orders

OAThresholds-Order1.png OAThresholds-Order2.png

...

Note that although Ownership is not configured directly for an off-allocation system, off-allocation flow sharing is always used in conjunction with a resource assessment system. When off-allocation sharing is configured for a scenario, it must be linked to an associated resource assessment system by the modeller. If ownership has been configured for the linked resource assessment system then that owner’s share of flow at the OAN is subject to owner shares of the off allocation volume.

 


Methodology

Variables Used

...

Symbol

Purpose/Description

Units

Usage

a

A water user account at the OAN.

 n/a

Initialisation, Flow

AccessRatio(a,owner)

Ratio of allocation to request volume for an account (representing a water user and owner). Indicates whether there is an excess to reallocate to other owners and/or water users.

n/a

Flow

Allocated

Total volume allocated to all accounts at the current priority level, p.

volume

Flow

Allocation(a)

The volume of water allocated to an account

volume

Flow

Balance(a,t)

Balance of a water user account in a time step, t. This is the volume of off-allocation water assigned to the associated water user and owner that is expected to arrive at the water user's location (e.g. Supply Point Node) in the time step.

volume

Flow

Cap(a)

Account cap for an account a – representing the maximum usage permitted for the account in the water year.

volume

Flow

Cap(type)

Cap at the OAN represented by the account type, type, representing the maximum off-allocation usage permitted at the OAN in the water year.

volume

Flow

Cap(system)

Cap for an off-allocation system, system , representing the maximum usage permitted for the off-allocation system in the water year.

volume

Flow

DeliveryEff(a)

Factor that represents the efficiency of delivery of water requested using water user account a.

 n/a

Flow

Excess

Total volume allocated that is in excess of the system cap

volume

Flow

Flow

The volume of flow in the river at the OAN for the current time step

volume

Flow

InitialUsage(a)

The initial usage figure set by the user for the account a.

volume

Initialisation, Flow

LimitUsage(a)

Maximum remaining usage for the water user account a in the current time step. This may be the total remaining request. If the account's usage is capped, the remaining usage will be limited by the remaining usage under the cap.

volume

Flow

LimitUsage(system)

The maximum volume of water left to be allocated to accounts in the OAN's system in the current water year. This limitation only applies to systems with a usage cap.

volume

Flow

Loss(wu, owner
Loss(wu, other)

An owner's share of the estimated volume of loss that will be incurred in delivering a water user's request leaving the OAN this time step.

volume

Flow

MaxQ

Maximum flow threshold, used for defining off-allocation events (see Figures 1 and 2)

volume

Flow

MinRatio

Minimum usage ratio for all OAN accounts at the current priority level.

n/a

Flow

NextRatio

Next lowest usage ratio after the minimum for all accounts at the current priority level

n/a

Flow

OrderDue

Total volume of order due at the OAN in the current time step.

volume

Flow

OrderDue(owner)

Volume of order due at the OAN in the current time step for owner.

volume

Flow

OrigRequest(a)

The saved value of Request(a) before the allocation process begins.

volume

 Flow

OrigRequest(a, owner)

The saved value of Request(a, owner) before the allocation process begins.

volume

 Flow

owner

A water owner at the OAN

n/a

Configuration, Flow

other

A different water owner to owner at the OAN

n/a

Flow

p

The current priority level
Each account at the OAN represents a downstream water user's supplementary entitlement to each owner's off-allocation flow at the node. These accounts are assigned a priority level by the modeller – which effectively prioritises the access of the downstream water user to off-allocation water. The lowest number has the highest priority.

n/a

Flow

Proportion

Proportion by which allocations at the current priority level in the current time step need to be reduced so that they fit within the system cap.

n/a

Flow

RatioOffAlloc(owner)

An owner's share of the total off-allocation volume remaining to be allocated this time step at the OAN.

n/a

Flow

Request(a)

The volume of off-allocation request placed for account a of water user wu up-scaled for loss to the total required at the OAN.

volume

 Flow

Request(a,owner)

The volume of off-allocation request placed for a water user and owner up-scaled for loss to the total required at the OAN.

volume

 Flow

RequestAtSource(a)

The volume of off-allocation request placed for account a of water user wu at its location (e.g. at a Supply Point Node).

volume

 Flow

ReserveProp(type)

Configured proportion of off-allocation flow reserved (not available for allocation) at the OAN (represented by account type type )

n/a

Configuration, Flow

sa

A water user account in a given off-allocation system

n/a

Flow

ShareVolume(a)

The volume of off-allocation water to be shared to account a in the current time step.

 


Flow

ShareVolumeAtSource(a)

The volume of off-allocation water to be shared to account a in the current time step, reduced for delivery efficiency so that it is the amount available at the water user's location (e.g. at a Supply Point Node).

volume

Flow

system

An off-allocation system

n/a

Configuration, Initialisation, Flow

t

Index of the current time step

n/a

Flow

tdelivery(a)

Estimated number of time steps to deliver water from the OAN to the water user's supply point for account a .

n/a

Flow

type

The account type which represents the OAN in the off-allocation system.

n/a

Flow

TotalUnitShare(p)

The total number of specified unit shares for all OAN accounts at a priority level p .

n/a

Configuration, Flow

UnitShare(a)

The number of specified unit shares for a water user's account a at the OAN.

n/a

Configuration, Flow

Usage(a)
Usage(sa)

The usage to date (in the water year) for a water user account which includes undelivered off-allocation water. This value is reset at the start of a water year.

volume

Flow

UsageRatio(a)

The usage to shares ratio for an account a - this is used to equalise allocations between accounts at the same priority level.

n/a

Flow

VolOffAlloc

Total volume of off-allocation water at the OAN remaining to be distributed in the current time step.

volume

Flow

VolOffAlloc(owner)

Volume of an owner's off-allocation water at the OAN remaining to be distributed in the current time step.

volume

Flow

wu

A water user with an account at the off-allocation node.
Note: recall the definition of "water user" in the list of Definitions.
We have to be a little careful here. I couldn't find my comment on being the same thing, but the main difference from a coding point of view between an account a and a water user wu, is that a water user isn't ever an account of an off allocation account type. The supply point is the account. What this means is that a water user can be associated with many accounts. This has ramifications for the way water is allocated to an account. As an example if a water user is attached to 2 supply points, then it will send the same request up both branches of the system. This means that we have to make sure this request is not over fulfilled, so when the off allocation node goes to distribute off allocation allocations to users, it first checks that any requests from associated water users to the account have not already been fulfilled by accounts on other off allocation nodes. Realise this is confusing, so happy to sit down and talk you through it.

Generally speaking I think we need to be careful how we use these terms and make sure we only use primarily 1 (prob 'a') unless necessary.

n/a

Configuration, Initialisation, Flow

...

  1. The total usage for all the accounts associated with each OAN is initialised by adding the initial account usage volumes as defined by the modeller (Note: If the account holder is a downstream OAN then the initial usage for the account type is the sum of all water users which have accounts at that OAN account type.)

    For each account at the OAN (i.e. of its account type):
    1. Initialise usage for the account:

    2. If usage at the OAN is capped, the account is assigned its share of the usage cap, and the remaining balance to be used is determined:

       


  2. The system's usage limit (usage remaining under system cap level) is initialised:

    1. If a system cap limit has been specified by the modeller, the remaining system cap is set, based on the cap and usages:

...

  1. Save each owner's request for off-allocation water (the volume at the OAN; i.e. adjusted for losses).


  2. If ownership is enabled and there is more than one owner, the owner loss contribution, Loss(wu, owner), in meeting the request for each water user at the OAN, are determined. Determine the loss contribution of each owner describes how this is done.

  3. The volume of off-allocation water that is available, VolOffAlloc , is calculated. See Determine the off-allocation volume below for details.

  4. The off-allocation water is allocated. If ownership is not enabled or there is only one owner, the steps below are only performed once. When there are multiple owners, they are repeated until either there is no off-allocation water to share, or all requests are met, or the system's usage limit has been reached (if there is such a limit).

    1. A check is made to see whether there is any off-allocation water to allocate, or not. If there is no off-allocation water (remaining) to share (ie. if VolOffAlloc = 0  or VolOffAlloc < lowest volume allocation level ), the allocation procedure stops here.

    2. How much of the total requested volume at the OAN can be met/supplied is determined.

       


      If met ≤ 0 , the allocation procedure stops here. 


    3. If there is a usage cap defined for the off-allocation system, a check is made to see if there is remaining usage capacity. This is calculated based on the current usages of all accounts a at every OAN in the off-allocation system:

       


      If LimitUsage(system) = 0 , there is no remaining system cap to share, so the allocation procedure stops here.

    4. The off-allocation delivery efficiency is determined for each account using the following equation:


      where a is the account for a downstream water user. (Recall that each water user which requires off-allocation flow to be allocated to them from a particular OAN in the river system holds one off-allocation account at that node.)

    5. Determine the maximum volume of a request remaining to be fulfilled for each off-allocation account at downstream water users:
      1. If there is a usage cap configured, it is the smaller of the request and the remaining usage cap

      2. Otherwise, it is the requested volume



      3. If no account has LimitUsage(a) > 0 , the allocation procedure stops here.

    6. Off-allocation water is allocated to accounts at the OAN. At every priority level, in order from highest to lowest, the following occurs:
      1. If the equalise shares option has been selected, account allocations/usages at a given priority level are equalised based on their usage to shares ratio. Equalise shares of off-allocation water describes how this is done.

      2. Remaining off-allocation water is allocated to accounts at the given priority level according to account shares. Allocate off-allocation water to accounts based on shares describes how this is done.

    7. At this stage the OAN may have met each of the water user's owner requests and thus supplied more water than the water user requires – as the total request was placed for every owner. The steps that follow check for this and re-distribute any excess allocation – firstly to other water users of the same ownership, then to other water users. The process depends on how many owners there are:

      If ownership is disabled or there is only one owner, usage is simply updated:


      Otherwise (i.e. there is more than one owner):

      1. Any excess is redistributed according to the method described in Re-distribute off-allocation excess.

      2. The usage for this round of allocation is updated



      3. Return to step 3. The next round will redistribute any losses met by other owners to water user accounts with insufficient water to meet requests.

  5. Account balances for every account at the OAN are updated

...

  1. Limit the share volume for an account (Note that if LimitUsage(a) is not specified by the modeller its value defaults to a very big number):




  2. Reduce the volume of off-allocation water available to share



  3. Calculate the volume that this represents at the source



  4. Calculate allocations for the account for each user and adjust the usage limits if required.





  5. If a system cap has been specified and would be exceeded by allocations in the current time step, then allocations are reduced to fit within cap (otherwise this step is skipped).
    1. Sum the allocations for each user in the current priority level

    2. Calculate the volume by which the system cap would be exceeded based on potential allocations

    3. Calculate the proportion that each allocation would have to be reduced by to meet the system cap restriction

    4. For each OAS node account at the current priority level allocations are adjusted so that they do not exceed the system cap, taking into account the efficiency factors, then the limits for the adjustment are updated:







...

  1. The excess off-allocation volume available for re-distribution is initialised:

  2. For each water user, excess off-allocation water is redistributed:
    1. The access ratio for each off-allocation account and the total of these account ratios for each water user are determined, 
      where a is the account for water user and owner owner.

    2. The access ratio is checked to determine whether water in excess of the total request has been allocated:
      1. If AccessRatio ≤ 1 , there is no excess to redistribute. The remaining request to be met is calculated as:


        Skip to the next water user.

      2. Otherwise processing continues in order to redistribute excess between owner accounts.

      Distribution of a water user's excess off-allocation water
      Assuming that a water user will try and maximise its access to off allocation water, Source uses each owner's off-allocation water on the basis of its allocation (an indication of licence priority), or its remaining capacity to receive water if accounts are capped. The account with the largest allocation has this adjusted first until it is the same as the next largest, and so on. This cycle is repeated until all the excess off allocation water is allocated or accounts have no remaining capacity to receive water.

    3. The new allocation for each water user's off-allocation account is initialised:

      1. If accounts are capped:

      2. Otherwise


        where a is the account for water user and owner owner.

    4. The owner accounts for each water user are ranked in order of allocation, newAlloc(owner), from highest to lowest.

    5. Excess is allocated to owners in the ranked order until the total remaining request volume is met, but the allocation is equalised so that lower priority owners also get some water – the result is a new 'equalised' allocation, newAlloc(owner).

      Code Block
      remvol= Requestwu
      do i= 2, nowner
      	sum= 0
      	do j= 1, i-1
      		sum= sum +rembal(ptr(j))
      	end do
      	vol= min(remvol,sum-rembal(ptr(j)*(i-1))
      	do j= 1, i-1
      		rembal(ptr(j))= rembal(ptr(j))-vol/(i-1)
      	end do
      	remvol= remvol - vol
      	If( remvol <= 0 ) exit
      end do
      if( remvol > 0 ) then
      	sum = 0
      	do j= 1, nowner
      		sum= sum + rembal(ptr(j))
      	end do
      	vol= min(remvol,sum)
      	do j= 1, nowner
      		rembal(ptr(j))=rembal(ptr(j))-vol/nowner
      	end do
      	remvol= remvol- vol
      end if
    6. The allocation for this time step is updated for the re-distribution: 

    7. The remaining volume of off-allocation water not required by this water user is added to the total to be reallocated to other water users:

    8. The off-allocation volumes are adjusted for losses met by other owners:

      Every owner's ratio of the total off-allocation volume is calculated:

      The loss met by every other owner is their loss volume (calculated in Step 2 under Flow Phase (Resource Assessment and Allocation)) multiplied by their share of the off-allocation volume. This means that for a given owner, the off-allocation volume adjusted for other owner losses is:

  3. Indicate that the water user's request has been met: 

    Request(a,owner) = 0

 


Examples

Opportunistic requests in parallel systems

...

Each OAN processes the orders for its direct users downstream (including the next downstream OAN) and passes the combined orders up to the next OAN (if there is one). This means that it is possible to share off allocation water between multiple downstream reaches.
In the example illustrated in Figure 6, below, OAN3 has a share component in OAN2 which also has a share component in OAN1. This means that the off-allocation requirements of water user 3 and 4 are accumulated up the system and are reported as the off-allocation requirement of OAN2. This means that the allocation of off-allocation water to reach 1 takes into consideration the downstream requirements. It is possible to give priority access to downstream requirements by assigning the highest priority to OAN2 in the OAN1 allocation table.
Note that while OAN1 assigns a volume of off-allocation water to OAN2, the processing of OAN2 may result in a change in the volume of off-allocation water available to that reach as the rules specific to OAN2 are used to calculate the available water.

Figure 6 — Example of multiple off allocation reaches

Off allocation and storages

...

Environmental Conditions - The declaration of an off-allocation flow event may be dependent upon whether the taking of water will prevent the beneficial watering of an environmental value or asset. This can be replicated by developing a water user with an environmental demand model. The highest allocation priority should be assigned to the associated Supply Point. It should be noted that if this Supply Point is in a downstream off-allocation reach, the downstream OAN would have to be assigned highest priority when evaluating the current off-allocation reach. This also means that other off-allocation demands in the downstream reach, such as for irrigation, would get highest priority, which may not be desirable.

 


Data

Input data
Details on input data are provided in the Source User Guide.

...

Parameter Name

Parameter Description

Unit Type

Allowable values & validation rules

Default Value(s)

Owner

Display only, the owner associated with the resource assessment system

n/a

n/a

n/a

Water year start date

Display only, day and month the water year starts as configured in the associated RAS

n/a

n/a

n/a

Equalise shares

If the equalise shares option is selected, allocation of off-allocation flow is equalised across all users within a priority level

Boolean

Optional
Tick Box option to allow true/false entry

False

Annual System Cap activation

A check box to activate an annual system cap

Boolean

Optional
Tick Box option to allow true/false entry

False

Annual System Cap

A volumetric cap on usage for the OAS.

Volume

If annual system cap is activated
Real≥0
Cannot be greater than sum of Account Caps

0

Sum of Account Type Caps

Sum of account type caps as a proportion of the annual system cap

Percent

If annual system cap is activated
Real≥0

0

Reset on Spill

An option which is used in conjunction with a storage/s in the scenario, when a selected storage spills in a time step the usages for all accounts (for all account types) across the off-allocation system are reset to zero

Boolean

Optional
Tick Box option to allow true/false entry

False

Spill Trigger

Specifies whether balances are reset on the first spill of a event or on every spill

Option

If reset on spill is activated
Radio button selection between first spill and every spill

First spill

Storage Trigger

Specifies whether all select storages or any selected storage is considered

Option

If reset on spill is activated
Radio button options for 'Any Storage' and 'All Storages'

Any Storage

Assigned storages

Displays a list of storages in the system to choose from

Option

If reset on spill is activated
Tick box for each storage in the system

False for all storages

Assigned storages

Not sure why have this twice?

 

 

 





Off-allocation Account Type Parameters
Parameters input by the modeller at the account type level affect all associated accounts.
Table 4 —Account Type Configuration - Parameters

Parameter Name

Parameter Description

Unit Type

Allowable values & validation rules

Default Value(s)

Off allocation

The off allocation reach that the account type is associated with

none

Mandatory
Drop down list

First off allocation node without an account type

Annual Usage Limit activation

A check box to activate an annual usage limit

Boolean

Optional
Tick Box option to allow true/false entry

False

Annual Usage Limit

The annual usage limit for the account type 


If the annual usage limit is activated
Real ≥ 0

0

...

Parameter Name

Parameter Description

Unit Type

Allowable values & validation rules

Default Value(s)

Trigger Method

A choice between total flow or flow above regulated requirements

Option

Radio button options for 'Total Flow' and 'Flow above regulated requirements'

Total Flow

Volume Calculation Method

A choice between flow above threshold and flow above regulated requirements

Option

Radio button options for 'Flow above threshold' and 'Flow above regulated requirements'

Flow above threshold

Start flow

Flow threshold to signal off allocation on the first time step of an event

Flow

Can be specified as a fixed value or a function
Real ≥ 0

0

End flow activation

A check box to activate the end flow threshold

Boolean

Optional
Tick Box option to allow true/false entry

False

End flow

Flow threshold to signal off allocation after the first time step of an event

Flow

If end flow is activated
Can be specified as a fixed value or a function
Real ≥ 0

0

Maximum flow activation

A check box to activate the maximum flow threshold

Boolean

Optional
Tick Box option to allow true/false entry

False

Maximum flow

A flow threshold above which off allocation is not available

Flow

If maximum flow is activated
Can be specified as a fixed value or a function
Real ≥ 0

0

Reserve Proportion

The proportion of off-allocation flow which cannot be allocated

Percent

Mandatory
Can be specified as a fixed value or a function
Real ≥ 0 & ≤ 100

0

Threshold seasonal event

A check box to activate the event season

Boolean

Optional
Tick Box option to allow true/false entry

False

Season Start

Specifies the start date for the time period when the off-allocation flow event may occur

dd-mmm

If threshold seasonal event is activated
1 ≤ dd ≤ (days in month) mmm = { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec}

01 Jan

Season End

Specifies the end date for the time period when the off-allocation flow event may occur

dd-mmm

If threshold seasonal event is activated
1 ≤ dd ≤ (days in month) mmm = { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec}
Year is 'wrapped' if season end > season start

31 Dec

Max Upstream Request activation

A check box to activate the Max upstream request

Boolean

Optional
Tick Box option to allow true/false entry

False

Max Upstream request

I assume this limits the request sent from the OAN to the next OAN

Flow

If the max upstream request is activated
Real ≥ 0 & ≤ 100

0

 


Output data

Table 7 — Recorded variables

Model Element

Parameter

Frequency

Notes

Off-allocation system

Remaining Capacity: Difference between system cap and system usage

time step

For each off- allocation system configured

Off-allocation system

Usage: System usage

time step

For each off- allocation system configured

Account Type

Remaining Capacity: Difference between account type cap and account type usage

time step

For each off- allocation system account type configured

Account Type

Usage: Account type usage

time step

For each off- allocation system account type configured

Accounts

Remaining Capacity: Difference between account limit and account usage

time step

For each account in an off- allocation system account type

Accounts

Usage: Account usage

time step

For each account in an off- allocation system account type

Water user/Account Holder

Allocation: No sure?

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Constrained Order: Don't know?

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Equalisation Ratio: Ratio between water user usage and total usage for the account type

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Non Debit Balance: Don't know

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Order Volume: Off allocation request volume for the current time step

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Remaining Capacity: Difference between the water user off allocation limit and the water user usage

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Total Volumetric Share: Off allocation share since the start of the water season

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Usage: Accumulated off allocation use since the start of the water year

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Usage Today: Off allocation volume used in the current time step

time step

For each account holder in an off- allocation system account type

Water user/Account Holder

Volumetric Share: Share of off allocation volume

time step

For each account holder in an off- allocation system account type

Off-allocation node

Borrow and Payback

time step

For all off allocation nodes

Off-allocation node

Constituents

time step

For all off allocation nodes

Off-allocation node

Downstream flow>Flow: Downstream flow

time step

For all off allocation nodes

Off-allocation node

Downstream flow volume>Volume: Downstream volume

time step

For all off allocation nodes

Off-allocation node

Mass balance

time step

For all off allocation nodes

Off-allocation node

Off allocation Flow Volume>Volume: Volume of off allocation

time step

For all off allocation nodes

Off-allocation node

Off Allocation Orders Volume

time step

For all off allocation nodes

Off-allocation node

Ordering Network

time step

For all off allocation nodes

Off-allocation node

Rules Based Orders

time step

For all off allocation nodes

Off-allocation node

Storage Volume

time step

For all off allocation nodes

Off-allocation node

Total Inflow Volume

time step

For all off allocation nodes

Off-allocation node

Total Outflow Volume

time step

For all off allocation nodes

Off-allocation node

Upstream flow>Flow: Upstream flow

time step

For all off allocation nodes

Off-allocation node

Upstream flow volume>Volume: Upstream volume

time step

For all off allocation nodes

 


Reference list

...


Bibliography