🌪 Fast and friendly Julia software for atmospheric fluid dynamics on CPUs and GPUs. https://numericalearth.github.io/BreezeDocumentation/stable
Breeze is a library for simulating atmospheric flows, convection, clouds, weather, and hurricanes on CPUs and GPUs.
Much of Breeze's power flows from Oceananigans, which provides a user interface, grids, fields, solvers, advection schemes, Lagrangian particles, physics, and more.
Right now, Breeze.AtmosphereModel is in an early stage of development, and supports simple simulations that use the anelastic formulation of the Euler equations on RectilinearGrid.
But we're working feverishly towards a future with bulk, bin and superdroplet microphysics, radiation, and a fully compressible formulation with acoustic substepping (and note, the roadmap and vision for Breeze is still something of a work in progress).
Check out the documentation to see what we can do now, and watch this space (or get in touch to discuss!) its crystallization.
Breeze is a registered Julia package. First install Julia; suggested version 1.12. See juliaup README for how to install 1.12 and make that version the default.
Then launch Julia and type
julia> using Pkg
julia> Pkg.add("Breeze")which will install the latest stable version of Breeze that's compatible with your current environment.
You can check which version of Breeze you got via
Pkg.status("Breeze")If you want to live on the cutting edge, you can use, e.g.,
Pkg.add(; url="https://github.com/NumericalEarth/Breeze.jl.git", rev="main") to install the latest version of
Breeze from main branch. For more information, see the
Pkg.jl documentation.
Now we are ready to run any of the examples!
For instance, by increasing the resolution of the cloudy Kelvin-Helmholtz instability
to Nx=1536 and Nz=1024, decrease the timestep to Δt = 0.1, and running
julia> include("examples/cloudy_kelvin_helmholtz.jl")to get
wave_clouds.mp4
Or cranking up the spatial resolution of the thermal bubble example to to size = (1024, 512) and running
julia> include("examples/dry_thermal_bubble.jl")we get
thermal_bubble.mp4
If you use Breeze for research, teaching, or fun, we'd be grateful if you give credit by citing the corresponding Zenodo record, e.g.,
Wagner, G. L. et al. (2025). NumericalEarth/Breeze.jl. Zenodo. DOI:10.5281/zenodo.18050353