slv.inversion.pipelines.build_problem#

slv.inversion.pipelines.build_problem(config)[source]#

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

Steps: the obs, prior and background (get_obs(), get_prior(), get_constant()); filter_state_space(); the flux Jacobian (get_flux_jacobian()), checked to cover the prior’s cells (check_state_cells()); the prior error; the obs without a background are dropped; the model-data mismatch on the obs that are left; the bias block when config.bias_std is set; and the means of the obs over config.aggregate_obs (a day) when it is set. The obs whose receptor has no footprint are dropped too (a receptor with an empty footprint has a row of zeros and keeps its obs; project_jacobian()). The Jacobian’s rows for the obs are placed on them, and the float labels are rounded to LABEL_DECIMALS.

Returns:

The state has the block flux (and bias), the obs the block concentration; the background is the offset.

Return type:

Problem