About

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

Python is an ever-evolving programming language with endless possibilities. During this masterclass, participants 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.

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, AI-assisted Python coding, mapping, and modelling.

Details

Cost Standard fee $1995.00 (INC GST)
Code OD-25-8-125
Contact training@awschool.com.au
Tags

Presenters

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

Raoul Collenteur

HydroConsult

Raoul is a hydrologist focusing on groundwater related problems and developing open-source software to solve them. He leads and is involved in developing open-source software such as Pastas, PyEt and ... Read more

Aaron Nichols

Atwell, LLC

Aaron Nichols is a water resources engineer at Atwell, LLC, specializes in 2D modeling with HEC-RAS and FLO-2D. He has worked on projects that include large-scale 2D urban modeling, design of regional... Read more

Bill Katzenmeyer

Fenstermaker

William Mark (Bill) Katzenmeyer, P.E., C.F.M. is Senior Water Resources Technical Lead for C.H. Fenstermaker and Associates, LLC.  Bill specializes in hydrologic and hydraulic modeling, automation, a... Read more

Course Overview

In this course you will be working on building a working hydrological model in Python. It will teach you the foundations of good modelling practice, focussing on the following aspects:

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

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

  • Model creation and optimisation
  • Figure creation using Matplotlib and Plotly
  • GIS integration and interactive maps

 

Course Learning 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
  • AI tools such as ChatGPT and Cursor AI code editor for code optimisation
  • Create high-impact data visualisations
  • Collaborate using GitHub
  • Interface with QGIS and create interactive maps

 

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

 

Course Outline

Develop advanced skills in Python through a real-world case study on water modelling through this 8-part course. See below a detailed course outline.

Part 1: Establishing the Python landscape

You will be introduced to the various tools in the toolbox. This part looks into best practices like setting up dedicated Python environments on your computer. It will look at Visual Studio Code and its integration with GitHub for code sharing and collaboration.

Part 2: Creating functions and classes

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.

Part 3: Preparing data for model input

Learn how Pandas can be used to process time series and combine data from different sources.

Part 4: Setting up a water balance model

Once all the data is in the right format, they can be imported into the water balance model. All data and model parameters are uncertain. Using Python it is easy to explore the model sensitivity to these uncertainties. This part will look at some ways to optimize the model by best fitting the results to the measurements.

Part 5: Presentation of results

Learn different ways to visualise the data and the model results using the packages Matplotlib and Plotly. This part demonstrates how these packages can be used to create dynamic figures and interactive maps.

Part 6: AI-assisted Python

Delve into AI-assisted coding techniques aimed at enhancing coding workflows for modelling. You will learn to leverage AI tools like ChatGPT and the Cursor AI code editor to generate code from natural language for model fitting, uncertainty analysis and also using AI as a learning assistant. You will also utilise AI Teaching Assistant to revisit course methods and concepts, and building a domain-specialized coding GPT to improve the reliability of generated code for specific libraries.

Part 7: DataFrames and GeoDataFrames

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.

Part 8: Discussing programming problems

This part of the course will discuss some suggested programming problems using Python and its libraries.

 

Format

The course is delivered via recordings as units through the learning platform and includes 8 parts of 2 hours each:

  • 16+ hours of recordings with unlimited access for 4 months.
  • Ability to ask questions to the presenters at anytime through the learning platform.
  • Pre-and-post-course materials to go through via the learning platform, are downloadable and available for ongoing learning.
  • Exercises between each part.
  • Manual of the course and working model download/s.
  • Attendees earn CPD hours/points (i.e. with Engineers Australia) for 16+ hours.

Pre-requisites:

Python Essentials for water course completion or basic knowledge of Python programming.

 

Preparation

Pre-course reading and video watching. Each part includes practical exercises to complete to consolidate your learning.

 

Outcome

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

Frequently Asked Questions (FAQ)