From 5e4a81f82896485dcaa850394449a19ec194e852 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Jan 2024 19:04:34 +0100 Subject: [PATCH 1/4] haber-bosch: use DECHEMA source for hydrogen input --- config/config.default.yaml | 2 +- scripts/prepare_sector_network.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 37664ad6..97efa555 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -547,7 +547,7 @@ industry: MWh_NH3_per_tNH3: 5.166 MWh_CH4_per_tNH3_SMR: 10.8 MWh_elec_per_tNH3_SMR: 0.7 - MWh_H2_per_tNH3_electrolysis: 6.5 + MWh_H2_per_tNH3_electrolysis: 5.93 MWh_elec_per_tNH3_electrolysis: 1.17 MWh_NH3_per_MWh_H2_cracker: 1.46 # https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv NH3_process_emissions: 24.5 diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 1dc2b3ef..442bc564 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -810,8 +810,7 @@ def add_ammonia(n, costs): p_nom_extendable=True, carrier="Haber-Bosch", efficiency=1 / MWh_elec_per_MWh_NH3, - efficiency2=-cf_industry["MWh_H2_per_tNH3_electrolysis"] - / cf_industry["MWh_elec_per_tNH3_electrolysis"], # input: MW_H2 per MW_elec + efficiency2=-costs.at["Haber-Bosch", "hydrogen-input"] / MWh_elec_per_MWh_NH3, capital_cost=costs.at["Haber-Bosch", "fixed"] / MWh_elec_per_MWh_NH3, lifetime=costs.at["Haber-Bosch", "lifetime"], ) From 438b40cdb1bcdfe484db3585364b10cf8e4faca7 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Jan 2024 19:09:46 +0100 Subject: [PATCH 2/4] haber-bosch: use DECHEMA source for electricity input --- config/config.default.yaml | 2 +- scripts/prepare_sector_network.py | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 97efa555..31858a5b 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -548,7 +548,7 @@ industry: MWh_CH4_per_tNH3_SMR: 10.8 MWh_elec_per_tNH3_SMR: 0.7 MWh_H2_per_tNH3_electrolysis: 5.93 - MWh_elec_per_tNH3_electrolysis: 1.17 + MWh_elec_per_tNH3_electrolysis: 0.2473 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 diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 442bc564..d23143ff 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -796,10 +796,6 @@ def add_ammonia(n, costs): "Bus", spatial.ammonia.nodes, location=spatial.ammonia.locations, carrier="NH3" ) - MWh_elec_per_MWh_NH3 = ( - cf_industry["MWh_elec_per_tNH3_electrolysis"] / cf_industry["MWh_NH3_per_tNH3"] - ) - n.madd( "Link", nodes, @@ -809,9 +805,9 @@ def add_ammonia(n, costs): bus2=nodes + " H2", p_nom_extendable=True, carrier="Haber-Bosch", - efficiency=1 / MWh_elec_per_MWh_NH3, - efficiency2=-costs.at["Haber-Bosch", "hydrogen-input"] / MWh_elec_per_MWh_NH3, - capital_cost=costs.at["Haber-Bosch", "fixed"] / MWh_elec_per_MWh_NH3, + efficiency=1 / costs.at["Haber-Bosch", "electricity-input"], + efficiency2=-costs.at["Haber-Bosch", "hydrogen-input"] / costs.at["Haber-Bosch", "electricity-input"], + capital_cost=costs.at["Haber-Bosch", "fixed"] / costs.at["Haber-Bosch", "electricity-input"], lifetime=costs.at["Haber-Bosch", "lifetime"], ) From 815b8283115b427189f7fe364c6ca1070427e2d8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 18:11:42 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- scripts/prepare_sector_network.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 49d26726..e9d97ade 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -808,9 +808,12 @@ def add_ammonia(n, costs): p_nom_extendable=True, carrier="Haber-Bosch", efficiency=1 / costs.at["Haber-Bosch", "electricity-input"], - efficiency2=-costs.at["Haber-Bosch", "hydrogen-input"] / costs.at["Haber-Bosch", "electricity-input"], - capital_cost=costs.at["Haber-Bosch", "fixed"] / costs.at["Haber-Bosch", "electricity-input"], - marginal_cost=costs.at["Haber-Bosch", "VOM"] / costs.at["Haber-Bosch", "electricity-input"], + efficiency2=-costs.at["Haber-Bosch", "hydrogen-input"] + / costs.at["Haber-Bosch", "electricity-input"], + capital_cost=costs.at["Haber-Bosch", "fixed"] + / costs.at["Haber-Bosch", "electricity-input"], + marginal_cost=costs.at["Haber-Bosch", "VOM"] + / costs.at["Haber-Bosch", "electricity-input"], lifetime=costs.at["Haber-Bosch", "lifetime"], ) From ebc25fbf61b469de27c3b0e69bed336d7f3b167e Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 2 Jan 2024 19:12:41 +0100 Subject: [PATCH 4/4] add release note --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index b7035974..634209c7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -48,6 +48,8 @@ Upcoming Release * The ``mock_snakemake`` function can now be used with a Snakefile from a different directory using the new ``root_dir`` argument. +* Switch to using hydrogen and electricity inputs for Haber-Bosch from https://github.com/PyPSA/technology-data. + * Add option to capture CO2 contained in biogas when upgrading (``sector: biogas_to_gas_cc``). * Merged option to extend geographical scope to Ukraine and Moldova. These