Overview
Description and rationale
...
Borrow and Payback has been modelled in predecessors to Source, such as IQQM and MSM, for many years. The concepts in these models have been updated and enhanced to suit the needs of Source.
Version
Source version number 2number 4.191.1.
Dependencies
The model configuration in Source must include at least one Ownership System with at least two Owners for borrow and payback to be modelled.
...
Automatically included with the full version of Source.
Structure & processes
Theory
Introduction
The Murray Darling Basin Agreementenables the operators in the River Murray to exchange the ownership of volumes of water between the states of New South Wales (NSW) and Victoria when the lending state has water surplus to its requirements. An example of this is when state owned tributary inflows are greater than expected. These excess tributary flows result in a state’s share of water in the river being surplus to that required to meet to meet its ordered requirements. Where possible, this excess water is utilised by the other state (owner) and the amount of water that needs to be released from storage is reduced. The water used by the other state (owner) is termed a borrow and is reconciled against the state’s water share. In the case of the River Murray, payback and account balances are reconciled at Lake Victoria.
...
- Inflow and confluence nodes
- Wetland hydraulic connectors
- Loss nodes
- Supply point nodes
- Controlled splitter nodes
- Storage nodes (Weir upstream reach not included)
- Links
Borrow and Payback accounting occurs mainly during the flow distribution phase, although some aspects of Borrow and Payback are also considered in the order phase. For a weir node, Borrow and Payback only occurs in the weir storage component and not the upstream reach.
Anchor | ||||
---|---|---|---|---|
|
Table 1. Assumptions and constraints
No | Assumption/constraint |
---|---|
1 | An ownership system must have a global borrow and payback system. |
2 | An ownership system’s global borrow and payback distribution hierarchy applies in all storages where there is no local borrow and payback system. |
3 | Borrow and payback systems only operate when ownership is enabled. |
4 | A borrow can occur anywhere in an ownership system when one or more owners has insufficient water to meet requirements. |
5 | When a global borrow and payback system is reconciled/paid back at a storage, the payback storage must maintain a local borrow and payback system. |
6 | For payback at a storage, owners are checked to see if they have to forfeit lending credit if they do not have enough airspace available. This is to ensure that the owner has enough capacity to be repaid. |
7 | When a global borrow and payback system is reconciled/paid back at a storage, all owners in the system must payback water at the same storage. |
8 | Borrow and payback accounting will occur prior to resource assessment. Resource assessment and accounting must consider the total sum of all borrows in the model, and thus includes:
|
9 | The borrow network for the global borrow and payback system must be complete. That is, there must be a connection between each owner and every other owner (the connection can be made at any priority level). |
10 | The borrow network for sharing a system constraint must be complete. An operator is not going to refuse service to an owner if there is surplus capacity available to use to serve them. |
Definitions
Airspace | Difference between the volume in a storage (reservoir) and its full supply level. |
Borrow | In systems with multiple owners, losses and gains are shared by defined ratios. In such cases it is possible for different owners to have surpluses and deficits in the use of these losses and gains. For efficient river operations these surpluses can be shared to owners with deficits. The borrow records the trading of these fluxes from owners with surpluses to owners with deficit. |
Payback | This is the reverse of borrow; i.e. when the water that was lent to a particular owner is paid back by the borrower. |
Borrow Network or Distribution System | System that prioritises the sharing of each owner’s surplus water to other owners with a deficit/insufficient water to meet their requirements. |
Unallocated water | In the flow distribution phase, all water is either allocated (previously ordered) or unallocated. Unallocated water is not associated with a demand node or a non-consumptive requirement. Water that was ordered but not extracted on passing the node that generated the order, becomes unallocated water. |
Other definitions can be found in the eWater glossary.
...
The structure of borrow and payback systems is illustrated in Figures 1 and 2, below.
Figure 1. Entity relationship diagram: Borrow and payback
Figure 2: Example of storage allocation to a scenario's borrow and payback systems
Figure 2 illustrates how each storage that falls within a scenario’s ownership system can only be a member of one borrow and payback system, except that where there is reconciliation/payback at a storage for the global system, this storage must also be in a local system.
...
Table 2. Variables and entities: general
Symbol | Purpose/Description | Units |
---|---|---|
Allocation(RAS) | Allocation for resource assessment system RAS | volume |
BPSystem BPSystem(RAS) BPSystem(ownersys) | Borrow and payback system. See Table 3 for variables and methods specific to this entity. BPSystem(RAS) is used to manage the same water resources as resource assessment system RAS BPSystem(ownersys) belongs to ownership system ownersys. | n/a |
nBPSystem(RAS) | Number of borrow and payback systems that are used to manage the same water as resource assessment system RAS | n/a |
nBPSystem(ownersys) | Number of borrow and payback systems that belong to ownership system ownersys. | n/a |
component | Model component index. | n/a |
nowner | Number of owners in the ownership system the borrow-payback system belongs to. | n/a |
nowner(pl) | Number of owners that have a borrow & payback sharing relationship at priority level pl. | n/a |
n_other_owner | Number of owners, other than the ‘current’ one, a total is being calculated for. | n/a |
n_other_owner(pl) | Number of owners, other than the ‘current’ one, a total is being calculated for that have a borrow & payback sharing relationship at priority level pl. | n/a |
ownersys | An ownership system | n/a |
owner | Current owner in system | n/a |
owner(pl) | Owner that has a borrow & payback sharing relationship at priority level pl. | n/a |
other_owner | Owner that is not owner | n/a |
other_owner(pl) | Owner that is not but has a borrow and payback sharing relationship with at priority level pl. | n/a |
RAS | Resource assessment system | n/a |
pl | Priority level for sharing | n/a |
t | Time-step index | n/a |
The following variables relate to a Borrow and Payback system:
Table 3. Borrow and Payback System Variables
Variable or method | Purpose/description | Units |
---|---|---|
*BorrowBalance(t, owner) | Owner’s cumulative borrow balance at time step – equals the sum for all other owners: NetBorrow(t, owner, other_owner) | volume |
*ComponentBorrowBalance(t, component, owner) | Owner’s time step t borrow balance for borrowing done at component. | volume |
*ComponentNetBorrow(t, component, owner, other_owner) | Net borrow between owner and other_owner for time step t, performed at model component - +ve value indicates owner does the borrowing, -ve value indicates owner does the lending | volume |
*NetBorrow(t, owner, other_owner) | Cumulative net borrow between owner and other_owner at time step | volume |
Share(pl, owner) | Flag (Yes or No) specified by modeller indicating whether an owner, owner, shares with other owners at priority level pl. For any two owners, owner and other_owner, they can share at priority level pl if Share(pl, owner) = Yes and Share(pl, other_owner) = Yes. | n/a |
Connected(owner, other_owner) | Flag (Yes or No) indicating whether two owners, owner and other_owner, are able to share using the configured distribution hierarchy, and is derived from Share(pl, owner). These flags are set up and used for validating the distribution hierarchy used in a global borrow and payback system. | n/a |
*Recorded values
The following variables are used by the Borrow method in the order and/or flow phases:
Table 4. Variables & entities: Borrow Method
Variable or method | Purpose/description | Units |
---|---|---|
Airspace(owner) | Owner’s share of the airspace in the payback storage for BPSystem in the current time step (input parameter). Airspace is the difference between the volume in storage and the full supply volume – each owner has a configured fixed percentage of this. | volume |
Borrow(owner, other_owner) | Amount owner borrows from other_owner in this instance of sharing (calculated). This may be limited by airspace if it is within a storage. | n/a |
component | Model component accessing the borrow method (input parameter). | n/a |
BPSystem | Borrow system to use for the current round of sharing (input parameter). | n/a |
Deficit(owner) | Deficit volume/capacity/flux per owner in the current time step (input parameter). | n/a |
OwnerBorrowed(owner) | Total each owner borrowed from all other owners in this instance of sharing (output parameter). | n/a |
OwnerLent(owner) | Total each owner lent to all other owners in this instance of sharing (output parameter). | n/a |
Surplus(owner) | Surplus order/flux/capacity for owner in the current time step (input parameter). | n/a |
TotalDeficit(pl) | Total of owner deficits at priority level pl (calculated). | n/a |
TotalSurplus(pl) | Total of all owner surpluses remaining to be shared to other owners with a deficit at priority level pl (calculated). | n/a |
UpdateAccounts | Input parameter that indicates whether borrow and payback system accounts should be updated. | n/a |
The following variables are used by the Payback method at a Storage Node in the flow phase:
Table 5. Variables & entities: Payback Method
Variable or method | Purpose/description | Units |
---|
Airspace(owner) | Owner’s share of the airspace in the current time step (input and output parameter). Airspace is the difference between the volume in storage and the full supply volume – each owner has a configured fixed percentage of this. | volume |
BPSystem | System to perform paybacks for (input parameter). This must be associated with the current storage. | n/a |
CanPayback(owner, pl) | Maximum volume of debt owner can pay back to lending owners that share at priority level pl in BPSystem. This is limited by the owner’s storage share. (Calculated) | volume |
CanReceive(owner, pl) | Maximum volume owner can receive this time step as payback for loans to other owners that share at priority level pl in BPSystem. This is limited by the owner’s airspace. (Calculated) | volume |
component | Model component accessing the payback method (input parameter). | n/a |
PaidBack(owner, pl) | Volume of debt owner paid back to all lending owners that share at priority level pl in BPSystem. (Calculated) | volume |
Received(owner, pl) | Volume owner received as payback for loans to other owners that share at priority level pl in BPSystem. (Calculated) | volume |
TotalCanPayback(pl) | Total volume all debtor owners that share at priority level pl in BPSystem can pay back lending owners using their storage share. (Calculated) | volume |
TotalCanReceive(pl) | Total volume all lending owners that share at priority level pl in BPSystem can receive as payback from debtor owners into their airspace. (Calculated) | volume |
Payback(owner, other_owner, pl) | The volume an owner paid back to the other_owner for sharing at priority level pl (Calculated). | volume |
Storage(owner) | Owner’s share of the storage volume in the current time step (input and output parameter). | volume |
Model Configuration Phase
When an ownership system is created (e.g. when ownership is turned on), a default global borrow and payback system is also created that contains all storages within the ownership system’s boundaries.
The modeller then configures:
- Details of the global borrow and payback system.
- A local borrow and payback system for each storage for which one is required. Once a local borrow-payback system is configured, the storage is removed from the global system (e.g. see Figure 2).
The following must be configuredfor each borrow and payback system:
- Distribution hierarchy.
- Payback details
- Initial borrow balance between owners
Distribution Hierarchy
The list of owners that can share surpluses is specified for each priority level in each borrow and payback system. Source ensures that for a global system, each owner is represented, and can share with every other owner. In a local system, owners may opt out of sharing, or only share to some owners. In the methodology, this distribution hierarchy is described as BPSystemShare(pl, owner).
Example global system distribution hierarchy (where every owner can share with every other, but not necessarily at all priority levels):
Owners | |||
Priority | A | B | C |
1 | Yes | Yes | No |
2 | No | Yes | Yes |
3 | Yes | No | Yes |
In this example, with owners A, B and C, the connections required are AB, AC, BC. AB applies at priority level 1, AC at priority level 3, and BC at priority level 2.
Payback Details
The modeller must specify the global borrow and payback system’s reconciliation type to determine the ‘location’ at which payback occurs and, if required, the storage where this is to occur, as discussed in the section Repayment of Borrow, above.
Initial Balance
An initial net borrow value is configured for each owner / other_owner combination in each borrow and payback system: BPSystemBorrow(0, owner, other_owner). A negative value indicates that an owner owes other_owner, a positive value indicates that the other_owner owes the owner. During the configuration phase, Source calculates each owner’s initial borrow balance, and ensures the total of all these balances adds up to zero, i.e.:
Equation 1 |
---|
Equation 2 |
---|
Model Initialisation Phase
During model initialisation, Source associates all nodes and links with the global borrow and payback system except storage nodes that have local borrow and payback systems which are not the global system payback location.
Start of Time Step
Borrow and payback accounts are cumulative, so it is necessary to carry over borrow and payback totals from the previous time step to the next one. This is done for each borrow and payback system being modelled:
Equation 3 |
---|
The accounts for each individual model component that falls within a given borrow and payback system boundary are NOT cumulative, so these start at zero every time step:
Equation 4 |
---|
Equation 5 |
---|
Each model component uses the methods described in the following sections to update the relevant borrow and payback system’s accounts in the flow phase for any borrow/lending that occurs at the model component.
During Time Step: Order and Flow Phases
Borrow
Borrow needs to be considered in both the order and flow phases. However, borrow and payback accounting occurs in the flow phase, as it is only at this stage that the flow borrowed/paid back is known.
- Order phase - There is a potential to reduce upstream orders through borrowing of tributary inflow. See Ownership at Inflow and Confluence Nodes - SRG for details.
- Flow phase - An owner can have a delivery shortfall as a result of higher than expected losses, lower than expected tributary inflows, or the use of its water by another owner that was planned in the order phase. If there is surplus water in the river at the point where the shortfall occurs, the owner with the shortfall can borrow from other owners.
Input parameters required
BPSystem - The borrow and payback system to use in determining distribution rules and, where relevant, updating accounts. Borrow and payback system(s) are associated with each model node and link during model initialisation.
component - Model component using this borrow method, needed for updating accounts.
Surplus(owner), Deficit(owner) - The current ‘surplus’ and ‘deficit’ volume/capacity for each owner. At a storage node, surplus water is any water that is not required to meet downstream requirements in the current time step. This definition may vary between model components, and between the model phases (order or flow). Refer to the SRG entry for the appropriate model component for more information.
Airspace - Each owner’s share of airspace in the borrow and payback system’s payback storage (when there is one). This is needed to limit lending.
UpdateAccounts - Borrow accounting only needs to occur in some circumstances, as described above. This parameter is set or reset according to whether or not borrow accounts are to be updated.
Output parameters
The borrow method returns the volume each owner borrowed and lent for the time step (OwnerBorrowed(t, owner), OwnerLent(t, owner), OwnerBorrowed(t, owner, other_owner), OwnerLent(t, owner, other_owner)) to the relevant component so that the payback requirement can be adjusted (see examples at the end of this SRG entry). Borrowed volumes are subtracted from, and loaned volumes added to, the requirement.
Steps
The following steps describe how surpluses are distributed within the given borrow and payback system BPSystem. Note that an owner can participate in sharing at a priority level (is in the owner(pl) and other_owner(pl) lists) when BPSystem.Share(pl, owner) = Yes.
Start with zero borrow between all owners:
Equation 6 If the borrow and payback system BPSystem is a local system and this method is used in the flow phase to lend water (UpdateAccounts = Yes), limit the surplus amount each owner can lend to their airspace (to ensure payback is possible).
Equation 7 (This should not be done for global systems, as it is possible for ownership to get out of synchronisation at different points in the system, so temporary incompatibility between airspace and balances must be allowed to occur)
Share surpluses to owner’s with a deficit. Surpluses are shared to owners that participate in sharing at the same priority level and have a deficit in proportion to their deficit. Where surpluses exceed deficits, the volume of the owner’s surplus distributed to other owners is in proportion to their share of the total surplus:
For each priority level pl represented in the configured distribution table – PSystem.Share(pl, owner), do the following:Calculate the total surplus and deficit remaining to be shared at the priority level (this is the sum for all owners sharing at the priority level):
Equation 8 Equation 9 If there is no surplus and/or deficit (TotalSurplus(pl) = 0 or TotalDeficit(pl)=0), sharing at the priority level is finished, so skip to the next priority level.
For each owner and other owner that share at this priority level pl (Share(pl, owner) = yes and Share(pl, other owner) = yes), calculate the volume owner can borrow from the other owner at the priority level:
Equation 10 Update the surpluses & deficits left over for sharing at the next priority level:
Equation 11 Equation 12
Find the owner’s borrow and lending totals to return to the relevant model component:
Equation 13 Equation 14 If the UpdateAccounts flag is set,
Update the reported borrow accounts for the current component and the borrow and payback system as a whole:Equation 15 Equation 16 Equation 17 Equation 18
Payback at a Storage (Flow Phase only)
The payback process at a ‘payback’ storage node is performed at the end of the flow phase, when storage releases have been made (so requirements have been met as far as possible).
A payback storage either has a local borrow and payback system, or is the specified payback storage for a global borrow and payback system. When a storage is the payback storage for a global borrow and payback system, Source runs the payback process twice, first to reconcile its global accounts, then to reconcile its local accounts.
A running account of net borrow between all owners is maintained for each borrow and payback system – BPSystem.NetBorrow(t, owner, other owner). This amount is positive when the owner has a debt to the other owner, and negative when the owner has lent to the other owner. Debt is paid back by reassigning ownership of water in the storage.
Debtors pay back creditors with their share of storage, until no more is owed or the creditor runs out of airspace. Debts between owners that share at higher priority levels are fully paid before any debts at lower priority levels are processed. At the same priority level, where owners have insufficient storage to repay debts, they pay creditors pack in proportion to how much is owed.
For more details on payback at a storage see Owner Capacity Share Proportion Method.
Time step: Resource Assessment – Water Accounting Phase
In this phase, allocation of each owner’s resource assessment systems (RAS) must be adjusted for the net borrow between owners recorded in borrow and payback system accounts. Each RAS will belong to an ownership system, that has a global borrow and payback system. A RAS may also be associated with one or more local borrow and payback systems (if it is used to manage storages). The allocation of each RAS should be adjusted as follows:
Equation 19 |
---|
More details regarding the way resource assessment systems are configured and allocate water are given in Resource Assessment - SRG and its sub-pages.
Data
Input data
Details on data are provided in the Source User Guide.
Parameters or settings
Parameters are listed in Tables 6-8, which follow.
Table 6. Borrow & Payback System Parameters
Parameter name | Parameter Description | Unit type | No. of values | Allowable values & validation rules | Default Value(s) |
---|---|---|---|---|---|
B&P Storage Name | Name of a storage that is a member of the current B&P system | n/a | Local system: one Global system: multiple | Global B&P: Must be a storage in the current scenario | Global B&P: One row for each storage in the scenario that is not in a local B&P system. Local B&P: None |
B&P System Name | Name of borrow & payback system | n/a | One | Any unique name | <type> Borrow & Payback <seq no.> |
B&P System Type | Type of borrow & payback system | n/a | One | Read only | First one for ownership system: Global Subsequent: Local |
B&P Distribution System Name | Name of the distribution system used for a borrow & payback system. | n/a | One | ***Name of an existing Distribution System. | 'Default' |
Initial Borrow | Initial borrow between each Owner - Other Owner at the start of the scenario run. Negative value indicates other owner has borrowed from this owner. | volume | Multiple: 2 dimensions for each time step | Real ≥ 0 Sum of initial borrow for all owner-owner combinations must be zero. | 0 |
Owner Name | Name of an owner in the current ownership systems | n/a | Multiple (each owner) | Read only | Owners in ownership system |
Other Owner Name other_owner | Name of another owner in the ownership system (that is not Owner Name) | n/a | Multiple (each owner) | Read only | Owners in ownership system |
Payback Storage Name | Storage where debts in the borrow-payback system are paid back/reconciled. | n/a | one | Local system: Read Only Global system: Name of any local borrow & payback system’s storage (within the ownership system) | Local system: B&P Storage Name Global system: None |
Payback Type (Phase 2) | Type of payback: System or Storage based. | n/a | one | Local system: Read Only Global system: System, Storage | Local system: Storage Global system: System |
Table 7. Distribution System Parameters
Parameter name | Parameter Description | Unit type | No. of values | Allowable values & validation rules | Default Value(s) |
---|---|---|---|---|---|
Distribution System Name | Name of the distribution system | n/a | One | Any unique name | Distribution <seq> |
Priority pl | Priority for sharing surpluses between owners. | n/a | Multiple | Integer > 0 | Row number |
Owner Name | Name of an owner in the current ownership system | n/a | Multiple (each owner) | Read only | Owners in ownership system |
Share? Share(pl, owner) | Flag indicating whether owner shares at priority level. | n/a | Multiple | Yes or no | Yes |
Table 8. For Storages: Additional Parameter for Borrow and Payback Systems
Parameter name | Parameter Description | Unit type | No. of values | Allowable values & validation rules | Default Value(s) |
---|---|---|---|---|---|
Local B&P System Name | Name of the local borrow and payback system associated with this storage | n/a | 1 | Must be the name of an existing local borrow and payback system | none |
Output data
Table 9. Recorded parameters (Borrow & Payback)
Model Element | Parameter | Units | Methodology variable | Frequency | Display format |
---|---|---|---|---|---|
Borrow & Payback System – model component | Time step Borrow | volume | ComponentNetBorrow(t, component, owner, other_owner) | Time-step | Table of owner-other owner values for a selected time step. |
volume | ComponentBorrowBalance(t, component, owner, other_owner) | Time-step | |||
Borrow & Payback System | Borrow | volume | NetBorrow(t, owner, other_owner) | Time-step | Time Series table and Graph/chart – see examples below. |
volume | BorrowBalance(t, owner, other_owner) | Time-step | |||
Ownership System | Borrow | volume | Time-step | ||
volume | Time-step |
Example Model Component Borrow & Payback Report Table
Hume Dam Storage Node: Murray Global Borrow & Payback System
Time Step: 10 (30/1/2010)
Other owners | ||||
Owner | NSW | Victoria | QLD | Owner summary |
NSW | 100 | 0 | 100 | |
Victoria | -100 | 0 | -100 | |
QLD | 0 | 0 | 0 | |
All owners | 0 |
Example Borrow & Payback System Report Views Table
Murray Global Borrow & Payback System
Other owners | ||||
Owner | NSW | Victoria | QLD | Owner summary |
NSW | View time series | View time series | View time series | |
Victoria | View time series | View time series | View time series | |
QLD | View time series | View time series | View time series | |
All owners | View time series |
When a ‘View Time Series’ function/link is selected from an ‘Other Owners’ column, a window allows borrow and payback data for the relevant owner-other owner combination to be displayed as follows:
Murray Global Borrow & Payback: NSW-Vic Net Borrow
Time-step | NSW-Vic Net Borrow |
---|---|
1 | -20 |
2 | -15 |
3 | 10 |
4 | 20 |
5 | 5 |
6 | -7 |
7 | 0 |
8 | 30 |
9 | 10 |
Min | 20 |
Max | 30 |
Average | 3.67 |
When a ‘View Time Series’ function/link is selected in the ‘Owner Summary’ column, a window allows a summary of borrow and payback data for the relevant owner to be displayed as follows:
Murray Global Borrow & Payback: NSW Balance
Time-step | NSW-Vic Net Borrow | NSW-QLD Net Borrow |
---|---|---|
1 | -20 | -15 |
2 | -15 | -7 |
3 | 10 | 0 |
4 | 20 | 5 |
5 | 5 | 8 |
6 | -7 | -3 |
7 | 0 | 0 |
8 | 30 | 10 |
9 | 10 | 20 |
Min | -20 | -15 |
Max | 30 | 20 |
Average | 3.67 | 2.00 |
When the ‘View Time Series’ function/link is selected in the ‘All Owners’ row, a window allows borrow and payback totals for all owners to be displayed as follows:
Murray Global Borrow & Payback: All Owner Balances
Time-step | NSW Borrow Balance | Vic Borrow Balance | QLD Borrow Balance |
---|---|---|---|
1 | -35 | 15 | 20 |
2 | -22 | 15 | 7 |
3 | 10 | -15 | 5 |
4 | 25 | -30 | 5 |
5 | 13 | -8 | -5 |
6 | -10 | 7 | 3 |
7 | 0 | 0 | 0 |
8 | 40 | -45 | 5 |
9 | 30 | -18 | -12 |
Min | -35 | -45 | -12 |
Max | 40 | 15 | 20 |
Average | 5.67 | -8.78 | 3.11 |