CliMA/Oceananigans.jl

🌊 Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs

What it solves

Oceananigans.jl provides a high-performance framework for simulating incompressible fluid dynamics, specifically tailored for ocean modeling. It addresses the need for a flexible, GPU-accelerated simulation tool that can handle both nonhydrostatic and hydrostatic Boussinesq equations across different domains (Cartesian and spherical shell).

How it works

The software uses finite volume simulations to solve dynamical equations. It is written in Julia and designed to be performance-portable, allowing users to switch between CPU and GPU execution by simply changing a single keyword (e.g., CPU() to GPU()). It supports various advection schemes (like WENO) and can be integrated with other tools for differentiability (via Enzyme.jl and Reactant.jl).

Who it’s for

It is designed for researchers and developers in academia and industry who perform high-resolution ocean modeling, geophysical fluid dynamics, and climate simulations.

Highlights

  • GPU Acceleration: Optimized for Nvidia GPUs, enabling high-resolution global simulations with O(10 km) grid spacing.
  • Flexible Interface: A user-friendly API that simplifies the setup of both simple and complex simulations.
  • Performance Portability: Seamless switching between CPU and GPU backends.
  • Extensible: Supports ML-augmented parameterizations and differentiable workflows for Earth system modeling.

Related

  • Project
  • Project
  • Project
  • Project
  • Project