Mathematical models are an essential part of a hydrologist’s daily life. This webinar shows how you can use the immensely popular and powerful programming language Python to develop powerful analytical models.

The first demonstration example will be an analytical model of the flow between two rivers driven by groundwater recharge and changes in head. Using Python scripts the head, flow, water divide and transit time will be calculated. It will also be shown how a flow net can be constructed. The second example will investigate how a change in river water level propagates into an aquifer (river bank storage) as a function of distance and time. The third topic is a well pumping near a river. We will show that when the discharge of the well is increased, the well eventually captures water from the river. And finally, we will briefly show how analytical solutions in Python can be used to interpret aquifer tests.

This webinar will be an introduction for a 3-session online course, beginning on the 13th September 2022.


Vincent Post

Edinsi Groundwater & Flinders University

Vincent is a hydrogeologist with over 15 years of experience in Python programming. He uses it on a daily basis for many if not all of his tasks, such as working with logger data, preparation of model... Read more

Mark Bakker

Technical University Delft

Mark is a groundwater engineer and a Professor of Groundwater Dynamics at the Technical University in Delft. Mark has taught Python programming and groundwater modelling for over 20 years. He is the d... Read more

Krey Price

International Water Training Institute

Educated at the University of California at Berkeley, Krey is a civil engineer and project manager with international experience in water resources. He is engaged in computational modelling, engineeri... Read more

This webinar is also a promotion of the author’s very recently released (June 2022) book:

Further details of the book can be found at Routledge.

You can also find the repository of all the Python code of the book here:



Registrant’s location: