WMS:HEC-HMS Properties

From XMS Wiki
Jump to: navigation, search

For HMS, all of the parameters (properties) are edited from the same HMS Properties dialog. The dialog is reached through the Edit Parameters command in the HEC-HMS menu.

HMS Properties dialog

Displaying and showing options allow seeing only those variables for which to enter data. Toggling on Loss Rate Method in the Display column allows picking which method they want to use. Then toggle the display for the different parameters associated with a given methodology from the Show column.

The HMS Properties window is versatile in that it shows properties for all or selected basins, junctions, reaches, reservoirs, etc. The HMS documentation can be reviewed for detailed model formulation and behavior of the various properties, but different functions of the dialog are defined below:

  • Type – Specifies which type of hydrologic unit parameters to view or edit.
  • Show – Choose to show or edit the parameters of the selected or all hydrologic units of the specified type.
  • Display Options – The display options determine which properties (Display column) and which methods (Show column) are displayed/edited in the Properties spreadsheet.
  • Properties – The properties of the selected (or all) hydrologic units are displayed as a spreadsheet for editing in this area. Only the properties and methods as determined in the display options are visible for review and editing. While more than one method may have properties displayed, a method for simulation must be chosen as one of the properties.

HMS includes the following hydrologic units which can be used to define a model:


Sub-basins are one of the basic hydrologic units that can be defined in an HMS model. To simulate runoff for a sub-basin, base flow, loss, and transform properties must be defined. This is done by first selecting the "Sub-basins" hydrologic unit Type from the HMS Properties dialog, and then turning on the display of the different properties and methods that to be defined. The properties are then edited in the properties table.

Unlike HEC-1, meteorological data are not defined as a sub-basin property, but rather as part of the meteorological parameters of the HMS simulation.


"A junction is an element with one or more inflows and only one outflow. All inflow is added together to produce the outflow by assuming zero storage at the junction. It is usually used to represent a river or stream confluence." (HEC, 2002)

WMS treats outlets as junctions. This means that when creating an outlet, WMS is actually creating a junction. WMS is also creating a reach when creating an outlet. The only data associated with junctions is a description. This description is exported to the HMS file when saving the file. A reach is also associated with each outlet.


HMS Properties dialog

Reach routing will lag and attenuate the hydrograph computed (combined) at an outlet according to the reach properties defined. To define reach parameters, open the HMS Properties dialog, shown below, and then select the HMS Property type to be Reaches. Show or edit properties for only the selected reach(es), or for all reaches in the model. Select a reach in WMS by selecting the upstream outlet of the reach since it is from this point hydrographs are routed.

Choose to Display properties of the reach and then show one or more methods in the properties table. The method that HMS will use and the associated parameters are all edited from the properties table.


The Lag method simply lags the hydrograph without any attenuation. The only parameter for this method is the lag time with its accompanying units (minutes or hours).


The Muskingum method is dependent primarily upon an input weighting factor for the reach. The required parameters are as follows:

  • Number of sub-reaches (time steps that hydrograph will be in the reach).
  • Muskingum K coefficient in hours for entire reach.
  • Muskingum x (weighting) coefficient.

Using the basin data computed by WMS when a TIN or DEM is used to delineate the watershed, the K coefficient and number of sub reaches can easily be estimated. K is essentially the travel time for the reach, which can be estimated by noting the length of the stream segment (see this by displaying in the Muskingum Cunge method) and multiplying by an assumed channel velocity (1-5 ft/s would be appropriate for most natural channels). Convert the estimated travel times from seconds to hours before entering it into the K property field. The sub-reaches value is the number of time steps the flood wave is in the channel and can be determined by dividing K by the computational time step found in the Job Control dialog (again be sure that units are consistent). A button exists in the Muskingum K property field so that these computations can be done directly within WMS.

Modified Puls

The Modified Puls method uses a storage routing technique, or level-pool routing. Enter the storage, outflow relationship as well as the number of sub-reaches and initial condition.

Muskingum Cunge Std., Muskingum Cunge 8 Point, or Kinematic Wave

The Muskingum-Cunge and Kinematic Wave methods are defined with essentially the same parameters.

  • Channel length.
  • Energy grade slop (generally a project can use channel slope).
  • Manning's roughness.
  • Characteristic channel shape.
    • Type, base width and side slope of a prismatic cross section or.
    • 8 point cross section defining the right over bank, center, and left over bank.

Straddle Stagger

This is a seldom used method which requires the number of ordinates to lag and the duration.


HMS allows flow to be diverted from an outlet or drainage basin. This flow can be thought of as leaving the normal drainage system at that point. It can be retrieved at a downstream outlet where the diverted flow then contributes to the flow at that outlet. If no downstream retrieval outlet point is specified, the flow simply leaves the system at the diverted outlet point and never returns (similar to a sink).

Diversion Data

Diversions are created using a combination of the Add Diversions and Retrieve Diversion commands found in the Tree menu. Once created, data for the diversion can be defined and/or edited by using the HEC-HMS Properties dialog.

The following data should be defined for a diversion:

  • Name – The name identification string of the diversion as used on the DT record. It is important to assign a unique name to each diversion in a given model because this name is used by WMS and by HEC-1 to identify the diversion.
  • Max Volume – Maximum volume of diverted flow in acre-feet (1000 cu m).
  • Peak Flow – Peak flow that can be diverted in any computation period in cfs (cms).
  • The flow capacity of a stream flow diversion is specified using an inflow and outflow table. This table is defined with the XY Series Editor.


Reservoir routing is similar to the Modified-Puls reach routing method. The difference is that relationships between elevation-storage and elevation-outflow can be used to determine the storage-outflow curve. This input can either be in the form of:

  • Storage-Outflow (same as reach routing)
  • Elevation-Storage-Outflow
  • Elevation-Area-Outflow

Also establish the initial conditions (whether there is storage), and the number of sub-reaches.


If wanting to run a model that is interior to a larger watershed then define a source at the headwaters of a stream within a model. A source can be defined either as a hydrograph or a constant flow rate. Sources can only be defined at outlet points that do not have upstream reaches or basins defined, i.e. the stream headwaters.

Before defining a source in the HMS properties dialog, first add the source to the outlet. This is done using the Add | Source command from the Tree menu.


If wanting to run a model that is interior to a larger watershed then define a sink at the outlet of the a model. A sink can be defined either as a hydrograph or a constant flow rate. Sinks can only be defined at outlet points that do not have downstream reaches.

Before defining a sink the HMS properties dialog, first add the sink to the outlet. This is done using the Add | Sink command from the Tree menu.

Related Topics