libera_utils.footprint_matching.types.PointSamples#

class libera_utils.footprint_matching.types.PointSamples(lats: ndarray, lons: ndarray, values: ndarray, times: ndarray | None = None, spacing_km: float | None = None)#

Bases: object

A reader’s native data as geolocated points.

The native form of swath, footprint and projected-grid sources (CERES FLASHFlux and CLDPIX, IGBP tiles on the MODIS sinusoidal grid, NISE EASE-Grid pixels): each sample carries its own latitude and longitude, and for a NEAREST_PASS source its own time.

Variables:
  • lats (np.ndarray) – 1-D (n,) float64 sample latitudes, degrees.

  • lons (np.ndarray) – 1-D (n,) float64 sample longitudes, degrees, in [-180, 180]. Samples with a non-finite coordinate are dropped by the reader base class.

  • values (np.ndarray) – (n_var, n) float32 values, NaN where the source has no value. Axis 0 follows the reader’s VARIABLES order.

  • times (np.ndarray or None) – 1-D (n,) datetime64[ns] observation time per sample. Required for a NEAREST_PASS reader; None otherwise.

  • spacing_km (float or None) – The samples’ native spacing, km, measured on this body of data. None means the reader’s declared RESOLUTION_KM applies. A swath that is subsampled on delivery is served with its true spacing, so the coverage measure credits each sample with the cell it really stands for.

__init__(lats: ndarray, lons: ndarray, values: ndarray, times: ndarray | None = None, spacing_km: float | None = None) → None#

Attributes

spacing_km: float | None = None#
times: ndarray | None = None#