HMETS hydrological model

Source code and interface to lumped conceptual hydrological model HMETS


Updated 4 Oct 2016

View License

Code and interface to hydrological model HMETS. HMETS is a very simple, yet efficient, lumped conceptual hydrological model. It simulates all main hydrological processes including snow accumulation and snowmelt. Automatic calibration of the model is provided with the SCEUA and DDS algorithms (NOTE: to use DDS, additional files have to be downloaded - see below). There is a climate change module using the constant scaling downscaling method. A user guide is provided in the zip file. There are two main folders:
-HMETS code - use this folder if you want to use the m-files directly. A test watershed file is provided. Following the information in the user guide, you can run and calibrate the model within a few minutes.
-HMETS interface - use this folder if you want to use HMETS from its graphical user interface.
It has not been tested on older version of Matlab, but it is very likely to run properly on older versions.
- To use the DDS algorithm (Tolson and Shoemaker, 2007) which is the most efficient optimization algorithm for HMETS, you have to download the p-files from the Github repository site. You do NOT have to download all of the files. Eight files are needed and are mentioned in the user guide.
- A few routines come from the air-sea exchange toolbox. All such files are mentioned in the user-guide and in the routines themselves None of theses routines has been modified.
- the SCEUA algorithm has been lightly modified from the File exchange program code of Q. Duan.

Cite As

Francois (2023). HMETS hydrological model (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!


HMETS Interface/

Version Published Release Notes

Version 1.3 solved a conflict between variable names and new Matlab function names.

Corrected typo in description

Added comments related to the use of Nan functions.