regrid (array-level) with precomputed weights

New in version 0.5.0.

regrid(values, in_grid=None, out_grid=None, *, interpolation='linear', backend='precomputed', inventory='ecmwf')

Regrid array values using precomputed weights.

Parameters:
  • values (ndarray) – array representing a single field defined on the in_grid.

  • in_grid (dict) – the gridspec describing the grid that values are defined on.

  • out_grid (dict) – the gridspec describing the target grid that values will be interpolated onto

  • interpolation (str) – the interpolation method. Possible values are linear and nearest-neighbour. For nearest-neighbour the following aliases are also supported: nn, nearest-neighbor.

  • inventory (str) –

    the path to the inventory of the precomputed weights. The interpolation only works when the weights are available for the given in_grid, out_grid and interpolation combination. At present, two inventory types are available:

    • If inventory is “ecmwf” on None, the remote inventory managed by ECMWF is used. In this case the weights are automatically downloaded and stored in a local cache (at "~/.cache/earthkit-regrid") and when it is needed again the cached version is used. See the inventory for the list of supported grid to grid combinations with this backend.

    • If inventory is a local path, a local inventory is used. Please note this in experimental feature only used for development purposes.

Returns:

Return a tuple with the interpolated values and the gridspec of the output grid.

Return type:

tuple of ndarray and dict

Raises:

ValueError – if the precomputed weights are not available

The regridding is performed by multiplying the values vector with the interpolation weights, which forms a sparse matrix (sparse matrix) -vector multiplication).