Links connect nodes in Source - they link, store and route water passing between nodes. You can only connect nodes using links and you cannot connect two links to each other without an intervening node.
A reach refers to a stretch of river, or physical section, between an upstream and downstream location. A link, on the other hand, is a logical connection within a river systems model. Routing describes the change in timing and shape of flow as water moves down a river.
...
For
...
Info | ||
---|---|---|
| ||
Note: Throughout this document, unless explicitly stated otherwise, the term routing means hydrologic routing, not hydraulic routing. |
Using links in Source
Once links have been added a model, several attributes can be edited in a similar way to nodes:
- Node and link default names;
- Renaming nodes and links - once added, links are given default names - refer to ;
- Configuring node and link parameters;
- Adding notes to nodes and links (only for lagged flow routing and storage routing links);
- Searching for nodes and links;
- Deleting nodes and links;
- Node and link default names; and
- Copying and pasting.
...
There are two types of links available depending on the nodes you are connecting (refer to Figure 1).
Vertical links are used to connect most nodes. To add this link to a model, first refer to Figure 1 which defines the terminology. To create the link:
- Position the mouse cursor over the upstream node;
- Click and hold on one of its downstream connectors and start dragging;
- When you start dragging the mouse cursor, candidate targets are displayed (as large icons) for the upstream connector of a downstream node; and
- Release the mouse and the link will ‘snap’ into place.
One example of a vertical link is a demand link, which is created when you connect a water user node to a supply point node, and is represented in the Schematic Editor using dashed red lines.
Figure 1. Node connection terminology
Horizontal links (or wetland links) are drawn between the Wetlands Hydraulic Connector node (source) and the Storage node (target) only. This process is similar to drawing a vertical link. Note that the node connectors appear on the left and right side, instead of above and below the nodes. Click and drag these connectors together as described for vertical links. The presence of a horizontal link at a storage node indicates that the storage is behaving as a wetland. Figure 2 shows an example of a horizontal link.
Figure 2. Horizontal link
You can also drag the link vertically once it has been created by clicking on the red dot. This appears in the centre of the link when you click on the link. For more detail on the wetland link, refer to Wetland Link.
Dragging links
You can disconnect and reconnect a link between nodes rather than having to delete and re-add it using the Allow Link Dragged button in the Schematic Editor options toolbar. Note that not all links can be connected to all types of nodes, and specific nodes require certain links. Refer to Types of link routing for more detail.
Link elevation
You can set the elevation for a link using the Location Control window.
Info | ||
---|---|---|
| ||
Note: 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. |
an introduction to links, see Nodes and Links.
Anchor | ||||
---|---|---|---|---|
|
Source supports three types of link routing - straight through routing (default), a lagged routing model or a storage routing modela Storage routing model. You are responsible for ensuring that you use the correct model for each link.
Note that you can configure constituents, ownership and ordering for a storage routing link only.
To change the link routing type:
...
You can check which routing models are in use in a scenario using the Project Hierarchy. The example in Figure 4 3 shows that both there are two types of links in use - lagged flow and storage routing are in use.
Figure
...
3. Project Hierarchy (link models)
Straight through routing
All links are assigned straight through routing by default . This link has and have the following features:
- Water enters and exits such a link in the same time-step;
- There are no configuration parameters associated with straight through routing links; and
- You cannot configure fluxes, constituents or ownership.
Straight through routing links are represented in the Schematic Editor using black, dashed lines.
Lagged flow routing
Lagged flow routing only considers the average travel time of water in a river reach. It does not consider flow attenuation. The flow entering a link exits that link at some whole number of time-steps in the future. This type of link is represented in the Schematic Editor as a black line, with alternating dots and dashes. Once you have enabled lagged flow routing, double click the link to configure the settings.
Figure 1 4 shows the feature editor for a lagged flow routing link and Table 1 describes 2 lists the associated parameters required to configure this link.
Figure
...
4. Link (Lagged flow routing)
Table
...
2. Parameters for lagged flow routing
Parameter | Type | Definition |
---|---|---|
Lag time | Time | This represents the time it takes for water to travel along the link and is a positive real number. If the specified lag time is not an integer multiple of the model time-step, it will be rounded to the nearest time-step. |
Initial Storage | Volume | The 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). |
Storage flow routing
This type of link is represented in the Schematic Editor as a solid black line. Storage routing is based on mass conservation and the assumption of monotonic relationships between storage and discharge in a link.
Info | ||
---|---|---|
| ||
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 2:
Equation 2 |
---|
where:
S is the storage in the reach,
K is the storage constant,
m is the storage exponent, and
q‾ is the index flow, which is given by
Equation 3 |
---|
where:
I is 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 factor.
Figure 2. Prism and wedge storage
Refer to the Source Scientific Reference Guide for more details.
Travel time in the reach is computed as follows:
Equation 1 |
---|
Tip | ||||||
---|---|---|---|---|---|---|
| ||||||
A link configured for lagged flow routing is treated as a series of sub-reaches or 'divisions' of equal length, with the travel time in each |
...
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 |
...
model lagged flow routing using storage routing and the generalised non-linear storage |
...
option, as follows:
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Figure 3 shows the feature editor configured for storage link routing. Table 1 outlines the parameters required.
Figure 3. Link (Storage Routing), Generic
Table 1. Parameters for link storage routing (generic)
...
|
...
# Divisions
...
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
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 x=1).
Table 2. Link (Storage routing travel time, data file format)
Row | Column (comma-separated) | |
---|---|---|
1 | 2 | |
1 | Index flow (ML/d) | Travel time (day) |
2..n | flow | lag |
Piecewise routing allows you to specify how K varies with flow. If x=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.
...
Rating curves 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.
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. Link (Storage routing, Rating curve, data file format)
Row | Column (comma-separated) | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
1 | Level | Discharge (ML/d) | Surface width (m) | Dead storage (ML) |
2..n | level | rate | width | storage |
...
level is the storage height in the reach in metres above dead storage
rate is the outflow from the reach in megalitres per day in the corresponding level
width is the surface width of the reach in metres at the corresponding level
storage is the dead storage in the reach in megalitres 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. Link (Storage routing, Rating curve, example)
Level (m) | Discharge (ML/d) | Surface width (m) | Dead storage (ML) |
---|---|---|---|
0 | 0 | 0 | 0 |
0.1 | 0 | 5 | 50 |
0.5 | 0 | 10 | 100 |
1 | 10 | 11 | 100 |
5 | 500 | 15 | 100 |
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. Table 3 shows the file format.
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.
Info | ||
---|---|---|
| ||
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. Link (Storage routing, Loss/Gain)
You can enter the relationship manually, or import the data from a .CSV file, the format of which is shown in Table 5. This table shows the data file format for both evaporation and rainfall.
Table 5. Link (Evaporation.Rainfall, data file format)
Row | Column (comma-separated) | |
---|---|---|
1 | 2 | |
1..n | time | value |
Where:
time is the time of observation in "dd/mm/yyyy hh:mm:ss" format
value is the evaporation rate.rainfall in millimetres per time-step
Link evaporation
Choose Evaporation to specify the rate of evaporation per unit of surface area. 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 using the Function Editor.
Figure 6. Link (Storage routing, Evaporation)
Rainfall on link surfaces
To specify the rate of precipitation per unit of surface area, choose Rainfall. Just like evaporation, this can be specified as a single value, as a time series (format shown in Table 5) or an expression. A time series can have multiple columns containing rainfall data.
Figure 7. Link (Storage routing, Rainfall)
Timeseries Flux
This 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.
Figure 8. Link (Storage routing, Timeseries flux)
Constituents
Before you can configure constituents for a link, you must define them first for the scenario using Refer to Links.
Ordering at links
Figure 9. Link (Ordering)
Ownership at links
...
|