Custom busmap (#1231)
* Added functionality to set custom_busmaps for different base_networks. * Updated configtables and location for busmaps. * Added release nots. * removed run parameter in mock_snakemake (only used for debugging). * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
73d1353608
commit
ef0bbd5f37
@ -4,5 +4,5 @@ retrieve_databundle,bool,"{true, false}","Switch to retrieve databundle from zen
|
||||
retrieve_cost_data,bool,"{true, false}","Switch to retrieve technology cost data from `technology-data repository <https://github.com/PyPSA/technology-data>`_."
|
||||
build_cutout,bool,"{true, false}","Switch to enable the building of cutouts via the rule :mod:`build_cutout`."
|
||||
retrieve_cutout,bool,"{true, false}","Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`."
|
||||
custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``."
|
||||
custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``. {base_network} is the name of the selected base_network in electricity, e.g. ``gridkit``, ``osm-prebuilt``, or ``osm-raw``."
|
||||
drop_leap_day,bool,"{true, false}","Switch to drop February 29 from all time-dependent data in leap years"
|
||||
|
|
@ -91,6 +91,8 @@ Upcoming Release
|
||||
* In :mod:`base_network`, replace own voronoi polygon calculation function with
|
||||
Geopandas `gdf.voronoi_polygons` method.
|
||||
|
||||
* Move custom busmaps to ```data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv``` (if enabled). This allows for different busmaps depending on the base network and scenario.
|
||||
|
||||
PyPSA-Eur 0.11.0 (25th May 2024)
|
||||
=====================================
|
||||
|
||||
|
@ -530,6 +530,15 @@ rule simplify_network:
|
||||
"../scripts/simplify_network.py"
|
||||
|
||||
|
||||
# Optional input when using custom busmaps - Needs to be tailored to selected base_network
|
||||
def input_cluster_network(w):
|
||||
if config_provider("enable", "custom_busmap", default=False)(w):
|
||||
base_network = config_provider("electricity", "base_network")(w)
|
||||
custom_busmap = f"data/busmaps/elec_s{w.simpl}_{w.clusters}_{base_network}.csv"
|
||||
return {"custom_busmap": custom_busmap}
|
||||
return {"custom_busmap": []}
|
||||
|
||||
|
||||
rule cluster_network:
|
||||
params:
|
||||
cluster_network=config_provider("clustering", "cluster_network"),
|
||||
@ -546,15 +555,11 @@ rule cluster_network:
|
||||
length_factor=config_provider("lines", "length_factor"),
|
||||
costs=config_provider("costs"),
|
||||
input:
|
||||
unpack(input_cluster_network),
|
||||
network=resources("networks/elec_s{simpl}.nc"),
|
||||
regions_onshore=resources("regions_onshore_elec_s{simpl}.geojson"),
|
||||
regions_offshore=resources("regions_offshore_elec_s{simpl}.geojson"),
|
||||
busmap=ancient(resources("busmap_elec_s{simpl}.csv")),
|
||||
custom_busmap=lambda w: (
|
||||
"data/custom_busmap_elec_s{simpl}_{clusters}.csv"
|
||||
if config_provider("enable", "custom_busmap", default=False)(w)
|
||||
else []
|
||||
),
|
||||
tech_costs=lambda w: resources(
|
||||
f"costs_{config_provider('costs', 'year')(w)}.csv"
|
||||
),
|
||||
|
@ -36,7 +36,7 @@ Inputs
|
||||
- ``resources/regions_offshore_elec_s{simpl}.geojson``: confer :ref:`simplify`
|
||||
- ``resources/busmap_elec_s{simpl}.csv``: confer :ref:`simplify`
|
||||
- ``networks/elec_s{simpl}.nc``: confer :ref:`simplify`
|
||||
- ``data/custom_busmap_elec_s{simpl}_{clusters}.csv``: optional input
|
||||
- ``data/custom_busmap_elec_s{simpl}_{clusters}_{base_network}.csv``: optional input
|
||||
|
||||
Outputs
|
||||
-------
|
||||
@ -511,9 +511,7 @@ if __name__ == "__main__":
|
||||
# Fast-path if no clustering is necessary
|
||||
busmap = n.buses.index.to_series()
|
||||
linemap = n.lines.index.to_series()
|
||||
clustering = pypsa.clustering.spatial.Clustering(
|
||||
n, busmap, linemap
|
||||
)
|
||||
clustering = pypsa.clustering.spatial.Clustering(n, busmap, linemap)
|
||||
else:
|
||||
Nyears = n.snapshot_weightings.objective.sum() / 8760
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user