Planet Earth

Oceananigans – ocean fluid dynamics simulations on CPUs and GPUs

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
OpenDriftModels drifting objects and particles in the ocean
SNAPProcesses and analyses satellite Earth observation data
Orfeo ToolBoxPowerful toolkit for large-scale remote sensing image analysis and processing
SeaDASNASA toolkit for processing, visualising and analysing ocean colour imagery
OceananigansHigh-performance framework for simulating ocean turbulence and fluid dynamics

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted