Skip to content

Add direct emissions method with data export#3444

Merged
kndehaan merged 101 commits into
masterfrom
emissions
Jun 19, 2026
Merged

Add direct emissions method with data export#3444
kndehaan merged 101 commits into
masterfrom
emissions

Conversation

@kndehaan

@kndehaan kndehaan commented May 29, 2026

Copy link
Copy Markdown
Member

Context

This PR adds a new direct emissions method to the model, together with a detailed data export containing all greenhouse gas emissions of a scenario.

Implemented changes

  • New engine methods and node attributes that calculate relevant direct emissions, based on presence of (molecule) node group emissions
  • Data processing pipeline that generates start year emissions data for country datasets, based on reported emission data from UNFCCC. Start year data is added as emissions.csv file to ETSource using a rake task.
  • New molecule nodes that read static emission data from emissions.csv, specified for co2 and other_ghg
  • Detailed data export containing relevant direct reporting emission results for all relevant nodes, and categorises these into ETM sector and subsector.

Related

Goes with pull requests:

Checklist

  • I have tested these changes
  • I have updated documentation as needed
  • I have tagged the relevant people for review

louispt1 and others added 25 commits May 29, 2026 17:07
* Add molecule node examples

* Create 35 molecule nodes for emissions accounting

* Create groups for all emission molecule nodes

* Minor corrections

---------

Co-authored-by: robindesmit-quintel <robin.desmit@quintel.com>
@kndehaan kndehaan requested a review from mabijkerk June 5, 2026 12:52
@mabijkerk

Copy link
Copy Markdown
Member

@kndehaan what do we do with the emissions of energy_methanol_production_coal_gas?

@kndehaan

Copy link
Copy Markdown
Member Author

what do we do with the emissions of energy_methanol_production_coal_gas?

We didn't put the emissions group on this node as this is a dead end in the graph. Only coal gas goes in, no carrier goes out. If emissions group is specified here, it gives incorrect emission results based on ingoing coal gas and non-CO2 going out, therefore all CO2 in coal gas being emitted.

Comment thread datasets/DE_germany/emissions.csv
Comment thread datasets/DE_germany/emissions.csv
Comment thread datasets/DE_germany/emissions.csv
Comment thread datasets/DE_germany/emissions.csv
Industry,Steel,non_energetic,other_ghg,kton CO2-eq,5.56444
LULUCF,Emissions,non_energetic,co2,kton CO2-eq,0.0
LULUCF,Emissions,non_energetic,other_ghg,kton CO2-eq,7706.51255
LULUCF,Removals,non_energetic,co2,kton CO2-eq,14528.77232

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 there no other_ghg removals?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

By definition of IPCC guidelines the removals of other GHG is not possible. I also checked this in the UNFCCC data; none of the countries have negative other GHG.

LULUCF,Emissions,non_energetic,co2,kton CO2-eq,0.0
LULUCF,Emissions,non_energetic,other_ghg,kton CO2-eq,7706.51255
LULUCF,Removals,non_energetic,co2,kton CO2-eq,14528.77232
Other,Indirect emissions,non_energetic,co2,kton CO2-eq,0.0

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.

How do we calculate indirect emissions? I cannot find it in the source file.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Indirect emissions are determined based on input IPCC file, filtering columns:

  • category: Total GHG emissions with LULUCF
  • measure: Indirect emissions

Point of discussion: we only take the value for indirect CO2 emissions and currently ignore if there are indirect N2O emissions. We should reconsider this: the indirect N2O emissions are only expressed in kg N2O in the two data source routes (UNFCCC API and UNFCCC Excel).

Does this mean that expressing this into kg CO2eq would not make sense if we were to implement the indirect N2O emissions in the model? So should we then also express this in kg N2O? This would require some extra thought and work as we currently don't model N2O in the molecule graph...

@mabijkerk mabijkerk 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.

Methods are good to merge, any remaining comments are not must have and can be picked up later. Datasets need more review but are good enough for now, since it is the first beta release.

@kndehaan kndehaan merged commit 1b5be12 into master Jun 19, 2026
1 check passed
@kndehaan kndehaan deleted the emissions branch June 19, 2026 09:44
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.

6 participants