slv.inversion.pipelines#

The SLV methane inversion: functions that build the fips Problem and solve it.

build_problem() loads (or builds) each component – the obs, the prior, the background, the flux Jacobian, the prior error and the model-data mismatch – and puts them together as one problem; run() solves it and reports. Each get_* function takes the InversionConfig first and is cached by fips_cache(). The model-data mismatch, the coverage filter and the reports live in mdm, coverage and report.

Attributes

LABEL_DECIMALS

Decimal places the float labels (the cells' lat and lon) are rounded to before the problem is built.

Functions

build_problem

The fips problem for config: every component loaded or built, then put together.

filter_state_space

Trim obs and prior to config.time_range, then drop the obs of sparse intervals.

get_bias

The bias block: one unknown offset per group of obs, by config.bias_grouping.

get_constant

Background concentration for each obs (config.background), named "background".

get_flux_jacobian

The flux Jacobian from the PYSTILT footprints (cached as forward_operator).

get_obs

The observations (CH4, ppm), indexed by (obs_location, obs_time), named "obs".

get_prior

The prior flux (umol/m2/s) on the config's grid and flux times, named "prior".

get_prior_error

The prior flux error covariance on the labels of prior, the block flux.

obs_sites

The site of each obs location, for site- and organization-keyed MDM and bias terms.

project_jacobian

One STILT project's flux Jacobian, from stilt.Project.jacobian.

run

Build the problem, solve it, summarize and plot.

stack_jacobians

Row-stack the per-project flux Jacobians into one.