Skip to content

Adapt global budget convergence criterion for runs with interalized damages#2302

Merged
laurinks merged 1 commit intoremindmodel:developfrom
laurinks:internalized-damages
Mar 6, 2026
Merged

Adapt global budget convergence criterion for runs with interalized damages#2302
laurinks merged 1 commit intoremindmodel:developfrom
laurinks:internalized-damages

Conversation

@laurinks
Copy link
Contributor

@laurinks laurinks commented Mar 5, 2026

This PR implements #1988.

Purpose of this PR

  1. Adapt global budget convergence criterion for runs with internalized damages. If damages are internalized, it is only checked that the target budget is not exceeded. For example, if the target budget is 1000 Gt CO2 and the SCC is sufficiently high to imply that the carbon budget never exceeds 900 Gt CO2, the run should still converge.

  2. Move the global budget convergence criterion into the $ifthen.carbonprice %carbonprice% == "functionalForm" condition. This does not change anything since %carbonprice% != "functionalForm" implies sm_globalBudget_absDev = 0 which implies that the criterion is anyway met. So it is only an aesthetic change to make it easier to understand the code by seeing that this convergence criterion is only relevant for the functionalForm realization.

Requesting review from @fpiontek to check that this interacts with the damage module as intended, from @LaviniaBaumstark for general check, and from @tabeado to check that 2 does not create problems for functionalFormRegi. Thanks!

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:
  • Comparison of results (what changes by this PR?):

@tabeado
Copy link
Contributor

tabeado commented Mar 5, 2026

I don't see how this could cause a problem!

Copy link
Contributor

@fpiontek fpiontek left a comment

Choose a reason for hiding this comment

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

Looks good!

Copy link
Member

@LaviniaBaumstark LaviniaBaumstark left a comment

Choose a reason for hiding this comment

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

thank you

@laurinks laurinks merged commit 34201b0 into remindmodel:develop Mar 6, 2026
4 of 13 checks passed
@laurinks laurinks deleted the internalized-damages branch March 6, 2026 08:04
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