Observations#

Functions for column and satellite workflows. They group soundings into overpasses, choose which soundings to run, spread receptors across a pixel, lay out slant lines of sight, and turn a retrieval’s pressure levels into altitudes (Satellite And Column Observations, Slant Columns). They take plain arrays and tables and return the inputs for Receptor objects. Particle weighting, including per-receptor averaging-kernel tables, is in Transforms.

stilt.observations.group_by_overpass

Label each time with the overpass it belongs to.

stilt.observations.select_observations_spatial

Select soundings densely near a site and sparsely across the domain.

stilt.observations.jitter_points

Return (longitude, latitude) points spread over one pixel.

stilt.observations.slant_points

Return (longitude, latitude, altitude) points along a line of sight.

stilt.observations.pressure_altitudes

Return the altitudes above sea level of a retrieval's pressure levels.

Product readers#

Each reader returns a table of soundings with the columns listed in Reading Retrieval Products.

stilt.observations.read_tropomi_ch4

Read a TROPOMI (Sentinel-5P) L2 methane file into a table of soundings.

stilt.observations.read_oco2

Read an OCO-2 or OCO-3 L2 Lite XCO2 file into a table of soundings.

stilt.observations.read_tccon

TCCON's public *.public.nc and *.public.qc.nc site files from CaltechDATA are GGG2020 netCDF files, so they are read the same way.

stilt.observations.read_ggg_oof

Read a GGG2020 .oof file into a table of soundings.

stilt.observations.read_ggg_netcdf

Read a GGG2020 netCDF file, private or public, into a table of soundings.

Transport error#

The transport error of the modelled enhancement, from wind-perturbed trajectories (Transport Error).

stilt.observations.transport_error

Return the transport-error variance of a modeled enhancement (Lin and Gerbig, 2005).

stilt.observations.TransportError

Transport error of a modeled enhancement, returned by transport_error().

Background#

The background mole fraction at a receptor. A field is sampled at the trajectory endpoints and weighted like the footprint (Background).

stilt.observations.background

Return the background mole fraction at a receptor.

stilt.observations.Background

Background at a receptor, returned by background().

stilt.observations.particle_background

Return the field at each particle's endpoint, indexed by indx.

stilt.observations.backgrounds.endpoint_weights

Return each particle's transform weight at its endpoint, indexed by indx.

Plume background#

The outline of a forward-run plume over a satellite swath, and the background from the soundings beside it (Plume Background).

stilt.observations.plume_polygon

Return the plume outline from forward-run particle positions at overpass time.

stilt.observations.Plume

Plume outline returned by plume_polygon().

stilt.observations.plume_background

Return the background from the soundings beside a plume.

stilt.observations.PlumeBackground

Background from soundings beside a plume, returned by plume_background().

stilt.observations.plumes.kernel_density

Return the Gaussian kernel density of points on an n by n grid.

stilt.observations.plumes.density_polygon

Return the largest connected region where density >= threshold.

Wind-error statistics#

Variograms of analysis-minus-observation winds. Fit them to get the wind-error settings for a transport-error run (Wind Error Statistics).

stilt.observations.variogram

Return the empirical semivariogram of errors over a separation coordinate.

stilt.observations.fit_variogram

Fit an exponential variogram to an empirical one.

stilt.observations.VariogramFit

Exponential variogram σ² (1 − exp(−h / l)), returned by fit_variogram().