Veros v0.1 – a fast and versatile ocean simulator in pure Python

A general circulation ocean model is translated from Fortran to Python. 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 com...

Full description

Bibliographic Details
Published in:Geoscientific Model Development
Main Authors: D. Häfner, R. L. Jacobsen, C. Eden, M. R. B. Kristensen, M. Jochum, R. Nuterman, B. Vinter
Format: Article in Journal/Newspaper
Language:English
Published: Copernicus Publications 2018
Subjects:
Online Access:https://doi.org/10.5194/gmd-11-3299-2018
https://doaj.org/article/7a223ad125c5469da44ca0a96b7954f2
id ftdoajarticles:oai:doaj.org/article:7a223ad125c5469da44ca0a96b7954f2
record_format openpolar
spelling ftdoajarticles:oai:doaj.org/article:7a223ad125c5469da44ca0a96b7954f2 2023-05-15T17:33:31+02:00 Veros v0.1 – a fast and versatile ocean simulator in pure Python D. Häfner R. L. Jacobsen C. Eden M. R. B. Kristensen M. Jochum R. Nuterman B. Vinter 2018-08-01T00:00:00Z https://doi.org/10.5194/gmd-11-3299-2018 https://doaj.org/article/7a223ad125c5469da44ca0a96b7954f2 EN eng Copernicus Publications https://www.geosci-model-dev.net/11/3299/2018/gmd-11-3299-2018.pdf https://doaj.org/toc/1991-959X https://doaj.org/toc/1991-9603 doi:10.5194/gmd-11-3299-2018 1991-959X 1991-9603 https://doaj.org/article/7a223ad125c5469da44ca0a96b7954f2 Geoscientific Model Development, Vol 11, Pp 3299-3312 (2018) Geology QE1-996.5 article 2018 ftdoajarticles https://doi.org/10.5194/gmd-11-3299-2018 2022-12-31T09:05:20Z A general circulation ocean model is translated from Fortran to Python. 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° horizontal resolution global 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. Article in Journal/Newspaper North Atlantic Southern Ocean Directory of Open Access Journals: DOAJ Articles Southern Ocean Geoscientific Model Development 11 8 3299 3312
institution Open Polar
collection Directory of Open Access Journals: DOAJ Articles
op_collection_id ftdoajarticles
language English
topic Geology
QE1-996.5
spellingShingle Geology
QE1-996.5
D. Häfner
R. L. Jacobsen
C. Eden
M. R. B. Kristensen
M. Jochum
R. Nuterman
B. Vinter
Veros v0.1 – a fast and versatile ocean simulator in pure Python
topic_facet Geology
QE1-996.5
description A general circulation ocean model is translated from Fortran to Python. 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° horizontal resolution global 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.
format Article in Journal/Newspaper
author D. Häfner
R. L. Jacobsen
C. Eden
M. R. B. Kristensen
M. Jochum
R. Nuterman
B. Vinter
author_facet D. Häfner
R. L. Jacobsen
C. Eden
M. R. B. Kristensen
M. Jochum
R. Nuterman
B. Vinter
author_sort D. Häfner
title Veros v0.1 – a fast and versatile ocean simulator in pure Python
title_short Veros v0.1 – a fast and versatile ocean simulator in pure Python
title_full Veros v0.1 – a fast and versatile ocean simulator in pure Python
title_fullStr Veros v0.1 – a fast and versatile ocean simulator in pure Python
title_full_unstemmed Veros v0.1 – a fast and versatile ocean simulator in pure Python
title_sort veros v0.1 – a fast and versatile ocean simulator in pure python
publisher Copernicus Publications
publishDate 2018
url https://doi.org/10.5194/gmd-11-3299-2018
https://doaj.org/article/7a223ad125c5469da44ca0a96b7954f2
geographic Southern Ocean
geographic_facet Southern Ocean
genre North Atlantic
Southern Ocean
genre_facet North Atlantic
Southern Ocean
op_source Geoscientific Model Development, Vol 11, Pp 3299-3312 (2018)
op_relation https://www.geosci-model-dev.net/11/3299/2018/gmd-11-3299-2018.pdf
https://doaj.org/toc/1991-959X
https://doaj.org/toc/1991-9603
doi:10.5194/gmd-11-3299-2018
1991-959X
1991-9603
https://doaj.org/article/7a223ad125c5469da44ca0a96b7954f2
op_doi https://doi.org/10.5194/gmd-11-3299-2018
container_title Geoscientific Model Development
container_volume 11
container_issue 8
container_start_page 3299
op_container_end_page 3312
_version_ 1766132046284980224