manage process emissions in spatial

This commit is contained in:
Fabian Neumann 2023-02-06 09:46:24 +01:00
parent 0681cf93ab
commit a0b18a8fcd

View File

@ -65,10 +65,12 @@ def define_spatial(nodes, options):
spatial.co2.nodes = nodes + " co2 stored" spatial.co2.nodes = nodes + " co2 stored"
spatial.co2.locations = nodes spatial.co2.locations = nodes
spatial.co2.vents = nodes + " co2 vent" spatial.co2.vents = nodes + " co2 vent"
spatial.co2.process_emissions = nodes + " process emissions"
else: else:
spatial.co2.nodes = ["co2 stored"] spatial.co2.nodes = ["co2 stored"]
spatial.co2.locations = ["EU"] spatial.co2.locations = ["EU"]
spatial.co2.vents = ["co2 vent"] spatial.co2.vents = ["co2 vent"]
spatial.co2.process_emissions = ["process emissions"]
spatial.co2.df = pd.DataFrame(vars(spatial.co2), index=nodes) spatial.co2.df = pd.DataFrame(vars(spatial.co2), index=nodes)
@ -2408,8 +2410,8 @@ def add_industry(n, costs):
) )
n.add("Bus", n.add("Bus",
"process emissions", spatial.co2.process_emissions,
location="EU", location=spatial.co2.locations,
carrier="process emissions", carrier="process emissions",
unit="t_co2" unit="t_co2"
) )
@ -2417,15 +2419,15 @@ def add_industry(n, costs):
# this should be process emissions fossil+feedstock # this should be process emissions fossil+feedstock
# then need load on atmosphere for feedstock emissions that are currently going to atmosphere via Link Fischer-Tropsch demand # then need load on atmosphere for feedstock emissions that are currently going to atmosphere via Link Fischer-Tropsch demand
n.add("Load", n.add("Load",
"process emissions", spatial.co2.process_emissions,
bus="process emissions", bus=spatial.co2.process_emissions,
carrier="process emissions", carrier="process emissions",
p_set=-industrial_demand.loc[nodes,["process emission", "process emission from feedstock"]].sum(axis=1).sum() / 8760 p_set=-industrial_demand.loc[nodes,["process emission", "process emission from feedstock"]].sum(axis=1).sum() / 8760
) )
n.add("Link", n.add("Link",
"process emissions", spatial.co2.process_emissions,
bus0="process emissions", bus0=spatial.co2.process_emissions,
bus1="co2 atmosphere", bus1="co2 atmosphere",
carrier="process emissions", carrier="process emissions",
p_nom_extendable=True, p_nom_extendable=True,
@ -2436,7 +2438,7 @@ def add_industry(n, costs):
n.madd("Link", n.madd("Link",
spatial.co2.locations, spatial.co2.locations,
suffix=" process emissions CC", suffix=" process emissions CC",
bus0="process emissions", bus0=spatial.co2.process_emissions,
bus1="co2 atmosphere", bus1="co2 atmosphere",
bus2=spatial.co2.nodes, bus2=spatial.co2.nodes,
carrier="process emissions CC", carrier="process emissions CC",