diff --git a/config/config.default.yaml b/config/config.default.yaml index 51080862..5afc6f8e 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -606,9 +606,34 @@ industry: MWh_NH3_per_MWh_H2_cracker: 1.46 # https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv NH3_process_emissions: 24.5 petrochemical_process_emissions: 25.5 - HVC_primary_fraction: 1. - HVC_mechanical_recycling_fraction: 0. - HVC_chemical_recycling_fraction: 0. + #HVC primary/recycling based on values used in Neumann et al https://doi.org/10.1016/j.joule.2023.06.016, linearly interpolated between 2020 and 2050 + #2020 recycling rates based on Agora https://static.agora-energiewende.de/fileadmin/Projekte/2021/2021_02_EU_CEAP/A-EW_254_Mobilising-circular-economy_study_WEB.pdf + #fractions refer to the total primary HVC production in 2020 + #assumes 6.7 Mtplastics produced from recycling in 2020 + HVC_primary_fraction: + 2020: 1.0 + 2025: 0.9 + 2030: 0.8 + 2035: 0.7 + 2040: 0.6 + 2045: 0.5 + 2050: 0.4 + HVC_mechanical_recycling_fraction: + 2020: 0.12 + 2025: 0.15 + 2030: 0.18 + 2035: 0.21 + 2040: 0.24 + 2045: 0.27 + 2050: 0.30 + HVC_chemical_recycling_fraction: + 2020: 0.0 + 2025: 0.0 + 2030: 0.04 + 2035: 0.08 + 2040: 0.12 + 2045: 0.16 + 2050: 0.20 HVC_production_today: 52. MWh_elec_per_tHVC_mechanical_recycling: 0.547 MWh_elec_per_tHVC_chemical_recycling: 6.9 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 44ccdff5..c394cb06 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -68,6 +68,14 @@ Upcoming Release * A ``test.sh`` script was added to the repository to run the tests locally. +* Default settings for recycling rates and primary product shares of high-value + chemicals have been set in accordance with the values used in `Neumann et al. + (2023) `_ linearly interpolated + between 2020 and 2050. The recycling rates are based on data from `Agora + Energiewende (2021) + `_. + + PyPSA-Eur 0.9.0 (5th January 2024) ================================== diff --git a/envs/environment.yaml b/envs/environment.yaml index 26e18f0d..88e394fa 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -48,6 +48,7 @@ dependencies: - tabula-py - pyxlsb - graphviz +- pre-commit # Keep in conda environment when calling ipython - ipython diff --git a/scripts/add_existing_baseyear.py b/scripts/add_existing_baseyear.py index 0235a4d7..4f476b4d 100644 --- a/scripts/add_existing_baseyear.py +++ b/scripts/add_existing_baseyear.py @@ -482,7 +482,7 @@ def add_heating_capacities_installed_before_baseyear( "Link", nodes, suffix=f" {name} gas boiler-{grouping_year}", - bus0=spatial.gas.nodes, + bus0="EU gas" if "EU gas" in spatial.gas.nodes else nodes + " gas", bus1=nodes + " " + name + " heat", bus2="co2 atmosphere", carrier=name + " gas boiler", diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 42def055..03cba48b 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1319,22 +1319,6 @@ def add_storage_and_grids(n, costs): n, "H2 pipeline ", carriers=["DC", "gas pipeline"] ) - h2_pipes["p_nom"] = 0.0 - - if snakemake.input.get("custom_h2_pipelines"): - fn = snakemake.input.custom_h2_pipelines - custom_pipes = pd.read_csv(fn, index_col=0) - - h2_pipes = pd.concat([h2_pipes, custom_pipes]) - - # drop duplicates according to buses (order can be different) and keep pipe with highest p_nom - h2_pipes["buses_sorted"] = h2_pipes[["bus0", "bus1"]].apply(sorted, axis=1) - h2_pipes = ( - h2_pipes.sort_values("p_nom") - .drop_duplicates(subset=["buses_sorted"], keep="last") - .drop(columns="buses_sorted") - ) - # TODO Add efficiency losses n.madd( "Link", @@ -1343,7 +1327,6 @@ def add_storage_and_grids(n, costs): bus1=h2_pipes.bus1.values + " H2", p_min_pu=-1, p_nom_extendable=True, - p_nom_min=h2_pipes.p_nom.values, length=h2_pipes.length.values, capital_cost=costs.at["H2 (g) pipeline", "fixed"] * h2_pipes.length.values, carrier="H2 pipeline",