Skip to content

Fix evaluation of peak budget to relevant time horizon - #2476

Merged
amerfort merged 2 commits into
remindmodel:developfrom
amerfort:PeakBudget_Fix
Sep 24, 2026
Merged

amerfort merged 2 commits into
remindmodel:developfrom
amerfort:PeakBudget_Fix

Conversation

@amerfort

@amerfort amerfort commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Purpose of this PR

This is a bug-fix: The peak-budget (maximum of cumulative emissions) was evaluated across the the entire time horizon (until 21050). But in scenarios where emissions remain at net-zero in the second half of the century, the 2150 cumulative emissions might slightly exceed the desired budget (was the case for SSP2-PkBud1000), but the 2150 cumulative emissions are outside of the control of the iterative target adjustment algorithm and caused convergence issues. issue 817. This PR constrains the relevant peak budget to the relevant time horizon (only up until 2100).

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:
    Runs are currently running here: /p/tmp/amerfort/remind_PB1000
    Let's see if this already solves it, otherwise the issue might be overcome with hotfixes described in issue 818
  • Comparison of results (what changes by this PR?):
    This PR does not affect results, just enables model convergence in corner cases.

@amerfort

Copy link
Copy Markdown
Contributor Author

Seems to work, see results
/p/tmp/amerfort/remind_PB1000
and discussion issue 817
However, I did not test it for all peak budget runs available. Just H12 SSP2, due to high urgency.

@tabeado tabeado 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.

great that you figured this out, thanks Anne!
Approving, but I think it would be important for @fschreyer to agree

@amerfort
amerfort marked this pull request as ready for review September 24, 2026 12:15

@strefler strefler 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.

Good catch, thanks a lot!

@amerfort

Copy link
Copy Markdown
Contributor Author

@lea-hayez @RahelMA this is merged now <3

@amerfort
amerfort merged commit 95a9507 into remindmodel:develop Sep 24, 2026
2 checks passed
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.

4 participants