Skip to content

Fix and align FRA2025 forest-type and LUC-CO2 validation series - #40

Merged
flohump merged 4 commits into
masterfrom
forest-luc-emissions
Jul 27, 2026
Merged

Fix and align FRA2025 forest-type and LUC-CO2 validation series#40
flohump merged 4 commits into
masterfrom
forest-luc-emissions

Conversation

@flohump

@flohump flohump commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Purpose

Corrects and harmonises the FRA2025 forest-type and LUC-CO2 validation series so they
overlay MAgPIE like-for-like. Three self-contained commits, plus the version bump.

The calcValidLand renames anticipate a forthcoming MAgPIE development in which
other-planted forest becomes its own harvestable forestry pool.

Changes

calcValidGS — drop broken FRA primary GS + fix naming (be88ce8)
FRA2025 labels the primary/introduced GS totals with an inconsistent gs_total_ prefix
(all others use gs_tot_); normalise it so the absolute branch stops leaking
introduced and garbling names. Drop the FRA primary-forest GS (~18 m³/ha
area-weighted → implausible, too sparsely reported); keep Total and Natural Forest GS.

calcValidLand — planted-forest split to match model pools (0800025)
Keep FRA's planted split as its own categories — Planted Forest|+|Timber and
Planted Forest|+|Other Planted (was mislabeled Natural|+|NPI_NDC AR, a policy
category with no FRA observation).

calcValidGlobalCarbonBudget + readGlobalCarbonBudget — LUC-CO2 scope + GCB read fix (3ef7ddc)

  • readGlobalCarbonBudget: pick each GCB component by its row-38 sub-label, not a fixed
    column offset. GCB uniquely carries a peat drainage/fire column, so the old offset
    mis-read GCB's peat as its wood harvest (Timber) and dropped GCB's real wood harvest.
    stop()-guarded.
  • calcValidGlobalCarbonBudget: document the peat and indirect/Grassi comparison axes
    in @details; add a peat-excluded alias (…|Land-use Change|Excl Peatland), since
    these bookkeeping sources are ex-peat.
  • Drop the orphaned Land RAW duplicate series (calcValidEmisLucGasser,
    calcValidEmissions, calcValidAnnualCarbonLTS); add the ex-peat alias to Gasser;
    note in calcValidEmissionsAFOLU that FAO/EDGAR inventory series compare to net
    Emissions|CO2|Land, not the bookkeeping flux.

Note

Changes what the validation output contains — renamed forest categories and a few
dropped series — so comparison scripts referring to the old names must be updated.

flohump added 3 commits July 25, 2026 18:04
The FRA2025 growing-stock source labels the primary/introduced totals with an inconsistent 'gs_total_' prefix (all other categories use 'gs_tot_'), which made the absolute branch leak 'introduced' and render garbled names ('GS Total Primary Forest'). Normalise the prefix, then drop 'introduced' and the broken FRA primary-forest GS (~18 m3/ha area-weighted, too sparsely reported) from both indicators. Total Forest and Natural Forest GS are retained.
After reverting the other-planted->secondary fold, keep FRA's planted forest
split as its own categories matching the model forestry pools: rename the
plantation series to Planted Forest|+|Timber and other planted forest to
Planted Forest|+|Other Planted (was mislabeled NPI_NDC AR).
… RAW

Harmonise the LUC-CO2 validation cloud so it can be compared like-for-like with MAgPIE,
and remove the orphaned "Land RAW" duplicate series.

- readGlobalCarbonBudget: select each GCB component by its row-38 sub-label instead of a
  fixed column offset. The bookkeeping models do not share a column layout - GCB uniquely
  carries a peat drainage/fire column - so the old offset silently mis-read GCB's peat as
  its wood harvest (Timber) and dropped GCB's actual wood harvest.
- calcValidGlobalCarbonBudget: document the two comparison axes (peat, indirect/Grassi) in
  @details; expose Land-use Change also under MAgPIE's peat-excluded memo name
  (Emissions|CO2|Land|Land-use Change|Excl Peatland) since these bookkeeping sources are
  ex-peat; drop the Land RAW duplicates.
- calcValidEmisLucGasser: ex-peat alias + note that Gasser = OSCAR bookkeeping (ex-peat,
  direct); drop RAW.
- calcValidEmissions, calcValidAnnualCarbonLTS: drop the orphaned Land RAW series.
- calcValidEmissionsAFOLU: note that FAO_EmisLUC/EDGAR_LU are inventory sources (incl-peat,
  embed the managed-land indirect sink), so their like-for-like counterpart is net
  Emissions|CO2|Land, not the bookkeeping Land-use Change flux.
@flohump flohump added documentation Improvements or additions to documentation AI labels Jul 27, 2026
@flohump
flohump requested a review from codeZeilen July 27, 2026 12:22
@codeZeilen

Copy link
Copy Markdown
Member

Only comment: Maybe this could be 2.70 instead of 2.69.4 as the renaming/removal of variables is quite significant.

- lucode2::buildLibrary: 2.69.3 -> 2.70.0 minor bump (the variable renames and
  removals are output-level changes): ValidationKey, CITATION.cff, README,
  pkgdown CI template refresh
- lint fixes on the changed files: native |> pipe in readGlobalCarbonBudget,
  wrap two long lines in calcValidGS
@flohump
flohump force-pushed the forest-luc-emissions branch from c7af604 to f9cc5ef Compare July 27, 2026 14:02
@flohump
flohump merged commit fc4e596 into master Jul 27, 2026
1 check passed
@flohump
flohump deleted the forest-luc-emissions branch July 27, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants