From a2a4cf7c023eccdbb5d5de2043fac2036a16347f Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 10 Jun 2022 16:43:29 +0200 Subject: [PATCH] use config to manage conversion efficiencies --- config.default.yaml | 1 + scripts/prepare_sector_network.py | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config.default.yaml b/config.default.yaml index b510780e..d2291f58 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -297,6 +297,7 @@ industry: MWh_elec_per_tNH3_SMR: 0.7 # same source, assuming 94-6% split methane-elec of total energy demand 11.5 MWh/tNH3 MWh_H2_per_tNH3_electrolysis: 6.5 # from https://doi.org/10.1016/j.joule.2018.04.017, around 0.197 tH2/tHN3 (>3/17 since some H2 lost and used for energy) MWh_elec_per_tNH3_electrolysis: 1.17 # from https://doi.org/10.1016/j.joule.2018.04.017 Table 13 (air separation and HB) + MWh_NH3_per_MWh_H2_cracker: 1.46 # https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv NH3_process_emissions: 24.5 # in MtCO2/a from SMR for H2 production for NH3 from UNFCCC for 2015 for EU28 petrochemical_process_emissions: 25.5 # in MtCO2/a for petrochemical and other from UNFCCC for 2015 for EU28 HVC_primary_fraction: 1. # fraction of today's HVC produced via primary route diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index a524e882..dd4e6e39 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -660,6 +660,8 @@ def add_ammonia(n, costs): nodes = pop_layout.index + cf_industry = snakemake.config["industry"] + n.add("Carrier", "NH3") n.madd("Bus", @@ -676,8 +678,8 @@ def add_ammonia(n, costs): bus2=nodes + " H2", p_nom_extendable=True, carrier="Haber-Bosch", - efficiency=+0.221, #MWh_e/MWh_NH3 0.247 https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv - efficiency2=-1.226, #MWh_H2/MWh_NH3 1.148 https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv + efficiency=1 / (cf_industry["MWh_elec_per_tNH3_electrolysis"] / cf_industry["MWh_NH3_per_tNH3"]) # output: MW_NH3 per MW_elec + efficiency2=-cf_industry["MWh_H2_per_tNH3_electrolysis"] / cf_industry["MWh_elec_per_tNH3_electrolysis"] # input: MW_H2 per MW_elec capital_cost=costs.at["Haber-Bosch synthesis", "fixed"], lifetime=costs.at["Haber-Bosch synthesis", 'lifetime'] ) @@ -688,9 +690,9 @@ def add_ammonia(n, costs): bus0=nodes + " NH3", bus1=nodes + " H2", p_nom_extendable=True, - carrier ="ammonia cracker", - efficiency=0.685, #MWh_H2/MWh_NH3 https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv - capital_cost=costs.at["Ammonia cracker", "fixed"] * 0.685, # given per MWh_H2 + carrier="ammonia cracker", + efficiency=1 / cf_industry["MWh_NH3_per_MWh_H2_cracker"] + capital_cost=costs.at["Ammonia cracker", "fixed"] / cf_industry["MWh_NH3_per_MWh_H2_cracker"], # given per MW_H2 lifetime=costs.at['Ammonia cracker', 'lifetime'] )