Journal cover Journal topic
Geoscientific Model Development An interactive open-access journal of the European Geosciences Union
© Author(s) 2018. This work is distributed under
the Creative Commons Attribution 4.0 License.
Model description paper
27 Feb 2018
Review status
This discussion paper is a preprint. It is a manuscript under review for the journal Geoscientific Model Development (GMD).
Veros v0.1 – a Fast and Versatile Ocean Simulator in Pure Python
Dion Häfner1, René Løwe Jacobsen1, Carsten Eden2, Mads R. B. Kristensen1, Markus Jochum1, Roman Nuterman1, and Brian Vinter1 1Niels Bohr Institute, University of Copenhagen, Copenhagen, Denmark
2Institut für Meereskunde, Universität Hamburg, Hamburg, Germany
Abstract. A general circulation ocean model is translated from Fortran to Python. It is described how its code structure is optimized to exploit available Python utilities, remove simulation bottlenecks, and comply with modern best practices. Furthermore, support for Bohrium is added, a framework that provides a just-in-time compiler for array operations, and that supports parallel execution on both CPU and GPU targets.

For applications containing more than a million grid elements, such as a typical 1 × 1 degree horizontal resolution ocean model, Veros is approximately half as fast as the MPI-parallelized Fortran base code on 24 CPUs, and as fast as the Fortran reference when running on a high-end GPU. By replacing the original conjugate gradient stream function solver with a solver from the pyAMG Python package, this particular subroutine outperforms the corresponding Fortran version by up to 1 order of magnitude.

The study is concluded with a simple application in which the North Atlantic wave response to a Southern Ocean wind perturbation is investigated. It is found that even in a realistic setting the phase speeds of boundary waves matched the expectations based on theory and idealized models.
Citation: Häfner, D., Jacobsen, R. L., Eden, C., Kristensen, M. R. B., Jochum, M., Nuterman, R., and Vinter, B.: Veros v0.1 – a Fast and Versatile Ocean Simulator in Pure Python, Geosci. Model Dev. Discuss.,, in review, 2018.

Dion Häfner et al.
Dion Häfner et al.

Model code and software

Veros v0.1.0 D. Häfner and R. Jacobsen Veros v0.1.0 User Manual D. Häfner, R. Jacobsen, and C. Eden
Dion Häfner et al.


Total article views: 550 (including HTML, PDF, and XML)

HTML PDF XML Total BibTeX EndNote
432 108 10 550 12 13

Views and downloads (calculated since 27 Feb 2018)

Cumulative views and downloads (calculated since 27 Feb 2018)

Viewed (geographical distribution)

Total article views: 550 (including HTML, PDF, and XML)

Thereof 542 with geography defined and 8 with unknown origin.

Country # Views %
  • 1



Latest update: 19 Jun 2018
Publications Copernicus