pyinterp.OptimalInterpolation.__call__

pyinterp.OptimalInterpolation.__call__#

OptimalInterpolation.__call__(query_coords, *, lx=None, ly=None, lt, sigma, l_spatial=None, k=24, radius=None, num_threads=0)[source]#

Run the OI analysis at a set of query points.

Parameters:
  • query_coords (NDArray2DFloat64) – Query coordinates of shape (M, 3). Cartesian mode: (x, y, t). Geographic mode: (lon_deg, lat_deg, t_seconds).

  • lx (ScalarOrGrid | None) – Decorrelation length along the first axis (cartesian mode). Scalar or pyinterp.Grid2D sampled at the query (x, y) (cartesian) or (lon, lat) (geographic).

  • ly (ScalarOrGrid | None) – Decorrelation length along the second axis (cartesian mode). Same options as lx.

  • lt (ScalarOrGrid) – Temporal decorrelation length (same unit as t). Required in both modes.

  • sigma (ScalarOrGrid) – Field standard deviation. Same options as lx.

  • l_spatial (ScalarOrGrid | None) – Spatial decorrelation length in meters (geographic mode only). Applied isotropically to the three ECEF axes. Scalar or Grid2D sampled at (lon, lat). Mutually exclusive with lx/ly.

  • k (int) – Maximum number of nearest neighbours to use.

  • radius (float | None) – Optional maximum search radius in the packed metric — the combined space+time Euclidean distance, not a pure spatial distance. With time_scale chosen so time is a meters-equivalent this is metres in geographic mode, and user units in cartesian.

  • num_threads (int) – Number of worker threads. 0 uses os.cpu_count().

Returns:

OIResult.

Return type:

OIResult