The mesoscale Hydrological Model
Calibration Options

Calibration of Parameters on Observations

In order to use the calibration feature of mHM, turn the optimize switch in mhm.nml to .true..


MHM calibrates all parameters in mhm_parameters.nml which are flagged for optimization (column "FLAG"). Parameters can be forced to stay constant during calibration by setting the flag to 0. The upper and lower bounds define the ranges in within which the optimization methods vary the parameters. Although permitted, we recommend not to change the bounds, since they are the result of intensive sensitivity studies covering a wide range of basins.


Different optimization methods are available to find the best configuration of parameters for the selected objective function. You may chose between Simulated Annealing (SA), Dynamically Dimensioned Search (DDS) and Shuffled Complex Evolution algorith (SCE). Details about these methods can be found in the module describtion part of this manual. At the very end of mhm.nml additional settings are offered for optimization.


The measure to define how well a quantity fits to the observations depends strongly on the specific type of application. mHM offers a variety of options for different quantities like discharge, soil moisture, or total water storage. For example, an NSE type of function will not be able to catch low values as well as ln(NSE) would. In mhm.nml, individual objective functions are defined for specific quantities.


Discharge and total water storage data should be provided in ASCII file format for each gauge/basin. Soil moisture and neutron data need to be provided as spatio-temporal netcdf files. Example files can be found in thr folder optional_data in the test_basin. Furthermore, a optional_data namelist in mhm.nml provides several options regarding the handling of such data. For example, for soil moisture data, the temporal resolution needs to be set in mhm.nml. However, neutron data is restricted to be daily in the current release. The spatial resolution of soil moisture and neutrons data needs to match the hydrological resolution of mHM.

For correct preparation of input data, please take a look at the input data in the test_basin, which will serve as a good example. Furthermore, it could be helpful to generate optional data files from precedent mHM output, because then the temporal resolution and the spatial grid is guaranteed to match the needs of mHM. The files then can be modified with tools like cdo or python.


Calibration runs result in a parameter file called FinalParams.nml which contains the optimized parameter set. Replace mhm_parameters.nml with FinalParams.nml, then run mHM in foreward mode in order to obtain hydrologic predictions.