This function accepts a dict of points ‘x’, ‘y’ and ‘z’ and a data source from which to interpolate new points, along with a list of fields it needs to regrid onto those xyz points. It then returns interpolated points. This has not been well-tested other than for regular spherical regridding.