Modernizing Legacy: Wrapping a 25+ Year Computational Fluid Dynamics Codebase
summary
A 25+ year-old C++ CFD model is wrapped with C-interop so Python notebooks can invoke compiled simulations and return temperature and algal‑bloom outputs; automated hyperparameter search uses Optuna (CMA‑ES sampler) instead of two weeks of manual tuning per lake and measurably improves fit on test lakes (Lake Hume example). The workflow runs distributed with Dask Distributed and JupyterHub, packaged for deployment, and the integration and tuning pipeline demonstrably work at scale across many Australian lakes.
AI-written summary · about
chapters (14)
- 0:00Legacy CFD modernization
- 1:49Water quality modeling motivation
- 5:23Aqua Aquatics architecture
- 7:10Physics and biology in CFD
- 9:00Computational Fluid Dynamics workflow
- 11:57Fortran and C++ in CFD
- 12:57Python for modern CFD
- 13:58Wrapping CFD with Python
- 16:07Manual CFD tuning challenges
- 19:00Automating calibration with Optuna
- 21:05Optuna results on lake models
- 22:10Modernizing CFD with Python
- 23:16Aqua Aquatics partnerships
- 24:01Q&A
related talks
22mPython for bridging between researchers and service operators: from CFFI to Jupyterhub
49mPython for High Performance and Scientific Computing
19mMaking Waves with R, Python, and Quarto
33mPython for Water Forecasting Services
41mHigh-performance computing on gamer PCs
49mMeteorology, Climate and Python: desperately trying to forget technical details
38mBig Data Oceanography
31m"Optimizing Scientific Python with C++, CUDA, and Serverless Compute"
