xpdrainage uses a customised version of the latest SWMM5 engine, version 5.1.013, which uses the Dynamic Wave hydraulic routing. The engine uses a tailored implementation for Stormwater Control (LID) analysis utilising the SWMM5 Catchment LID methods.


xpdrainage is using a globally recognised engine to perform the hydraulic analysis within the software. The SWMM (Stormwater Management Model) engine is an Open-Source computational engine that has been developed since the 1970s, mainly in the USA with contributions from various institutions over the years. The management of SWMM is handled by the US EPA. The engine is trusted worldwide for the simulation of water quantity as well as quality, and has been through an extended amount of scrutiny and testing over time.

In its standard form SWMM 5.1 provides the full 1D simulation of 'grey' infrastructure, Connections (Pipes/Channels) and Junctions, but only represents the 'green' infrastructure, SuDs, LID, WSD, etc, as hydrological elements that affect the catchment inflow hydrograph. Whereas in reality these systems often have a large impact on the routing of flows during the analysis, especially where they are placed in the middle rather than at the inflow source location.

To improve this we have developed our own industry leading Stormwater Control Analysis built on top of the SWMM5 Catchment LIDs approach. This allows the engineer to place the system in the correct location and see the impact this will have during the analysis. Examples would be the time of travel through the system, the depths and volumes within them against time as well as the infiltration and pollution removal capabilities.

The software then builds on this further by adding the industry standard runoff and rainfall methodologies to allow a system to be quickly compared against a range of storms and methodologies.

All of this means that xpdrainage users benefit from not only decades of development on the SWMM engine, but also from the strong expertise within Innovyze when it comes to hydraulic simulations.

xpdrainage exposes this powerful combination in an easy-to-use graphical interface that allows a design to be built and analysed without leaving the software.


SWMM5 is developed by the US EPA as a stand-alone engine with its own graphical user interface, more background reading can be found on the EPA website - https://www.epa.gov/water-research/storm-water-management-model-swmm

The engine itself is documented in a lot of details in the EPA manuals. Here are the quick links to the Reference Manual Volume II — Hydraulics, and the Reference Manual Volume III — Water Quality (includes LIDs).

Overview of the Method of Analysis

The flows are routed through the system from the inflows at the head of the system to the outfall locations. It is worth noting that the software does not impose a dendritic layout to the system so multiple outlets can be specified and therefore loops can be modelled.

The engine updates the length of the computational time-step at every time-step based on the hydraulic conditions (i.e. adaptive time step). This is to ensure that the time-step has the optimum length to balance the accuracy of the results and the runtime of the simulation.

Generating Inflows

The Inflow Hydrograph may be defined by the user as a Hydrograph or may be calculated from the runoff Method selected when using a Catchment Area. Each runoff method is described in detail under the corresponding headings. Note: Pollution loads are generated based on the runoff rates.

The hydrograph is then routed into the inlet of a Simple Junction, Manhole or Stormwater control. The Inlet may restrict the flow based on a range of methods described via links to the Inlet types on the Inlets page. There may be multiple inlets which are treated separately and then summed to create the total inflow into the Junction, Manhole or Stormwater Control. Note: A bypass connection can be specified to take the excess flow that cannot enter the inlets.

Routing flows

Flows that are entering through the inlets then fill the Manhole, Simple Junction or Stormwater Control they are attached to. How the volume is then routed depends on the type:

Manholes - The volume are added to that already in the manhole and then routed via the outlets based on the head difference and outlet capacity. Any water that exceeds the manhole storage capacity will flood into a 1000 m² plan area and can re-enter the manhole later as the level in the system drops.

Simple Junctions - Volume entering the simple junction is contained within a simple 1m² plan area, which is used to generate the depths and therefore flows through the outlets. No flooding can occur at this locations due to their nature, but an overall depth is reported to make it clear how outlet flows were calculated.

Stormwater Controls - A more complex analysis takes place with the time taken to enter the system (Time of Travel) after passing through the inlets reflected in the difference between the Total Approach Flow and the Total Inflow. Once within the system the water will pass through one or more layers with each allowing infiltration and outlet connections.

Notes: The inlet can be used to determine the flow destination in a system with multiple layers, such as a Swale or Bioretention. Equally, the inflow type can be used to specify that an inflow occurs laterally, i.e. along its length, rather than entering at the upstream end (Point).

More details on the Analysis of Junctions and Connections and Analysis of Stormwater Controls are available by following the links.


The capacity of a hydraulic connection is considered when routing flows into it, where a connection does not have capacity the flows will be held back behind it in the Junction or Stormwater Control.

A notional connection does not have a capacity and will simple move the water from one end to the other, with the Simple Time Delay imposing a lag on that routing. As such these are only really intended for a simple sizing calculation and should be replaced before a final hydraulic simulation to test for exceedence.

Reverse Flow

Reverse flow is possible within the standard Pipes/Channels and Manholes/Simple Junctions. This is calculated at each time step based on the levels within the system. i.e. if the water level is higher downstream water will be able to flow backwards to achieve a flat water level.

At this stage we do not permit reverse flow into, or out of, a Stormwater Control due to their complex nature and the time of travel calculations in place. It is also not possible to reverse flow through a notional connection (No delay or Simple Time Delay) as they have no physical parameters that would make this possible.

Surcharge Levels

Each outfall location allows for the specification of a surcharge level, either fixed or time varying. By default the software will assume a free discharge boundary. Please see Outfall Details for more information.



In order to illustrate how the custom engine in xpdrainage goes beyond the standard SWMM5, here is a list of additional features:

  • A number of extensions to the LID methods used to represent the Stormwater Controls, see Analysis of Stormwater Controls.
  • Lag links, used for the Lagged Flow connections and for the Time of Travel in Stormwater Controls.
  • Various improvements and bug fixes for the calculation of the pollutant concentrations, LID layer volumes and depths, mass balance, time-step statistics.

Workflow - What's next...?

Inflows connect to either  Junctions or  Stormwater controls  via  Inlets . Specify an  Analysis on these objects then choose to connect to another Junction or Stormwater Control.