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
- Launch HEC-HMS from the Start menu or desktop shortcut
- Wait for the application to fully load
Create the Project
- Go to File > New Project
- 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
- Name: Enter
- 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
- In the Watershed Explorer, right-click on Basin Models
- Select Create Basin Model
- Enter the name
ResidentialBasin - 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.
- In the Watershed Explorer, expand ResidentialBasin
- Right-click on Subbasin (under Element Types)
- Select Create Subbasin Element
- Enter the name
Residential_Area - 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:
| Property | Value | Description |
|---|---|---|
| Area | 100 | Drainage area in acres |
| Downstream | Outlet_Junction | Connection 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.
- Right-click on Junction (under Element Types)
- Select Create Junction Element
- Enter the name
Outlet_Junction - Click Create
Add a Sink Element
Sinks represent where water leaves the modeled system.
- Right-click on Sink (under Element Types)
- Select Create Sink Element
- Enter the name
Watershed_Outlet - Click Create
Connect the Elements
Now connect the elements to define the flow path:
- Select the Residential_Area subbasin
- In the Component Editor, set Downstream to
Outlet_Junction - Select the Outlet_Junction junction
- 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.
- Select the Residential_Area subbasin
- In the Component Editor, find the Loss section
- 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:
| Parameter | Value | Description |
|---|---|---|
| Curve Number | 75 | Typical for residential areas (1/2 acre lots) |
| Initial Abstraction | 0.667 | Calculated as 0.2 * S (inches) |
| Impervious | 30 | Percent 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.
- In the Transform section, click on Transform Method
- Select SCS Unit Hydrograph
Enter Transform Parameters
| Parameter | Value | Description |
|---|---|---|
| Graph Type | Standard | Uses standard SCS dimensionless unit hydrograph |
| Lag Time | 60 | Time 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:
- 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
- In the Watershed Explorer, right-click on Meteorologic Models
- Select Create Meteorologic Model
- Enter the name
DesignStorm - Click Create
Configure the Precipitation Method
- Select the DesignStorm meteorologic model
- In the Component Editor, find Precipitation
- 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:
| Parameter | Value | Description |
|---|---|---|
| Storm Type | Type II | Most common for eastern and central US |
| Storm Duration | 2 hours | Total storm length |
| Total Depth | 3.5 inches | Total precipitation depth |
Associate the Basin Model
The meteorologic model must know which basin model it applies to:
- In the Watershed Explorer, expand the DesignStorm meteorologic model
- You should see Residential_Area listed under Subbasins
- 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
- In the Watershed Explorer, right-click on Control Specifications
- Select Create Control Specifications
- Enter the name
2HourStorm - Click Create
Configure Time Settings
Select the control specification and set:
| Parameter | Value | Description |
|---|---|---|
| Start Date | 01Jan2024 | Simulation start date |
| Start Time | 00:00 | Simulation start time |
| End Date | 01Jan2024 | Simulation end date |
| End Time | 06:00 | Simulation end time |
| Time Interval | 5 minutes | Computational time step |
Choosing the Time Interval
The computational time interval affects accuracy and run time:
| Time Interval | Best For |
|---|---|
| 1 minute | Small urban watersheds, detailed analysis |
| 5 minutes | Typical urban and suburban watersheds |
| 15 minutes | Larger rural watersheds |
| 1 hour | Regional-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
- Go to Compute > Create Simulation Run
- Enter the name
Design_Analysis - Select:
- Basin Model: ResidentialBasin
- Meteorologic Model: DesignStorm
- Control Specifications: 2HourStorm
- Click Create
The simulation run appears in the Watershed Explorer under Simulation Runs.
Verify the Configuration
Before running, verify all components are properly linked:
- Expand the Design_Analysis simulation run
- Confirm the correct basin model is linked
- Confirm the correct meteorologic model is linked
- Confirm the correct control specifications are linked
Step 7: Save Your Project
Before running the simulation, save your work:
- Go to File > Save Project (or press Ctrl+S)
- HEC-HMS saves all project files to your project folder
Step 8: Run the Simulation
Execute the Model
- Make sure the Design_Analysis simulation run is selected in the Watershed Explorer
- Go to Compute > Compute All Elements (or press F5)
- 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:
- Go to Results > Global Summary
- 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:
- Select the Residential_Area subbasin in the Watershed Explorer
- Go to Results > Element Graph
- 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:
- Select an element
- Go to Results > Summary Table
- Review peak values, volumes, and timing
Time-Series Table
View complete time-series output:
- Select an element
- Go to Results > Time-Series Results
- 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:
- Rising Limb: Flow increases as runoff accumulates
- Peak: Maximum flow rate occurs
- Recession Limb: Flow decreases as watershed drains
- 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:
- Navigate to your project folder
- Open the
.dssfile with HEC-DSSVue (if installed) - View and export time-series data
Export to Text/CSV
From result tables:
- View the time-series results
- Select the data
- Copy to clipboard or use export function
- Paste into Excel or text file
Creating Reports
Document your analysis:
- Capture screenshots of key results
- Export tabular summaries
- 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:
- Add Complexity: Add multiple subbasins and reaches
- Learn Subbasins: Subbasin Elements Basics
- Learn Calibration: Model Calibration
Suggested Exercises
- Change the Curve Number: Increase CN to 85 and observe the effect on peak flow
- Modify Storm Duration: Use a 24-hour storm and compare results
- Adjust Lag Time: Decrease to 30 minutes and observe the hydrograph shape
- Add a Second Subbasin: Create a more complex watershed model
References
-
U.S. Army Corps of Engineers, Hydrologic Engineering Center. (2024). HEC-HMS User’s Manual. Davis, CA: USACE.
-
U.S. Army Corps of Engineers, Hydrologic Engineering Center. (2024). HEC-HMS Technical Reference Manual. Davis, CA: USACE.
-
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.