Skip to content

Implement GDP-based floor cost scenario and refactor related code#2310

Open
lecfab wants to merge 28 commits intoremindmodel:developfrom
lecfab:copilot/differentiate-floor-costs
Open

Implement GDP-based floor cost scenario and refactor related code#2310
lecfab wants to merge 28 commits intoremindmodel:developfrom
lecfab:copilot/differentiate-floor-costs

Conversation

@lecfab
Copy link
Copy Markdown
Contributor

@lecfab lecfab commented Mar 15, 2026

Purpose of this PR

  • Implementing floor cost options following the discussion in: https://github.com/remindmodel/development_issues/issues/230
    • default: the floor cost is the same for all regions
    • pricestruc: regionally differentiated floor costs follow the historical price structure. That means that, for a given technology, a region that had in history a 2x higher cost than global average will have a 2x higher floor cost than written in generisdata_tech
    • gdpBased: regionally differentiated floor costs follow the GDP-MER/cap projection for 2050. Depending on their GDP, regions will have a x0.5 to x1.5 factor compared to the floor cost written in generisdata_tech. The curve is S-shaped: https://www.desmos.com/calculator/rbcjeoulgk
  • Refactoring cost trajectories using macros for clarity
  • Fixing a bug that pricestruc was used by default, and with a wrong reference value, making floor cost too small. For spv for instance, reference costs in 2005 instead of 2020 gave all regions a very low cost in the price structure, and therefore a very low floor cost.
image

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

Copilot AI and others added 28 commits February 24, 2026 17:14
Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…rameters

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…ased, consolidate equations with ifthenE

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…edundancy

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…pital

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…emove useless parens

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…in.gms

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…dYear; apply style to modified blocks

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
…avoid overwrite

Co-authored-by: lecfab <1883023+lecfab@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…) which only refers to 2005 value and is misleading for VRE
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