Back to all posts

Considerations for selecting SWMM5 time steps

A couple of recent technical support questions inspired this post on selecting reasonable values for the various user-defined time steps required by SWMM5 when setting up a model. I've listed the main SWMM5 time steps, and provided some of my thoughts on each. Please let me know if I have missed any considerations.

Raingage object's Time Interval

The raingage time interval is used by SWMM when reading/interpreting the input rainfall time series and is usually somewhere between 1 minute and 1 day. For typical SWMM applications, 5 minute data is optimal, 15 minute data may be acceptable, and hourly data is usually a compromise (as the response time of the smallest subcatchment is usually much faster).

Long term rainfall records for continuous simulation are normally 15 minute or hourly. You can look further afield for continuous data, as this isn't typically used to calibrate a model, rather it is used for inference, and thus the record simply needs to be plausible (i.e. sourced from the same climatic region).

There are a number of tools in PCSWMM to help create a useful continuous rainfall record: PCSWMM's rainfall disaggregation tool can generate 15 minute data from continuous hourly data and PCSWMM's time series editor can also stitch multiple rainfall records together to make a longer data set. For design storms, PCSWMM's design storm creator tool can create common design storm distributions at the time interval of your choice. For regional design storms (e.g. Hurricane Hazel in Ontario), you also have the option of applying an areal reduction factor for large catchments. PCSWMM Professional can retrieve and process NEXRAD radar rainfall, which generates individual subcatchment hyetographs (through area-weighting) at a 5 minute interval, and "ground-truth's" it against raingage data. This is great for model calibration/validation against historical events.

The SWMM5 engine assumes that each rainfall value is constant over the following time interval for user-entered time series. That means that if the rainfall value has a time stamp of 2pm and the time interval is 15 minutes, the program assumes the rainfall value (depth or intensity) is constant from 2:00pm to 2:15pm. This applies when SWMM interprets time series from either time series objects or user-defined external time series data files (i.e. the most common methods of input). If the rainfall time series is read from an external file with a known format (i.e. NCDC 3240/3260, or AES, etc.) the program knows that the time series values apply to the preceding value instead (i.e. 1:45pm to 2:00pm).

So if your user-defined or time series object rainfall data is from a fixed interval data logger, you should convert it to following interval value. This isn't a big concern for 5 minute data, but will throw off the time of peak for longer time interval (say 1 hour data) considerably. PCSWMM's time series editing tools can easily convert rainfall time series between preceding interval and following interval values.

A common error is not setting the Raingage object's Time Interval to match the time series data used by the Raingage object. Rainfall input time series for SWMM needs to be measured over a fixed interval (e.g. 5 minute). However since you are allowed to skip time steps of no rain, it is not reliable for the program to determine the actual time interval, and thus it is up to the user to set the time interval for each raingage object.

The later versions of EPA SWMM5 check the user-entered raingage time interval and provide warnings if it is obviously incorrect (i.e. if two consecutive times in the rainfall time series are less than the specified time interval).

Reporting time step

The reporting time step is used by SWMM5 when writing computed time series to the SWMM5 output file. As the output file time series is used for plotting computed time series in the Graph panel and Profile panel, and for time series based dynamic rendering in the Map panel, the choice of reporting time step is important. A large reporting time step may miss the extremes computed by the SWMM5 engine (peaks and valleys in the time series). Furthermore, PCSWMM's graph panel objective functions (statistics) are computed on-the-fly on the plotted time series and thus also affected by the choice of reporting time step.

It is desirable for the reporting time step to be the same as the computational time step for hydraulic routing used by SWMM (the routing time step), to ensure accurate graphed time series and computed objective functions. However, computed stats should always be sourced from the Status panel (i.e. the report file generated by SWMM) as these stats are based on the actual computational time step and thus can differ from stats computed on the output file time series.

The drawback of using a small reporting time step is the size of the output file (i.e. the number of data points that needs to be read and plotted). For long-term continuous simulations, a small reporting time step can generate millions of data points per time series, and thus the option is there for the user to specify a larger reporting time step. Just keep in mind that this can cause the plotted time series to miss the peaks and lows.

For more information on the important effects of the reporting time step, please see:

Runoff: Wet weather time step

This time step is used in the SWMM hydrology calculations for computing the subcatchment state during rainfall. This time step should be equal to or less than the rainfall time interval (by some integer fraction). We recommend it to be smaller than the rainfall time interval. E.g. for a 15 minute rainfall time interval, a 5 minute wet weather time step is typical. The response time of the smallest subcatchment should also be considered when choosing the runoff wet weather time step.

A larger wet weather time step could be used in a long term continuous simulation, depending again on the coarseness of the model discretization and the objectives of the model.

Runoff: Dry weather time step

This time step is used in the SWMM hydrology calculations for computing the subcatchment state during periods of no rainfall (i.e. the build up of pollutants, recovery of available depression storage, infiltration rate, etc).

Having a larger dry weather time step can affect the recession limb of the subcatchment runoff and groundwater interflow hydrographs. Thus for single event simulation (i.e. simulation lengths of less than a week), we recommend the dry weather time step should be the same as the wet weather time step.

Routing time step

This time step is used in the SWMM hydraulic calculations to solve the conveyance of water through the link - node network. It is typically smaller that the runoff wet weather time step, although the choice of routing time step is also affected by the routing method selected (kinematic wave or dynamic wave).

For dynamic wave routing, a small time step is normally required. For single event dynamic wave models, this time step is normally on the order of a few seconds (1 to 20 seconds is common). One of the criteria for routing time step selection is the courant condition. The routing time step should be smaller than the shortest time it takes for a wave to move through a conduit in the model. This time is reported in the report file generated by SWMM during a run, and so you can fine tune the routing time step based on this.

Model instabilities (i.e. head oscillations) and model continuity error can typically be reduced or avoided by reducing the routing time step.

SWMM has a variable time step option that allows the program to reduce the time step during periods of surcharging or other difficult to solve hydraulics, thus enabling the program to run faster during low flow periods or interevent periods. The smallest time step used by the program during the simulation is reported in the report file. If the continuity error is high, manually setting the routing time step to this reported minimum time step can help in reducing the continuity error.

These rules of thumb are not foolproof and do not apply in all situations, however for new users, they should serve as a good starting point for selecting values for the various time steps in SWMM.