Skip to content

Add limit to the use of biochar (via cropland and cement) and clean-up biochar activation switches - #2240

Merged
tabeado merged 9 commits into
remindmodel:developfrom
tabeado:BiocharApplicationLimits
Nov 11, 2025
Merged

Add limit to the use of biochar (via cropland and cement) and clean-up biochar activation switches#2240
tabeado merged 9 commits into
remindmodel:developfrom
tabeado:BiocharApplicationLimits

Conversation

@tabeado

@tabeado tabeado commented Nov 7, 2025

Copy link
Copy Markdown
Contributor

Purpose of this PR

(1) This PR adds a limit on biochar production from the demand perspective. It is a first approximation. The bound is based on a) 2020 cropland area and the EU CRCF max. application rate suggestion (i.e. constant over time), derived here and b) a share of cement that can be substituted by biochar (building on https://www.nature.com/articles/s44284-024-00069-x).

The bound is only relevant for extreme scenarios with lots of CDR demand, where biochar production can otherwise become a more or less unlimited CDR supply, which cannot be reigned in by the biomass trade mechanism.

It requires inputdata rev 7.74!

(2) Biochar production technologies were activated via two switches (c_biopyrEstablished and c_biopyrLiquid). These are now merged into c_biopyrOptions in order to reduce the amount of switches.

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/tabeado/Biochar/2025_11_BiocharApplicationBounds/remind/ -- no changes!
  • Comparison of results (what changes by this PR?): Nothing unless you look at extreme scenarios which are not part of the default REMIND routine

@tabeado
tabeado requested a review from dklein-pik November 7, 2025 17:08
@tabeado
tabeado merged commit 3dd8bc3 into remindmodel:develop Nov 11, 2025
3 of 5 checks passed
@tabeado
tabeado deleted the BiocharApplicationLimits branch February 9, 2026 16:51
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