use config to manage conversion efficiencies

This commit is contained in:
Fabian Neumann 2022-06-10 16:43:29 +02:00
parent 2d562c1349
commit a2a4cf7c02
2 changed files with 8 additions and 5 deletions

View File

@ -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_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_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_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 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 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 HVC_primary_fraction: 1. # fraction of today's HVC produced via primary route

View File

@ -660,6 +660,8 @@ def add_ammonia(n, costs):
nodes = pop_layout.index nodes = pop_layout.index
cf_industry = snakemake.config["industry"]
n.add("Carrier", "NH3") n.add("Carrier", "NH3")
n.madd("Bus", n.madd("Bus",
@ -676,8 +678,8 @@ def add_ammonia(n, costs):
bus2=nodes + " H2", bus2=nodes + " H2",
p_nom_extendable=True, p_nom_extendable=True,
carrier="Haber-Bosch", carrier="Haber-Bosch",
efficiency=+0.221, #MWh_e/MWh_NH3 0.247 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=-1.226, #MWh_H2/MWh_NH3 1.148 https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv 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"], capital_cost=costs.at["Haber-Bosch synthesis", "fixed"],
lifetime=costs.at["Haber-Bosch synthesis", 'lifetime'] lifetime=costs.at["Haber-Bosch synthesis", 'lifetime']
) )
@ -688,9 +690,9 @@ def add_ammonia(n, costs):
bus0=nodes + " NH3", bus0=nodes + " NH3",
bus1=nodes + " H2", bus1=nodes + " H2",
p_nom_extendable=True, p_nom_extendable=True,
carrier ="ammonia cracker", carrier="ammonia cracker",
efficiency=0.685, #MWh_H2/MWh_NH3 https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv efficiency=1 / cf_industry["MWh_NH3_per_MWh_H2_cracker"]
capital_cost=costs.at["Ammonia cracker", "fixed"] * 0.685, # given per MWh_H2 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'] lifetime=costs.at['Ammonia cracker', 'lifetime']
) )