This course is for Python users who want to advance their skills for hydrological data processing and modelling

Python is an ever-evolving programming language with endless possibilities. During this masterclass, attendees will learn about Python’s many aspects based on an interactive, case-based approach. The process of developing a code project will be broken into small modules that will be covered one step at a time over eight weeks.

This course is intended for hydro(geo)logists who already have experience with Python. It is aimed at practitioners and researchers who want to take their Python skills beyond the use of basic scripts. This course will provide you with a set of ready-to-use Python notebooks that can be adapted for a wide range of applications. This course covers a range of topics, including data analysis, visualisation, advanced optimisation, and modelling.

This exclusive course is designed to be offered live only. Registered participants will have access to the course material and resources for up to a month after the final session. Spaces are limited, so don't miss out - register now to secure your place!


Tuesday, 2 July 2024 - Tuesday, 27 August 2024
3:00pm (Australia/Sydney; find your local time)
Format x8, 2 hour live interactive sessions + Pre/post-course materials via the learning platform; live recording available post session
Cost Standard fee $1495.00 (INC GST)
Bundle with Python essentials for a $295.00 discount - contact training@awschool.com.au for more information
Code LC-25-8-107
Contact training@awschool.com.au


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

Onno Ebbens


Onno Ebbens graduated from TU Delft in 2015 in Water Management. For his masters thesis, he looked at the use of time series analysis for the calibration of regional groundwater models at Deltares an... Read more

Panel Members

Cristina Solorzano Rivas

Flinders University

Cristina completed her first degree in Civil Engineering in Honduras, which neighbours her birth country of El Salvador. In 2000, she emigrated to Barcelona, Spain, where she worked as a hydraulics en... Read more

Course Outcomes

In this Python Masterclass you will be equipped with the essential skills and knowledge needed to excel in water modelling. You will be able to:

  • Use Python in Visual Studio Code
  • Create functions, classes and libraries
  • Develop custom hydrological models
  • Data visualization and parameter optimization
  • Collaborate using GitHub
  • Interface with QGIS

By the end of this course you will have the ability to create sophisticated models, analyse complex data, and optimise your results for better performance.

Course Overview

In this course you will be working on building a working model in Python using advanced techniques for data analysis and optimisation in water modelling.

Starting with the high-level Python programming skills of:

  • Creating functions
  • Building a library
  • Documenting code
  • Integration with GitHub

As you progress through the course, you will learn how to use the advanced Python skills for water modelling:

  • Calibration
  • Advanced plotting
  • GIS integration

Course Outline

Develop advanced skills in Python through a real-world case study on water modelling over the 8-week session. See below a detailed course outline.

Session 1: Establishing the Python landscape

This session will introduce the attendees to the various aspects of conda and setting up dedicated Python environments on your computer. It will look at Visual Studio Code and the integration with GitHub.

Session 2: DataFrames and GeoDataFrames

During this session we will download data from an online database and demonstrate how it can be imported in QGIS, using the libraries Pandas and GeoPandas. It will also feature a brief primer on the use of PyQGIS.

Session 3: Using Pandas to process time series

This session will be used on how Pandas can be used to process time series and combine data from different sources.

Session 4: Creating functions and classes

This session will be dedicated to creating functions and writing object-oriented code. Attention will be paid to creating docstrings, which are essential elements of all Python functions to document the code behaviour.

Session 5: Setting up a water balance model

Once all the data is in the right format, they can be imported into the water balance model. The model will be set up in a spreadsheet first, to make it easier to understand what happens once it is in Python.

Session 6: Model sensitivity analysis and optimization

All data and model parameters are uncertain. Using Python it is easy to explore the model sensitivity to these uncertainties. We will also look at some ways to optimize the model by best fitting the results to the measurements.

Session 7: Presentation of results

This session will look into different ways to visualize the data and the model results.

Session 8: Discussing programming problems

Throughout the course, attendees will be invited to suggest problems from their own work that we can collectively discuss and try to solve. We will select some cases to discuss during this final session of the course.



The course is delivered through units via the learning platform

  • 8 live and interactive sessions of 2 hours over eight weeks on Tuesday, 3-5pm Sydney Time

July 2, 9, 16 & 23 – 2024

~ Week break ~

August 6, 13, 20 & 27 – 2024

  • Sessions are recorded & uploaded to the learning platform (LMS – within 48hrs after the session), if you cannot attend live;
  • Pre-and-post-course materials to go through via the LMS;
  • Exercises between the live sessions;
  • Manual of the course and working model download/s;
  • Ability to access all the online course materials for up to a month after the course. The pre-readings/videos and manual/s are available for ongoing learning.


Pre-course reading and video watching is encouraged. There is also an opportunity to tailor the sessions to your direct questions via the initial survey. After the first week you will be given some exercises to complete, prior to the next sessions.


On completion of the course attendees will be issued with a Certificate of Completion.

Python Essentials for water

Ready to embark on your Python journey?

Start with our Python Essentials for water course, designed for beginners and anyone working in the water sector.

During this 3 session course, you will learn the fundamentals of Python, basics of Python syntax and programming concepts designed to give you the confidence to create basic programs to process hydrological data and calculations.

Whether you’re starting from scratch or aiming to sharpen your expertise, our bundle courses in Python (Essentials + Masterclass) have you covered. Register now and elevate your coding journey using Python!


Refund Policy

Frequently Asked Questions (FAQ)