Merge branch 'industry-coal-bug'

This commit is contained in:
Fabian Neumann 2024-02-16 12:47:34 +01:00
commit 6a8ae68aec
3 changed files with 38 additions and 5 deletions

View File

@ -501,6 +501,7 @@ sector:
SMR_cc: true
regional_methanol_demand: false
regional_oil_demand: false
regional_coal_demand: false
regional_co2_sequestration_potential:
enable: false
attribute: 'conservative estimate Mt'

View File

@ -29,6 +29,10 @@ Upcoming Release
* Merged two OPSD time series data versions into such that the option ``load:
power_statistics:`` becomes superfluous and was hence removed.
* Bugfix: The industry coal emissions for industry were not properly tracked.
* Allow industrial coal demand to be regional so its emissions can be included
in regional emission limits.
* Add new default to overdimension heating in individual buildings. This allows
them to cover heat demand peaks e.g. 10% higher than those in the data. The

View File

@ -172,6 +172,13 @@ def define_spatial(nodes, options):
spatial.coal.nodes = ["EU coal"]
spatial.coal.locations = ["EU"]
if options["regional_coal_demand"]:
spatial.coal.demand_locations = nodes
spatial.coal.industry = nodes + " coal for industry"
else:
spatial.coal.demand_locations = ["EU"]
spatial.coal.industry = ["EU coal for industry"]
# lignite
spatial.lignite = SimpleNamespace()
spatial.lignite.nodes = ["EU lignite"]
@ -3048,19 +3055,40 @@ def add_industry(n, costs):
mwh_coal_per_mwh_coke = 1.366 # from eurostat energy balance
p_set = (
industrial_demand["coal"].sum()
+ mwh_coal_per_mwh_coke * industrial_demand["coke"].sum()
industrial_demand["coal"]
+ mwh_coal_per_mwh_coke * industrial_demand["coke"]
) / nhours
if not options["regional_coal_demand"]:
p_set = p_set.sum()
n.madd(
"Bus",
spatial.coal.industry,
location=spatial.coal.demand_locations,
carrier="coal for industry",
unit="MWh_LHV",
)
n.madd(
"Load",
spatial.coal.nodes,
suffix=" for industry",
bus=spatial.coal.nodes,
spatial.coal.industry,
bus=spatial.coal.industry,
carrier="coal for industry",
p_set=p_set,
)
n.madd(
"Link",
spatial.coal.industry,
bus0=spatial.coal.nodes,
bus1=spatial.coal.industry,
bus2="co2 atmosphere",
carrier="coal for industry",
p_nom_extendable=True,
efficiency2=costs.at["coal", "CO2 intensity"],
)
def add_waste_heat(n):
# TODO options?