generalise default path
Interpolate over missing velocity data

The velocity data contain some values that are identically zero, which
is a placeholder for nan.

This patch adds a way to interpolate over the nans in the data,
replacing them with an estimate from the surrounding data.

A naive approach would be to use griddata directly. This is extremely
inefficient for large arrays where the data is structured to start with.
Our array size here is about 60 million elements, so we need a faster
approach.

The method here is to isolate individual regions of nan and then
construct a local linear interpolator from the points immediately
surrounding the region.

This is implemented with multiprocessing to take advantage of our
24-core machine.

This method significantly reduces the computational complexity of the
problem by ignoring points that don't contribute to the needed
interpolation.

Regions of nan that are non-convex in shape are slow to evaluate, but
this isn't a problem right now.

I've also put in a stub for a function that will find and replace
anomalous values in the data. This needs some thought to get it working
generally.