Identifying initial snowmelt conditions (or state variables) can be challenging when beginning a simulation in the middle of the winter if there is snowpack on the ground. The temperature index snowmelt method requires initial snow water equivalent (how much liquid water is in the snowpack), the cold content (amount of energy in the snowpack that can freeze liquid water), the melt rate and cold content antecedent temperature index, and the amount of liquid water contained within the snowpack. It is easy to set these initial snowpack conditions when there is no snowpack; HEC-HMS has an option to use “default” values (0 inches for initial SWE, cold content, and liquid water, 0 Deg F - Day for the melt rate antecedent temperature index, and 32 Deg F for the cold content antecedent temperature index). However, it is more difficult to set these initial conditions when there is an existing snowpack at the start of a simulation.

HEC-HMS includes an option to save select model states at a specific point in the simulation (by default, the states are saved at the end of the simulation). The saved states can be used to initialize a simulation. The start and save states options works with both simulation runs and forecast alternatives. The figure below shows the States tab within the Forecast Alternative Component Editor. In this example, the forecast alternative was configured to stop on April 1, 1997 at 00:00.


As of version 4.8, HEC-HMS will save the state variables for snowmelt, loss, transform, baseflow, and reach routing methods.  Additionally, the storage state in reservoir elements is saved as well.

The save states option will save the state of the five temperature index initial conditions mentioned above in a save states file. The save states file is saved to the project's ..\basinStates folder and will have a *.state file extension. The state file can be opened using a text editor. However, it is recommended that the state file not be edited outside of HEC-HMS. The save states file can be used to initialize states in a different simulation as shown in the figure below.

The start and save states option can be applied to both gridded and subbasin average methods. The program will save the state variables for each grid cell when using gridded modeling methods or for the subbasin when using subbasin average modeling methods. The figure below shows a small portion of a state file. The basin model used by the simulation that created this state file used gridded precipitation, gridded snowmelt, ModClark transform, and Deficit and Constant loss methods. Notice in the figure that snow, loss, and transform states are accounted for each grid cell.


Values in the state file are in metric units.

Many modeling applications include scenarios when the simulation of interest begins with a snowpack already on the ground. The purpose of the simulation might be to model snowmelt or rain-on-snow scenarios. It is often easier to find precipitation and temperature data than it is to find data to initialize the five temperature index state variables. For example, consider a scenario where a model will be used to simulation snowmelt, precipitation, and runoff starting on April 1, 1997. A preliminary simulation could be configured that starts on October 1, 1996, when there is no snowpack, and end on April 1, 1997. The temperature index state variables could be saved at the end of the preliminary simulation and used to initialize the simulation (including different meteorologic and basin models) starting on April 1, 1997.

Application of start and save states is straightforward for simulation runs. The states in a saved states file will replace all initial conditions in the meteorologic and basin models within a regular simulation. However, a forecast alternative contains many options for modifying initial conditions and parameters in the meteorologic and basin models. These tools include zonal editors, parameter override editors, slider bar editors, and initialization editors. As such, the application of start and save states within forecast alternatives is more complicated. The states from the saved states file will overwrite information in the basin model, zonal editor, parameter override editor, and slider bar editors. The initialization editors, initial baseflow, initial reservoir stage, and initial reach flow will overwrite information from the saved states file.

Example Application of Save and Start States

The following steps show how to use the save and start states options to initialize the temperature index snow model (the same approach works with simulation runs as well). The save and start states options can be used to initialize loss, transform, baseflow, routing, and reservoir state variables as well. HEC-HMS 4.8 was used to create this tutorial.

You can download the example project here -

A copy of the example project last run in version 4.10 beta 5 can be downloaded from here  -

The watershed used in this example is part of the Columbia River Watershed. Major tributaries include the John Day, Umatilla, and Klickitat Rivers. Snow accumulation and melt are major drivers of the runoff response in this modeling domain. The scenario presented in the tutorial is one where the modeler was given the task of simulating snow accumulation, melt, and runoff for the period April 1, 1997 through June 1, 1997. Gridded precipitation and temperature data were available from October 2, 1996 through September 30, 1997.

  1. The figure below provides a general layout of major model components. There are two basin models. The MainstemColumbia_WY1997_FM basin model is configured with forecast zones and forecasting-specific zonal editors. Their use is not critical to the workflow presented. The Meteorologic Model, Gridded_WY1997, is configured to use gridded precipitation and gridded temperature data, the gridded Hamon evapotranspiration method, and the gridded temperature index snowmelt method.
  2. There are three forecast alternatives in the project, EndApr1_SaveStates, StartApr1_NoInitialStates and StartApr1_UseSaveStates.
  3. The EndApr1_SaveStates simulation was set to start on 02 October 1996 and run through 01 April 1997. As shown below, states will be saved at the end of the simulation, which is 01 April 1996 at 00:00.
  4. The StartApr1_NoInitialStates and StartApr1_UseSaveStates simulations are configured to run April 1, 1997 through June 1, 1997.
    1. Both forecast alternatives use the Forecast Initial Subbasin Baseflow initialization tool to set the initial baseflow at the beginning of the simulation using observed flow gage information. Baseflow initialization overwrites states from the saved states file.
  5. The StartApr1_NoInitialStates simulation does not use saved states to initialize the snowmelt model.

  6. The StartApr1_UseSaveStates simulation uses the states saved from the EndApr1_SaveStates simulation (the states were saved using the name "SaveStates_Apr1_1997"). The saved states include temperature index state variables at 01 April 1997.


    The date states variables are saved do not have to coincide with their application. For example, I could use state variables saved at February 1, 1997 to initialize a simulation beginning at April 1, 1997. You could create a range of state variable files that reflect a snowpack at different points in time, or at different magnitudes. The different states could be used to initialize hypothetical storm or what-if scenario simulations.

  7. The following steps present and describe results at the NFJohnDayRV_S30 subbasin element. This subbasin is highlighted in the figure below. Results were selected from the Results tab on the Watershed Explorer. The control key was pressed while selecting the individual output. Then the View Graph button was pressed to create a custom plot. Finally, the plot properties were edited. 
  8. The following figure shows both the Snow Water Equivalent (SWE) and Outflow from the NFJohnDayRV_S30 subbasin element. The red results are from the StartApr1_UseSaveStates simulation and blue dashed line shows results from the StartApr1_NoInitialStates simulation. For this specific subbasin element, the initial subbasin average SWE was approximately 6 inches on April 1 in the StartApr1_UseSaveStates simulation (this value was computed by the EndApr1_SaveStates simulation and saved to the states file). The StartApr1_NoInitialStates simulation started with 0 inches of SWE on April 1, which results in much less runoff.
  9. There is also a simulation run included in this example project named CompleteWY1997. This simulation was computed for the period October 2, 1996 to October 1, 1997. The following figure shows results from the full water year simulation (blue lines) and results from the StartApr1_UseSaveStates forecast alternative simulation (red lines). You will notice results are slightly different because the forecast alternative used the baseflow initialization tool to set the initial baseflow at the beginning of the simulation. However, the SWE values are similar between the two simulations as well as the computed outflow. This example confirms the saved states are being used to initialize the StartApr1_UseSaveStates forecast alternative. 

If the modeler wanted to update the simulation to start on April 15, 1997, then the same save states file could be used to initialize the simulation (even though the states were saved for a simulation date of April 1). Alternatively, the time window for the simulation used to create the save states file could be extended so the end date is April 15. A new save states file name could be defined as well, or the existing file name could continue to be used. The program will overwrite the states file each time a simulation is computed, regardless of whether the time at which the states are saved changes. 

There is some additional flexibility that is worth mentioning. Save states files can be paired with different basin models. The program will only use the saved states for those subbasin elements that have matching names. If the program cannot find a subbasin element in the save states file, then it will use the initial condition values defined in the meteorologic and basin models or the forecast alternative editors.