team-ocean/veros
The versatile ocean simulator, in pure Python, powered by JAX.
What it solves
Veros is a high-performance ocean simulator designed to replace legacy code and complicated setup workflows common in ocean modeling. It allows researchers to run everything from simple idealized toy models to high-resolution, global ocean simulations without needing to struggle with ancient programming environments.
How it works
Written in pure Python, the simulator uses a primitive equation ocean model. It supports two backends: a NumPy backend for small-scale problems and a high-performance JAX backend for CPU and GPU acceleration. The system is fully parallelized via MPI, enabling distributed execution across multiple nodes and multi-GPU architectures.
Who it’s for
Oceanographers and climate scientists who need a flexible, accessible, and extensible ocean modeling tool that can be scaled from a laptop to a high-performance computing cluster.
Highlights
- Flexible Geometry: Supports a fully staggered 3-D C-grid geometry in Cartesian or pseudo-spherical coordinates.
- Advanced Parameterizations: Includes isoneutral mixing, eddy-kinetic energy, turbulent kinetic energy, and internal wave energy parameterizations.
- Built-in Diagnostics: Pre-implemented diagnostics for energy fluxes, variable time averages, and vertical overturning stream functions.
- Easy Setup: Provides pre-configured idealized and realistic setups that are ready to run via simple Python scripts.
Related
- Project
- Project
- Project
- Project
- Project