solve_network: activate co2 seq constraint

Snakefile: retrieve data bundle from pypsaeur function
This commit is contained in:
Fabian 2023-02-08 18:19:31 +01:00
parent 99c0882bab
commit f4d0415cf0
2 changed files with 15 additions and 13 deletions

View File

@ -252,9 +252,9 @@ rule build_biomass_potentials:
enspreso_biomass=HTTP.remote("https://cidportal.jrc.ec.europa.eu/ftp/jrc-opendata/ENSPRESO/ENSPRESO_BIOMASS.xlsx", keep_local=True),
nuts2="data/nuts/NUTS_RG_10M_2013_4326_LEVL_2.geojson", # https://gisco-services.ec.europa.eu/distribution/v2/nuts/download/#nuts21
regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson"),
nuts3_population="../pypsa-eur/data/bundle/nama_10r_3popgdp.tsv.gz",
swiss_cantons="../pypsa-eur/data/bundle/ch_cantons.csv",
swiss_population="../pypsa-eur/data/bundle/je-e-21.03.02.xls",
nuts3_population=pypsaeur("data/bundle/nama_10r_3popgdp.tsv.gz"),
swiss_cantons=pypsaeur("data/bundle/ch_cantons.csv"),
swiss_population=pypsaeur("data/bundle/je-e-21.03.02.xls"),
country_shapes=pypsaeur('resources/country_shapes.geojson')
output:
biomass_potentials_all='resources/biomass_potentials_all_s{simpl}_{clusters}.csv',

View File

@ -100,16 +100,18 @@ def prepare_network(n, solve_opts=None):
def add_battery_constraints(n):
"""
Add constraints to ensure that the ratio between the charger and
discharger.
Add constraint ensuring that charger = discharger:
1 * charger_size - efficiency * discharger_size = 0
"""
nodes = n.buses.index[n.buses.carrier == "battery"]
if nodes.empty:
return
link_p_nom = n.model["Link-p_nom"]
eff = n.links.efficiency[nodes + " discharger"].values
lhs = link_p_nom.loc[nodes + ' charger'] - link_p_nom.loc[nodes + ' discharger'] * eff
discharger_bool = n.links.index.str.contains("battery discharger")
charger_bool = n.links.index.str.contains("battery charger")
dischargers_ext= n.links[discharger_bool].query("p_nom_extendable").index
chargers_ext= n.links[charger_bool].query("p_nom_extendable").index
eff = n.links.efficiency[dischargers_ext].values
lhs = n.model["Link-p_nom"].loc[chargers_ext] - n.model["Link-p_nom"].loc[dischargers_ext] * eff
n.model.add_constraints(lhs == 0, name="Link-charger_ratio")
@ -194,7 +196,7 @@ def add_co2_sequestration_limit(n, sns):
def extra_functionality(n, snapshots):
add_battery_constraints(n)
add_pipe_retrofit_constraint(n)
# add_co2_sequestration_limit(n, snapshots)
add_co2_sequestration_limit(n, snapshots)
def solve_network(n, config, opts="", **kwargs):