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 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 tools in the toolbox. It will look 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.
Session 2: 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 3: Preparing data for model input
This session will be used on how Pandas can be used to process time series and combine data from different sources.
Session 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. We will also look at some ways to optimize the model by best fitting the results to the measurements.
Session 5: Presentation of results
This session will look into different ways to visualize the data and the model results using the packages Matplotlib and Plotly. It will be demonstrated how these packages can be used to create dynamic figures and interactive maps.
Session 6: AI-assisted Python
In this session, delve into AI-assisted coding techniques aimed at enhancing coding workflows for modelling. We 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. We 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.
Session 7: 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 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.
Format
The course is delivered through units via the learning platform
- 8 live and interactive sessions of 2 hours over eight weeks on Thursday, 3-5pm Sydney Time
August 1, 8, 15 & 22 – 2024
~ Week break ~
September 5, 12, 19 & 26 – 2024
- Sessions are recorded & uploaded to the learning platform (LMS – within 2 business days 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.
Preparation
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.
Outcome
On completion of the course attendees will be issued with a Certificate of Completion.
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)