Simulation and Design in one package

Computer programs for stormwater management can have various objectives.

  • simulation and analysis
  • design of facilities
  • detailing and drafting

Many programs are concerned with the first of these with some facility for trial and error design.

Of the programs used for computer aided drafting, the Hydrology module of Softdesk is one but uses simple procedures for hydrology

MIDUSS offers a blend of simulation and design. It provides powerful decision support system for the sizing, design and evaluation of stormwater management facilities for quantity control.

MIDUSS has been around since 1984. Even before this date it was used for teaching civil engineering students the fundamentals.

It has always been a combination product - Simulation AND Design.  It is our philosophy that the two cannot be effectively separated.  

The MIDUSS roots are in education and this theme has continued over the nearly 20 years.  The software strive for ease of use and flexibility so that the engineer can applies their skills efficiently and effectively.

Part of the MIDUSS name is the "I" for interactive.  Back in the early days most programs were batch oriented - but not MIDUSS.   In keeping with its desire for ease of use and efficient design it has always been fully interactive.

Interactive means that you design the network as the peak flow goes downstream.  Each component can be optimized because you "interact" with the program so that the flow is conveyed in an efficient design.  MIDUSS constantly provides you with feedback on how the design is going.  If a pipe is surcharged, you will be told and encouraged to change the design.

The drainage network is represented as a tree of N nodes connected by (N-1) links representing conveyance, detention or diversion devices.  Each node represents a point at which runoff may be introduced. Since the network is a spanning, non-circuited tree, nodes can have any number of inputs but only one output.

For a given rainfall event, the solution takes the form of a marching solution which moves downstream computing flow hydrographs for the entire time-horizon at successive stations or nodes. At junctions, the accumulated hydrograph is stored to allow other tributary branches to be processed. When the flow from all contributing branches has been computed the solution continues downstream towards the root of the tree or outflow point

Some programs, such as EXTRAN, use a time-wise marching solution which has the advantage of taking into account the potential effect of backwater on the capture capacity of a minor system.

On the other hand, the downstream marching solution used in MIDUSS allows the program to be completely interactive, letting you work downstream in a logical fashion not unlike the approach taken in the old rational method. At each location in the network, yuo can see the entire hydrograph and gauge the extent to which runoff simulation is reasonable and also the effectiveness of proposed design elements in the drainage network in achieving the objectives of stormwater management. Errors can be corrected or design decisions refined before the results are transmitted downstream..

At the end of the design, you can easily apply a different storm to your designed network.  Problem areas of the design can be identified and corrected easily.  You do this interactively in what we call Automatic Mode - a simulation process which allows momentary stopping of the simulation to correct or anayze a particular part of the design.  Once reviewed, the simulation continues to the end of the design.

Interface Features:

  • Graphical view of network
  • Interactive design and simulation
  • Import or export any hydrographs or hyetographs at any point in the design or simulation
  • Copy, Cut and Paste to or from Clipboard
  • Save and reload a design session
  • Imperial or Metric units

Hydrology features:

The hydrologic modelling methods used in MIDUSS are well recognized and very versatile. 

You can select from a choice of:

  • Five single event storms (including custom Malaysia storms),
  • Three rainfall abstraction models, and
  • Four overland flow routing methods

This combination provides a wide range of modelling options.  This allows you to examine the sensitivity of results to the choice of algorithm – a feature appreciated equally by both professional engineers and teachers.

In addition to alternative methods for generating runoff from a catchment there are capabilities to add baseflow and to model a large, reasonably homogeneous catchment as a ‘lumped area’ without having to resort to unreasonable values for the overland routing parameters.

You can use either Metric or US units throughout MIDUSS.

If you have generated hydrographs using another software product, you can use the them in MIDUSS and takes advantage of the MIDUSS design capabilities you don't get with other packages.

The MIDUSS Version 2 Reference manual includes comprehensive engineering theory for all the available hydrology models.  In fact, the MIDUSS user manual has been used as a supplementary text book at many Universities and Colleges. 

Learn more about the MIDUSS hydrology features below.

Lag & Route
Base flow
IUH Hydrograph

This lets you define a hydrograph based on a peak flow value and time
to peak applied to an Instantaneous Unit Hydrograph.



The Storm command allows you to define a rainfall hyetograph either of the synthetic, design type or a historic storm. 

This window shows one of 5 available options to specify a design storm.

The available Storm options are:

  • the Chicago hyetograph
  • the 4 Huff quartile design storms
  • a Mass rainfall distribution curve
  • the Canada Atmospheric Environment Service storms
  • a user defined Historic storm


The Catchment command lets you define a single sub-catchment and computes the total overland flow hydrograph for the currently defined storm.  You can, of course,  combine an unlimited number of catchments within a drainage network.

The roughness, degree of imperviousness and surface slope of both the pervious and impervious fraction are defined in this command. The effective rainfall on these two fractions is computed and stored for future use. 

The runoff hydrographs from the pervious and impervious areas are computed separately and added to give the total runoff.

MIDUSS offers a choice between three different models for estimating infiltration and rainfall losses and four alternative methods for routing the overland flow. 

Rainfall losses using: Route the flow using:
  • SCS CN
  • Horton
  • Green & Ampt
  • Triangular SCS
  • Rectagular
  • SWMM method
  • Linear reservoir

Rainfall loss can also be estimated using the simple runoff coefficient which is converted to a corresponding SCS CN for the current storm depth.  All rainfall loss methods can be used with any of the flow routing algorithmns with the exception of the SWMM runoff method*.

The Triangular SCS is a dynamic triangular response function in which time of concentration varies with the intensity of the effective rainfall

The Rectangular response function varies dynamically in the same manner as the triangular response.

The SWMM RUNOFF algorithm uses a stage-discharge relation based on the Manning equation coupled with a non-linear reservoir.  *Use of the SWMM routing method limits infiltration methods to either Horton or Green & Ampt. 

The Linear reservoir response function is defined by the impulse response of a single linear reservoir.  Use of this method is similar to the OTTHYMO procedure.

MIDUSS lets you compare methods and to examine the sensitivity of the resulting runoff hydrograph to the methods used. This flexibility means, however, that you must exercise some care and consistency in the selection of procedures and parameter values for a particular application.

This window shows the first of many options in the catchment command. The runoff is computed as the sum of the direct runoff hydrographs from the pervious and impervious fractions. These can be specified and computed from the appropriate tabs on this form.


This command helps you model the runoff from a very large sub-catchment without having to resort to specifying unrealistically long overland flow lengths.

The command computes the lag time in minutes of a hypothetical linear channel and linear reservoir through which the runoff hydrograph is routed. Typically this results in a smaller, delayed runoff peak flow.

Lag and Route is intended to simulate a very large catchment (>30 ha or 75 acres) using a hypothetical linear reservoir in series with a linear channel at the downstream end of the catchment. The lag of the two components is roughly 2/3 of the total travel time in the conduits from the most remote point in the drainage network to the outflow. The linear reservoir lag is roughly 2/3 of the total. These fractions are defined by an empirical curve built in to the program and which can be edited.

The travel time is dependant on the type of conduit, the slope, roughness and average flow. The reservoir and channel lags are computed and displayed but you can modify these as a special option.

The modified peak flow is shown on the form along with a graphical and tabular display.


This command lets you specify a constant positive value of base flow to be added to the current inflow hydrograph.

The direct runoff hydrograph computed by the Catchment command does not include any baseflow. This command lets you add an estimated baseflow to the current Inflow hydrograph. If some baseflow has been added previously, a negative value can be used as long as it does not result in a negative ordinate in the inflow hydrograph.


This command provides a simple way to create an Inflow hydrograph with a user-specified peak
flow and time to peak (or duration) with a shape defined by a file containing the coordinates of a
pre-defined Instantaneous Unit Hydrograph. A file containing the SCS IUH curve is included with MIDUSS and you can easily prepare similar files to describe other IUH shapes.

You can enter a desired peak flow value and also specify either the time to peak in minutes or the
duration in minutes.

Design features:

Design options in MIDUSS include:

  • Pipe sizing (in which hydraulic gradient is reported if the pipe is surcharged)
  • Open channels of either a generalized trapezoidal shape or a more complex cross-section defined graphically and modified with up to 50 co-ordinate pairs.
  • Hydrograph flood routing in part-full pipes or open channels.
  • Detention ponds including a variety of tools for computing depth-discharge and depth-storage curves for a variety of outflow control devices and pond geometries.
  • Exfiltration trenches with multiple perforated and non-perforated pipes.
  • Diversion structures for separation of hydrograph components (e.g. major and minor).
  • Culverts including storage routing
  • Cascade lets you route the current inflow hydrograph through a short cascade of
    storage cells

The above detailed design tools are available at all points in the developmetn of the drainage network.


You can design a pipe to carry the peak flow of the current Inflow hydrograph. If no hydrograph has been calculated you can specify a desired constant flow.

For the peak flow you will be shown a table of diameters, gradients and average velocities which represent a feasible design. You can either choose one of these diameter-gradient pairs by double clicking on a row in the table or you can enter explicit values for diameter and gradient.

MIDUSS carries out a uniform flow analysis and reports the actual and relative depth, velocity, pipe capacity and also the critical depth. You can experiment by changing either the pipe roughness (i.e. the Manning 'n') or the diameter or gradient and press the [Design] button to see the results.


MIDUSS lets you design channels with two types of cross-section to carry the current peak flow in the Inflow hydrograph.   If no hydrograph has been calculated you can enter a constant flow value.

The cross-section can be:
1. A general trapezoidal shape defined by a base width and left and right sideslopes.
2. An arbitrary shape defined by up to 50 pairs of coordinates.

In both cases a table of depth, gradient, velocity values is displayed which represent feasible designs. You can select from this list by double clicking on a row of the table or you can specify a total depth and gradient explicitly.

Pressing the [Design] button causes a uniform flow analysis to display the uniform flow depth, critical depth, average velocity and channel capacity.

You can experiment with alternative schemes until satisfied. Pressing the [Accept] button saves the current design.

An arbitrary cross sectin can be drawn with the mouse pointer and the coordinates iof the selected points are shown automatically in a grid.  These coordinates can be edited to refinen the drawing.  If the length dX of a segment is altered all the points to the right are adjusted automatically.


Once a drainage conduit has been designed - either a pipe or channel - you can route the Inflow hydrograph through a reach of specified length to obtain the Outflow hydrograph at the downstream end.

For each conduit design MIDUSS adjusts the time step and reach length to acceptable sub-multiples in order to ensure numerical stability in the routing process.  You are advised of these changes but need not take any action.

The result of the routing operation is displayed in both graphical and tabular form. 

When an outflow hydrograph has been created by some routing operation you may choose from two possible courses of action. Either the outflow can be copied to the inflow array in order to continue to the next downstream link, or the outflow may be stored at a junction node to be combined with other flows at a confluence point.


MIDUSS helps you to design a detention pond to achieve a desired reduction in the peak flow of a hydrograph.  

The current peak flow and the total volume of the inflow hydrograph are reported and you are prompted to specify the desired peak outflow. MIDUSS estimates the maximum storage requirement to achieve this.

The storage routing through the pond requires a table of values defining the outflow discharge and the storage volume corresponding to a range of stage or depth levels. You can enter this data directly into the grid if you wish, but it is usually easier to use some of the features of the Pond command to automate this process.

The outflow control can be designed using multiple orifices and weir controls. The Stage - Storage values can be estimated for different types of storage facility. These may be a multi-stage pond with an idealized rectangular plan shape and different side slopes in each stage; one or more "super-pipes" or oversized storm sewers; wedge storage formed on graded parking lots; or a combination of these types of storage.

Rooftop storage can also be modelled to simulate controlled flow from the roof of a commercial development.

Following use of the ROUTE command you can experiment by changing any of the flow or storage data until the desired result is obtained.


The Trench command lets you proportion an exfiltration trench to provide underground storage for flow peak attenuation and also to promote return of runoff to the groundwater. 

The trench usually consists of a trench of roughly trapezoidal cross-section filled with clear stone with a voids ratio of around 40% and with one or more perforated pipes to distribute the inflow along the length of the trench.

The exfiltration trench splits the inflow hydrograph into two components. One of these is the flow which infiltrates into the ground water; the balance of the inflow is transmitted as an outflow hydrograph. Obviously an exfiltration trench requires reasonable porosity of the soil and a water table below the trench invert.

The design involves several steps including definition of the trench and soil characteristics, definition of the number, size and type of pipes in the trench and description of the outflow control device comprising orifice and weir controls as used in the Pond command.

The outflow control devices are similar to those used in the detention Pond command. Water from the inflow hydrograph enters the stone fill through one or more perforated pipes running the length of the trench. The trench may also have a conventional, un-perforated storm sewer between the manholes to convey the Outflow. The positioning of the various pipes in the trench can be defined graphically using the Trench pipes window. The diameter and type (perforated or non-perforated) can be specified and the location set by dragging the pipe to the desired position or by editing the numerical data in a grid. During the drag and drop procedure the current pipe cover is shown to assist in ensuring adequate clearance.


A diversion structure allows the inflow hydrograph to be split into two separate components, the outflow hydrograph and the diverted flow hydrograph. 

Below a user-specified threshold flow all of the inflow will be transmitted to the outflow hydrograph. When the inflow exceeds the threshold value, the excess is divided in proportion to a specified fraction.  For example, if the inflow is 25 cfs and the thresh-hold is 5 cfs so the excess flow is 20 cfs.  Now if the capture fraction is F = 0.8 this means that 80% of the excess flow is diverted and the diverted flow will be 16 cfs and the outflow will be 9 cfs.

Instead of specifying the diverted fraction F you can define this implicitly by specifying the desired peak outflow. MIDUSS will then work out the necessary fraction to be diverted.

The diverted flow hydrograph is written to a file so that it may be recovered at a later time and used to design the necessary conduit or channel.

Use of the diversion command is the only instance in which the topology of the network changes from a tree to a circuited network.


The Culvert command lets you model the behaviour of a culvert under various conditions of flow.

Because of the many variables involved, the process is largely one of trial and error and MIDUSS does not suggest initial feasible values for the design.

Culvert design can be carried out for either steady, (i.e. time invariant) flow or for an inflow
hydrograph. When inflow is in the form of a hydrograph the hydraulic design can be followed by
a routing process that shows the attenuation of the inflow hydrograph caused by ponding that
occurs upstream of the embankment. In such cases the peak outflow from the barrel will be less
than the peak inflow and you can refine the barrel design for the reduced flow if desired.

Your Culvert design can be preceded by a Channel design with either a trapezoidal or
complex cross-section. When this is done the cross-sectional shape of the channel is ‘inherited’ by
the culvert design and used to describe the flow cross-section upstream of the culvert. If the
inflow is a flow hydrograph, a channel design may be followed by a Channel routing process from
which the channel outflow forms the inflow to the culvert.

The culvert is assumed to be located below a sag point in a highway embankment that will form
an overflow weir in the event that the barrel flow capacity is sufficiently surcharged. Flow
separation between barrel and weir flow is assumed to be recombined downstream of the barrel.
The cross-section of the barrel conduit may be a circular pipe, a rectangular box, a horizontal or
vertical ellipse or a pipe arch. Multiple barrels may be used but cross-section and other hydraulic
parameters are assumed to be the same for all barrels.


The Cascade command lets you route the current inflow hydrograph through a short cascade of
storage cells formed from a variety of cross-sectional shapes such as pipes, rectangular boxes,
horizontal and vertical elliptical pipes and pipe arch sections.

The storage may be provided by a ‘superpipe’ or oversized storm sewer with a modest slope and a reach length limited to 100 - 150m (330 - 500 ft). Two reaches of superpipe can be used in series.

Each chamber is horizontal with a specified length, width, height and invert elevation.

The outflow control from each chamber is assumed to be an orifice of specified diameter and
coefficient of contraction with the orifice invert equal to the bottom of the upstream chamber.

You can specify a pipe, box or any of three special pipe sections (e.g. horiz elliptical, vert elliptical or pipe arch).  If you select the special pipes a drop-down list lets you browse through a set of commercially available sizes. These are shown in metric or imperial sizes depending on the choice of units.

If a cell is surcharged, the data box containing the Height is highlighted to warn you that more
storage or a larger orifice is required.

Layout features

You can plot the layout in a any of four directions NE, SE, NW or SW.  You can zoom in out out and adjust scaling.  A grid can be superimposed.

A layout popup menu includes a View mode which will display a drainage element's design and performance data when you hover over a network element.

When the Layout window is displayed you can click your mouse right button to open up a menu used just for interaction with the layout information.

  • Select mode – lets you move the icons and connections around to better match your real drainage network.
  • View mode – lets you hover over a layout element to reveal data about that element and its inflow and outflow data.
  • Print Area – use this to print the full layout or a specific rectangular section.
  • Print – lets you setup your target computer for layout printing.
  • Background – with this feature you can import bitmap or vector-based graphics as a backdrop for your layout.
  • Save Picture – the layout and background can be exported to certain graphic file formats


IDF Curve Fit: Computes Chicago storm parameters ‘a’, ‘b’ & ‘c’ for observed data.

Time of Concentration: Estimates the time of concentration at various locations in the drainage network.

Roughness Height: Converts roughness element height to a Manning 'n’ value.

Edit Storm: Lets you modify an existing Mass Rainfall Curves file or create a new one.

IDF Curve Fit

The IDF Curve Fit tool manipulates data describing an Intensity-Duration-Frequency relates for a particular geographical locality and can be used in two modes:

  1. To compute the ‘a’, ‘b’ and ‘c’ parameters of a Chicago hyetograph that most closely approximates a set of observed rainfall data.
  2. To compute the IDF curve for user-supplied values of the three coefficients and compare this with observed data.

The mode is selected by checking the ‘Optimize’ check box on the form or clearing it to simply compute the curve for specified values of ‘a’, ‘b’ and ‘c’. 

The above display shows data that has been entered for the first “Optimize’ mode of operation.  In the grid on the left for Time, Depth and Intensity a column of time intervals is displayed as shown.  These values can be customized if desired.

For any time interval the rainfall can be defined either as a total depth of rainfall or as an average intensity over the time interval. Entering either value automatically calculates and displays the other. The number of data pairs is automatically displayed in the top of the form and not every time interval need be entered.

When the [Optimize] button is clicked several pieces of information are displayed:

  • The optimal values of the three parameters
  • The computed values of Depth and Intensity for each time interval. These are shown in the right hand grid.
  • A ‘log-log’ graph of both observed and computed values is displayed. A typical result is shown below.

Time of Concentration

With few exceptions, peak runoff will occur when the entire catchment area is contributing to the outflow. Thus the storm duration should be long enough for the runoff from the most remote area – in terms of time of travel – to reach the outflow point. This is commonly referred to as the Time of Concentration Tc.

The time of concentration is calculated as the sum of up to three components of travel time. These are:

  • Flood wave travel time of overland flow
  • Travel time in relatively small collector channels or gutters
  • Travel time in a storm conduit such as a circular pipe or a channel of general trapezoidal cross-section.

For the overland flow you can select either the Friend’s equation or the Kinematic equation.

Each of the three components requires entry of data to describe the length, gradient and roughness of the conduit or surface. In addition, overland flow may also depend on the intensity of the effective rainfall.

On entry of a finite length, the time is computed for each component and the total is displayed as the Time of Concentration. If required, one or two of the flow components can be ignored by entering a zero length in the appropriate data field for length.

Roughness Height

MIDUSS design routines use the Manning ‘n’ to describe surface roughness. Users who prefer to define roughness in terms of the equivalent roughness height can use the Roughness Height tool to convert from roughness height to Manning ‘n’. Once calculated, the computed value can be imported into the next design command by clicking the [Use for Design] button.

Edit Storm

One of the options in the Storm command is to use a pre-defined curve known as a Mass Rainfall Distribution curve. These files are given the extension *.MRD and define the fraction of rainfall depth R(t)/ Rtot as a function of the ratio of elapsed time over total storm duration. Typical examples are the various Huff storm quartiles and the SCS hyetographs.  The Edit Storm Tool lets you edit or create MRD files.

The values can be edited by graphical manipulation or numerically.

Graphical Edits Position the mouse pointer on one of the vertical grid lines and either
above or below the red line. Each mouse click causes the numerical value in the table to increase or decrease by 0.01 and the plotted red curve shows the change.

Numerical Edits Click on any cell in the grid with the exception of the 0.0 and 1.0
values and type in the desired value. Any change in either the graphical or tabular display is reflected in the other. The array of values must start with zero and end with 1.0 and the intermediate values must increase monotonically.