exporting additional costs, and compatibility adjustments (#261)
* added export for connection_cost adjustment * removed lambda function from multiprocessing changed true/false_values to lists * removed double import of functools * moved added costs to df column * Update scripts/simplify_network.py Co-authored-by: Leonie Plaga <leonie.plaga@ruhr-uni-bochum.de> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
This commit is contained in:
parent
e2c3118f08
commit
2aa59a3905
@ -239,7 +239,8 @@ rule simplify_network:
|
||||
network='networks/elec_s{simpl}.nc',
|
||||
regions_onshore="resources/regions_onshore_elec_s{simpl}.geojson",
|
||||
regions_offshore="resources/regions_offshore_elec_s{simpl}.geojson",
|
||||
busmap='resources/busmap_elec_s{simpl}.csv'
|
||||
busmap='resources/busmap_elec_s{simpl}.csv',
|
||||
connection_costs='resources/connection_costs_s{simpl}.csv'
|
||||
log: "logs/simplify_network/elec_s{simpl}.log"
|
||||
benchmark: "benchmarks/simplify_network/elec_s{simpl}"
|
||||
threads: 1
|
||||
|
@ -114,7 +114,7 @@ def _find_closest_links(links, new_links, distance_upper_bound=1.5):
|
||||
|
||||
def _load_buses_from_eg():
|
||||
buses = (pd.read_csv(snakemake.input.eg_buses, quotechar="'",
|
||||
true_values='t', false_values='f',
|
||||
true_values=['t'], false_values=['f'],
|
||||
dtype=dict(bus_id="str"))
|
||||
.set_index("bus_id")
|
||||
.drop(['station_id'], axis=1)
|
||||
@ -136,7 +136,7 @@ def _load_buses_from_eg():
|
||||
|
||||
def _load_transformers_from_eg(buses):
|
||||
transformers = (pd.read_csv(snakemake.input.eg_transformers, quotechar="'",
|
||||
true_values='t', false_values='f',
|
||||
true_values=['t'], false_values=['f'],
|
||||
dtype=dict(transformer_id='str', bus0='str', bus1='str'))
|
||||
.set_index('transformer_id'))
|
||||
|
||||
@ -147,7 +147,7 @@ def _load_transformers_from_eg(buses):
|
||||
|
||||
def _load_converters_from_eg(buses):
|
||||
converters = (pd.read_csv(snakemake.input.eg_converters, quotechar="'",
|
||||
true_values='t', false_values='f',
|
||||
true_values=['t'], false_values=['f'],
|
||||
dtype=dict(converter_id='str', bus0='str', bus1='str'))
|
||||
.set_index('converter_id'))
|
||||
|
||||
@ -159,7 +159,7 @@ def _load_converters_from_eg(buses):
|
||||
|
||||
|
||||
def _load_links_from_eg(buses):
|
||||
links = (pd.read_csv(snakemake.input.eg_links, quotechar="'", true_values='t', false_values='f',
|
||||
links = (pd.read_csv(snakemake.input.eg_links, quotechar="'", true_values=['t'], false_values=['f'],
|
||||
dtype=dict(link_id='str', bus0='str', bus1='str', under_construction="bool"))
|
||||
.set_index('link_id'))
|
||||
|
||||
@ -249,7 +249,7 @@ def _add_links_from_tyndp(buses, links):
|
||||
|
||||
|
||||
def _load_lines_from_eg(buses):
|
||||
lines = (pd.read_csv(snakemake.input.eg_lines, quotechar="'", true_values='t', false_values='f',
|
||||
lines = (pd.read_csv(snakemake.input.eg_lines, quotechar="'", true_values=['t'], false_values=['f'],
|
||||
dtype=dict(line_id='str', bus0='str', bus1='str',
|
||||
underground="bool", under_construction="bool"))
|
||||
.set_index('line_id')
|
||||
|
@ -178,6 +178,7 @@ def _compute_connection_costs_to_bus(n, busmap, connection_costs_per_link=None,
|
||||
|
||||
|
||||
def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus):
|
||||
connection_costs = {}
|
||||
for tech in connection_costs_to_bus:
|
||||
tech_b = n.generators.carrier == tech
|
||||
costs = n.generators.loc[tech_b, "bus"].map(connection_costs_to_bus[tech]).loc[lambda s: s>0]
|
||||
@ -185,6 +186,9 @@ def _adjust_capital_costs_using_connection_costs(n, connection_costs_to_bus):
|
||||
n.generators.loc[costs.index, "capital_cost"] += costs
|
||||
logger.info("Displacing {} generator(s) and adding connection costs to capital_costs: {} "
|
||||
.format(tech, ", ".join("{:.0f} Eur/MW/a for `{}`".format(d, b) for b, d in costs.iteritems())))
|
||||
connection_costs[tech] = costs
|
||||
pd.DataFrame(connection_costs).to_csv(snakemake.output.connection_costs)
|
||||
|
||||
|
||||
|
||||
def _aggregate_and_move_components(n, busmap, connection_costs_to_bus, aggregate_one_ports={"Load", "StorageUnit"}):
|
||||
|
Loading…
Reference in New Issue
Block a user