DrainageCalculators
SWMM Tutorial Beginner 18 min read

Your First SWMM Model: Step-by-Step Tutorial

Create your first EPA SWMM drainage network model from scratch. A complete walkthrough with a simple subcatchment, pipes, and outfall.

Published: January 15, 2025 · Updated: January 15, 2025

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

  1. Launch EPA SWMM 5.2
  2. Go to File > New to create a new project
  3. You should see an empty map view

Set Project Defaults

Before adding objects, set your default properties:

  1. Go to Project > Defaults
  2. In the ID Labels tab:
    • Set Subcatchment ID Prefix to S
    • Set Junction ID Prefix to J
    • Set Conduit ID Prefix to C
  3. In the Subcatchments tab:
    • Set Area to 2 (acres)
    • Set Imperviousness to 90 (percent)
  4. Click OK

Step 2: Add a Rain Gage

Rain gages provide the rainfall input that drives your model.

Create the Rain Gage

  1. Click the Rain Gage tool in the toolbar
  2. Click anywhere on the map to place the rain gage
  3. The rain gage appears with ID RG1

Configure the Rain Gage

  1. Double-click the rain gage (or select it and use the Property Editor)
  2. Set these properties:
PropertyValue
NameRG1
Rain FormatINTENSITY
Rain Interval0:05 (5 minutes)
Data SourceTIMESERIES
Series NameDesignStorm

Create the Rainfall Time Series

We need to create the time series that contains our rainfall data:

  1. In the Browser Panel, expand Data
  2. Right-click Time Series and select Add
  3. Name it DesignStorm
  4. 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:000.5
0:151.0
0:303.0
0:451.5
1:000.5

Click OK to save the time series.

Step 3: Add the Subcatchment

Subcatchments are land areas that generate runoff.

Create the Subcatchment

  1. Click the Subcatchment tool in the toolbar
  2. Click on the map to begin drawing the subcatchment outline
  3. Click to add vertices forming a polygon shape
  4. Double-click to complete the polygon
  5. The subcatchment appears as S1

Configure Subcatchment Properties

Select the subcatchment and set these properties:

PropertyValueDescription
Area2acres
Width400feet (characteristic width)
Slope1.0percent
Imperv90percent impervious
N-Imperv0.012Manning’s n for pavement
N-Perv0.15Manning’s n for grass
Dstore-Imperv0.05Depression storage (inches)
Dstore-Perv0.10Depression storage (inches)
%Zero-Imperv50% imperv with no depression storage
Rain GageRG1Associated rain gage
OutletJ1Where runoff discharges

Step 4: Add Junctions

Junctions are nodes where pipes connect.

Create Junction J1

  1. Click the Junction tool in the toolbar
  2. Click on the map near the subcatchment outlet
  3. The junction appears as J1

Configure Junction J1

PropertyValue
Invert Elevation100
Max Depth4.0

Create Junction J2

  1. With the Junction tool still selected, click downstream of J1
  2. The junction appears as J2

Configure Junction J2

PropertyValue
Invert Elevation98
Max Depth4.0

Step 5: Add an Outfall

Outfalls are the discharge points where water leaves your system.

Create the Outfall

  1. Click the Outfall tool in the toolbar
  2. Click on the map downstream of J2
  3. The outfall appears as O1

Configure the Outfall

PropertyValue
Invert Elevation96
TypeFREE

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)

  1. Click the Conduit tool in the toolbar
  2. Click on Junction J1 (upstream end)
  3. Click on Junction J2 (downstream end)
  4. The conduit appears as C1

Configure Conduit C1

Select the conduit and set these properties:

PropertyValue
ShapeCIRCULAR
Max Depth1.5 (18-inch pipe)
Length200
Roughness0.013
Inlet Offset0
Outlet Offset0

Create Conduit C2 (J2 to O1)

  1. With the Conduit tool selected, click on J2
  2. Click on the outfall O1
  3. The conduit appears as C2

Configure Conduit C2

PropertyValue
ShapeCIRCULAR
Max Depth2.0 (24-inch pipe)
Length150
Roughness0.013
Inlet Offset0
Outlet Offset0

Step 7: Set Simulation Options

Before running the model, configure the simulation parameters.

Access Simulation Options

  1. Go to Project > Analysis Options
  2. Configure the following tabs:

General Tab

SettingValue
Flow UnitsCFS
Process ModelsRainfall/Runoff, Flow Routing
Routing ModelDynamic Wave
Infiltration ModelHorton

Dates Tab

SettingValue
Start Date01/01/2024
Start Time00:00
End Date01/01/2024
End Time03:00
Report Start01/01/2024 00:00

Time Steps Tab

SettingValue
Reporting Time Step0:01:00 (1 minute)
Wet Weather Time Step0:00:30 (30 seconds)
Dry Weather Time Step0:01:00 (1 minute)
Routing Time Step0:00:15 (15 seconds)

Click OK to save options.

Step 8: Save Your Project

Before running, save your work:

  1. Go to File > Save As
  2. Choose a location and name (e.g., FirstModel.inp)
  3. 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

  1. Click the Run button in the toolbar (or go to Project > Run Simulation)
  2. The simulation dialog appears
  3. 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

  1. Use the time slider at the bottom of the map
  2. Click Play to animate results over time
  3. Watch flows and depths change

Time Series Plots

  1. Select an object (e.g., Conduit C1)
  2. Go to Report > Time Series
  3. Select variables to plot (Flow, Depth, Velocity)
  4. Click OK to generate the graph

Profile Plot

  1. Go to Report > Profile Plot
  2. Select conduits to include (C1, C2)
  3. View the hydraulic grade line through your system

Table Results

  1. Go to Report > Table by Object
  2. Select objects and time periods
  3. 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:

  1. Add Complexity: Add more subcatchments and pipes
  2. Explore LID controls: LID Controls - Model green infrastructure
  3. 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.

Continue Learning

Ready to Apply What You've Learned?

Use our free professional-grade calculators to design your drainage systems with confidence.

Browse Calculators