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.