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)