Articles | Volume 10, issue 11
https://doi.org/10.5194/gmd-10-4175-2017
https://doi.org/10.5194/gmd-10-4175-2017
Model description paper
 | 
17 Nov 2017
Model description paper |  | 17 Nov 2017

Parcels v0.9: prototyping a Lagrangian ocean analysis framework for the petascale age

Michael Lange and Erik van Sebille

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 sufficiently 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, efficiency and at-runtime coupling with OGCMs.

Download
Short summary
Here, we present version 0.9 of Parcels (Probably A Really Computationally Efficient Lagrangian Simulator). Parcels is an experimental prototype code aimed at exploring novel approaches for Lagrangian tracking of virtual ocean particles in the petascale age. The modularity, flexibility and scalability will allow the code to be used to track water, nutrients, microbes, plankton, plastic and even fish.