DrainageCalculators
HEC-HMS Tutorial Beginner 25 min read

Your First HEC-HMS Model: A Complete Walkthrough

Build your first complete HEC-HMS hydrologic model from scratch. Create a watershed, add precipitation, run simulation, and interpret results.

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

Your First HEC-HMS Model: A Complete Walkthrough

This tutorial guides you through creating a complete HEC-HMS model from scratch. By the end, you will have a working watershed model that simulates rainfall-runoff for a hypothetical 100-acre residential development with a 2-hour design storm.

What You Will Build

We will model a simple residential watershed with:

  • 1 Basin Model: The physical watershed representation
  • 1 Subbasin: A 100-acre residential area
  • 1 Junction: A confluence point
  • 1 Sink: The outlet where water leaves the system
  • 1 Meteorologic Model: Providing the design storm precipitation
  • 1 Control Specification: Defining the simulation time period

This simple model demonstrates all fundamental concepts needed for more complex projects.

Overview of HEC-HMS Modeling Components

Before building the model, understand the three essential components every HEC-HMS simulation requires:

Basin Model

The basin model represents the physical watershed:

  • Subbasins: Land areas that receive precipitation and generate runoff
  • Reaches: Stream and channel segments that route flow
  • Junctions: Points where flows combine
  • Reservoirs: Storage elements that attenuate flow
  • Sinks: Outlet points where flow leaves the model

Meteorologic Model

The meteorologic model provides the precipitation input:

  • Precipitation Methods: How rainfall is distributed (gage weighting, gridded data, hypothetical storms)
  • Evapotranspiration: Optional water loss to atmosphere
  • Snowmelt: Optional frozen precipitation modeling

Control Specifications

Control specifications define when and how the simulation runs:

  • Start and End Time: The simulation period
  • Time Interval: The computational time step

Step 1: Create a New Project

Start HEC-HMS

  1. Launch HEC-HMS from the Start menu or desktop shortcut
  2. Wait for the application to fully load

Create the Project

  1. Go to File > New Project
  2. In the dialog that appears:
    • Name: Enter FirstModel
    • Location: Choose or create a project folder
    • Default Unit System: Select US Customary
    • Description: Enter 100-acre residential watershed tutorial
  3. Click Create

HEC-HMS creates the project folder structure and opens the empty project in the Watershed Explorer.

Step 2: Create the Basin Model

The basin model defines the physical structure of your watershed.

Create a New Basin Model

  1. In the Watershed Explorer, right-click on Basin Models
  2. Select Create Basin Model
  3. Enter the name ResidentialBasin
  4. Click Create

The new basin model appears in the Watershed Explorer and a blank map view opens in the desktop area.

Add a Subbasin Element

Subbasins are land areas that generate runoff.

  1. In the Watershed Explorer, expand ResidentialBasin
  2. Right-click on Subbasin (under Element Types)
  3. Select Create Subbasin Element
  4. Enter the name Residential_Area
  5. Click Create

The subbasin icon appears on the map.

Configure Subbasin Properties

Select the subbasin in the Watershed Explorer or on the map to view its properties in the Component Editor.

Set these basic properties:

PropertyValueDescription
Area100Drainage area in acres
DownstreamOutlet_JunctionConnection point (we will create this next)

We will configure the loss method, transform method, and other parameters in the next section.

Add a Junction Element

Junctions are points where flows combine or where we want to track results.

  1. Right-click on Junction (under Element Types)
  2. Select Create Junction Element
  3. Enter the name Outlet_Junction
  4. Click Create

Add a Sink Element

Sinks represent where water leaves the modeled system.

  1. Right-click on Sink (under Element Types)
  2. Select Create Sink Element
  3. Enter the name Watershed_Outlet
  4. Click Create

Connect the Elements

Now connect the elements to define the flow path:

  1. Select the Residential_Area subbasin
  2. In the Component Editor, set Downstream to Outlet_Junction
  3. Select the Outlet_Junction junction
  4. Set Downstream to Watershed_Outlet

The map should now show connected elements with flow arrows indicating direction.

Step 3: Configure the Subbasin Parameters

Now we will configure how the subbasin transforms rainfall into runoff.

Select Loss Method

The loss method determines how much precipitation infiltrates into the ground versus becoming runoff.

  1. Select the Residential_Area subbasin
  2. In the Component Editor, find the Loss section
  3. Click on Loss Method and select SCS Curve Number

This is the most common method, using the SCS/NRCS curve number approach.

Enter Loss Parameters

After selecting SCS Curve Number, enter these parameters:

ParameterValueDescription
Curve Number75Typical for residential areas (1/2 acre lots)
Initial Abstraction0.667Calculated as 0.2 * S (inches)
Impervious30Percent directly connected impervious area

The initial abstraction represents the depth of rainfall absorbed before runoff begins. The traditional SCS relationship is:

Where:

For CN = 75:

  • S = 1000/75 - 10 = 3.33 inches
  • Ia = 0.2 x 3.33 = 0.667 inches

Select Transform Method

The transform method determines how excess precipitation (after losses) is converted into a runoff hydrograph.

  1. In the Transform section, click on Transform Method
  2. Select SCS Unit Hydrograph

Enter Transform Parameters

ParameterValueDescription
Graph TypeStandardUses standard SCS dimensionless unit hydrograph
Lag Time60Time from center of precipitation to peak flow (minutes)

The lag time can be estimated using the SCS lag equation:

Where:

  • L = hydraulic length of watershed (feet)
  • S = (1000/CN) - 10
  • Y = average watershed slope (percent)

For our 100-acre residential area, we use an estimated lag time of 60 minutes (1 hour).

Configure Baseflow (Optional)

For this simple model, we will not include baseflow:

  1. In the Baseflow section, verify Baseflow Method is set to None

Baseflow represents groundwater contribution and is typically included in calibrated models.

Step 4: Create the Meteorologic Model

The meteorologic model defines the precipitation input to your watershed.

Create a New Meteorologic Model

  1. In the Watershed Explorer, right-click on Meteorologic Models
  2. Select Create Meteorologic Model
  3. Enter the name DesignStorm
  4. Click Create

Configure the Precipitation Method

  1. Select the DesignStorm meteorologic model
  2. In the Component Editor, find Precipitation
  3. Set Precipitation Method to SCS Storm

The SCS Storm method creates a synthetic rainfall distribution based on the SCS Type I, IA, II, or III curves.

Enter Precipitation Parameters

Configure the SCS Storm:

ParameterValueDescription
Storm TypeType IIMost common for eastern and central US
Storm Duration2 hoursTotal storm length
Total Depth3.5 inchesTotal precipitation depth

Associate the Basin Model

The meteorologic model must know which basin model it applies to:

  1. In the Watershed Explorer, expand the DesignStorm meteorologic model
  2. You should see Residential_Area listed under Subbasins
  3. Select it to verify the precipitation settings apply

If the subbasin is not listed, check that you are working with the correct basin model.

Step 5: Create Control Specifications

Control specifications define the simulation time window and computational time step.

Create New Control Specifications

  1. In the Watershed Explorer, right-click on Control Specifications
  2. Select Create Control Specifications
  3. Enter the name 2HourStorm
  4. Click Create

Configure Time Settings

Select the control specification and set:

ParameterValueDescription
Start Date01Jan2024Simulation start date
Start Time00:00Simulation start time
End Date01Jan2024Simulation end date
End Time06:00Simulation end time
Time Interval5 minutesComputational time step

Choosing the Time Interval

The computational time interval affects accuracy and run time:

Time IntervalBest For
1 minuteSmall urban watersheds, detailed analysis
5 minutesTypical urban and suburban watersheds
15 minutesLarger rural watersheds
1 hourRegional-scale or continuous simulation

For our 100-acre residential watershed with 60-minute lag, 5-minute intervals provide good resolution.

Step 6: Create and Configure the Simulation Run

A simulation run links the basin model, meteorologic model, and control specifications.

Create the Simulation Run

  1. Go to Compute > Create Simulation Run
  2. Enter the name Design_Analysis
  3. Select:
    • Basin Model: ResidentialBasin
    • Meteorologic Model: DesignStorm
    • Control Specifications: 2HourStorm
  4. Click Create

The simulation run appears in the Watershed Explorer under Simulation Runs.

Verify the Configuration

Before running, verify all components are properly linked:

  1. Expand the Design_Analysis simulation run
  2. Confirm the correct basin model is linked
  3. Confirm the correct meteorologic model is linked
  4. Confirm the correct control specifications are linked

Step 7: Save Your Project

Before running the simulation, save your work:

  1. Go to File > Save Project (or press Ctrl+S)
  2. HEC-HMS saves all project files to your project folder

Step 8: Run the Simulation

Execute the Model

  1. Make sure the Design_Analysis simulation run is selected in the Watershed Explorer
  2. Go to Compute > Compute All Elements (or press F5)
  3. The computation begins immediately

Monitor Progress

Watch the Message Log at the bottom of the screen:

  • Status messages show computation progress
  • Any errors or warnings appear here
  • Computation time displays when complete

For this simple model, computation should take only a few seconds.

Verify Successful Completion

A successful simulation shows:

  • “Compute completed” message
  • No error messages
  • Subbasin and junction icons may change color to indicate results are available

Step 9: View Results

HEC-HMS provides multiple ways to view simulation results.

Global Summary

View the overall simulation summary:

  1. Go to Results > Global Summary
  2. A table displays key results for all elements:
    • Peak discharge
    • Time of peak
    • Total volume

For our model, you should see:

  • Residential_Area: Peak outflow from the subbasin
  • Outlet_Junction: Peak flow at the junction
  • Watershed_Outlet: Peak flow leaving the system

Element Graph (Hydrograph)

View the time-series hydrograph:

  1. Select the Residential_Area subbasin in the Watershed Explorer
  2. Go to Results > Element Graph
  3. A graph window opens showing:
    • Precipitation (bar graph at top)
    • Discharge hydrograph (line graph)

The hydrograph shows how runoff varies over time in response to the design storm.

Customize the Graph

In the graph window:

  • Right-click to access formatting options
  • Add multiple elements to compare
  • Change axis scales
  • Export or copy the graph

Summary Table

View detailed results in tabular form:

  1. Select an element
  2. Go to Results > Summary Table
  3. Review peak values, volumes, and timing

Time-Series Table

View complete time-series output:

  1. Select an element
  2. Go to Results > Time-Series Results
  3. A table shows values at each time step

You can export this data for further analysis in Excel or other software.

Step 10: Interpreting Your Results

Expected Peak Flow Values

For our 100-acre residential watershed with:

  • 3.5-inch, 2-hour SCS Type II storm
  • CN = 75
  • 30% impervious
  • 60-minute lag time

Expected results:

  • Peak Discharge: Approximately 100-150 cfs
  • Time to Peak: Approximately 1.5-2 hours from start
  • Total Runoff Volume: Approximately 15-20 acre-feet

Understanding the Hydrograph

The output hydrograph shows:

  1. Rising Limb: Flow increases as runoff accumulates
  2. Peak: Maximum flow rate occurs
  3. Recession Limb: Flow decreases as watershed drains
  4. Baseflow: Flow returns to zero (no baseflow in this model)

Volume Balance

Check the volume balance:

  • Precipitation volume = Precipitation depth x Area
  • Runoff volume = Output from Global Summary
  • Losses = Precipitation - Runoff

For 3.5 inches on 100 acres:

  • Precipitation = 3.5 in x 100 ac = 29.2 acre-feet
  • Runoff should be approximately 15-20 acre-feet
  • Losses (infiltration + initial abstraction) make up the difference

Saving and Exporting Results

Export Time-Series to DSS

HEC-HMS automatically saves results to the project DSS file:

  1. Navigate to your project folder
  2. Open the .dss file with HEC-DSSVue (if installed)
  3. View and export time-series data

Export to Text/CSV

From result tables:

  1. View the time-series results
  2. Select the data
  3. Copy to clipboard or use export function
  4. Paste into Excel or text file

Creating Reports

Document your analysis:

  1. Capture screenshots of key results
  2. Export tabular summaries
  3. Record model parameters and assumptions

Common Issues and Solutions

No Runoff Generated

Possible causes:

  • Curve number too low
  • Initial abstraction too high
  • Precipitation depth too small
  • Impervious area set to zero

Solutions:

  • Verify CN is appropriate for land use
  • Check initial abstraction calculation
  • Confirm precipitation parameters

Unrealistic Peak Flows

Possible causes:

  • Lag time too short (peaks too high)
  • Lag time too long (peaks too low)
  • Incorrect area value

Solutions:

  • Recalculate lag time using SCS method
  • Verify area is in correct units (acres vs. sq mi)
  • Check downstream connections

Simulation Runs But Shows Errors

Possible causes:

  • Missing connections
  • Invalid parameter combinations
  • Time step issues

Solutions:

  • Review error messages in log
  • Check all downstream connections
  • Verify time interval is appropriate

Hydrograph Does Not Return to Zero

Possible causes:

  • Simulation duration too short
  • Baseflow included but not properly configured

Solutions:

  • Extend simulation end time
  • Review baseflow settings

Next Steps

Congratulations on creating your first HEC-HMS model! To continue learning:

  1. Add Complexity: Add multiple subbasins and reaches
  2. Learn Subbasins: Subbasin Elements Basics
  3. Learn Calibration: Model Calibration

Suggested Exercises

  1. Change the Curve Number: Increase CN to 85 and observe the effect on peak flow
  2. Modify Storm Duration: Use a 24-hour storm and compare results
  3. Adjust Lag Time: Decrease to 30 minutes and observe the hydrograph shape
  4. Add a Second Subbasin: Create a more complex watershed model

References

  1. U.S. Army Corps of Engineers, Hydrologic Engineering Center. (2024). HEC-HMS User’s Manual. Davis, CA: USACE.

  2. U.S. Army Corps of Engineers, Hydrologic Engineering Center. (2024). HEC-HMS Technical Reference Manual. Davis, CA: USACE.

  3. Natural Resources Conservation Service. (2004). National Engineering Handbook, Part 630: Hydrology. Washington, DC: USDA.

Summary

You have built a complete HEC-HMS model including:

  • Basin Model with a subbasin, junction, and sink
  • Meteorologic Model with an SCS Type II design storm
  • Control Specifications defining the simulation period
  • Simulation Run linking all components

Key takeaways:

  • HEC-HMS requires three components: basin model, met model, and control specs
  • The SCS Curve Number method is the most common loss method
  • The SCS Unit Hydrograph is the most common transform method
  • Always verify results are reasonable using hand calculations

This foundation applies to projects of any size. Real models simply have more subbasins, reaches, and complexity, 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