Parcels v0.9: prototyping a Lagrangian Ocean Analysis framework for the petascale age
File(s)gmd-10-4175-2017.pdf (1.75 MB)
Published version
Author(s)
Lange, M
van Sebille, E
Type
Journal Article
Abstract
As ocean general circulation models (OGCMs)
move into the petascale age, where the output of single simulations
exceeds petabytes of storage space, tools to analyse
the output of these models will need to scale up too. Lagrangian
ocean analysis, where virtual particles are tracked
through hydrodynamic fields, is an increasingly popular way
to analyse OGCM output, by mapping pathways and connectivity
of biotic and abiotic particulates. However, the current
software stack of Lagrangian ocean analysis codes is
not dynamic enough to cope with the increasing complexity,
scale and need for customization of use-cases. Furthermore,
most community codes are developed for stand-alone
use, making it a nontrivial task to integrate virtual particles at
runtime of the OGCM. Here, we introduce the new Parcels
code, which was designed from the ground up to be suffi-
ciently scalable to cope with petascale computing. We highlight
its API design that combines flexibility and customization
with the ability to optimize for HPC workflows, following
the paradigm of domain-specific languages. Parcels
is primarily written in Python, utilizing the wide range of
tools available in the scientific Python ecosystem, while generating
low-level C code and using just-in-time compilation
for performance-critical computation. We show a worked-out
example of its API, and validate the accuracy of the code
against seven idealized test cases. This version 0.9 of Parcels
is focused on laying out the API, with future work concentrating
on support for curvilinear grids, optimization, effi-
ciency and at-runtime coupling with OGCMs.
move into the petascale age, where the output of single simulations
exceeds petabytes of storage space, tools to analyse
the output of these models will need to scale up too. Lagrangian
ocean analysis, where virtual particles are tracked
through hydrodynamic fields, is an increasingly popular way
to analyse OGCM output, by mapping pathways and connectivity
of biotic and abiotic particulates. However, the current
software stack of Lagrangian ocean analysis codes is
not dynamic enough to cope with the increasing complexity,
scale and need for customization of use-cases. Furthermore,
most community codes are developed for stand-alone
use, making it a nontrivial task to integrate virtual particles at
runtime of the OGCM. Here, we introduce the new Parcels
code, which was designed from the ground up to be suffi-
ciently scalable to cope with petascale computing. We highlight
its API design that combines flexibility and customization
with the ability to optimize for HPC workflows, following
the paradigm of domain-specific languages. Parcels
is primarily written in Python, utilizing the wide range of
tools available in the scientific Python ecosystem, while generating
low-level C code and using just-in-time compilation
for performance-critical computation. We show a worked-out
example of its API, and validate the accuracy of the code
against seven idealized test cases. This version 0.9 of Parcels
is focused on laying out the API, with future work concentrating
on support for curvilinear grids, optimization, effi-
ciency and at-runtime coupling with OGCMs.
Date Issued
2017-11-17
Date Acceptance
2017-10-10
Citation
Geoscientific Model Development Discussions, 2017, 10, pp.4175-4186
ISSN
1991-9611
Publisher
Copernicus Publications
Start Page
4175
End Page
4186
Journal / Book Title
Geoscientific Model Development Discussions
Volume
10
Copyright Statement
© Author(s) 2017. This work is distributed under
the Creative Commons Attribution 4.0 License
the Creative Commons Attribution 4.0 License
License URL
Sponsor
Engineering & Physical Science Research Council (E
European Research Council
Grant Number
EP/N50869X/1
715386
Subjects
physics.ao-ph
cs.CE
Publication Status
Published