Versions Compared

Key

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

You can change between the Backward Euler reservoir routing methods (default) and the Piecewise-linear Integral in Scenario Options » Storages.

...

The ability to model the physical behaviour of storages is essential for fulfilling one of the primary purposes of Source, which is to model regulated river systems.

Scale

This node, in common with all others, is treated as a point location even though the storage represented may have large dimensions. It can therefore be considered to be site scale. It is used at every model time-step.

Principal developer

eWater Solutions, Department of Primary Industries, New South Wales

Scientific provenance

The level pool approximation for simulating the attenuation and delay caused by a reservoir has been used from the earliest days of engineering hydrology (beginning of the 20th Century).

Version

Source version 4.1.1

Structure and processes

Assumptions:

  • The solution technique used assumes inflows, loss and gain fluxes, and outflows are averaged over a model time-step. This is consistent with the approach used in other parts of Source, such as link routing;
  • The storage reservoir is assumed to have a level pool; and
  • Relationships between storage water level, volume, surface area, and outflows are defined in terms of piecewise linear, monotonically increasing coordinate sets.

Theory

Approach

Source uses an implicit (backward) Eulerian approach for link storage routing. It assumes that the flux averages over a time step are a function of the state at the end of the time step:

...

Combined this gives us the mass balance equation:

Equation 9

Parameterisation

The geometry of the storage is specified by user provided piecewise linear relationship between

...

From the user provided relationships, a common set of heights is used to calculate volume relationships for each component. 

Manual Override of Releases, Levels and Ownership 

Gauged releases are handled by replacing the orders in the model with the user specified time series, with the same constraints. If there is an ownership system in place, you can choose to set the ownership of the releases. If you choose to override ownership, orders are changed to match the user specified ownership. 

Gauged levels are handled by using the user specified time series to adjust the storage volume. When there are multiple owners, differences between the simulated and user specified storage volumes are shared to owners according to evaporation and rainfall sharing rules.

Implementation

The following explains how the mass balance equation (Equation 9). As all of the functions are piecewise-linear we can construct a table with entries for each unique value of volume that appears in the functions:

...

The corresponding values of the min/max release, seepage and area are then calculated by interpolating the user specified values.

Table 1. Example of pre-computed solution table

Image Modified


These values stay the same for the length of the model run and can then be used at each time step. Using the current value of Ordersj and Edepth we can calculate the corresponding value of ε for each table row (V):

...

At which point storage routing becomes a table lookup and interpolation exercise where we find the value of V that give a ϵ value of zero. Obviously we don't have to calculate the entire table but just use a standard search technique.

Exceptions

There are a number of special cases where the above method will not work.


Figure 1 Maximum and minimum release curves for a single outlet path
Image Modified

Figure 1 shows the minimum and maximum possible releases for a single outlet path with the current order for this path. Using the table search approach described above the resulting curve will be ABCD as these are the points calculated in the table. However the true curve is AEFD meaning that solutions in the range V1 to V2 and V3 to V4 will be incorrect. To avoid this we would check to see if any of the outlet's minimum or maximum curves were intercepted by their orders and if they did we would continue the table search by creating virtual entries (V1', V2', …).

...

The first situation can happen when the storage has a flat bottom (ie: the storage can dry out due to evaporation but there is not enough water to meet all of the evaporative requirements). In this case the solution is a storage volume of zero and the reported evaporation has to scaled back to match.
The second situation is due to the user supplied relationship not covering a large enough range of volumes. Provided that the orders are not out-ranging the table then a solution can be obtained by extrapolating the last segment of each of the relationships.

Multiple outlet priorities

The user can assign priorities to outlet paths, which will result in shortfalls being assigned to lower priority paths. Otherwise, shortfalls are either shared evenly, or on the basis of priority ordering. An overview of the process for calculating multiple outlet priorities is shown in Figure 2, with details of the processes for reducing releases and increasing releases shown in Figure 3 and Figure 4. The methodology works by solving the timestep in the same way as if there were no priority and then checking to see if the resulting answer is outside the allowable range or if there are any outlet restrictions (Figure 2). If there are restrictions or the resulting storage volume is below the minimum allowed then an iterative approach is used when priority levels are added and trialled until there is a supply failure at which point the fraction of the last priority level that can be met is calculated (Figure 3). If the resulting storage is higher than the maximum allowed then the releases are increased in the same manner as for the case of no priorities (Figure 4).

Figure 2. Multiple outlet priorities, Process overview


Figure 3. Multiple outlet priorities, Process for reducing releases to meet priority requirements and the minimum operating level

Figure 4. Multiple outlet priorities, Process for increasing releases to try and meet the upper operating level

Operating targets

Solving the current time step using the above method.If the reservoir has either or both a minimum and maximum operating target we can deal with this by:

...