Veros, the versatile ocean simulator, is just that: A powerful tool that makes high-performance ocean modeling approachable and fun. Since it is a pure Python module, the days of struggling with complicated model setup workflows, ancient programming environments, and obscure legacy code are finally over.
Veros supports both a NumPy backend for small-scale problems and a fully parallelized high-performance backend powered by Bohrium using either OpenMP (CPU) or OpenCL (GPU), and runs on distributed architectures via MPI.
A good starting point to gain an overview of Veros' design, performance, and capabilities are these slides of a talk on Veros held during the 98th Annual Meeting of the American Meteorological Society.
The underlying numerics are based on pyOM2, an ocean model developed by Carsten Eden (Institut für Meereskunde, Hamburg University). Veros is currently being developed at Niels Bohr Institute, Copenhagen University.
(0.25×0.25° high-resolution model spin-up, click for better quality)
A minimal example to install and run Veros:
$ pip install veros $ veros copy-setup acc --to /tmp $ cd /tmp/acc $ python acc.py
For more detailed installation instructions, have a look at our documentation.
To run Veros, you need to set up a model - i.e., specify which settings
and model domain you want to use. This is done by subclassing the
Veros base class in a setup script that is written in Python. You
should use the
veros copy-setup command to copy one into your current
folder. A good place to start is the
$ veros copy-setup acc
After setting up your model, all you need to do is call the
run methods on your setup class. The pre-implemented setups can all be
executed as scripts, e.g. through
$ python acc.py
For more information on using Veros, have a look at our documentation.
Contributions to Veros are always welcome, no matter if you spotted an inaccuracy in the documentation, wrote a nice setup, fixed a bug, or even extended Veros' core mechanics. There are two ways to contribute: