Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
In regulated river systems, storages control the supply of water to consumptive and non-consumptive users, and may also provide flood mitigation, social and environmental services. In a river model, they represent places where water is stored along the river, such as dams, reservoirs, weirs and ponds. Storages operate by maintaining water mass balance.
Storage processing method
In Source, the storage node operates by calculating the minimum and maximum discharge based on current inflows and user-defined discharge, gain and loss relationships. They maintain water balance and assume that the change in storage height across a time-step is small compared to the storage fluxes. Additionally, it assumes that any flow fluxes into or out of the storage are distributed throughout the time-step.
There are two available methods in Source for processing flows and changes in storage volume, you can choose which method to use by navigating to Edit » Scenario Options, and selecting Storages.
The Piecewise-linear Integral method is the default method, and is the only method available in previous versions of Source (prior to 4.1). It assumes that all storage variables are a piecewise linear function of the reservoir’s volume. Changes in flows and storage volume are calculated by integrating across the time-step.
The Backward Euler method is new in Source 4.1, selecting it allows you to configure operating targets and operating levels for storages, and also allows you to configure outlet path priorities. It assumes that all storage variables are a function of the storage volume at the end of the time step. Changes in flows and storage volume are calculated iteratively relative to the end state. Selecting this method enables some functionality. You can configure storage operating targets and operating levels, and also configure outlet path priorities.
Configuring Storages
For all storages in Source, the following must be configured as a minimum in the node’s feature editor:
- Details of the storage such as its dimensions and capacity;
- Inflows to storages such as stream flow from upstream catchments, rainfall over the storage surface area, recharge from groundwater, and runoff from the catchment surrounding the storage;
- Outflows from the dam, which could be initiated either through controlled releases (to fulfill downstream demand) or uncontrolled flows; and
- Losses that constitute evaporation from the storage surface area and seepage to groundwater.
Storage details
The editor’s main window (Figure 1) allows you to specify storage details, which are outlined in Table 1. You are recommended to use the same units as those in Dimensions, but you can change them by clicking on their respective units buttons.
Figure 1. Storage node
Info | ||
---|---|---|
| ||
Note: Releases from storages are normally assumed to be constant through the time-step (limited by volume to the minimum or maximum release curves). |
Table 1. Storage node, details
Parameter | Definition | Default |
---|---|---|
Hydropower generation | A drop-down menu allowing you to choose where to generate spill for hydropower generation. When a storage with an ungated spillway is close to FSL, and inflows would cause the storage to physically spill in the absence of release, the system can find it difficult to accurately determine if the generator could have been used to pass inflows, rather than the spillway. For example, if a storage is at the spill level of the ungated spillway at the start of the time-step, and there is inflow which could have been passed through the generator, the majority of the inflow will pass over the spillway. This situation arises when the correct configuration for a storage with only ungated spillways is used, ie, Don't generate from spill is chosen. Actual generation in such situations would depend on the operating rules for the reservoir, and pattern of inflow though the day. It is not possible to define a single generically applicable solution for this. Similarly, if the storage is below spill level, and inflow is such that the storage would spill without releases, and downstream demand = inflow (and therefore the storage wouldn't physically spill), Source sets a minimum release which is interpreted as physical spill. Choosing Generate using spill will generate from all spill limited ONLY by capacity Choosing Generate using spill; upto downstream orders will generate spill limited by downstream orders and capacity. | Don't generate from spill |
Full Supply | The level or volume for which uncontrolled flow commences over an un-gated spillway. | Equal to the level of the spillway. |
Initial Conditions | The initial water level/volume in the storage at the start. This level must be above or equal to the minimum storage water level defined in the storage dimensions relationship. | There is no default value, but it can be a non-integer, with the minimum being the lowest storage dimension level. |
Dead Storage Capacity | The level or volume below which water cannot be released from the storage. This is different for rules-based and netLP ordering. Refer to the note below. | 0 |
Node elevation | The node's height above sea level (this value can be negative to represent an elevation below sea level) | 0 |
Info | ||
---|---|---|
| ||
Note: In rules-based ordering, the defined dead storage does not impact on the ability to release; this is only affected by the storage’s outlet characteristics. In netLP ordering, the defined dead storage level overrides the storage outlet characteristics, that is, an outlet cannot release water below the defined dead storage level, even if it is configured to be able to release below the defined dead storage level. |
Anchor | ||||
---|---|---|---|---|
|
Operating target refers to the level that the system will attempt to maintain in a downstream storage by transferring water from an upstream storage.
The maximum unregulated operating target captures surplus water during an off-allocation event. It specifies a target level in the storage that is used by the off-allocation system in determining how much water may be allocated to the storage during the off-allocation event.
Info | ||
---|---|---|
| ||
Note the following when configuring operating targets:
|
Figure 2. Storage node, Operating target
Storage dimensions
Storage dimensions can be configured to be either static or vary over time (see Time-varying storage dimensions). You can use time-varying storage dimensions to model the gradual decrease in storage capacity caused by sedimentation, or to model the abrupt increase in storage capacity from implementing a new dam.
Anchor | ||||
---|---|---|---|---|
|
To configure dimensions that remain constant for the duration of the model run, select Dimensions » Static Storage Dimension (Figure 3) and then specify the dimensions using level, volume and surface area. Dimensions can be entered manually as a piecewise linear relationship or imported as a comma-separated file (format shown in Table 1). There is no need to specify a start date, this is used for configuring time-varying storage dimensions. You can also export the relationship for use in another scenario. The graph displays a relationship between Level vs Volume or Level vs Surface Area, which can be changed using the drop down menu.
Info | ||
---|---|---|
| ||
Note: There must be one level with zero volume and area, and for each successive level, there must be an increase in volume, and area may remain constant or increase. Negative levels are acceptable. |
Figure 3. Storage node, Dimensions
Table 2. Storage node, Dimensions (data file format)
Row | Column (comma-separated) | ||
---|---|---|---|
1 | 2 | 3 | |
1 | Level (m) | Volume (ML) | Surface Area (ha) |
2 | -10 | 0 | 0 |
3 | 0 | 100 | 500 |
4 | level | volume | surface area |
Example Storage Dimensions File
Level,Volume,SurfaceArea473,0,0475,100,0.1478,4600,2.9479,8100,2.9
Anchor | ||||
---|---|---|---|---|
|
Storages can be configured to increase and/or decrease in storage capacity over time, these changes can be gradual or happen in a single time step.
To vary storage dimensions over time, at least two storage dimensions need to be configured, each with a different start date, so that Source can interpolate between them. To add a second storage dimension, right click on Dimensions and select Add Storage Dimension from the contextual menu.
For each storage dimension, configure the level, volume and surface area relationship as explained for Static Storage Dimensions.
Start Dates
For each storage dimension, set the Start Date to the date from which the dimensions apply. The start date is also the storage dimension's name. If you have a static storage dimension configured and you add another storage dimension, the static storage name will also change to its start date (default is 01/01/1880).
If the start dates for all storage dimensions are after the start date of the run, then the storage dimension with the earliest start date is used at the beginning of the run.
Interpolation
You can configure how Source interpolates between storage dimensions by selecting Dimensions and then toggling on or off Interpolate Between Storage Dimensions. When toggled off, the second storage dimension will take effect from configured start date. When toggled on, the storage dimensions are linearly interpolated between the first start date and the second start date, and so on.
The period of the model run does not effect the interpolation.
Changing between storage dimensions
- If the storage volume decreases, then the level is set as constant between the two time steps. This is because decreases are assumed to be caused by sedimentation, which results in a loss of water volume (ie. storage volume), because some of the 'water' was actually sediment. This loss can be recorded with the Loss to Storage Dimension Change parameter.
- If the storage volume increases, then the volume is set as constant between the two time steps, this may result in a decrease in storage level. This is because increases are assumed to be caused by construction work to increase storage capacity.
The following is an illustrative example to demonstrate the effects of:
- Increasing and decreasing storage dimensions,
- Enabling Interpolation Between Storage Dimensions, and
- Model run commencing before the earliest storage dimension start date.
A model was configured with constant flow, and a storage with three storage dimensions (Table 3).
Table 3. Example of time-varying storage dimensions
Storage Dimension Start Date | Level (m) | Volume (ML) | Surface Area (km2) |
---|---|---|---|
05/04/2016 | 0 | 0 | 0 |
100 | 200000 | 1000 | |
15/04/2016 | 0 | 0 | 0 |
100 | 100000 | 500 | |
25/04/2016 | 0 | 0 | 0 |
100 | 200000 | 1000 |
The second storage dimension decreases in storage capacity relative to the first. The third storage dimension increases the storage capacity relative to the second (Table 3).
The model was run from the 01/04/2016 to 01/05/2016. The beginning of the run (01/04) is before the first storage dimension starts (05/04), so the initial storage dimensions are considered to be those configured for the 05/04, but interpolation does not start until the 05/04.
The results of this configuration on Storage Volume, Level and Loss to Storage Dimension Change are shown in Figure 4. Interpolation was toggled on (solid lines) or off (dashed lines).
Figure 4. Example of time-varying storage dimensions.
Constituents
These inputs are required for water quality constituents, and can be specified by selecting Constituents. Ensure that constituents and constituent sources have been defined prior to configuration (using Edit » Constituents). Refer to Constituents - Storage node.
Anchor | ||||
---|---|---|---|---|
|
The Apply Unaccounted Difference to Storage level calculation check box allows you to enable modelled values to be overridden by observed values. The storage level forces the parameter to equal the observed value. You can specify the source data as a single value, link it to a time series (using Data Sources) or a function (using the Function Editor), as shown in Figure 5. The storage node icon changes to indicate that modelled data is being overridden (Figure 6).
Figure 5. Storage node, Gauged level
Figure 6. Storage node icon, observed data replaces modelled data
Anchor | ||||
---|---|---|---|---|
|
This menu item allows you to overwrite modelled storage releases with observed releases. First, click on the disclosure triangle next to Gauged Releases to view a list of available outlet paths, then right click on an outlet path to enable. Enter the observed data either as a single value, a time series (using Data Sources) or a function (using the Function Editor), as shown in Figure 7. The storage node icon changes to indicate that modelled data is being overridden (Figure 6).
Figure 7. Storage node, Gauged releases
Image Modified
Outlets
Outlets (Figure 8) define how water is released from the storage and must be added to allow for spills. In Source, you must specify the following:
- Outlet path – the path (out of the storage node) taken by the outlet. To choose an outlet path, click on the disclosure triangle to open a list of links connected to the node. You can choose the link that is associated with an outlet by right-clicking and choosing the outlet type;
- Outlet types – right-click on Outlets and choose the outlet type from the contextual menu.You can add more than one outlet type per storage. These are shown in Table 4; and
- Storage Outlet Types - You can enter a relationship between storage level and discharge for each outlet as a piecewise linear relationship (format shown in Table 5.).You can also see a piecewise linear relationship accounting for all the release types (eg. if you have a gated spillway and a culvert) in the table for Total Outlet Capacity.
Info | ||
---|---|---|
| ||
Note: Refer to Weirs when configuring outlets for a weir. |
Table 4. Storage Outlet Types
Outlet Type | Description | Piecewise linear function required |
---|---|---|
Culvert | A conduit is used to enclose a flowing body of water. It may be used to allow water to pass underneath a road, railway or embankment. | Level vs discharge |
Gated Spillway | Controls releases by the operation of gates. This allows for arange of discharges rates for each water level, depending on how wide the gates are opened. | Level vs minimum and maximum discharge |
Hydropower Valve | The power generated from a hydroelectric system. | Level vs maximum discharge |
Pump | Used to extract water from the storage (rather than allow discharge). This may be used where the location of the demand is at a higher elevation compared with the storage, or to extract water from the dead storage and which is below other release structures | Level vs maximum water pumped |
Un-gated Spillway | A structure that controls the spill of water from a storage. It is designed to spill water once the storage is full and ensures that any spills are controlled. This prevents the storage from failing. Un-gated spillway rating tables are used to populate the Discharge table. The full storage level should have a zero discharge and the discharge depth needs to be calculated as the height above the full storage level. | Level vs discharge |
Valve | Used to release water via a pipe. Valves normally release environmental flows from storages. The valve rating table is used to control the volume of water released via this method. | Level vs maximum discharge |
Table 5. Storage node, Seepage (data file format)
Row | Column (comma-separated) | |
---|---|---|
1 | 2 | |
1 | Level (m) | Seepage (mm/d) |
2 | 0 | 0 |
3 | level | seepage |
Info | ||
---|---|---|
| ||
Note: When there are multiple outlets configured, water will flow down the outlet path assigned to the default spillway. Also, when a minimum flow requirement node is connected downstream of the storage node, water will flow through the path that links it to the storage. |
Figure 8. Storage node, Outlets
Rainfall
Rain falling directly over the storage reservoir can be input as a time series, using the Function Editor (such as adding a daily or monthly pattern), or linking to the output of another scenario, as shown in Figure 9. It is assumed to occur only on the surface area. Daily rainfall data near the storage is required and can be obtained from managing agencies, SILO or the Bureau of Meteorology.
Figure 9. Storage node, Rainfall
Image Modified
Evaporation
Evaporation directly from the storage surface can be input as a single value, as a time series or an expression (Figure 10).
Figure 10. Storage node, Evaporation
Image Modified
Seepage
Water can infiltrate into the ground where the soil is not fully saturated. Where groundwater intercepts the surface, water can seep from groundwater into the storage, where infiltration can occur wherever there is a ground/water interface. Seepage (Figure 11) is specified using a piecewise linear relationship between storage level and infiltration volume/time. Note that you cannot specify negative values. The data file format for seepage is shown in Table 5.
Figure 11. Storage node, Seepage
Anchor | ||||
---|---|---|---|---|
|
The following two options are mutually exclusive. If one is enabled, the other is greyed out (Figure 12).
If Pass Orders Straight Through Storage is enabled (Figure 12), then the storage level for forecasting seepage and evaporation losses is:
- For weirs max (currrent level, Maximum Operating Level); and
- For storages max (currrent level, Full Supply Level).
Otherwise max(currrent level, Operating Target).
If Do Not Order From Upstream Storages is enabled, then the storage acts as if it has no storage nodes upstream of it for the purposes of ordering. This is useful when a storage has the capacity to fulfill all downstream requirements, and will not need to order water from upstream storages.
Info | ||
---|---|---|
| ||
Performance Improvement Enabling Do Not Order From Upstream Storages on a storage limits the maximum travel time for any node downstream of it to that storage; storages upstream of it are not considered during maximum travel time calculations. When this option is enabled, the application will do less future prediction of water requirements, improving performance of the ordering phase. This can significantly improve run times in models that have ordering and long travel times. |
Figure 12. Storage Node, Ordering
Ownership in storages
In ownership, observed values may not be available for every time-step. Additionally, observed values cannot include negative numbers, as ownership of storages can potentially result in negative shares when you support borrow and payback. Refer to Figure 13 for details and Ownership for more information.