Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

About storage routing

Storage routing is based on mass conservation and the assumption of monotonic relationships between storage and discharge in a link. 

Note: The stability criteria must also be satisfied for a model to run correctly. If this is not the case, the following error appears during runtime: Routing parameters have caused instability in storage routing. Refer to Stability criteria for more information.

This is a simplification of the full momentum equation and assumes that diffusion and dynamic effects are negligible. The method uses index flow in flux, storage and mass balance equations. A weighting factor is used to adjust the bias between inflow and outflow rate, hence allowing for attenuation of flow. The storage routing equation is shown below and some of its terms are represented diagrammatically in Figure 1.

Equation 1

where:

S is the storage in the reach,

k is the storage constant

m is the storahe exponent, and

q~ is the index flow, which is given by

Equation 2

where:

I is the inflow to the reach during the time-step,

O is outflow from the reach during the time-step and

x is the inflow bias or attenuation.

 

Figure 1. Prism and wedge storage

Travel time

Travel time in the reach is computed as follows:

Equation 3

A link configured for lagged flow routing is treated as a series of sub-reaches of equal length, with the travel time in each sub-division equal to one time-step. Water moves through the link progressively, without attenuation. You cannot configure fluxes, constituents or ownership on a lagged flow routing link. If lateral flows are significant and/or there is dead storage in the reach, you can approximate lagged flow routing using generalised non-linear storage flow routing, as follows:

Compute the number of division, n, by dividing the average wave passage time by model time-step and round the result to a whole number. The result must be at least one (ie. n ≥ 1);

  1. Configure a storage flow routing reach where:
    • n = number of divisions;
    • x = 1;
    • m = 1; and
    • k = model time-step.
  2. If you need to account for lateral flows where n = 1 and the average travel time is a fraction of the model time-step (eg. a reach with a one day lag in a model with a monthly time-step), you can adjust k to a smaller value without affecting the shape of the hydrograph.

Dead storage

Dead storage refers to the capacity of a storage that is below the minimum operating level. At this water level, there is no outflow. The level of the reach with respect to dead storage at the beginning of the time-step affects its level in subsequent time-steps as follows:

  • The reach is at or below dead storage and the fluxes during the time-step are insufficient to raise the level above dead storage; 
  • The reach is above dead storage but fluxes during the time-step would lower the level in the reach below dead storage; or
  • The reach is above dead storage and remains above dead storage during the time-step.

To determine if the reach is at or below the dead storage level, Source:

  • Computes an initial storage estimate by using inflows to fill the reach upto but not exceeding the dead storage level;
  • Computes a revised storage estimate based on any remaining inflows and fluxes, but ignoring outflows; or
  • If the revised sotrage estimate is above dead storage, then outflows are computed, otherwise the initial storage estimate is used and outflows are set to zero.

Storage constant (k)

When using linear routing (= 1), the units of the storage constant k are in seconds. For models using daily time-steps, the recommended starting value is 86400 (the number of seconds in one day). When using non-linear routing (m ≠ 1), the recommended starting value should be calculated as follows:

Equation 4

For example, if the reach length is 1000 metres, the time-step is one day, and = 0.8:

Equation 5

Configuring storage routing

Figure 2 shows the feature editor for storage link routing and Table 1 outlines the parameters required.

Table 1. Parameters for link storage routing
ParameterDescriptionUnitsRangeDefault
General configuration
Avg. Reg. Flow

 Used to calculate travel time for orders in the ordering phase. It is not used in the flow distribution phase.

Note:  When ordering is enabled AND if the flow routing parameter k > 0, then ave reg flow must be > 0 to avoid calculation of an infinite travel time except when flow routing parameter = 1, ave reg flow could be 0.
megalitres per dayreal ≥ 00 ML/d
ElevationNote that while it is usual to use zero storage as the reference point for the elevation of a link or node, there is no convention for a link as to whether that should be at the start or end of the reach, or some point in between. Source has no mechanism for indicating the fall across a reach.   
Initial conditionsIf necessary, one of these parameters may be used to seed a reach with either an initial flow or storage (see below) so that reach behaviour is fully defined from the first model time-step.
Initial flow megalitres per dayreal ≥ 00 ML/d
Initial storageThe amount of water deemed to be in the link on the first time-step. For example, if there is a lag of two days, and there is 10ML in the link at the start of the run, then 5ML is deemed to be flowing out each day (total initial storage divided by lag).megalitresreal ≥ 00 ML
Reach length

Source simulates evaporation and rainfall using the user defined reach length and a reach width (based on simulated flow and a user defined rating curve) to calculate surface area.

metresreal ≥ 00 m
Routing parameters

# Divisions

Number of reach divisions. Conceptually, this parameter describes the number of times that a reach is replicated. The effective length of a reach is determined from its behaviour, which is controlled by the combination of the storage exponent m, the inflow bias x and the storage constant K. Specifying multiple reach divisions implies applying the same set of behavioural parameters multiple times. In other words, if the effective length of a single-division reach is 500 metres (as derived from its behavioural parameters), changing the # Divisions parameter to 2 implies a combined effective length of 1000 metres. If you want to sub-divide a 500 metre reach into two 250 metre sections, you must also change the behavioural parameters to achieve this.whole unitsinteger ≥ 11
Inflow bias (attenuation factor, x)The weighting factor x is used to adjust the bias between inflow and outflow rate and allows for flow attenuation. A recommended starting value is 0.5.dimensionlessreal 0 ≤ x ≤ 10
Generic
Storage constant (K)When using linear routing (m=1), the units of the storage constant K are in seconds. For models using daily time-steps, the recommended starting value is 86400 (the number of seconds in one day). When using non-linear routing (m≠1), the recommended starting value should be calculated as shown in Equation 2.K unitsreal ≥ 00
Storage exponent (m)If m=1, linear (Muskingum) routing is implied, otherwise non-linear routing is implied. time-stepsreal 0 < m ≤ 10 time-steps

Piecewise storage function

Link travel time can also be set using a piecewise linear editor. This describes a series of relationships between reach index flow rate q¯ versus travel time. The slope of the curve is the same as that for index flow rate versus storage so the rating curve can be derived using dead storage (zero flow) as the starting point. The data points can be entered manually or imported from a .CSV file, the format of which is shown in Table 2. Quadratic interpolation is used to find points in each defined segment on the curve (as in BigMod where = 1).

Piecewise routing allows you to specify how k varies with flow. If = 1, then k must always be less than or equal to the time-step. In BigMod routing, the highest value of k is found in the travel time relationship, and the reach should be sub-divided into sufficient divisions such that the highest value of k for each division is less than the half the time-step.

Figure 3. Storage routing link, Piecewise

Table 2. Storage routing link, Travel time (data file format)
RowColumn (comma-separated)
12
1Index flowTravel time
2..nflowday

Link rating curve

Rating curves (Figure 4) are used to describe the physical characteristics of the reach and convert a flow into a level, ie. they produce an output of level. They can be specified in one of two ways:

  • Using the Cross Section Editor to specify a physical cross section, and then generating the rating curve; or
  • Directly entering the rating curve - the piecewise linear editor allows you to define relationships with respect to water level, discharge rate, reach width and dead storage. You can define multiple rating curves for a reach, each scheduled to commence on a particular date.

To define a new rating curve directly:

  • Right click Rating Curve and choose Add Rating Curve;
  • Today’s date will automatically be entered for Start Date. To change this, click the calendar on the right side (see Working with date-pickers);
  • Enter the water level, discharge rate, reach width and dead storage; and
  • Enter an appropriate value for Overbank Flow Level.
Figure 4. Storage routing link, Rating curve

You can also use the Import button to import a rating curve from a .CSV file the format of which is shown in Table 3.

Table 3. Storage routing link, Rating curve (data file format)
RowColumn (comma-separated)
1234
1LevelDischarge (ML/d)Surface width (m)Dead storage (ML)
2..nlevelratewidthstorage

where:

level is the storage height in the reach in metres above dead storage

rate is the outflow from the reach in the corresponding level

width is the surface width of the reach at the corresponding level

storage is the dead storage in the reach at the corresponding level

There should be at least one row describing the maximum depth at which there is zero flow, and which quantifies the maximum amount of dead storage in the reach. Thereafter, the dead storage volume should remain constant. Table 4 shows an example of this. A depth of 0.5 metres defines the maximum amount of dead storage (100 megalitres), after which the dead storage remains constant. Note that if discharge is 0, then dead storage must be increasing, or it must be equal to the previous value of dead storage.

Table 4. Storage routing link, Rating curve (example)
Level (m)Discharge (ML/d)Surface width (m)Dead storage (ML)
0000
0.10550
0.5010100
11011100
550015100

To edit an exising rating curve, select the curve from the list of available curves under Rating Curve. Edit the data and click OK to close the editor. To delete a rating curve, right click the curve from the list and choose Delete.

You can also export rating curves to .CSV files by clicking the Export button.

Link losses and gains

Choose Loss/Gain to specify flux as a function of flow using a piecewise linear editor. By convention, losses are described using positive numbers whereas gains are specified using negative numbers. In other words, a gain is a negative loss.

Note: In the Flow vs Loss/Gain table, flow cannot be negative. Additionally, the values for Loss/Gain Qloss must be increasing (as shown in Figure 5).
Figure 5. Storage routing, Loss/Gain

Link Evaporation

Choose Evaporation to specify the rate of evaporation per unit of surface area (Figure 6). Typically, this is done using a time series (loaded using Data Sources), the format of which is shown in Table 5. You can also specify the rate of evaporation as a single value or as an expression.

Figure 6. Storage routing, Evaporation

Table 5. Storage routing link, Evaporation (data file format)
RowColumn (comma-separated)
12
1..ntimevalue

where:

time is the time of obersvation in "dd/mm/yyyy hh:mm:ss" format

value is the evaporation rate in millimetres per time-step

Note: The file format shown in Table 5, as well as the screen shown in Figure 5 can be replicated for Rainfall and Timeseries Flux. The former allows you to specify the rate of precipitation; the latter allows the input of a time series of total water lost or gained on a link. Values can be positive or negative. A negative value denotes water returned to the link (a gain). See also Link losses and gains.

Constituents

Choose Constituents to configure constituents on the storage routing link. Refer to Constituents - Links.

Choose ordering and configure the parameters as shown in Figure 7.

Figure 7. Link (Ordering)

Ownership must be enabled at the scenario-level (using Edit » Ownership) prior to configuring ownership at storage routing links. Refer to Ownership for details.

  • No labels