libera_utils.footprint_matching.psf#

Point Spread Function (PSF) support for footprint matching – PARTIAL module.

What this module is (and is not)#

This is a partial PSF module. It implements only the slice of PSF behavior that the geographic bounding-box calculation in geometry actually needs:

  1. the analytic CERES PSF value psf_weight() (ATBD Eq. 4.4-1/4.4-2), and

  2. the 95%-energy angular extent of that PSF (psf_95_energy_extent()), i.e. how far the footprint reaches in the along-scan (delta) and cross-scan (beta) angular directions before 5% of the response is left in the tails.

Why the CERES PSF (for now)#

The Libera instrument PSF has not been measured/delivered yet, so we stand in the heritage CERES analytic PSF, validated against the CERES ATBD. Everything CERES-specific lives in the clearly marked constants block below so that swapping in the real Libera PSF is a single-file change.

References

CERES ATBD v2.2, Section 4.4 “Convolution of Imager Cloud Properties with CERES Footprint Point Spread Function”: https://ceres.larc.nasa.gov/documents/ATBD/pdf/r2_2/ceres-atbd2.2-s4.4.pdf

Module Attributes

LIBERA_FOV_HALFANGLE_DEG

Libera radiometer field-of-view half-angle in degrees, the angular radius from the boresight to the cone edge as the instrument kernel defines it.

Functions

conservative_along_scan_extent(extent)

Return a single, scan-direction-independent along-scan half-extent.

psf_95_energy_extent([energy_fraction, ...])

Angular half-extents enclosing energy_fraction of the PSF energy.

psf_weight(delta_deg, beta_deg)

Evaluate the CERES PSF P(delta', beta) -- ATBD Eq.

static_fov_extent([fov_halfangle_deg])

Angular extent of the uniform "static" FOV, the response of a stationary scanner.

Classes

PSFAngularExtent(delta_back_deg, ...)

Half-extents of the PSF response in the instrument angular frame (degrees).