Skip to content

Non-sequestered HVC Waste Allocation According to Population #1625

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

toniseibold
Copy link
Contributor

@toniseibold toniseibold commented Apr 2, 2025

Changes proposed in this Pull Request

This PR entangles the naphtha for industry links.
So far, these links included the production of HVC (and therefore meeting the load naphtha for industry) that is linked to process emissions as well as the waste handling of HVC at its end of life.
In this PR those two processes are separated to make the code easier to comprehend and distribute the emissions from HVC waste in a more logical sense:

  • a total of non-sequestered HVC waste volume is calculated
  • depending on the spatial resolution of the naphtha demand it is added as a European or bus region specific store
  • In case of bus region resolution the waste volume is distributed according to the population (underlying assumption: every European citizen contributes equally to the HVC waste volume without country specific differences)
  • The non-sequestered HVC must either be burned without energetic utilisation or can be used in waste CHPs (with or without CC)

Test
workflow runs locally with the different config settings

  • waste_to_energy: true/false
  • waste_to_energy_cc: true/false
  • regional_oil_demand: true/false

Results

  • total CO2 emissions from non-sequestered HVC (in case of waste_to_energy: false and waste_to_energy_cc: false: 60.43 Mt
  • total carbon content of naphtha for industry load: 71.18 Mt
  • remaining process emissions: 10.80 Mt from naphtha for industry links
    Store energy content
    image

Checklist

  • I tested my contribution locally and it works as intended.
  • Code and workflow changes are sufficiently documented.
  • Changed dependencies are added to envs/environment.yaml.
    not applicable
  • Changes in configuration options are added in config/config.default.yaml.
    not applicable
  • Changes in configuration options are documented in doc/configtables/*.csv.
    not applicable
  • Sources of newly added data are documented in doc/data_sources.rst.
    not applicable
  • A release note doc/release_notes.rst is added.

@toniseibold toniseibold requested a review from fneum April 2, 2025 09:44
@toniseibold toniseibold requested a review from lindnemi April 2, 2025 09:44
@toniseibold toniseibold marked this pull request as ready for review April 2, 2025 09:44
@fneum fneum requested a review from Copilot April 3, 2025 08:49
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR separates the handling of HVC waste from process emissions and distributes non-sequestered HVC waste based on population, improving code clarity and logical emissions allocation. Key changes include:

  • Separating HVC waste processing from process emissions and introducing distinct calculations for non-sequestered HVC.
  • Adding a store for population-distributed non-sequestered HVC and updating links to reflect the new distribution logic.
  • Updating plotting configuration with a new color for non-sequestered HVC.

Reviewed Changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
scripts/prepare_sector_network.py Separates HVC waste handling, adds store/link for population-based distribution, and updates efficiency parameters.
config/plotting.default.yaml Adds a color code for non-sequestered HVC to support visual differentiation.
Files not reviewed (1)
  • doc/release_notes.rst: Language not supported
Comments suppressed due to low confidence (2)

scripts/prepare_sector_network.py:4649

  • Replacing 'efficiency2' with 'efficiency' changes the parameter passed to the link; please confirm that this update is intentional and that it captures the intended scaling for CO2 intensity without omitting adjustments from non-sequestered or process emissions.
efficiency=costs.at["oil", "CO2 intensity"]

scripts/prepare_sector_network.py:4615

  • [nitpick] Appending the suffix directly to the index may lead to duplicated labels if the index already contains ' non-sequestered HVC'; consider verifying that the index values are consistently unique.
HVC_potential.index = HVC_potential.index + " non-sequestered HVC"

@lindnemi
Copy link
Contributor

lindnemi commented Apr 3, 2025

Great, PR! I would suggest to go two steps further:

Step 1 (could be done in this PR): Decouple non-sequestered HVC completely from the oil_demand and instead of using the non_sequestered_hvc_locations as buses, always use nodes as buses. Would simplify the code and intuitively makes more sense to me. What are your thoughts on this @toniseibold , @fneum ?

Step 2 (separate PR): Decouple the waste sector from the industry sector. With the decoupling of process emissions from naptha for industry, that should be relatively straightforward.

General remark: We might have to be a bit careful with potential double counting in "municipal solid waste" and "non-sequestered HVC"

@fneum fneum modified the milestone: v2025.04.0 Apr 5, 2025
@toniseibold
Copy link
Contributor Author

@lindnemi I moved the the locations of non-sequestered HVC to the spatial variable as suggested.

Copy link
Contributor

@lindnemi lindnemi left a comment

Choose a reason for hiding this comment

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

The location of the non-sequestered HVC is now much cleaner and follows the style of the other oil carriers more closely.

However, what I suggested, was to decouple the HVC waste entirely from the oil_sector, i.e., to always use full spatial resolution of HVC waste by assigning them to all nodes, regardless if options['regional_oil_demand'] is True or False.

Since there is going to be a second PR for decoupling the waste sector from the overall industry sector, I leave it up to you if you want to implement the decoupling from regional_oil_demand already here or in the follow up PR.

Otherwise the PR looks good (Caveat: I only looked at the code, but didn't run it, let me know if you need a second person to run it, i will have time tomorrow)

@toniseibold toniseibold force-pushed the pop_distribute_non_sequestered_HVC branch from a2e3ed2 to fbc523a Compare April 9, 2025 08:55
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.

3 participants