angus-g/lagrangian-filtering

Convert parcels to closer to upstream

angus-g opened this issue · 1 comments

At the moment, we rely on a fork of parcels which has been converted to a structure of arrays for efficiency. This involves a lot of changes which makes it hard to re-integrate with upstream master. Because of this, we're missing a few features such as delayed (chunked) data loading, and MPI (instead, we're using OpenMP for shared memory parallelism).

The OceanParcels/parcels#678 PR brings the SoA particles much closer to master, with just a few changes (support pass statement in kernels, and mark particles to skip instead of delete).

  • integrate our minimal changes back upstream
  • test efficiency of MPI vs OpenMP
  • ensure all tests still pass

(There are probably some further things that should be done here)

The first step in this is now complete, with the structure-of-arrays efficiency PR being merged upstream. Because things move fairly quickly upstream, there'll need to be a few changes to this library where we depended on features specific to our fork of parcels.