Skip to content

Add alternative biomass allocation criterion to scenario with exogenous biomass limit - #2390

Merged
merfort merged 7 commits into
remindmodel:developfrom
merfort:dev__quickfix100EJbio
Jul 6, 2026
Merged

Add alternative biomass allocation criterion to scenario with exogenous biomass limit#2390
merfort merged 7 commits into
remindmodel:developfrom
merfort:dev__quickfix100EJbio

Conversation

@merfort

@merfort merfort commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Purpose of this PR

[This PR was created with help of AI and manually reviewed and tested afterwards]

Quick-fix for cm_maxProdBiolc: instead of distributing the whole global lignocellulosic biomass potential to regions purely by equal marginal supply costs, a slice of up to 25 EJ/yr is now allocated by hardcoded shares of 2020 total agricultural crop production (from a recent coupled REMIND-MAgPIE NPi run). The remainder is still distributed via the marginal-cost inversion. The slice is scaled down proportionally when the total bound is smaller than 25 EJ/yr, and the
implementation works for both the H12 and EU21 region resolutions (values are hardcoded at the level of the 12 H12 region groups; EUR/NEU are split to their EU21 sub-regions by 2020 MAgPIE lignocellulosic biomass production from a look-up table, as this is already available in the read-in input data. Global totals are conserved.

This PR is the near-term quick-fix for this issue. There you also find plots showing how the new bound works. Medium-term we want to implement a cleaner solution.

Type of change

Indicate the items relevant for your PR by replacing ◻️ with ☑️.
Do not delete any lines. This makes it easier to understand which areas are affected by your changes and which are not.

Parts concerned

  • ☑️ GAMS Code
  • ◻️ R-scripts
  • ☑️ Documentation (GAMS incode documentation, comments, tutorials)
  • ◻️ Input data / CES parameters
  • ◻️ Tests, CI/CD (continuous integration/deployment)
  • ◻️ Configuration (switches in main.gms, default.cfg, and scenario_config*.csv files)
  • ◻️ Other (please give a description)

Impact

  • ◻️ Bug fix
  • ◻️ Refactoring
  • ☑️ New feature
  • ◻️ Change of parameter values or input data (including CES parameters)
  • ☑️ Minor change (default scenarios show only small differences)
  • ◻️ Fundamental change of results of default scenarios

Checklist

Do not delete any line. Leave unfinished elements unchecked so others know how far along you are.
In the end all checkboxes must be ticked before you can merge
.

  • I executed the automated model tests (make test) after my final commit and all tests pass (FAIL 0)
  • I adjusted the reporting in remind2 if and where it was needed
  • I adjusted the madrat packages (mrremind and other packages involved) for input data generation if and where it was needed
  • My code follows the coding etiquette
  • I explained my changes within the PR, particularly in hard-to-understand areas
  • I checked that the in-code documentation is up-to-date
  • I adjusted forbiddenColumnNames in readCheckScenarioConfig.R in case the PR leads to deprecated switches
  • I updated the CHANGELOG.md correctly (added, changed, fixed, removed, input data/calibration)

Further information (optional)

  • Runs with these changes are here:
    /p/tmp/merfort/REMIND_bio_bound_by_production/remind/output

  • Comparison of results (what changes by this PR?):

image

SSP2−NPi2025 - original NPi run
SSP2−NPi2025.1 - NPi run with updated bounds
SSP2−PkBudg750_100EJ_orig - original PkBudg750 run
SSP2−PkBudg750_100EJ - PkBudg750 run with updated bounds

The full compare scenarios PDF can be found here:
compScen-NPi2025-PkBudg750_old-new-2026-07-03_14.29.31-H12.pdf

For more information check the development issue.

@merfort
merfort marked this pull request as ready for review July 3, 2026 12:41
@merfort merfort changed the title Dev quickfix100 e jbio Add alternative biomass allocation criterion to scenario with exogenous biomass limt Jul 3, 2026
@merfort merfort changed the title Add alternative biomass allocation criterion to scenario with exogenous biomass limt Add alternative biomass allocation criterion to scenario with exogenous biomass limit Jul 3, 2026

@robertpietzcker robertpietzcker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The results look good, and from a brief reading of the code it seems reasonable.

@merfort
merfort merged commit d35693e into remindmodel:develop Jul 6, 2026
3 of 4 checks passed
@merfort
merfort deleted the dev__quickfix100EJbio branch July 6, 2026 13:08
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