Introduction to hydrologic model calibration

Matin Rahnamay Naeini, University of California-Irvine, Civil and Environmental Engineering
Author Profile


In this exercise, we introduce the concept of model calibration for rainfall-runoff models. We specifically employ a synthetic precipitation data as input to the hydrologic model to generate synthetic runoff. The synthetic data is then perturbed by some random noise to represent the error in observation. The perturbed data is then used to find the parameter of the model.

The random noise in observed data would affect the parameter estimation of the rainfall-runoff model. We first try to find the parameters by trial and error in a manual calibration process by minimizing Root Mean Squared Error (RMSE). Then we employ a local search approach to find the parameters of the model in an automatic model calibration process.

Used this activity? Share your experiences and modifications

Learning Goals

By the end of this activity, students will:

- summarize the goal of model calibration.

- distinguish the differences between manual and automatic model calibration.

- implement objective function for model calibration.

- perform model calibration for a simple bucket model and report the parameters.

- explain the effect of observation error on the parameters of the model.

Context for Use

This activity is designed for a senior undergraduate or graduate level course for civil and environmental engineering students or any course related to hydrologic modelling. The students are required to know the basic concepts of hydrology and statistics and have some background in MATLAB programming.

Description and Teaching Materials

This activity can be part of a lecture, homework, or project. It is suitable as an introduction to hydrologic modelling course. The students can follow the steps in the course handout to finish the activity. The attached live script can be used as a lecture or solution for the activity. The bucket model can be provided or can be coded by students in MATLAB. The attached bucket model should be placed in the same directory as the Intro2ModelCal.mlx live script.

Student handout: Handout (Acrobat (PDF) 229kB Nov4 19)

Bucket model: Model (Matlab File 2kB Aug14 19)

Solution live script: Solution (MATLAB Live Script 168kB Aug14 19)

Teaching Notes and Tips

This activity can be repeated by using different parameters for the model. Students should be encouraged to repeat this activity with different settings for the model and discuss their findings at the end of the session or in a report. This activity is suitable for a homework or pre-class activity, where students follow all the steps and write a report on their observation. It takes about 4 hours to implement the code and 4 hours to write the report (8 hours in total). Since this activity requires implementing code and writing a report, it is suitable for a class with 20-25 students, where the instructor can evaluate the reports individually. For a class with more than 20-25 students, this activity can be done in the form of a group project. The recommended group size for this activity is 3 students, depending on the available resources and the size of the class.


The assessment would be through a class discussion or report, in which students would explain their observations and findings. Students should go through the steps and answer the questions. The students should:

- summarize the concept of model calibration.

- discuss the difference between automatic and manual model calibration

- explain the advantage and disadvantage of automatic and manual model calibration.

- calibrate the bucket model with true and observed data and compare the parameter set for each of them.

- plot the simulated and observed runoff for different sets of parameters.

- discuss the effect of observation error on the parameter of the model.

References and Resources

Rahnamay Naeini, M., Analui, B., Gupta, H., Duan, Q., Sorooshian, S. (2019). 'Three decades of the Shuffled Complex Evolution (SCE-UA) optimization algorithm: Review and applications', Scientia Iranica, 26(Special Issue Dedicated to Professor Abolhassan Vafai), pp. 2015-2031. doi: 10.24200/sci.2019.21500

Yapo, P.O., Gupta, H.V. and Sorooshian, S., 1996. Automatic calibration of conceptual rainfall-runoff models: sensitivity to calibration data. Journal of Hydrology, 181(1-4), pp.23-48.