Welcome to GPSat’s documentation!

GPSat is a Python library to perform spatio-temporal inference using local Gaussian process models. Its primary use case is optimal interpolation, where the goal is to infer an underlying field, such as sea surface height, from satellite measurements of the field.

Below we highlight what GPSat can do and what it cannot do:

✅ Modelling spatio-temporal data with possibly varying characteristics such as lengthscales.
✅ Handling large spatio-temporal data with millions of data points.
✅ Recovering along-track signals from noisy satellite measurements.
⛔ Modelling data in high dimensions.
⛔ Small and sparse data sets.

Benefits of Local GPs for spatial modelling

GPSat harnesses the power of local Gaussian process models, which process small chunks of data at a time. This approach enables the library to efficiently handle vast amounts of data that would be infeasible with a single Gaussian process. Moreover, the locality allows for capturing spatial and temporal variations in the data that a single Gaussian process will not be able to learn.

Supported Enhancements

  • GPU Acceleration: GPSat uses supports GPU usage for accelerated computing, enabling faster training and inference.

  • Sparse GPs: The library provides support for using sparse Gaussian process models to handle moderately large data per local expert.

Todo

Add tutorials on sparse GP, working from large files, hyperparameter smoothing, custom models, writing to and reading from json config files.

Todo

Add API reference for LocalExpertOI, Postprocessing module, DataLoader, utils.

Indices and tables