This article presents an application developed in the Czech Hydrometeorological Institute (CHMI) to support hydrologic modelling using the HEC-HMS model as the primary used rainfall-runoff model. The application enables group editing of selected parameters of the model schematization, automatic running of simulations, display of selected simulation results, and communication of the HEC-HMS model with GIS and other selected models, e.g., HEC-RAS or MIKE 11. The application is designed to use only freeware and open source libraries and is capable of operating under both Windows OS and UNIX/Linux OS. This article briefly describes the current state of the application development and its functionality, even for readers without major IT background. Further development is outlined in the last part of the article. Further development of the application is aimed at higher support for hydraulic modelling at the level of communication between the HEC-HMS and HEC-RAS models, as well as at the level of automatic parameterization and launching of the HEC-RAS model and its communication with other tools, e.g. hydraulic model MIKE 11 or GIS post-processing of the results.


The HEC-HMS (Hydrologic Engineering Center Hydrologic Modeling System) software for rainfall-runoff modelling is one of the most widely used worldwide and its popularity is growing. One of the main reasons is the fact that it is distributed as freeware, including rich documentation [7]. Other reasons include the ever-expanding palette of methods for hydrological and hydraulic transformation in semi- and fully distributed solutions (e.g., SCS-CN, Green-‑Ampt, SAC-SMA, kinematic wave approximation, Muskingum-Cunge, linear reservoir) and also the fact that it is validated and listed as a FEMA/NFIP industry standard [8]. Last but not least, it is also the possibility to communicate with the HEC-RAS hydraulic model and the HEC-ResSim model for operational simulation and optimization of water management systems, while the integration possibilities are significantly increased by the HEC-WAT (Watershed Analysis Tool) and HEC-RTS (Real Time Simulation) platforms. Another significant advantage is the possibility of operation on multiple operating systems, namely Windows, UNIX/Linux, and macOS. This software is used in CHMI for assessment activities, hydrological analyses and, at the Ostrava branch, together with the HYDROG rainfall-runoff model, for operational hydrological forecasting within the framework of the Flood Warning and Forecasting Service (FWFS) of the Czech Republic. Other aspects are also important for operational hydrological forecasting; the most fundamental ones include the possibility of automatic or semi-automatic adjustment of selected parameters, calibration and optimization, as well as automatic launching. The HEC-HMS software has an advanced API (Application Programming Interface) in the new versions based on the Java, Python, and Jython languages. For this reason, an application that makes these automatic and semi-automatic functions of HEC-HMS available to users and expands them was gradually created at CHMI Ostrava. The basic motivation was to shorten the processing time of the input and output data of rainfall-runoff modelling, as well as the full or partial automation of some steps within the rainfall-runoff modelling itself, for example updating the parameters of the runoff loss methods according to the indicator of previous rainfall, or conversion of schematics between the SCS-CN and Green-Ampt methods.

Operation of the HEC-HMS model at CHMI Ostrava

The HEC-HMS rainfall-runoff model has been gradually introduced and tested at the CHMI Ostrava branch since 2013. It has been routinely operated to predict flows on selected flood warning profiles on watercourses within the branch‘s territorial jurisdiction since 2017, and serves as a support system that is used during the decision-making process when issuing warning information on flood phenomena within the Integrated Warning Service System [5]. Data for rainfall-runoff modelling are exported from the CLIDATA database system, specifically from the SOMDATA module [3] in the required format and structure, and subsequently imported into the HEC-DSSVue database system [6], which uses the HEC-HMS model along with other USACE/HEC tools as well. After the actual calculation in the HEC-HMS model, the results are then exported from the HEC-DSSVue database, and then again, in the required format, imported back into the CLIDATA database for further use in operational practice.

For the actual prediction of flows in the HEC-HMS model, the Forecast Alternatives module (hereafter Forecast) is available in which the date and time of simulation and prediction are set; subsequently, the module is connected to a specific basin model (Basin), the meteorological model is specified, and the configurations are set that can be used to adjust (calibrate) model parameters (set methods of hydrological and hydraulic transformation of rainfall and base runoff) [7]. The advantages of using it in everyday operation are a clear user environment, the speed of the calculation itself, and the possibility of calibrating individual parameters. Due to the steps described above, automation of individual parts of the calculation is a next step to make the work more efficient and quicker. The result should be the acceleration of data export as well as the simplification and acceleration of the actual setting of the Forecast module, especially changes of parameters for calibration and automatic changes of simulation and prediction time.

Description of the interface and application functionalities

As HEC-HMS itself is multi-platform, the application was also created in a variant for OS Windows and OS Linux (tested on openSUSE, Mageia, and Ubuntu distributions). Another requirement was modularity, where the addition or change of functions does not have to mean an intervention in the basic code of the application. The programming languages and development environments used were Microsoft Visual Studio NET Enterprise 2022 (C++ and some Visual Basic modules), Java (Apache NetBeans), Python and Jython (Visual Studio Code or IronPython). The accompanying scripts and batch files were created in Windows PowerShell or Bash (Bourne Again Shell) for Linux.

The basic functionalities of the application include:

  • Automatic launching of the HEC-HMS model including automatic rewriting of time parameters of control files (Control or Forecast).
  • Automatic update of scripts for downloading data from DBS ORACLE (CLIDATA) according to the time of launching imports and simulation.
  • Automatic or semi-automatic adjustment of the parameters of the selected methods according to the indicator of previous rainfall
    (currently for the SCS-CN and Green-Ampt methods).
  • Conversion of model schematizations between the SCS-CN and Green-Ampt methods.
  • Automatic and mass editing of selected parameters in Forecast files (i.e., setting of parameters, zones and forecast alternatives).
  • Viewing and basic editing of GIS data by schematization (using GDAL, SharpMap, and MapWindow GIS libraries).
  • Statistical evaluation of simulated hydrographs (e.g., according to the Nash-Sutcliffe coefficient).
  • Display of simulation results (dispatch window for running hydrographs and hyetographs).
  • Connection with HEC-RAS and DHI MIKE 11 hydraulic models
    (transmission of hydrographs for selected computing nodes and update of simulation time parameters for continuous flow).
  • Data exports to MS Excel or ASCII formats (CSV).

The basic interface and main window of the application is shown in Fig. 1, while other functionalities and windows are run from the main menu.

Fig. 1. Basic user interface and the main window of the application

The window for editing parameters of schematizations based on the SCS-CN and Gren-Ampt methods is illustrated in Fig. 2. The schematization editing function loads key parameters from the Basin file, for example in the case of the SCS-CN method, initial loss values and CN curves for individual basins. These can then be adjusted according to the indicator of previous rainfall or with a conversion coefficient. In the case of the SCS-CN method, it is an adjustment according to AMC (Antecedent Moisture Conditions) [1, 4, 7]; in the case of the Green-Ampt method, it is again a parameter of initial loss, suction buoyancy and hydraulic conductivity [1, 7]. Schematization conversion between the SCS-CN and Green-Ampt methods also works on these principles. This conversion is independent of the used method of hydraulic transformation and basic outflow, so it works only with selected parameters of outflow loss (Loss method) [7].

Fig. 2. Graphical interface for the automatic update and conversion of HEC-HMS schematizations

Given that HEC-HMS in versions 4.x has strong support for GIS functions and data types (ESRI shapefile, ASCII raster, GeoTIFF, etc.) and it can be expected that the schematization of models takes place dominantly in a GIS environment, the application as such has an input GIS data browser (both raster and ESRI shapefile support). For this functionality, it is necessary to have the GDAL libraries installed; the other libraries are included directly in the application. All libraries for GIS support are open source, so it is not necessary to install commercial GIS software on a computer. The GDAL libraries are installed together with HEC-HMS for both Windows OS and Linux OS (also GRASS GIS or QGIS). Path setting for both operating systems is most often done automatically, so no further user intervention is required. The scripts for running the HEC-HMS simulations themselves use these default directory paths.

The application at the level of automatic running of imports and conversions of data and running of HEC-HMS scripts enables continuous operation, where the user only sets the intervals at which individual steps are repeated. During this automated run, it is possible to work interactively in other user windows, such as GIS, schematization update, dispatcher window for simulation results, or statistical evaluation of simulations.

Further application development

The goal of the development and subsequent operation of this application is not to duplicate the functions of complex interfaces, such as FEWS or HEC-RTS, but to support parameterization and automation of rainfall-runoff and hydraulic modelling for users who do not have experience in programming scripts and only have basic knowledge of the structure of data and files of HEC-HMS and HEC-RAS models. Since the support of the HEC-RAS model for OS UNIX/Linux is still being developed and its existing scripting options have been based on the VBA (Visual Basic for Applications) language [2], further development of the application‘s functionalities is planned mainly in this direction. Support documentation for the current version of HEC-RAS for OS Linux can be found on its website [9].

Another scope for development is represented by the simulation logs of the HEC-HMS model and the system for logging errors (Error), warnings (Warning) and notifications (Note) [7]. This, together with the report system, creates a complex structure of files and information, which may seem confusing, especially to novice users.

Therefore, work on a log filtering function is currently underway for the user to be able to choose which information is relevant to them, and this will then be displayed either in a dialog box or exported to a text file.

The last major area is the support of the MIKE 11/1D hydraulic model and the EPA SWMM urban hydrology model. The reason is the current absence of the ability to simulate flow in pipes and closed profiles at the level of the HEC-HMS model.

Fig. 3. Window for the result viewing of HEC-HMS simulations for the decision making

So the basic motivation remains the same – the development of a functional application that simplifies and accelerates work with HEC-HMS and HEC-RAS models and streamlines their communication with the HEC-DSSVue data set manager, database systems, GIS, or other modelling tools for interactive user work and automatic running of simulations.


At this time, the goal of streamlining and accelerating partial steps within the entire cascade of operational hydrological forecasting, including the automation of selected processes at the level of data processing and rainfall-runoff modelling itself, has been fulfilled, with the development of other functionalities continuing. The basic diagram of the data flow in the application is illustrated in Fig. 4. The connectors with a solid line show the basic data flows that are repeated at each iteration of the calculation, the connectors with a dashed line show the optional data flows that are controlled by the user manually or within the parameterization of the automatic calculation.

Fig. 4. Data flow in the application

The application was created for the needs of the CHMI operational hydrological forecast; however, since the HEC-HMS and HEC-RAS models are used in the Czech Republic by other institutions and experts, the basic version for OS Windows (with the limitation of selected functionalities for the needs of operational forecasting of FWFS CR) will be available for download in the future, or it is possible to contact the authors of the application and the article.


The article was created as part of the project „Prediction, assessment and research of the sensitivity of selected systems, the effect of drought and climate change in the Czech Republic, PERUN“ (SS02030040), which is supported by the Technology Agency of the Czech Republic.

This article was translated on basis of Czech peer-reviewed original by Environmental Translation Ltd.