create parallel structures for land-use constraints w/wo m
This commit is contained in:
parent
4400658099
commit
4375083838
@ -21,18 +21,23 @@ pypsa.pf.logger.setLevel(logging.WARNING)
|
|||||||
def add_land_use_constraint(n):
|
def add_land_use_constraint(n):
|
||||||
|
|
||||||
if 'm' in snakemake.wildcards.clusters:
|
if 'm' in snakemake.wildcards.clusters:
|
||||||
add_land_use_constraint_m(n)
|
_add_land_use_constraint_m(n)
|
||||||
else:
|
else:
|
||||||
#warning: this will miss existing offwind which is not classed AC-DC and has carrier 'offwind'
|
_add_land_use_constraint(n)
|
||||||
for carrier in ['solar', 'onwind', 'offwind-ac', 'offwind-dc']:
|
|
||||||
existing = n.generators.loc[n.generators.carrier==carrier,"p_nom"].groupby(n.generators.bus.map(n.buses.location)).sum()
|
|
||||||
existing.index += " " + carrier + "-" + snakemake.wildcards.planning_horizons
|
def _add_land_use_constraint(n):
|
||||||
n.generators.loc[existing.index,"p_nom_max"] -= existing
|
#warning: this will miss existing offwind which is not classed AC-DC and has carrier 'offwind'
|
||||||
|
|
||||||
|
for carrier in ['solar', 'onwind', 'offwind-ac', 'offwind-dc']:
|
||||||
|
existing = n.generators.loc[n.generators.carrier==carrier,"p_nom"].groupby(n.generators.bus.map(n.buses.location)).sum()
|
||||||
|
existing.index += " " + carrier + "-" + snakemake.wildcards.planning_horizons
|
||||||
|
n.generators.loc[existing.index,"p_nom_max"] -= existing
|
||||||
|
|
||||||
n.generators.p_nom_max.clip(lower=0, inplace=True)
|
n.generators.p_nom_max.clip(lower=0, inplace=True)
|
||||||
|
|
||||||
|
|
||||||
def add_land_use_constraint_m(n):
|
def _add_land_use_constraint_m(n):
|
||||||
# if generators clustering is lower than network clustering, land_use accounting is at generators clusters
|
# if generators clustering is lower than network clustering, land_use accounting is at generators clusters
|
||||||
|
|
||||||
planning_horizons = snakemake.config["scenario"]["planning_horizons"]
|
planning_horizons = snakemake.config["scenario"]["planning_horizons"]
|
||||||
@ -56,6 +61,8 @@ def add_land_use_constraint_m(n):
|
|||||||
sel_p_year = [i + " " + carrier + "-" + p_year for i in ind2]
|
sel_p_year = [i + " " + carrier + "-" + p_year for i in ind2]
|
||||||
n.generators.loc[sel_current, "p_nom_max"] -= existing.loc[sel_p_year].rename(lambda x: x[:-4] + current_horizon)
|
n.generators.loc[sel_current, "p_nom_max"] -= existing.loc[sel_p_year].rename(lambda x: x[:-4] + current_horizon)
|
||||||
|
|
||||||
|
n.generators.p_nom_max.clip(lower=0, inplace=True)
|
||||||
|
|
||||||
|
|
||||||
def prepare_network(n, solve_opts=None):
|
def prepare_network(n, solve_opts=None):
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user