Veros v0.1 – a fast and versatile ocean simulator in pure Python
-
Published:2018-08-16
Issue:8
Volume:11
Page:3299-3312
-
ISSN:1991-9603
-
Container-title:Geoscientific Model Development
-
language:en
-
Short-container-title:Geosci. Model Dev.
Author:
Häfner Dion, Jacobsen René Løwe, Eden Carsten, Kristensen Mads R. B., Jochum Markus, Nuterman RomanORCID, Vinter BrianORCID
Abstract
Abstract. 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.
Funder
European Commission
Publisher
Copernicus GmbH
Reference60 articles.
1. Amante, C. and Eakins, B. W.: ETOPO1 1 arc-minute global relief model:
procedures, data sources and analysis, US Department of Commerce, National
Oceanic and Atmospheric Administration, National Environmental Satellite,
Data, and Information Service, National Geophysical Data Center, Marine
Geology and Geophysics Division Colorado, 2009. a 2. Anderson, E., Bai, Z., Bischof, C., Blackford, L. S., Demmel, J., Dongarra,
J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A.,
and Sorensen, D.: LAPACK
Users' guide, SIAM, https://doi.org/10.1137/1.9780898719604, 1999. a 3. Arakawa, A. and Lamb, V. R.: Computational design of the basic dynamical
processes of the UCLA general circulation model, Methods in Computational
Physics, 17, 173–265, 1977. a, b 4. Balay, S., Gropp, W. D., McInnes, L. C., and Smith, B. F.: Efficient
Management of Parallelism in Object Oriented Numerical Software Libraries,
in: Modern Software Tools in Scientific Computing, edited by: Arge, E.,
Bruaset, A. M., and Langtangen, H. P., 163–202, Birkhäuser Press,
1997. a, b 5. Behnel, S., Bradshaw, R., Citro, C., Dalcin, L., Seljebotn, D., and Smith,
K.: Cython: The Best of Both Worlds, Comput. Sci. Eng., 13, 31–39,
https://doi.org/10.1109/MCSE.2010.118, 2011. a
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
|
|