slv.inversion.pipelines.project_jacobian#
- slv.inversion.pipelines.project_jacobian(project, sel, target, flux_bins, *, location_mapper=None, workers=None, threshold=1e-15, sparse=True)[source]#
One STILT project’s flux Jacobian, from
stilt.Project.jacobian.selis the rows ofproject.simulationsto use, all of one variant. Each footprint is summed ontotargetper flux bin. Rows are(obs_location, obs_time): the receptor’s location id, renamed bylocation_mapperwhen it names a site, and its time; they are the one blockconcentration. Columns are the target’s cells and the bins’ left edges ((lon, lat, time)for a longitude/latitude grid), the one blockflux. Entries belowthresholdare zero.Every receptor with a footprint gets a row. One whose footprint is empty (all its particles left the domain) or misses the target gets a row of zeros: it saw no emissions, which is a real observation. A receptor with no footprint (not run yet, or failed) gets no row, and
build_problem()drops its obs. Returns None when no receptor has a footprint.- Return type:
Operator|None