solve_network: fix net vres share

This commit is contained in:
Fabian 2022-11-09 16:50:05 +01:00
parent 1e80edd265
commit 992efcaa91

View File

@ -220,12 +220,16 @@ def add_minRenew_constraints(n, config, o):
renewables=list(config["electricity"]["renewable_aim"].keys())
if len(o)>2:
share=float(o[2:])
renewables_i = n.generators[n.generators.carrier.str.contains("|".join(renewables))].index
renewables_b = n.generators.carrier.str.contains("|".join(renewables))
renewables_i = n.generators[renewables_b].index
conventionals_i = n.generators[~renewables_b].index
weightings = n.snapshot_weightings.generators
coeff = pd.DataFrame({c: weightings for c in renewables_i})
vars = get_var(n, "Generator", "p")[renewables_i]
lhs = linexpr((coeff, vars)).sum().sum()
rhs = share * weightings @ n.loads_t.p_set.sum(1)
vres = get_var(n, "Generator", "p")[renewables_i]
conv = get_var(n, "Generator", "p")[conventionals_i]
lhs = linexpr(((1 - share) * coeff, vres)).sum().sum()
lhs += linexpr((- share * coeff, conv)).sum().sum()
rhs = 0
define_constraints(n, lhs, '>=', rhs, 'Carrier', 'min_generation_renewables')
else:
for tech in renewables: