pysteps.utils.interpolate.rbfinterp2d

pysteps.utils.interpolate.rbfinterp2d(coord, input_array, xgrid, ygrid, rbfunction='gaussian', epsilon=5, k=50, nchunks=5)

Fast 2-D grid interpolation of a sparse (multivariate) array using a radial basis function.

Parameters:
coord : array_like

Array of shape (n, 2) containing the coordinates of the data points into a 2-dimensional space.

input_array : array_like

Array of shape (n) or (n, m) containing the values of the data points, where n is the number of data points and m the number of co-located variables. All values in input_array are required to have finite values.

xgrid, ygrid : array_like

1D arrays representing the coordinates of the 2-D output grid.

rbfunction : {“gaussian”, “multiquadric”, “inverse quadratic”,

“inverse multiquadric”, “bump”}, optional The name of one of the available radial basis function based on a normalized Euclidian norm.

See also the Notes section below.

epsilon : float, optional

The shape parameter used to scale the input to the radial kernel.

A smaller value for epsilon produces a smoother interpolation. More details provided in the wikipedia reference page.

k : int or None, optional

The number of nearest neighbours used to speed-up the interpolation. If set to None, it interpolates based on all the data points.

nchunks : int, optional

The number of chunks in which the grid points are split to limit the memory usage during the interpolation.

Returns:
output_array : array_like

The interpolated field(s) having shape (m, ygrid.size, xgrid.size).

Notes

The coordinates are normalized before computing the Euclidean norms:

x = (x - min(x)) / max[max(x) - min(x), max(y) - min(y)],

y = (y - min(y)) / max[max(x) - min(x), max(y) - min(y)],

where the min and max values are taken as the 2nd and 98th percentiles.

References

Wikipedia contributors, “Radial basis function,” Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Radial_basis_function&oldid=906155047 (accessed August 19, 2019).