PyCon AU 2025

Duy Nguyen

Dr Duy Nguyen is a computational modeller and currently an Environmental Scientist in the CSIRO Environment Research Unit, with expertise in fluid dynamics and turbulence modelling, particularly in rivers, lakes, estuaries, and air–sea interactions. His research spans stratified flows, turbulence processes, physical oceanography, and marine atmospheric boundary layers. More recently, his work has focused on water quality modelling to support management of inland waters and provide early warning of harmful events, including fish kills, blackwater, algal blooms, and sediment transport, using a combination of process-based and data-driven approaches.

At CSIRO, Duy is the Lead of the Water Quality Modelling Package at the CSIRO AquaWatch Program and the Digital Water & Landscapes Program, where the team integrates process-based, AI/ML, and large data streams from remote sensing to model and forecast water quality and quantity. His goal is to provide effective, science-informed solutions to address pressing water security challenges in Australia and beyond. Duy also leads the Vietnam AquaWatch pilot, where the team is building a monitoring and forecasting water quality system for the inland aquaculture. He has won several national and international awards from universities and governments in research, teaching, and education, as well as in services and social engagements.


What pronouns do you use?:

Dr


Session

09-12
11:00
30min
Modernizing Legacy: Wrapping a 25+ Year Computational Fluid Dynamics Codebase
Tishampati Dhar, Duy Nguyen

Water quality modeling plays a crucial role in managing aquatic ecosystems. Those models are based on Computational Fluid Dynamics (CFD), the science of using numerical analysis and data structures to solve many processes influencing fluid behavior. CFD requires many complex mathematical representations through various ODE and PDE solvers, and has traditionally been written in Fortran or C++, mostly for their speed in doing massively parallel computations, such as handling array operations and object-oriented features. As such, those codebases have a long-standing legacy in scientific computing, and many established CFD codes are written in them. However, as time goes on, we witness the popularity of a new generation of codebases such as Python, which stems from its simplicity, versatility, and strong community. Extensive libraries and frameworks make Python a popular choice for many developers and scientists alike. It is, however, not a preferred language for core CFD code due to performance limitations and its difficulties with parallelization.

This talk explores modernizing a 25+ year-old C++ CFD model, essential for simulating lake conditions, particularly for predicting temperature variations and algal bloom dynamics, by wrapping it with C-interop for seamless Python interoperability.

Beyond integration, we leverage Optuna, a powerful hyperparameter optimization framework, to fine-tune models efficiently, transitioning from manual parameter tuning on a laptop to a distributed, scalable workflow powered by Dask Distributed and JupyterHub. This transformation enables automated hyperparameter optimization across many lakes in Australia, helping researchers investigate trends in tuning parameters and derive deeper environmental insights.

Scientific Python
Ballroom 2