Machine Learning Supported Groundwater Model Calibration with Modflow, Flopy, PySal and Scikit Learn - Tutorial

MachineLearningSupportedGroundwaterModelCalibrationModflowPySalandScikitLearnTutorial.jpg

The quality of a groundwater modeling work relies on three factors: The spatio-temporal distribution of observed data, the model construction and calibration and the conclusions made from the predictive simulations. Based on the complexities of the numerical tools, the amount of the parameters involved, the groundwater calibration could be an extreme challenge for beginner, intermediate or advanced modelers with many success and failure cases often accompanied with psychological stress.

Advances on machine learning algorithms need to be coupled with numerical groundwater modeling tools to improve the modeler capability to understand the overall model performance, the correlation between observed and calculated and a best set of parameters that represents the observed conditions of groundwater flow and quality.

We have done a tutorial on a low-level-complexity model with rivers, lakes, recharge and regional groundwater flow done in Model Muse in a previous tutorial. The model was imported as an object in Python with Flopy. A sensibility analysis was done with SALib to assess  the response for the object model groundwater flow to a different sample of parameters and a resulting set of parameters and corresponding heads (parameters to heads) were recorded. Then a machine learning regression was performed with Scikit-Learn with the inverse set (heads to parameters) to get the predicted parameters for the observed data. Different error measurements were performed for two model cases to assess the overall quality of the neural network regressor.

WARNING: The use of the machine learning algorithms for model calibration or any other numerical tool is not a substitute to the groundwater modeler criteria. Machine learning is just a tool, and as any human tool should be used in a proper way under the control of our intelligence. Remember that if we use computers as a “black box” for model calibration we are risking the quality of the conclusions and the whole modeling work.

Tutorial

Useful links

Flopy site:

github.com/modflowpy/flopy

Flopy documentation:

flopy.readthedocs.io/en/3.3.2/

SALib site:

salib.readthedocs.io/en/latest/

Scikit MLP Regressor information:

scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html

Input data

You can download the input data from this link.

Comment

Saul Montoya

Saul Montoya es Ingeniero Civil graduado de la Pontificia Universidad Católica del Perú en Lima con estudios de postgrado en Manejo e Ingeniería de Recursos Hídricos (Programa WAREM) de la Universidad de Stuttgart con mención en Ingeniería de Aguas Subterráneas y Hidroinformática.

 

Suscribe to our online newsletter

Subscribe for free newsletter, receive news, interesting facts and dates of our courses in water resources.