pypsa-eur icon indicating copy to clipboard operation
pypsa-eur copied to clipboard

Decoupling Waste Sector from Biomass and Industry Config

Open toniseibold opened this issue 7 months ago • 4 comments

Closes https://github.com/PyPSA/pypsa-eur/issues/1638

Changes proposed in this Pull Request

This PR decouples the waste streams from the biomass and industry config. So far, non-sequestered HVC was only accounted for if the industry sector was enabled since it was added with the production of naphtha for industry. Municipal solid waste was added in the function add_biomass.

This PR treats waste as any other sector, collects the data needed (from biomass potentials and the industry demand) and adds buses for non-sequestered HVC and municipal solid waste for each bus region or Europe.

In case there is no technology activated to use the waste msw is not added since the incineration is carbon neutral as of European law. In case any of config["waste"]["waste_to_energy"] or config["waste"]["waste_to_energy_cc"] is activated, the msw is added to the non-sequestered HVC potential with negative emissions since those are emitted later with the CHPs.

Checklist

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

Tests I ran to make sure the code works as intended:

  • Waste volume supplied by the generators adds up to the potential from the .csv files in all cases (also with waste transport enabled)
  • Code runs with all combinations of the newly introduced config settings
  • Exception that waste_spatial=False and [waste][transport] is caught by not allowing transport in that case
  • Config settings of waste=False and industry=True leads to co2 emissions in the naphtha for industry link
  • Emitted co2 stays constant

toniseibold avatar Apr 25 '25 14:04 toniseibold

Transport of msw and non-sequestered HVC is not modeled. However, when config["waste"]["enable"] == True the European potential can be used in each bus region where the model sees fit. I'm wondering if I should just allow the options False and True the latter being the regional implementation.

toniseibold avatar Apr 25 '25 14:04 toniseibold

Great to see you are getting started on this! Here are a few more thoughts:

  • While we are at it we could clarify the naming a bit. Most importantly, i'd suggest to simply have a solid waste bus. At the moment there would be two potential supply streams for this bus: municipal solid waste and HVC waste (which is now called non-sequestered HVC), and three withdrawal stream: waste_to_energy, waste_to_energy_cc and waste_to_air (now called HVC to air).

  • This would also allow to unify the transport. By activating a new config solid_waste_transport all content of the solid waste bus could be transported. For starters, I think we can simply take over the way it is done for biomass/msw in the current master.

  • instead of the option waste:enable:regional/true, we should have two keys: sector:waste:true/false and waste:regional:true/false, to mimick the way it is done for e.g. industry

Let's discuss the details on Monday :)

lindnemi avatar Apr 25 '25 16:04 lindnemi

xref https://github.com/PyPSA/pypsa-eur/pull/1625#issuecomment-2835470144

fneum avatar Apr 28 '25 14:04 fneum

I'm not sure if the transport of waste is really necessary - but the option is there. I also feel a bit unsure about whether it's really necessary to add a whole new config[waste] or if it is better to keep it all in config[sector] If you have any ideas of how I can visualize the test I did - please let me know.

toniseibold avatar Apr 30 '25 07:04 toniseibold