Geohms
Geohms
Prepared by
Venkatesh Merwade
School of Civil Engineering, Purdue University
[email protected]
February 2019
Introduction
This tutorial is designed to expose you to basic functions in HEC-GeoHMS (ArcGIS 10.x
version) to create input files for hydrologic modeling with HEC-HMS. It is expected that you are
familiar with HEC-HMS and ArcGIS. If you want to get into details of HEC-GeoHMS that are
not covered in this tutorial please refer to the HEC-GeoHMS users manual. If you are continuing
this exercise as a part of earlier terrain processing using ArcHydro or GeoHMS, you can briefly
look over pages 1 and 2, and the actual work will from the bottom of Page 3 (GeoHMS project
set-up)
Getting Started
Open ArcMap that you created in the previous lab using Archydro Tools. Save the map
document. Right click on the menu bar to pop up the context menu showing available tools as
shown below.
You should now see the HEC-GeoHMS toolbar added to ArcMap as shown below. You can
leave it floating or you may dock it in ArcMap.
Note: It is not necessary to load the Spatial Analyst, Utility Network Analyst, or Editor tools
because Arc Hydro Tools will automatically use their functionality on as needed basis. These
toolbars need to be activated though if you want to use any general functionality that they
1
provide (such as general editing functionality or network tracing). The Spatial Analyst Extension
can be activated, by clicking CustomizeExtensions…, and checking the box next to Spatial
Analyst.
Dataset Setup
All vector data created with GeoHMS will be stored in a new geodatabase that has the same
name as the stored project or ArcMap document (unless pointed to an existing geodatabase) and
in the same directory where the project has been saved (your working folder). By default, the
new raster data are stored in a subdirectory with the same name as the dataset or Data Frame in
the ArcMap document (called Layers by default and under the directory where the project is
stored). The location of the vector, raster, and time series data can be explicitly specified using
the function ApUtilitiesSet Target Locations.
You can leave the default settings if they are pointing to the same directory where the ArcMap
document is saved.
Terrain Preprocessing
Terrain processing involves using the DEM to create a stream network and catchments. The
Processing menu (shown below) in HEC-GeoHMS is used for terrain processing. You have
already used these tools from the ArcHydro menu in the previous exercise so no need to repeat.
Just take a look at the sequence to refresh your memory.
From Terrain Processing using Arc Hydro Tools, you should have the following dataset in your
map document.
Raster Data
2
1. Raw DEM
2. HydroDEM (DEM after reconditioning and filling sinks)
3. Flow Direction Grid
4. Flow Accumulation Grid
5. Stream Grid
6. Stream Link Grid
7. Catchment Grid
8. Slope Grid
Vector Data
1. Catchment Polygons
2. Drainage Line Polygons
3. Adjoint Catchment Polygons
This concludes the terrain processing part. What you have produced is a hydrologic skeleton that can now
be used to delineate watersheds or sub-watersheds for any given point on the delineated stream network.
The next part of this tutorial involved delineating a watershed to create a HEC-HMS model using HEC-
GeoHMS. Save your map document.
Rasters
1. Cedar_dem (raw DEM)
2. Fil (filled DEM)
3. Fdr (flow direction grid)
4. Fac (flow accumulation grid)
5. Str (stream network grid)
6. StrLnk (stream link grid) (Note: earlier version of ArcHydro names this grid as Lnk)
7. Cat (catchment grid)
8. WshSlope (slope grid)
Vectors
1. Catchment
2. DrainageLine
3. AdjointCatchment
The HEC-GoeHMS project setup menu has tools for defining the outlet for the watershed, and
delineating the watershed for the HEC-HMS project. As multiples HMS basin models can be
developed by using the same spatial data, these models are managed by defining two feature
classes: ProjectPoint and ProjectArea. Management of models through ProjectPoint and
3
ProjectArea let users to see areas for which HMS basin models are already created, and also
allow users to re-create models with different stream network thresholds. It is also convenient to
delete projects and associated HMS files through ProjectPoint and ProjectArea option.
Dataset Setup
Select HMS Project SetupData Management on the HEC-GeoHMS Main View toolbar.
Confirm/define the corresponding map layers in the Data Management window as shown
below:
Click OK.
Click on Project SetupStart New Project. Confirm ProjectArea for ProjectArea and
ProjectPoint for ProjectPoint, and click OK.
4
(Note: For some reason, if you get an error message about accuracy/resolution of the data, this
has to do with tolerances for x,y,m,z coordinates in your spatial coordinates which you need to
fix in ArcCatalog)
This will create ProjectPoint and ProjectArea feature classes. In the next window, provide the
following inputs:
If you click on Extraction Method drop-down menu, you will see another option “A new
threshold” which will delineate streams based on this new threshold for the new project. For now
accept the default original stream definition option. You can write some metadata if you wish,
and finally choose the outside MainView Geodatabase for Project Data Location, and browse to
your working directory where cedar.mxd is stored. Click OK.
Click OK on the message regarding successful creation of the project. You will see that new
feature classes ProjectArea and ProjectPoint are added to ArcMap’s table of contents. These
feature classes are added to the same geodatabase cedar.gdb.
Next Zoom-in to downstream section of the Cedar creek to define the watershed outlet as shown
below:
5
Select the Add Project Points tool on the HEC-GeoHMS toolbar, and click on the
downstream outlet area of the Cedar Creek to define the outlet point as shown below as red dot:
Accept the default Point Name and Description (Outlet), and click OK. This will add a point for
the watershed outlet in the ProjectPoint feature class. Save the map document.
Next, select HMS Project SetupGenerate Project. This will create a mesh (by delineating
watershed for the outlet in Project Point), and display a message box asking if you want to create
a project for this hatched area as shown below:
6
(Note: This part could be challenging sometimes. If you face problem in creating Project Area,
just delineate a watershed using the point delineation tool in Arc Hydro for the Project Point
feature, and load this watershed polygon into ProjectArea feature class. Make sure the HydroID
of ProjectArea is same as ProjectID of ProjectPoint. Also you need to make sure the name and
description match with each other)
Click Yes on the message box. Next, confirm the layer names for the new project (leave default
names for Subbasin, Project Point, River and BasinHeader), and click OK.
7
This will create a new folder inside your working folder with the name of the project
CedarCreek, and store all the relevant raster, vector and tabular data inside this folder. The
raster data are stored in a sub folder with the project name (CedarCreek) inside CedarCreek
folder. All vector and tabular data are stored in CedarCreek.mdb. You will also notice that a new
data frame (CedarCreek) is added in ArcMap containing data for cedar creek.
You can also play with the contributing area tool to find out contributing area at different
points along the Cedar creek stream network. With lnk grid active, select the contributing area
tool, and click at any point along the stream to know the contributing area.
Basin Processing
The basin processing menu has features such as revising sub-basin delineations, dividing basins,
and merging streams.
Merge Basins
This process merges two or more adjacent basins into one. Zoom-in to the area marked in the
rectangle below:
8
Select the three adjacent basins (shown above) using the standard select tool . Click on Basin
Processing Basin Merge. You will get a message asking to confirm the merging of selected
basins (with basins hatched in background), click Yes. Similarly merge two more sub-basins as
shown below:
As a result of this merging, we now have 13 sub-basins and 15 river segments in the project.
Save the map document.
River Profile
(Note: we will only look at the functionality of river profile tool, and not split river/basin using
this tool.)
The River Profile tool allows displaying the profile of selected river reach(es). If the river
slope changes significantly over the reach length, it may be useful to split the river/watershed at
9
such a slope change. Select the River Profile tool , and click on any river segment that you
are interested in inspecting. Confirm the layers in the next window, and click OK. This will
invoke a dockable window in ArcGIS at the bottom that will display the profile of the selected
reach. If you click at a point along the profile, a corresponding point showing its location on the
river reach will be added to the map display (shown below as red dot).
If you want to split the river segment at the selected point, you can just right click on the point
inside the dockable window and split the river. If you want to split the sub-basin at the point
displayed in the map, you can use the subbasin divide tool, and click at the point displayed on
the map. We will not split any river segments in this exercise.
The basin characteristics menu in the HEC-GeoHMS Project View provides tools for extracting
physical characteristics of streams and sub-basins into attribute tables.
River Length
This tool computes the length of river segments and stores them in RiverLen field. Select
CharacteristicsRiver Length. Confirm the input River name, and click OK.
10
You can check the RiverLen field in the input River1 (or whatever name you have for your input
river) feature class is populated. Save the map document.
River Slope
This tool computes the slope of the river segments and stores them in Slp field. Select Basin
CharacteristicsRiver Slope. Confirm inputs for RawDEM and River, and click OK.
You can check the Slp field in the input River1 (or whatever name you have for your input river)
feature class is populated. Fields ElevUP and ElevDS are also populated during this process. Slp
= (ElevUP – ElevDS)/RiverLen.
Basin Slope
This tool computes average slope for sub-basins using the slope grid and sub-basin polygons.
Add wshslope (percent slope for watershed) grid to the map document. Select
CharacteristicsBasin Slope. Confirm the inputs for Subbasin and Slope Grid , and click OK.
After the computations are complete, the BasinSlope field in the input Subbasin feature class is
populated.
This will create a feature class with polyline features that will store the longest flow path for
each sub-basin. Select CharacteristicsLongest Flow Path. Confirm the inputs, and leave the
default output name LongestFlowPath unchanged. Click OK.
11
A new feature class storing longest flow path for each sub-basin is created as shown below.
Open the attribute table of Longest Flow Path, and examine its attributes. Close the attribute
table, and save the map document.
Basin Centroid
This will create a Centroid point feature class to store the centroid of each sub-basin. Select
CharacteristicsBasin Centroid. Choose the default Center of Gravity Method, input Subbasin,
leave the default name for Centroid. Click OK.
(Note: Center of Gravity Method computes the centroid as the center of gravity of the sub basin
if it is located within the sub basin. If the Center of Gravity is outside, it is snapped to the closest
boundary. Longest Flow Path Method computes the centroid as the midpoint of the longest flow
path within the sub basin. The quality of the results by the two methods is a function of the shape
of the sub basin and should be evaluated after they are generated.)
12
A point feature class showing centroid for each sub-basin is added to the map document.
As centroid locations look reasonable, we will accept the center of gravity method results, and
proceed. Save the map document.
This will compute the elevation for each centroid point using the underlying DEM. Select
CharacteristicsCentroid Elevation. Confirm the input DEM and centroid feature class, and
click OK.
13
After the computations are complete, open the attribute table of Centroid to examine the
Elevation field.
Select CharacteristicsCentroidal Longest Flow Path. Confirm the inputs, and leave the
default name for output Centroidal Longest Flow Path, and Click OK.
This creates a new polyline feature class showing the flowpath for each centroid point along
longest flow path. Save the map document.
HMS Inputs/Parameters
The parameters menu in HEC-GeoHMS provides tools to estimate and assign a number of
watershed and stream parameters for use in HMS. These parameters include SCS curve number,
time of concentration, channel routing coefficients, etc.
You can specify the methods that HMS should use for transform (rainfall to runoff) and routing
(channel routing) using this function. Of course, this can be modified and/or assigned inside
HMS.
Select ParametersSelect HMS Processes. Confirm input feature classes for Subbasin and
River, and click OK. Choose SCS for Loss Method (getting excess rainfall from total rainfall),
SCS for Transform Method (for converting excess rainfall to direct runoff), None for Baseflow
Type, and Muskingum for Route Method (channel routing). Click OK.
14
You can open the attribute table of subbasin feature class to see that the subbasin methods are
added to LossMet, TransMet, and BaseMet fields, respectively. The Muskingum method is added
to RouteMet field in the River feature class. You can treat these methods as tentative which can
be changed in HMS model. Save the map document.
This function assigns names to river segments. Select ParametersRiver Auto Name. Confirm
the input feature class for River, and click OK.
The Name field in the input River feature class is populated with names that have “R###”
format, where “R” stands for river/reach “###” is an integer.
.
Basin Auto Name
This function assigns names to sub-basins. Select ParametersBasin Auto Name. Confirm the
input feature class for sub-basin, and click OK.
15
Like river names, the Name field in the input Subbasin feature class is populated with names that
have “W###” format, where “W” stands for watershed, and “###” is an integer. Save the map
document.
Sub-basin Parameters
Depending on the method (HMS process) you intend to use for your HMS model, each sub-basin
must have parameters such as SCS curve number for SCS method and initial loss constant, etc.
These parameters are assigned using Subbasin Parameters option. This function overlays
subbasins over grids and compute average value for each basin. We will explore only those
parameters that do not require additional datasets or information.
Add cngrid (curve number grid) from Layers folder to the map document. Select
ParametersSubbasin Parameters from Raster. You will get a window in which you will have
to select the rasters that you want to use for extracting parameters. In this case, we will only
extract the CN number for each basin from a curve number grid. Accordingly, select the cngrid
for the Input Curve Number Grid, and and Click OK.
After the computations are complete, you can open the attribute table for subbasin, and see that a
field named BasinCN is populated with average curve number for each sub-basin. Close the
attribute table, and save the map document.
(Note: We will skip parameters associated with computing rainfall as these numbers should
come from detailed analysis of the watershed. However, if you are interested, you can explore
these functions if you have all the necessary data for their execution.)
16
SCS Curve Number is extracted using a grid, but parameters can also be extracted by using a
feature class and its intersection with subbasins by using the Subbasin Parameters from Features
option, but this option is not described in this exercise.
CN Lag Method
The function computes basin lag in hours (weighted time of concentration or time from the
center of mass of excess rainfall hyetograph to the peak of runoff hydrograph) using the NRCS
National Engineering Handbook (1972) curve number method. Select Hydrologic
ParametersCN Lag Method. This function populates the BasinLag field in the subbasin feature
class with numbers that represent basin lag time in hours. Save the map document.
Take a look at attribute tables of River and Subbasin feature class to see what fields are
populated, and what they mean in hydrologic modeling.
HMS
The HMS menu has tools for creating input files for HEC-HMS.
This tool is used to convert units. Click on HMSMap to HMS Units. Confirm the input files,
and click OK.
(Note: Due to some unknown reasons, if you get an error message at this point saying field
cannot be added to a layer, save the map document, exit ArcMap and open the document, and try
again)
In the next window, choose English units (default) from the drop-down menu, and click OK.
17
After this process is complete, you will see new fields in both River and Subbasin feature classes
that will have fields ending with “_HMS” to indicate these fields store attributes in the specified
HMS units (English in this case). All fields that store lengths and areas will have corresponding
“_HMS” fields as a result of this conversion.
Check Data
This tool will verify all the input datasets. Select HMSCheck Data. Confirm the input datasets
to be checked, and click OK.
You should get a message after the data check saying the check data is completed successfully as
shown below.
You can also look at the log file and make sure there are no errors in the data by scrolling to the
bottom of the log file as shown below.
If you get problems in any of the above four categories (names, containment, connectivity and
relevance), you can look at the log file to identify the problem, and fix it by yourself. This
version of HecGeoHMS apparently gives error with river connectivity even if the rivers are well
connected. Therefore, check the data carefully, and if you think everything is OK, ignore the
errors (if you get any for connectivity) and proceed.
18
HMS Schematic
This tool creates a GIS representation of the hydrologic system using a schematic network with
basin elements (nodes/links or junctions/edges) and their connectivity. Select HMSHMS
Schematic. Confirm the inputs, and click OK.
Two new feature classes HMS Link and HMSNode will be added to the map document.
After the schematic is created, you can get a feel of how this model will look like in HEC-HMS
by toggling/switching between regular and HMS legend. Select HMSToggle HMS
LegendHMS Legend
19
You can keep whatever legend you like. Save the map document.
Add Coordinates
This tool attaches geographic coordinates to features in HMSLink and HMSNode feature classes.
This is useful for exporting the schematic to other models or programs without losing the
geospatial information. Select HMSAdd Coordinates. Confirm the input files, and click OK.
The geographic coordinates including the “z” coordinate for nodes are stored as attributes
(CanvasX, CanvasY, and Elevation) in HMSLink and HMSNode feature classes.
Select HMSPrepare Data for Model Export. Confirm the input Subbasin and River files, and
click OK.
20
This function allows preparing subbasin and river features for export.
Select HMSBackground Shape File. This function captures the geographic information (x,y)
of the subbasin boundaries and stream alignments in a text file that can be read and displayed
within HMS. Two shapefiles: one for river and one for sub-basin are created in the project folder.
Click OK on the process completion message box.
Basin Model
Select HMSBasin Model File. This function will export the information on hydrologic
elements (nodes and links), their connectivity and related geographic information to a text file
with .basin extension. The output file CedarCreek.basin (project name with .basin extension) is
created in the project folder. Click OK on the process completion message box.
You can also open the .basin file using Notepad and examine its contents.
Meteorologic Model
We do not have any meteorologic data (temperature, rainfall etc) at this point. We will only
create an empty file that we can populate inside HMS. Select HMSMet Model FileSpecified
Hyetograph. The output file CedarCreek.met (project name with .met extension) is created in the
project folder. Click OK on the process completion message box.
You can also open the .met file using Notepad and examine its contents.
21
Save the map document. You have successfully created a HEC-HMS project for Cedar Creek.
Congratulations! In the following part, you will open this project in HEC-HMS.
Open HEC-HMS, and select FileNew. Create a new project called CedarCreek using US
Customary unit in your working directory.
Next, go to File ImportBasin Model, and browse to the .basin file and add it to the project.
Save the project. You will see the basin folder in the left window, click on the + sign to open the
folder and click on the basin to see the Cedar Creek basin. Click on ViewBackground Map,
and then add the river and basin shapefiles to see the watershed as shown below.
basin along with its sub-basins, streams, links and junctions as shown below.
22
If you expand the CedarCreek basin in watershed explorer, you will see the list of junctions,
reaches and subbasins. You can click on any reach and see its associated methods. For example,
when you click on a Reach (R##), you will see that Muskingum routing method is associated
with it. Similarly, if you click on a Watershed (W##), you will see SCS Curve Number (for
abstractions) and SCS Unit Hydrograph (for runoff calculations) are associated with it. Again, if
you click on SCS Curve Number, you will see corresponding parameters in the Component
Window as shown below. All this information, which is now independent of GIS, is extracted
from attributes that we created in HEC-GeoHMS.
Manipulating data in HMS, populating the Meteorologic file, and running the model is beyond
the scope of this tutorial, and will be covered in other tutorial. Save your HMS project.
23