Skip to content

Improving the nash convergence report - #2419

Merged
Renato-Rodrigues merged 4 commits into
remindmodel:developfrom
Renato-Rodrigues:conv-report
Jul 27, 2026
Merged

Improving the nash convergence report#2419
Renato-Rodrigues merged 4 commits into
remindmodel:developfrom
Renato-Rodrigues:conv-report

Conversation

@Renato-Rodrigues

@Renato-Rodrigues Renato-Rodrigues commented Jul 24, 2026

Copy link
Copy Markdown
Member

Purpose of this PR

  • replace hard-coded tolerances of convergence criteria with switches saved to the gdx so they can be read in convergence reports and/or modified per run.

  • This does change preserve the original default values and have no effect to the current REMIND runs.

  • This change is related to Improving the nash convergence report pik-piam/remind2#819

New switches added in main.gms:

switch default replaces literal in
cm_TaxConv_tolerance 0.001 tax-convergence check (80_optimization/nash/postsolve.gms)
cm_nashObjVal_tolerance 1e-4 objective-value acceptance for status-7 iterations (nash/postsolve.gms)
cm_DevPriceAnticip_tolFactor 0.1 price-anticipation deviation, as a fraction of the goods surplus tolerance (nash/postsolve.gms)
cm_implicitPriceTarget_tolerance 0.05 implicit FE price target deviation (47_regipol/regiCarbonPrice/postsolve.gms)
cm_implicitPePriceTarget_tolerance 0.05 implicit PE price target deviation (regiCarbonPrice/postsolve.gms)

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/projects/ecemf/REMIND/debug/remind_conv-report/output

@Renato-Rodrigues
Renato-Rodrigues marked this pull request as ready for review July 24, 2026 22:20
@Renato-Rodrigues
Renato-Rodrigues merged commit d60503c into remindmodel:develop Jul 27, 2026
4 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.

2 participants