Skip to content

AP in REMIND - exoGAINS2025 - part 1: Move exoGAINS2025Airpollutants.R from REMIND to remind2 - #2231

Merged
laurinks merged 9 commits into
remindmodel:developfrom
laurinks:airpollution-restructuring
Dec 24, 2025
Merged

AP in REMIND - exoGAINS2025 - part 1: Move exoGAINS2025Airpollutants.R from REMIND to remind2#2231
laurinks merged 9 commits into
remindmodel:developfrom
laurinks:airpollution-restructuring

Conversation

@laurinks

@laurinks laurinks commented Oct 23, 2025

Copy link
Copy Markdown
Contributor

Purpose of this PR

This PR needs to be merged together with pik-piam/remind2#768 and before pik-piam/mrremind#761 .

It addresses https://github.com/remindmodel/development_issues/issues/675

  1. Remove exoGAINS2025Airpollutants.R and related code in 11_aerosols/exoGAINS2025.
  2. Move sets from core to 11_aerosols.
  3. Make mrremind files available for remind2 reporting.

Follow-up PR in piamInterfaces needed to update names of air pollutant emission variables accordingly.

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/laurinko/airpollution-restructuring
  • Comparison of results (what changes by this PR?): No changes.

@laurinks laurinks changed the title Airpollution restructuring AP in REMIND - exoGAINS2025 - part 1: Move exoGAINS2025Airpollutants.R from REMIND to remind2 Oct 23, 2025
Comment thread config/default.cfg

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.

It is no longer necessary to copy the exoGAINS script and the input data into the REMIND output folder since (a) the calculation of AP emissions is moved to remind2, and (b) the files are made available via core/input/reporting/files.

Comment thread core/equations.gms

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.

As exogenous AP emissions are no longer piped through REMIND, no values are assigned pm_emiExog and it can be removed from this equation.

Comment thread core/sets.gms
c_model_version "model version" /%c_model_version%/
cm_GDPpopScen "cm_GDPpopScen as set for use in GDX" /%cm_GDPpopScen%/

cm_APssp "cm_APssp as set for use in GDX" /%cm_APssp%/

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.

Needed for remind2::reportAirPollutantEmissions

Comment thread core/sets.gms

/

all_sectorEmi "all sectors with emissions"

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.

Moved to 11_aerosols

Comment thread core/sets.gms
waste "emissions from waste"
/

all_exogEmi "all exogenous emission types"

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.

No longer needed

Comment thread core/sets.gms
ch4gas "fugitive emissions from gas production"
ch4oil "fugitive emissions from oil production"
/
sectorEndoEmi(all_sectorEmi) "sectors with endogenous emissions"

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.

Moved to 11_aerosols

Comment thread core/sets.gms
trans "transport"
power "power"
/
sectorExogEmi(all_sectorEmi) "sectors with exogenous emissions"

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.

Moved to 11_aerosols

Comment thread core/sets.gms
2005.1
/

sectorEndoEmi2te(all_enty,all_enty,all_te,sectorEndoEmi) "map sectors to technologies"

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.

Moved to 11_aerosols

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.

Exogenous AP emssions no longer piped through REMIND but directly read in remind2::reportAirPollutantEmissions

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.

Moved to remind2.

@laurinks laurinks Dec 22, 2025

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.

exoGAINS2025AirPollutants was running in the postsolve without feeding information into the next iteration, i.e. with not effect on the model. Thus, it now only runs in remind2. This means that for normal runs, it is only executed once, while for runs with climate assessment in between iterations, it is called via remind2::reportEmiforClimateAssessment.

@laurinks
laurinks requested review from LaviniaBaumstark, dklein-pik and fbenke-pik and removed request for LaviniaBaumstark December 22, 2025 16:37
@laurinks
laurinks marked this pull request as ready for review December 22, 2025 16:39
@laurinks
laurinks requested a review from merfort December 23, 2025 10:58
Comment thread modules/11_aerosols/exoGAINS2025/sets.gms Outdated
Comment thread modules/11_aerosols/exoGAINS2025/sets.gms Outdated
@merfort
merfort self-requested a review December 23, 2025 15:46
Comment thread modules/11_aerosols/exoGAINS2025/declarations.gms Outdated

@merfort merfort 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, thanks a lot, @laurinks!

@laurinks
laurinks merged commit 3dfee20 into remindmodel:develop Dec 24, 2025
2 checks passed
@laurinks
laurinks deleted the airpollution-restructuring branch December 24, 2025 09:02
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