Skip to content

Add new realization 11_aerosols/exoGAINS2025 - #2205

Merged
LaviniaBaumstark merged 12 commits into
remindmodel:developfrom
laurinks:GAINS2025
Sep 17, 2025
Merged

Add new realization 11_aerosols/exoGAINS2025#2205
LaviniaBaumstark merged 12 commits into
remindmodel:developfrom
laurinks:GAINS2025

Conversation

@laurinks

@laurinks laurinks commented Sep 17, 2025

Copy link
Copy Markdown
Contributor

Purpose of this PR

This PR adds a new realization 11_aerosols/exoGAINS2025 based on the input data provided by the new functions calcGAINS2025 and calcAirPollBaseyearEmi from pik-piam/mrremind#731.

! new inputdata including mrremind-PR731 is required!
! new reporting required remind2-PR753!

It implements the approach to calculate air pollutant emissions as:

Baseyear emissions (2020) * (GAINS emission factor / GAINS emission factor (2020)) * (REMIND activity / REMIND activity (2020))

The structure of exoGAINS2025 follows the existing realization exoGAINS. The initial duplication of the realization is done in the first commit "Part 1" to be able to separate it from the content changes in the following commits.

Main changes:

  • New emission factors from calcGAINS2025 used in REMIND (GAMS) and exoGAINS2025Airpollutants (R).
  • Option to choose between GAINS and CEDS for baseyear emissions in 2020 with cm_APsource
  • Reworking of exoGAINS2025 script to remove bugs and consistently implement new calculation (see above).
  • Update choice of REMIND activity variables based on feedback by @gunnar-pik .

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 (but limited to air pollutant emissions)

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 running here: /p/tmp/laurinko/remind-airpollution
    • Standard comparison PDF for a number of REMIND default scenarios (incl. old SSP2-NPi2025 for comparison): /p/tmp/laurinko/remind-airpollution/compScen-GAINS2025-2025-09-18_14.09.50-H12.pdf
    • Detailled air pollutants: /p/tmp/laurinko/remind-airpollution/compScen-GAINS2025-2025-09-18_14.09.50-AirPollutantsDetailed.pdf
  • Comparison of results (what changes by this PR?):
    • exoGAINS2025 run offline based on recent gdx files yields the following results at the CMIP7 harmonization sector level: emissions_by_sector_region_species.pdf
    • For comparison, here are the results from the IIASA pipeline based on the July 30 ScenarioMIP submission:
      harmonisation-results_REMIND.pdf
    • Double-checking SO2 emissions, CO2 emissions and PE|Coal in compScen-SSP2-NPi2025-GAINS-2025-09-17_23.04.23-H12.pdf (red: old, green/blue: new). As expected, due to usage of CEDS instead of GAINS as source, SO2 emissions are a bit higher. Also as expected, this leads to a slight decrease in coal use.
image image image

Comment thread config/default.cfg Outdated
"modules/11_aerosols/exoGAINS2025/input/emi2020_sectGAINS_sourceCEDS.cs4r",
"modules/11_aerosols/exoGAINS2025/input/emifacs_sectGAINS_sourceCEDS.cs4r",
"modules/11_aerosols/exoGAINS2025/input/emi2020_sectGAINS_sourceGAINS.cs4r",
"modules/11_aerosols/exoGAINS2025/input/emifacs_sectGAINS_sourceGAINS.cs4r",

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 will those new data not be provided by the input data?

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 followed the current logic of the exoGAINS script. These files are needed for it, and thus need to be copied into the run folder. Agree?

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 seems that it can be changed. Will do.

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.

Adressed by this commit: 2fd89d9

Is this the preferred way to implement it?

Comment thread core/sets.gms
SSP4
SSP5
MTFR
SMIPVLLO

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.

can this be deleted as long as we keep the old exoGAins-realization?

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.

GAINSlegacy can be deleted once we delete the old exoGAINS realization. It is not needed for the new exoGAINS2025 realization.

Comment thread main.gms
Comment thread modules/11_aerosols/exoGAINS2025/datainput.gms
+ p11_emiAPexsolve(t,regi,"solvents","BC")
+ p11_emiAPexsolve(t,regi,"extraction","BC")
+ p11_emiAPexsolve(t,regi,"indprocess","BC");
pm_emiExog(t,regi,"OC") = p11_emiAPexo(t,regi,"OC","AgWasteBurning")

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.

where are those data calculated for startyear > 2005?

@laurinks laurinks Sep 17, 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.

This is old (questionable) data that I had to keep for now in the interest of time. I would be happy to delete it all right away, but do not want to crash REMIND. The data currently comes from the old mrremind functions: https://github.com/pik-piam/mrremind/blob/3770198d494e3aa49c04f673ddc03586ca4186a4/R/fullREMIND.R#L110C1-L112C123

Updating this is part of : pik-piam/mrremind#731 (comment)

emifacs_sectGAINS_sourceCEDS.cs4r
f11_emifacs_sectREMIND_sourceCEDS.cs4r
emi2020_sectGAINS_sourceGAINS.cs4r
emifacs_sectGAINS_sourceGAINS.cs4r

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.

are all emi* files generated by input data process? If so, you do not need to add those to cfg$files2export$start, Distribution would happen automatically

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.

Yes, all emi files are generated by input data process. But how would REMIND now to put these here?

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.

This is linked to #2205 (comment). Please let me know if the input data files should be handled differently.

@laurinks
laurinks marked this pull request as ready for review September 17, 2025 17:54
…x): Fill NAs before computing GLO emissions.
@LaviniaBaumstark
LaviniaBaumstark merged commit 4864efd into remindmodel:develop Sep 17, 2025
3 checks passed
@laurinks
laurinks deleted the GAINS2025 branch September 18, 2025 11:33
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