base_network: Improve treatment of under_construction links
This commit is contained in:
parent
21fd124d6e
commit
6f98607aec
@ -110,11 +110,11 @@ lines:
|
||||
|
||||
s_max_pu: 0.7
|
||||
length_factor: 1.25
|
||||
with_under_construction: false
|
||||
under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
|
||||
|
||||
links:
|
||||
s_max_pu: 0.7
|
||||
with_under_construction: false
|
||||
under_construction: 'keep' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
|
||||
|
||||
transformers:
|
||||
x: 0.1
|
||||
|
@ -94,6 +94,7 @@ def _apply_parameter_corrections(n):
|
||||
with open(snakemake.input.parameter_corrections) as f:
|
||||
corrections = yaml.load(f)
|
||||
|
||||
if corrections is None: return
|
||||
for component, attrs in iteritems(corrections):
|
||||
df = n.df(component)
|
||||
if attrs is None: continue
|
||||
@ -118,8 +119,6 @@ def _set_electrical_parameters_lines(lines):
|
||||
lines.loc[lines["v_nom"] == v_nom, 'type'] = linetypes[v_nom]
|
||||
|
||||
lines['s_max_pu'] = snakemake.config['lines']['s_max_pu']
|
||||
if not snakemake.config['lines']['with_under_construction']:
|
||||
lines.loc[lines.under_construction.astype(bool), 'num_parallel'] = 0.
|
||||
|
||||
return lines
|
||||
|
||||
@ -154,9 +153,6 @@ def _set_electrical_parameters_links(links):
|
||||
p_nom = links_p_nom.dropna(subset=["j"]).set_index("j")["Power (MW)"]
|
||||
links.loc[p_nom.index, "p_nom"] = p_nom
|
||||
|
||||
if not snakemake.config['links']['with_under_construction']:
|
||||
links.loc[links.under_construction.astype(bool), "p_nom"] = 0.
|
||||
|
||||
return links
|
||||
|
||||
def _set_electrical_parameters_converters(converters):
|
||||
@ -302,6 +298,23 @@ def _set_links_underwater_fraction(n):
|
||||
links = gpd.GeoSeries(n.links.geometry.dropna().map(shapely.wkt.loads))
|
||||
n.links['underwater_fraction'] = links.intersection(offshore_shape).length / links.length
|
||||
|
||||
def _adjust_capacities_of_under_construction_branches(n):
|
||||
lines_mode = snakemake.config['lines'].get('under_construction', 'undef')
|
||||
if lines_mode == 'zero':
|
||||
n.lines.loc[n.lines.under_construction, 'num_parallel'] = 0.
|
||||
elif lines_mode == 'remove':
|
||||
n.mremove("Line", n.lines.index[n.lines.under_construction])
|
||||
elif lines_mode != 'keep':
|
||||
logger.warn("Unrecognized configuration for `lines: under_construction` = `{}`. Keeping under construction lines.")
|
||||
|
||||
links_mode = snakemake.config['links'].get('under_construction', 'undef')
|
||||
if links_mode == 'zero':
|
||||
n.links.loc[n.links.under_construction, "p_nom"] = 0.
|
||||
elif links_mode == 'remove':
|
||||
n.mremove("Link", n.links.index[n.links.under_construction])
|
||||
elif links_mode != 'keep':
|
||||
logger.warn("Unrecognized configuration for `links: under_construction` = `{}`. Keeping under construction links.")
|
||||
|
||||
def base_network():
|
||||
buses = _load_buses_from_eg()
|
||||
|
||||
@ -339,6 +352,8 @@ def base_network():
|
||||
|
||||
_replace_b2b_converter_at_country_border_by_link(n)
|
||||
|
||||
_adjust_capacities_of_under_construction_branches(n)
|
||||
|
||||
return n
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
Reference in New Issue
Block a user