Your First SWMM Model: Step-by-Step Tutorial
This tutorial guides you through creating a complete SWMM model from scratch. By the end, you will have a working drainage network with a subcatchment generating runoff that flows through pipes to an outfall.
What You Will Build
We will model a simple parking lot drainage system:
- 1 Rain Gage: Provides rainfall data
- 1 Subcatchment: A 2-acre parking lot
- 2 Junctions: Pipe connection points
- 2 Conduits: Drainage pipes
- 1 Outfall: Discharge point
This simple model demonstrates all the fundamental concepts you need for more complex projects.
Step 1: Create a New Project
Start Fresh
- Launch EPA SWMM 5.2
- Go to File > New to create a new project
- You should see an empty map view
Set Project Defaults
Before adding objects, set your default properties:
- Go to Project > Defaults
- In the ID Labels tab:
- Set Subcatchment ID Prefix to
S - Set Junction ID Prefix to
J - Set Conduit ID Prefix to
C
- Set Subcatchment ID Prefix to
- In the Subcatchments tab:
- Set Area to
2(acres) - Set Imperviousness to
90(percent)
- Set Area to
- Click OK
Step 2: Add a Rain Gage
Rain gages provide the rainfall input that drives your model.
Create the Rain Gage
- Click the Rain Gage tool in the toolbar
- Click anywhere on the map to place the rain gage
- The rain gage appears with ID
RG1
Configure the Rain Gage
- Double-click the rain gage (or select it and use the Property Editor)
- Set these properties:
| Property | Value |
|---|---|
| Name | RG1 |
| Rain Format | INTENSITY |
| Rain Interval | 0:05 (5 minutes) |
| Data Source | TIMESERIES |
| Series Name | DesignStorm |
Create the Rainfall Time Series
We need to create the time series that contains our rainfall data:
- In the Browser Panel, expand Data
- Right-click Time Series and select Add
- Name it
DesignStorm - Double-click to open the Time Series Editor
Enter this 1-hour design storm (simplified SCS Type II pattern):
| Time (hrs) | Rainfall (in/hr) |
|---|---|
| 0:00 | 0.5 |
| 0:15 | 1.0 |
| 0:30 | 3.0 |
| 0:45 | 1.5 |
| 1:00 | 0.5 |
Click OK to save the time series.
Step 3: Add the Subcatchment
Subcatchments are land areas that generate runoff.
Create the Subcatchment
- Click the Subcatchment tool in the toolbar
- Click on the map to begin drawing the subcatchment outline
- Click to add vertices forming a polygon shape
- Double-click to complete the polygon
- The subcatchment appears as
S1
Configure Subcatchment Properties
Select the subcatchment and set these properties:
| Property | Value | Description |
|---|---|---|
| Area | 2 | acres |
| Width | 400 | feet (characteristic width) |
| Slope | 1.0 | percent |
| Imperv | 90 | percent impervious |
| N-Imperv | 0.012 | Manning’s n for pavement |
| N-Perv | 0.15 | Manning’s n for grass |
| Dstore-Imperv | 0.05 | Depression storage (inches) |
| Dstore-Perv | 0.10 | Depression storage (inches) |
| %Zero-Imperv | 50 | % imperv with no depression storage |
| Rain Gage | RG1 | Associated rain gage |
| Outlet | J1 | Where runoff discharges |
Step 4: Add Junctions
Junctions are nodes where pipes connect.
Create Junction J1
- Click the Junction tool in the toolbar
- Click on the map near the subcatchment outlet
- The junction appears as
J1
Configure Junction J1
| Property | Value |
|---|---|
| Invert Elevation | 100 |
| Max Depth | 4.0 |
Create Junction J2
- With the Junction tool still selected, click downstream of J1
- The junction appears as
J2
Configure Junction J2
| Property | Value |
|---|---|
| Invert Elevation | 98 |
| Max Depth | 4.0 |
Step 5: Add an Outfall
Outfalls are the discharge points where water leaves your system.
Create the Outfall
- Click the Outfall tool in the toolbar
- Click on the map downstream of J2
- The outfall appears as
O1
Configure the Outfall
| Property | Value |
|---|---|
| Invert Elevation | 96 |
| Type | FREE |
Setting the outfall type to FREE means it discharges freely (no tailwater influence).
Step 6: Add Conduits
Conduits are the pipes that convey water between nodes.
Create Conduit C1 (J1 to J2)
- Click the Conduit tool in the toolbar
- Click on Junction J1 (upstream end)
- Click on Junction J2 (downstream end)
- The conduit appears as
C1
Configure Conduit C1
Select the conduit and set these properties:
| Property | Value |
|---|---|
| Shape | CIRCULAR |
| Max Depth | 1.5 (18-inch pipe) |
| Length | 200 |
| Roughness | 0.013 |
| Inlet Offset | 0 |
| Outlet Offset | 0 |
Create Conduit C2 (J2 to O1)
- With the Conduit tool selected, click on J2
- Click on the outfall O1
- The conduit appears as
C2
Configure Conduit C2
| Property | Value |
|---|---|
| Shape | CIRCULAR |
| Max Depth | 2.0 (24-inch pipe) |
| Length | 150 |
| Roughness | 0.013 |
| Inlet Offset | 0 |
| Outlet Offset | 0 |
Step 7: Set Simulation Options
Before running the model, configure the simulation parameters.
Access Simulation Options
- Go to Project > Analysis Options
- Configure the following tabs:
General Tab
| Setting | Value |
|---|---|
| Flow Units | CFS |
| Process Models | Rainfall/Runoff, Flow Routing |
| Routing Model | Dynamic Wave |
| Infiltration Model | Horton |
Dates Tab
| Setting | Value |
|---|---|
| Start Date | 01/01/2024 |
| Start Time | 00:00 |
| End Date | 01/01/2024 |
| End Time | 03:00 |
| Report Start | 01/01/2024 00:00 |
Time Steps Tab
| Setting | Value |
|---|---|
| Reporting Time Step | 0:01:00 (1 minute) |
| Wet Weather Time Step | 0:00:30 (30 seconds) |
| Dry Weather Time Step | 0:01:00 (1 minute) |
| Routing Time Step | 0:00:15 (15 seconds) |
Click OK to save options.
Step 8: Save Your Project
Before running, save your work:
- Go to File > Save As
- Choose a location and name (e.g.,
FirstModel.inp) - Click Save
SWMM projects are saved as .inp text files that you can view and edit in any text editor.
Step 9: Run the Simulation
Execute the Model
- Click the Run button in the toolbar (or go to Project > Run Simulation)
- The simulation dialog appears
- Click Run to start
Monitor Progress
- Watch the progress bar at the bottom
- A green checkmark indicates success
- A red X indicates errors that need correction
Review Run Summary
After completion, a summary report shows:
- Continuity errors (should be < 1%)
- Flow instabilities (if any)
- Highest flows and depths
Step 10: View Results
SWMM offers multiple ways to view simulation results.
Map Animation
- Use the time slider at the bottom of the map
- Click Play to animate results over time
- Watch flows and depths change
Time Series Plots
- Select an object (e.g., Conduit C1)
- Go to Report > Time Series
- Select variables to plot (Flow, Depth, Velocity)
- Click OK to generate the graph
Profile Plot
- Go to Report > Profile Plot
- Select conduits to include (C1, C2)
- View the hydraulic grade line through your system
Table Results
- Go to Report > Table by Object
- Select objects and time periods
- Export to CSV for further analysis
Understanding Your Results
For this simple model, you should see:
- Peak runoff from the subcatchment around 0:30-0:45 (when rainfall peaks)
- Peak flows in pipes shortly after peak runoff
- Gradually decreasing flows as the storm passes
- System drains within 1-2 hours after rainfall ends
Typical Peak Flow Values
Your results should be approximately:
- Subcatchment peak runoff: ~5-8 CFS
- Conduit C1 peak flow: ~5-8 CFS
- Conduit C2 peak flow: ~5-8 CFS
Common Issues and Solutions
No Runoff Generated
- Check that subcatchment has a rain gage assigned
- Verify rain gage references a valid time series
- Ensure imperviousness > 0
Water Not Flowing Through Pipes
- Check that inverts create downhill slope
- Verify conduits connect to correct nodes
- Ensure conduit lengths and sizes are reasonable
Continuity Errors Too High
- Reduce routing time step
- Check for very small conduits or very steep slopes
- Verify all nodes are connected
Next Steps
Congratulations on creating your first SWMM model! To continue learning:
- Add Complexity: Add more subcatchments and pipes
- Explore LID controls: LID Controls - Model green infrastructure
- Learn water quality: Water Quality Modeling - Pollutant modeling
Summary
You have built a complete SWMM model including:
- A rain gage with a design storm
- A subcatchment representing a parking lot
- Junctions connecting the pipe network
- Conduits to convey flow
- An outfall for system discharge
This foundation applies to projects of any size. Real models simply have more objects and greater detail, but the same principles apply.