Versatile Ocean Simulation in Pure Python¶
Veros, the versatile ocean simulator, aims to be the swiss army knife of ocean modeling. It is a full-fledged primitive equation ocean model that supports anything between idealized toy models and realistic, high-resolution, global ocean simulations. And because Veros is written in pure Python, the days of struggling with complicated model setup workflows, ancient programming environments, and obscure legacy code are finally over.
In a nutshell, we want to enable high-performance ocean modelling with a clear focus on flexibility and usability.
Veros supports a NumPy backend for small-scale problems, and a high-performance JAX backend with CPU and GPU support. It is fully parallelized via MPI and supports distributed execution on any number of nodes, including multi-GPU architectures (see also our benchmarks).
The dynamical core of Veros is based on pyOM2, an ocean model with a Fortran backend and Fortran and Python frontends.
If you want to learn more about the background and capabilities of Veros, you should check out A short introduction to Veros. If you are already convinced, you can jump right into action, and learn how to get started instead!
We outline some of our design philosophy and current direction in this blog post.