Skip to content

Move tax curve calculation to mrremind - #2428

Open
simonkrogmann wants to merge 1 commit into
remindmodel:developfrom
simonkrogmann:move-taxes
Open

Move tax curve calculation to mrremind#2428
simonkrogmann wants to merge 1 commit into
remindmodel:developfrom
simonkrogmann:move-taxes

Conversation

@simonkrogmann

@simonkrogmann simonkrogmann commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Purpose of this PR

I moved the tax curve calculation from GAMS to mrremind (see pik-piam/mrremind#845). The subsidy calculation will be left for another PR. This changes behavior for cm_fetaxscen = 5 because some of the previous behavior was unintended. (Treating 0s in the rollback data as NA, confirmed with @nicobauer). Otherwise I confirmed that the taxes computed are exactly the same up to rounding differences.

I will run remind with these changes.

I removed an unused alias as well.

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)

@LaviniaBaumstark LaviniaBaumstark left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this required new input data, rigth?

Comment thread main.gms Outdated
*** (note: don't put values to 0 as this will make the model ignore the switch)
$setGlobal cm_FEtax_trajectory_rel off !! def = off
*** cm_fetaxscen "choice of final energy tax path and subsidy path, values other than zero enable final energy tax"
*** even if set to 0, the PE inconvenience cost per SO2-cost for coal are always on if module 21_tax is on

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why should this not be part of teh switches documentation?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I moved the switch from using parameter to $setGlobal because parameters don't work as compile-time switches necessary for the datainput. Is there a better way for documenting setGlobal?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

starting with *' instead of *** would add this part to the automated model documentation

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