Skip to content

feat: add UNATTRIBUTED row to output, which captures emissions that could not be charged to a commodity - #13

Merged
jeffseif merged 5 commits into
mainfrom
jeffseif/add-unattributed-row
Oct 13, 2026
Merged

jeffseif merged 5 commits into
mainfrom
jeffseif/add-unattributed-row

Conversation

@jeffseif

@jeffseif jeffseif commented Oct 9, 2026

Copy link
Copy Markdown
Member

Background

This adds a second non-commodity row to the outputs. DROPPED already captured emissions from conversion of forest or grassland but could not be tied to crops or rangeland (e.g., due to urban expansion). UNATTRIBUTED captures emissions which could be tied to crops or rangeland but not to a specific commodity -- for example from a statistical cell which lacks expansion or a crop whose mask is lacking.

Notes

  1. Changes are split into seperate commits, in case review is challenging all-at-once
  2. Whereas DROPPED should not count towards a total LUC emissions, UNATTRIBUTED should.
  3. Neither row has production or an emissions factor.
  4. This changes attribute outputs but I didn't change the cache version, so we'll want to delete any stale outputs before a backfill.

Manual validation

I ran trace on HND with S and on the 30N_090W tile covering Florida for JD. They showed that all output (630 and 24 rows respectively) was unchanged except for the addition of the UNATTRIBUTED rows.

Below, emissions are tco2e/y discounted.

Jurisdiction Commodity rows UNATTRIBUTED Share of the total DROPPED
Honduras 4.98 Mt 0.066 Mt 1.3% 25.05 Mt
Florida (tile 30N_090W) 0.124 Mt 0.752 Mt 86% 8.81 Mt
Louisiana (tile 30N_090W) 21 t 39,933 t ~100% 0.17 Mt

@jeffseif
jeffseif requested a review from blallen October 9, 2026 00:13
@jeffseif
jeffseif added this pull request to stack #12 October 9, 2026 00:13
Comment thread docs/further_research.md Outdated
@blallen

blallen commented Oct 12, 2026 •

Copy link
Copy Markdown

I skimmed the methodology and it seemed fine, asked codex to take a look too and it agrees, but probably would be good to get some other eyes on that part as well

I support adding UNATTRIBUTED as a separate accounting remainder. It makes emissions that previously disappeared from the output visible without changing the modeled commodities' emissions factors. Keeping it separate from DROPPED is useful because the two represent different gaps. The qualifications below concern interpretation and coverage; the cache handling is already discussed on PR #11.

What the change establishes

The statistical implementation subtracts allocated emissions from the whole charge for each component. The direct implementation takes the complement of the selected crop masks and retains pasture peat occupation in the remainder. Those constructions support the intended conservation identity.

Keeping the remainder separate avoids assigning the modeled crops responsibility for emissions reserved by the denominators for other crops. The existing factors therefore retain their meaning. The new rows improve accounting transparency; they do not independently validate the existing allocation model.

What UNATTRIBUTED tells us

The row is an allocation remainder, not a measured inventory of unmodeled crops. It includes zero-expansion cases, and the direct leg puts all pasture peat occupation there because it models only crops. R002 requests a specific clarification of the zero-expansion wording.

The residual fraction is a useful coverage indicator, but its causes differ between the two methods. For a single jurisdiction and methodology, coverage can be derived as allocated emissions divided by allocated plus UNATTRIBUTED; the statistical allocated rows include PASTURE. Exclude DROPPED, and do not combine national rows with their provincial constituents.

Limits of the reported total

DROPPED includes unresolved agricultural destinations and missing tree-crop destination layers, as well as genuinely non-agricultural conversion. Excluding it does not establish that all its emissions are unrelated to agriculture. The reconciled sum is the pipeline's map-detected agricultural total within its implemented boundary, not an exhaustive jurisdictional LUC inventory.

The total also combines discounted conversion emissions with current peat occupation emissions. Conservation of that budget is useful, but it is not proof of complete conversion detection or correct causal allocation. A large UNATTRIBUTED share should accompany interpretation of the commodity factors rather than be read as evidence of a small agricultural emissions burden.

Validation and remaining uncertainty

The local unit suite and typing checks passed. Additional offline checks found the existing statistical rows identical to the base in three representative cases and confirmed that the new row survives national rollup without an emissions factor.

The Honduras, Florida and Louisiana examples in the PR description have not been independently reproduced. Their inputs and calculations would make the coverage implications reviewable. Publishing the residual is a useful minimal step; redistributing it or adding a new allocation algorithm is not necessary for this PR.

@jeffseif
jeffseif force-pushed the jeffseif/add-unattributed-row branch from e3c14f9 to 5e30933 Compare October 13, 2026 18:02
Base automatically changed from jeffseif/pasture-ipcc-density to main October 13, 2026 18:19
@jeffseif
jeffseif force-pushed the jeffseif/add-unattributed-row branch from 5e30933 to ea53384 Compare October 13, 2026 18:19
@jeffseif
jeffseif merged commit e40139b into main Oct 13, 2026
2 checks passed
@jeffseif
jeffseif deleted the jeffseif/add-unattributed-row branch October 13, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants