• Media type: E-Article
  • Title: Veros v0.1 – a fast and versatile ocean simulator in pure Python
  • Contributor: Häfner, Dion; Jacobsen, René Løwe; Eden, Carsten; Kristensen, Mads R. B.; Jochum, Markus; Nuterman, Roman; Vinter, Brian
  • Published: Copernicus GmbH, 2018
  • Published in: Geoscientific Model Development, 11 (2018) 8, Seite 3299-3312
  • Language: English
  • DOI: 10.5194/gmd-11-3299-2018
  • ISSN: 1991-9603
  • Origination:
  • Footnote:
  • Description: Abstract. Ageneral circulation ocean model is translated from Fortran to Python. Itscode structure is optimized to exploit available Python utilities, removesimulation bottlenecks, and comply with modern best practices. Furthermore, support forBohrium is added, a framework that provides a just-in-time compiler for arrayoperations and that supports parallel execution on both CPU and GPU targets. For applications containing more than a million grid elements, such as atypical 1∘×1∘ horizontal resolution global ocean model,Veros is approximately half as fast as the MPI-parallelized Fortran base codeon 24 CPUs and as fast as the Fortran reference when running on a high-endGPU. By replacing the original conjugate gradient stream function solver witha solver from the pyAMG Python package, this particular subroutineoutperforms the corresponding Fortran version by up to 1 order of magnitude. The study is concluded with a simple application in which the North Atlanticwave response to a Southern Ocean wind perturbation is investigated. It isfound that even in a realistic setting the phase speeds of boundary wavesmatched the expectations based on theory and idealized models.
  • Access State: Open Access