Parcels v0.9: prototyping a Lagrangian Ocean Analysis framework for the petascale age

07/13/2017
by   Michael Lange, et al.
0

As Ocean General Circulation Models (OGCMs) move into the petascale age, where the output from global high-resolution model runs can be of the order of hundreds of terabytes in size, 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 customisation 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 customisation with the ability to optimise for HPC workflows, following the paradigm of domain-specific languages. Parcels is primarily written in Python, utilising 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 idealised test cases. This version 0.9 of Parcels is focussed on laying out the API, with future work concentrating on optimisation, efficiency and at-runtime coupling with OGCMs.

READ FULL TEXT

page 21

page 22

research
09/12/2016

Devito: Towards a generic Finite Difference DSL using Symbolic Python

Domain specific languages (DSL) have been used in a variety of fields to...
research
11/29/2019

FirecREST: RESTful API on Cray XC systems

As science gateways are becoming an increasingly popular digital interfa...
research
08/03/2017

Long range forces in a performance portable Molecular Dynamics framework

Molecular Dynamics (MD) codes predict the fundamental properties of matt...
research
04/24/2018

Fortran interface layer of the framework for developing particle simulator FDPS

Numerical simulations based on particle methods have been widely used in...
research
08/02/2020

A Unifying Framework for Parallel and Distributed Processing in R using Futures

A future is a programming construct designed for concurrent and asynchro...
research
10/26/2020

Driving asynchronous distributed tasks with events

Open-source matters, not just to the current cohort of HPC users but als...

Please sign up or login with your details

Forgot password? Click here to reset