xpdrainage uses a Muskingum-Cunge algorithm to calculate the Time of Travel and Retention Coefficient for all Stormwater Controls and Connections. In the case of a Stormwater Control with two subsystems, i.e. Bioretention has a Ponding area and Filter layers, the software will perform a set of calculations for each individual subsystem.

The Muskingum-Cunge algorithm is a variation of the Muskingum routing method. The algorithm calculates basic hydraulic parameters in a modified manner, using either the Manning's or Colebrook-White velocity equation and modified flow wave celerity equation.

The Manning’s velocity equation :

The Colebrook-White equation:

Hydraulic radius:

And reference depth, we assume the reference flow:

Flow wave celerity:           

K coefficient is defined as        

And eventually Retention Coefficient:  


A – wetted area

W – structure width

S0 – slope of the structure

L – length of the structure


The wetted area and width are determined at a set height up the Stormwater Control, or subsystem. This is based on the Reference Height Fraction that is specified on the Analysis Criteria form.

For Stormwater Controls (SWCs), the analysis uses a fixed spatial step of 50m. This is used to derive the number of iterations needed for the Muskingum routing for each SWC. The number of Muskingum iterations cannot be less than 2, unless the retention time is zero.

With the hydraulic radius, wetted area and reference width calculated the engine will calculate the velocity and K, and will perform further calculation for the Muskingum method.