Oceananigans.jl is a Julia package for simulating incompressible geophysical fluid dynamics on CPUs and GPUs.
It uses finite-volume methods to solve nonhydrostatic and hydrostatic Boussinesq equations and is designed for applications ranging from idealised turbulence experiments to high-resolution ocean modelling. The package provides high-level model and simulation interfaces while retaining control over grids, advection schemes, turbulence closures, boundary conditions, tracers and numerical solvers.
This is free and open source software.
Key Features
- Finite-volume simulation of incompressible geophysical fluid dynamics with high-level model and simulation interfaces.
- Nonhydrostatic and hydrostatic free-surface Boussinesq models.
- Shallow-water model support.
- Runs on CPUs and multiple GPU backends while using the same model configuration approach.
- CUDA, AMDGPU, Metal and oneAPI GPU support through Julia extensions.
- Distributed execution with MPI and multi-GPU communication support for larger simulations.
- Rectilinear, latitude-longitude, cubed-sphere and immersed-boundary grids for idealised and global domains.
- High-order advection methods including WENO schemes for momentum and tracer transport.
- Configurable tracers, buoyancy formulations and Coriolis effects.
- Multiple turbulence closures, viscosities and diffusivities for representing unresolved mixing processes.
- Flexible value, flux, gradient and immersed boundary conditions.
- Hydrostatic free-surface algorithms including split-explicit time integration.
- Lagrangian particle tracking alongside Eulerian velocity and tracer fields.
- Output support through formats and packages including JLD2, NetCDF and Zarr, with configurable output writers for simulation diagnostics.
- GPU-portable kernels built with KernelAbstractions.jl.
- Optional automatic-differentiation support through Enzyme.jl for differentiable numerical workflows.
Website: github.com/CliMA/Oceananigans.jl
Support:
Developer: Climate Modeling Alliance and contributors
License: MIT License
Oceananigans.jl is written in Julia. Learn Julia with our recommended free books and free tutorials.
Related Software
| Earth Observation and Ocean Science Tools | |
|---|---|
| OpenDrift | Models drifting objects and particles in the ocean |
| SNAP | Processes and analyses satellite Earth observation data |
| Orfeo ToolBox | Powerful toolkit for large-scale remote sensing image analysis and processing |
| SeaDAS | NASA toolkit for processing, visualising and analysing ocean colour imagery |
| Oceananigans | High-performance framework for simulating ocean turbulence and fluid dynamics |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.