PyCon AU 2025

Duy Nguyen

Dr Duy Nguyen is currently a Research Fellow in the CSIRO Environment Research Unit, with expertise in Environmental Fluid Dynamics, turbulence modelling, numerical methods, and water quality modelling. His research involves hydrodynamic and water quality modelling of oceans, lakes, and rivers, combined with emerging satellite and hyperspectral and multispectral imagery technologies, and in situ and remote sensing of water quantity and quality. Duy is also a key model developer at the CSIRO AquaWatch Program and the Digital Water & Landscapes Program, where he integrates process-based, AI/ML, and large data streams from remote sensing to model and forecast water quality and quantity. Duy leads the Vietnam AquaWatch pilot, where the team is building a monitoring and forecasting water quality system for the inland aquaculture.

Duy is serving as chair of several associations, including the CSIRO Australia National Early Research Career Committee, the Group on Earth Observation AquaWatch Early Career Society, and was a committee member of the Early-Mid Career Research at the Australasian Fluid Mechanics Society. Duy has won several awards from universities and governments, including 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 DPE 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