The package's burning total adds the CO2 from burning, and multiplies NOx by the N2O warming factor (GWP) (R/merge_outputs.R:810-812). IPCC 2006 Vol 4 Ch 2 (p. 2.41) counts only non-CO2 gases for burning on cropland and grassland, because the CO2 is taken back up when the crop regrows. NOx has no GWP.
| 1 t DM residue burnt | IPCC | Current | Fixed |
|---|---|---|---|
| kg CO2e | 75.3 | 1,802.5 | 75.3 |
--- a/R/merge_outputs.R 2026-09-29 10:31:17
+++ b/R/merge_outputs.R 2026-09-29 10:31:17
@@ -807,9 +807,11 @@
burning <- 0
if (nrow(ghg_burn) > 0 && ncol(ghg_burn) >= 5 && "ghg_gas" %in% names(ghg_burn)) {
- burning <- sum_num(ghg_burn[ghg_burn$ghg_gas == "CO2", 5]) +
- sum_num(ghg_burn[ghg_burn$ghg_gas == "CH4", 5]) * methane +
- sum_num(ghg_burn[ghg_burn$ghg_gas == "Nox", 5]) * N2O
+ # IPCC 2006 Vol 4 Ch 2 p. 2.41: residue-burning CO2 is re-absorbed and not counted.
+ # NOx has no GWP. Read the amount by name, not by column position.
+ burn_amount <- ghg_burn$amount_of_ghg_emission_from_fire
+ burning <- sum_num(burn_amount[ghg_burn$ghg_gas == "CH4"]) * methane +
+ sum_num(burn_amount[ghg_burn$ghg_gas == "N2O"]) * N2O
}
burning_per_ha_kg_co2_e <- safe_zero_div(burning, area_required_on_farm_ha)
burning_kg_co2_e_per_kg_fpcm <- safe_zero_div(burning, total_milk_produced_kg_fpcm_per_year)
@@ -1326,4 +1328,4 @@
)
c(app_output, batch_output[setdiff(names(batch_output), names(app_output))])
-}
+}
Rscript reproduce_critical_issues.R 4 using reproduce_critical_issues.R (installs what it needs into its own library and cleaned @ 800d53a). Add CLEANED_FIXES=proposed_fixes.R with proposed_fixes.R for the fixed column.
Comments
Comments are GitHub Discussions on peetmate/cleaned-review; sign in with GitHub to post.