...
Refer to the Source Scientific Reference Guide for more details.
Figure 3 shows the parameters required to configure storage routing on a link.
Figure 3. Link (Storage Routing), Generic
Travel time in the reach is computed as follows:
Equation 1 |
---|
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 divisions, n, by dividing the average wave passage time by the model time-step and round the result to a whole number. The result must be at least one (ie n ≥ 1).
- Configure a storage flow routing reach where:
- n = number of divisions;
- x = 1;
- m = 1; and
- K = model time-step.
- 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.
You can also specify a piecewise relationship (as shown in Figure 4) instead of a generic one.
...
Figure 3 shows the feature editor configured for storage link routing. Table 1 outlines the parameters required.
Figure 3. Link (Storage
routingRouting),
PiecewiseGeneric
About 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; or
- The reach is above dead storage but fluxes during the time-step would lower the level in the reach to 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 up to 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 storage estimate is above dead storage then outflows are computed, otherwise the initial storage estimate is used and outflows are set to zero.
The next section provides an overview of the parameters shown in Figure 5.
Initial conditions (flow or storage)
If necessary, one of these parameters may be used to seed a reach with either an initial flow or storage so that reach behaviour is fully defined from the first model time-step.
Reach length
The Reach Length is not used in computations and is only for documentation purposes.
...
This parameter is used to calculate travel time for orders in the ordering phase. It is not used in the flow distribution phase.
Number of 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.
Inflow bias
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.
Storage exponent
If m=1, linear (Muskingum) routing is implied, otherwise non-linear routing is implied. A recommended starting value for non-linear routing is m=0.8. Laurenson routing is obtained when m≠1 and x=0, in which case the storage routing equation simplifies to:
Equation 1 |
---|
Storage constant
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 follows:
Equation 2 |
---|
For example, if the reach length is 1000 metres, the time-step is one day, and m=0.8:
Equation 3 |
---|
The parameters for storage flow routing are summarised in Table 1.
Table 1. Link (Storage routing parameters)
...
Table 1. Parameters for link storage routing (generic)
Parameter | Description | Units | Range | Default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
General configuration | ||||||||||
| Used to calculate travel time for orders in the ordering phase. It is not used in the flow distribution phase. | megalitres per day | real ≥ 0 | 0 ML/d | ||||||
Elevation | Note 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 conditions | If 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 day | real ≥ 0 | 0 ML/d | |||||||
Initial storage | As defined in Table 1. | megalitres | real ≥ 0 | 0 ML | ||||||
Reach length | Not used in computations and is only for documentation purposes. | metres | real ≥ 0 | 0 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 units | integer ≥ 1 | 1 | ||||||
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. | dimensionless | real 0 ≤ x ≤ 1 | 0 | ||||||
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 units | real ≥ 0 | 0 | ||||||
Storage exponent (m) | If m=1, linear (Muskingum) routing is implied, otherwise non-linear routing is implied. | time-steps | real 0 < m ≤ 1 | 0 time-steps |
You can also specify a piecewise relationship (as shown in Figure 4) instead of a generic one.
Figure 4. Link (Storage routing), Piecewise
About 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; or
- The reach is above dead storage but fluxes during the time-step would lower the level in the reach to 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 up to 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 storage estimate is above dead storage then outflows are computed, otherwise the initial storage estimate is used and outflows are set to zero.
The next section provides an overview of the parameters shown in Figure 5.
Equation 1 |
---|
Storage constant
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 follows:
Equation 2 |
---|
For example, if the reach length is 1000 metres, the time-step is one day, and m=0.8:
Equation 3 |
---|
The parameters for storage flow routing are summarised in Table 1.
Table 1. Link (Storage routing parameters)
Piecewise storage function
...