# Muskingum Routing Method

The Muskingum routing method models the storage volume in a channel length as a combination of wedge and prism storages (Figure 7:1-3).

![Figure 7:1-3: Prism and wedge storages in a reach segment (After Chow et al., 1988)](/files/6TGbopPFeEyAQ54V1uSb)

&#x20;          When a flood wave advances into a reach segment, inflow exceeds outflow and a wedge of storage is produced. As the flood wave recedes, outflow exceeds inflow in the reach segment and a negative wedge is produced. In addition to the wedge storage, the reach segment contains a prism of storage formed by a volume of constant cross-section along the reach length.

&#x20;          As defined by Manning’s equation (equation 7:1.2.1), the cross-sectional area of flow is assumed to be directly proportional to the discharge for a given reach segment. Using this assumption, the volume of prism storage can be expressed as a function of the discharge, $$K*q\_{out}$$, where $$K$$ is the ratio of storage to discharge and has the dimension of time. In a similar manner, the volume of wedge storage can be expressed as  $$K*X\*(q\_{in}-q\_{out})$$, where $$X$$ is a weighting factor that controls the relative importance of inflow and outflow in determining the storage in a reach. Summing these terms gives a value for total storage

&#x20;               $$V\_{stored}=K*q\_{out}+K*X\*(q\_{in}-q\_{out})$$                                                   7:1.4.1

where $$V\_{stored}$$ is the storage volume (m$$^3$$ H$$*2$$O), $$q*{in}$$ is the inflow rate (m$$^3$$/s), $$q\_{out}$$ is the discharge rate (m$$^3$$/s), $$K$$ is the storage time constant for the reach (s), and $$X$$ is the weighting factor. This equation can be rearranged to the form

&#x20;              $$V\_{stored}=K\*(X\*q\_{in}+(1-X)\*q\_{out})$$                                                  7:1.4.2

This format is similar to equation 7:1.3.7.

&#x20;               The weighting factor, $$X$$, has a lower limit of 0.0 and an upper limit of 0.5. This factor is a function of the wedge storage. For reservoir-type storage, there is no wedge and $$X=0.0$$. For a full-wedge, $$X=0.5$$. For rivers, $$X$$ will fall between 0.0 and 0.3 with a mean value near 0.2.&#x20;

&#x20;              The definition for storage volume in equation 7:1.4.2 can be incorporated into the continuity equation (equation 7:1.3.2) and simplified to

&#x20;                $$q\_{out,2}=C\_1*q\_{in,2}+C\_2*q\_{in,1}+C\_3\*q\_{out,1}$$                                              7:1.4.3

where $$q\_{in,1}$$ is the inflow rate at the beginning of the time step (m$$^3$$/s), $$q\_{in,2}$$ is the inflow rate at the end of the time step (m$$^3$$/s), $$q\_{out,1}$$ is the outflow rate at the beginning of the time step (m$$^3$$/s), $$q\_{out,2}$$ is the outflow rate at the end of the time step (m$$^3$$/s), and

&#x20;                 $$C\_1=\frac{\Delta t-2*K*X}{2*K*(1-X)+\Delta t}$$                                                                                     7:1.4.4

&#x20;                 $$C\_2=\frac{\Delta t+2*K*X}{2*K*(1-X)+ \Delta t}$$                                                                                     7:1.4.5

&#x20;                 $$C\_3=\frac{2*K*(1-X)- \Delta t}{2*K*(1-X)+\Delta t}$$                                                                                     7:1.4.6

where $$C\_1+C\_2+C\_3=1$$. To express all values in units of volume, both sides of equation 7:1.4.3 are multiplied by the time step

&#x20;                   $$V\_{out,2}=C\_1*V\_{in,2}+C\_2*V\_{in,1}+C\_3\*V\_{out,1}$$                                       7:1.4.7

To maintain numerical stability and avoid the computation of negative outflows, the following condition must be met:

&#x20;                  $$2*K*X<\Delta t<2*K*(1-X)$$                                                     7:1.4.8

The value for the weighting factor, $$X$$, is input by the user. The value for the storage time constant is estimated as:

&#x20;                  $$K=coef\_1*K\_{bnkfull}+coef\_2*K\_{0.1bnkfull}$$                                            7:1.4.9

where $$K$$ is the storage time constant for the reach segment (s), $$coef\_1$$ and $$coef\_2$$ are weighting coefficients input by the user, $$K\_{bnkfull}$$ is the storage time constant calculated for the reach segment with bankfull flows (s), and $$K\_{0.1bnkfull}$$ is the storage time constant calculated for the reach segment with one-tenth of the bankfull flows (s). To calculate $$K\_{bnkfull}$$ and $$K\_{0.1bnkfull}$$, an equation developed by Cunge (1969) is used:

&#x20;                  $$K=\frac{1000\*L\_{ch}}{c\_k}$$                                                                                                7:1.4.10

where $$K$$ is the storage time constant (s), $$L\_{ch}$$ is the channel length (km), and $$c\_k$$ is the celerity corresponding to the flow for a specified depth (m/s). Celerity is the velocity with which a variation in flow rate travels along the channel. It is defined as

&#x20;                   $$c\_k=\frac{d}{dA\_{ch}}(q\_{ch})$$                                                                                            7:1.4.11

where the flow rate, $$q\_{ch}$$, is defined by Manning’s equation. Differentiating equation 7:1.2.1 with respect to the cross-sectional area gives

&#x20;                   $$c\_k=\frac{5}{3}\*(\frac{R\_{ch}^{2/3}\*slp\_{ch}^{1/2}}{n})=\frac{5}{3}\*v\_c$$                                                                  7:1.4.12

where $$c\_k$$ is the celerity (m/s), $$R\_{ch}$$ is the hydraulic radius for a given depth of flow (m), $$slp\_{ch}$$ is the slope along the channel length (m/m), n is Manning’s “$$n$$” coefficient for the channel, and $$v\_c$$ is the flow velocity (m/s).

Table 7:1-3: SWAT+ input variables that pertain to Muskingum routing.

| Variable Name | Definition                                                                                | File Name |
| ------------- | ----------------------------------------------------------------------------------------- | --------- |
| MSK\_X        | $$X$$: weighting factor                                                                   | .bsn      |
| MSK\_CO1      | $$coef\_1$$: weighting factor for influence of normal flow on storage time constant value | .bsn      |
| MSK\_CO2      | $$coef\_2$$: weighting factor for influence of low flow on storage time constant          | .bsn      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://swatplus.gitbook.io/io-docs/theoretical-documentation/section-7-main-channel-processes/water-routing/muskingum-routing-method.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
