JuliaCon Local Paris 2025

ClimFlows: toward an ecosystem of composable packages for the simulation of climate-relevant flows
2025-10-02 , Coffee room
Language: English

ClimFlows is an ongoing effort to develop an ecosystem of composable and extensible packages from which one can compose a variety of climate-relevant numerical models, especially for oceanic and atmospheric circulation, from toy models to realistic solvers.
While implementation is important, interfaces (APIs) are essential for the composability and extensibility of such an ecosystem. The talk will exemplify how building blocks of the ecosystem (spectral harmonics transforms, time integration, thermodynamics...) can be composed into two global atmospheric solvers, focus on a sample of packages and their interfaces, and discuss future work and interaction with the Julia community.


Established or more recent efforts to develop numerical models of the atmosphere or ocean are to a large extent monolithic, in the sense that a single package offers a complete but tightly tangled set of features, in an all-or-nothing manner.

ClimFlows is an ongoing effort that bets on a different approach: develop an ecosystem of composable and extensible packages:
- from which one can compose a variety of climate-relevant numerical models, especially for oceanic and atmospheric circulation, from toy models to realistic solvers
- from which one can cherry-pick specific functionality without having to buy into the whole ClimFlows ecosystem
- whose performance is competitive on laptops as well as HPC clusters, on CPUs and GPUs
- whose composability builds upon state-of-the-art understanding of the mathematical and physical structure of geophysical models

The talk will exemplify how building blocks of the ecosystem can be composed into two global atmospheric solvers - finite-difference and spectral - with flexible thermodynamics.

We will emphasize a few packages of the ecosystem that are more mature or can be of interest for the wider community: our thermodynamics package, a lightweight performance portability layer, and a package for spectral harmonics transforms with custom adjoints for Zygote and Enzyme. While we comment to some extent on implementation, our main focus will be on the interfaces (APIs), which are the keys to a composable and extensible ecosystem.

To conclude, we will sketch a roadmap, how our effort could benefit the community, and potential areas for collaboration with computational scientists, applied mathematicians, and AI experts.