Skip to content

Routing

At a glance…

The routing node simulates streamflow routing. Each routing node incorporates a lag-routing component, and a storage routing component.

[node.reach_4_routing]
type = routing
loc = 20, 30
lag = 2
pwl = dfd, sdfd,
      dfd, dfddf,
n_divs = 3
x = 0
ds_1 = my_other_node

Node properties

Property Description
[node.?] (compulsory) Start of node declaration. This says we are creating a node, and also defines the name of the node. Node naming conventions are discussed at . Example: [node.reach_4_routing]
type (compulsory) The node type, which is “routing” in this case. type = routing
loc (compulsory) The location of the node in cartesian coordinates. Example: loc = 20, 30
lag (optional) Parameter for lag routing. This is an integer number of [timesteps], and in a daily model the units of this parameter are therefore [days]. Example: lag = 2
pwl (optional) Comma delimited values representing the piecewise linear storage routing relationship. There must be an even number of values, with each consecutive pair representing a flow and a corresponding travel time. Refer to this page to read more about in Kalix. Example: pwl = 0, 3, 10, 3, 100, 2, 200, 1, 500, 0, 1e8, 0
nlm (optional) Nonlinear Muskingum parameters: k, m. Using these parameters will activate nonlinear Muskingum routing algorithm. Cannot be used in conjunction with piecewise linear on the same reach. Units for k are [meters^(3(1-m)) · s^m]. Following the convention of other platforms, if n_divs > 1 then k applies per division. Example: nlm = 183000, 0.75
n_divs (optional) The number of divisions used in the pwl storage routing solver. Default value is 1. Example: n_divs = 10
x (optional) Inflow bias. This sets the bias of the upstream flow (as opposed to the downstream flow) in the index flow term used in the pwl storage routing solver. Default value is 0. Example: x = 0
ds_1 (optional) Name of the downstream node. This property defines a downstream link. Inflow nodes may only have 1 downstream link. Example: ds_1 = my_other_node

Results associated with this node

Result Description
dsflow Downstream flow [ML]
usflow Upstream flow [ML]
ds_1 Downstream flow on link ds_1 [ML]
ds_1_order Orders on the link ds_1 [ML]
volume Volume of water in the reach storage [ML]

How the node works

The node includes two routing functions which may be used together or individually.

Lag routing - flows are delayed by a fixed number of timesteps set by the node’s “lag” parameter.

Piecewise-linear storage routing - the node simulated storage routing through a certain number “n_divs” of sections. For each section, the outflow is determined by solving the storage routing equation Vi=V(qref,i), where the reference flow is

qref,i=x qin,i+(1−x) qout,i

and mass balance requires that

Vi=Vi−1+qin,i−qout,i

References

None.