Updated osm-prebuilt network to v0.4 and added version control to config (#1293)
* Updated base_network script and rules. * Updated osm-prebuilt to version 0.4 and added version control. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
dbe7f48d6e
commit
42f2c37ebf
@ -88,6 +88,7 @@ co2_budget:
|
|||||||
electricity:
|
electricity:
|
||||||
voltages: [200., 220., 300., 380., 500., 750.]
|
voltages: [200., 220., 300., 380., 500., 750.]
|
||||||
base_network: osm-prebuilt
|
base_network: osm-prebuilt
|
||||||
|
osm-prebuilt-version: 0.4
|
||||||
gaslimit_enable: false
|
gaslimit_enable: false
|
||||||
gaslimit: false
|
gaslimit: false
|
||||||
co2limit_enable: false
|
co2limit_enable: false
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
,Unit,Values,Description
|
,Unit,Values,Description
|
||||||
voltages,kV,"Any subset of {200., 220., 300., 380., 500., 750.}",Voltage levels to consider
|
voltages,kV,"Any subset of {200., 220., 300., 380., 500., 750.}",Voltage levels to consider
|
||||||
base_network, --, "Any value in {'entsoegridkit', 'osm-prebuilt', 'osm-raw}", "Specify the underlying base network, i.e. GridKit (based on ENTSO-E web map extract, OpenStreetMap (OSM) prebuilt or raw (built from raw OSM data), takes longer."
|
base_network, --, "Any value in {'entsoegridkit', 'osm-prebuilt', 'osm-raw}", "Specify the underlying base network, i.e. GridKit (based on ENTSO-E web map extract, OpenStreetMap (OSM) prebuilt or raw (built from raw OSM data), takes longer."
|
||||||
|
osm-prebuilt-version, --, "float, any value in range 0.1-0.4", "Choose the version of the prebuilt OSM network. Defaults to latest Zenodo release."
|
||||||
gaslimit_enable,bool,true or false,Add an overall absolute gas limit configured in ``electricity: gaslimit``.
|
gaslimit_enable,bool,true or false,Add an overall absolute gas limit configured in ``electricity: gaslimit``.
|
||||||
gaslimit,MWhth,float or false,Global gas usage limit
|
gaslimit,MWhth,float or false,Global gas usage limit
|
||||||
co2limit_enable,bool,true or false,Add an overall absolute carbon-dioxide emissions limit configured in ``electricity: co2limit`` in :mod:`prepare_network`. **Warning:** This option should currently only be used with electricity-only networks, not for sector-coupled networks..
|
co2limit_enable,bool,true or false,Add an overall absolute carbon-dioxide emissions limit configured in ``electricity: co2limit`` in :mod:`prepare_network`. **Warning:** This option should currently only be used with electricity-only networks, not for sector-coupled networks..
|
||||||
|
Can't render this file because it has a wrong number of fields in line 6.
|
@ -299,10 +299,10 @@ Data in this section is retrieved and extracted in rules specified in ``rules/re
|
|||||||
``data/osm-prebuilt``
|
``data/osm-prebuilt``
|
||||||
|
|
||||||
- **Source:** OpenStreetMap; Xiong, B., Neumann, F., & Brown, T. (2024).
|
- **Source:** OpenStreetMap; Xiong, B., Neumann, F., & Brown, T. (2024).
|
||||||
Prebuilt Electricity Network for PyPSA-Eur based on OpenStreetMap Data (0.3)
|
Prebuilt Electricity Network for PyPSA-Eur based on OpenStreetMap Data (0.4)
|
||||||
[Data set]. Zenodo. https://doi.org/10.5281/zenodo.13358976
|
[Data set]. Zenodo. https://doi.org/10.5281/zenodo.13759222
|
||||||
- **Link:** https://zenodo.org/records/13358976
|
- **Link:** https://zenodo.org/records/13759222
|
||||||
- **License:** ODbL (`reference <https://zenodo.org/records/13358976>`)
|
- **License:** ODbL (`reference <https://zenodo.org/records/13759222>`)
|
||||||
- **Description:** Pre-built data of high-voltage transmission grid in Europe from OpenStreetMap.
|
- **Description:** Pre-built data of high-voltage transmission grid in Europe from OpenStreetMap.
|
||||||
|
|
||||||
``data/osm-raw``
|
``data/osm-raw``
|
||||||
|
@ -32,6 +32,10 @@ Release Notes
|
|||||||
|
|
||||||
* The sources of nearly all data files are now listed in the documentation.
|
* The sources of nearly all data files are now listed in the documentation.
|
||||||
|
|
||||||
|
* Updated osm-prebuilt network to version 0.4: https://doi.org/10.5281/zenodo.13759222 : Added Kosovo (XK) as dedicated region. Fixed major 330 kV line in Moldova (MD) (https://www.openstreetmap.org/way/33360284).
|
||||||
|
|
||||||
|
* Add version control to osm-prebuilt: `config["electricity"]["osm-prebuilt-version"]`. Defaults to latest Zenodo release, i.e. v0.4, Config is only considered when selecting `osm-prebuilt` as `base_network`.
|
||||||
|
|
||||||
PyPSA-Eur 0.12.0 (30th August 2024)
|
PyPSA-Eur 0.12.0 (30th August 2024)
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
|
@ -52,12 +52,16 @@ rule build_powerplants:
|
|||||||
|
|
||||||
def input_base_network(w):
|
def input_base_network(w):
|
||||||
base_network = config_provider("electricity", "base_network")(w)
|
base_network = config_provider("electricity", "base_network")(w)
|
||||||
|
osm_prebuilt_version = config_provider("electricity", "osm-prebuilt-version")(w)
|
||||||
components = {"buses", "lines", "links", "converters", "transformers"}
|
components = {"buses", "lines", "links", "converters", "transformers"}
|
||||||
if base_network == "osm-raw":
|
if base_network == "osm-raw":
|
||||||
inputs = {c: resources(f"osm-raw/build/{c}.csv") for c in components}
|
inputs = {c: resources(f"osm-raw/build/{c}.csv") for c in components}
|
||||||
else:
|
elif base_network == "osm-prebuilt":
|
||||||
|
inputs = {
|
||||||
|
c: f"data/{base_network}/{osm_prebuilt_version}/{c}.csv" for c in components
|
||||||
|
}
|
||||||
|
elif base_network == "entsoegridkit":
|
||||||
inputs = {c: f"data/{base_network}/{c}.csv" for c in components}
|
inputs = {c: f"data/{base_network}/{c}.csv" for c in components}
|
||||||
if base_network == "entsoegridkit":
|
|
||||||
inputs["parameter_corrections"] = "data/parameter_corrections.yaml"
|
inputs["parameter_corrections"] = "data/parameter_corrections.yaml"
|
||||||
inputs["links_p_nom"] = "data/links_p_nom.csv"
|
inputs["links_p_nom"] = "data/links_p_nom.csv"
|
||||||
return inputs
|
return inputs
|
||||||
|
@ -534,24 +534,38 @@ if config["enable"]["retrieve"]:
|
|||||||
if config["enable"]["retrieve"] and (
|
if config["enable"]["retrieve"] and (
|
||||||
config["electricity"]["base_network"] == "osm-prebuilt"
|
config["electricity"]["base_network"] == "osm-prebuilt"
|
||||||
):
|
):
|
||||||
|
# Dictionary of prebuilt versions, e.g. 0.3 : "13358976"
|
||||||
|
osm_prebuilt_version = {
|
||||||
|
0.1: "12799202",
|
||||||
|
0.2: "13342577",
|
||||||
|
0.3: "13358976",
|
||||||
|
0.4: "13759222",
|
||||||
|
}
|
||||||
|
|
||||||
|
# update rule to use the correct version
|
||||||
rule retrieve_osm_prebuilt:
|
rule retrieve_osm_prebuilt:
|
||||||
input:
|
input:
|
||||||
buses=storage("https://zenodo.org/records/13358976/files/buses.csv"),
|
buses=storage(
|
||||||
converters=storage(
|
f"https://zenodo.org/records/{osm_prebuilt_version[config['electricity']['osm-prebuilt-version']]}/files/buses.csv"
|
||||||
"https://zenodo.org/records/13358976/files/converters.csv"
|
),
|
||||||
|
converters=storage(
|
||||||
|
f"https://zenodo.org/records/{osm_prebuilt_version[config['electricity']['osm-prebuilt-version']]}/files/converters.csv"
|
||||||
|
),
|
||||||
|
lines=storage(
|
||||||
|
f"https://zenodo.org/records/{osm_prebuilt_version[config['electricity']['osm-prebuilt-version']]}/files/lines.csv"
|
||||||
|
),
|
||||||
|
links=storage(
|
||||||
|
f"https://zenodo.org/records/{osm_prebuilt_version[config['electricity']['osm-prebuilt-version']]}/files/links.csv"
|
||||||
),
|
),
|
||||||
lines=storage("https://zenodo.org/records/13358976/files/lines.csv"),
|
|
||||||
links=storage("https://zenodo.org/records/13358976/files/links.csv"),
|
|
||||||
transformers=storage(
|
transformers=storage(
|
||||||
"https://zenodo.org/records/13358976/files/transformers.csv"
|
f"https://zenodo.org/records/{osm_prebuilt_version[config['electricity']['osm-prebuilt-version']]}/files/transformers.csv"
|
||||||
),
|
),
|
||||||
output:
|
output:
|
||||||
buses="data/osm-prebuilt/buses.csv",
|
buses=f"data/osm-prebuilt/{config['electricity']['osm-prebuilt-version']}/buses.csv",
|
||||||
converters="data/osm-prebuilt/converters.csv",
|
converters=f"data/osm-prebuilt/{config['electricity']['osm-prebuilt-version']}/converters.csv",
|
||||||
lines="data/osm-prebuilt/lines.csv",
|
lines=f"data/osm-prebuilt/{config['electricity']['osm-prebuilt-version']}/lines.csv",
|
||||||
links="data/osm-prebuilt/links.csv",
|
links=f"data/osm-prebuilt/{config['electricity']['osm-prebuilt-version']}/links.csv",
|
||||||
transformers="data/osm-prebuilt/transformers.csv",
|
transformers=f"data/osm-prebuilt/{config['electricity']['osm-prebuilt-version']}/transformers.csv",
|
||||||
log:
|
log:
|
||||||
"logs/retrieve_osm_prebuilt.log",
|
"logs/retrieve_osm_prebuilt.log",
|
||||||
threads: 1
|
threads: 1
|
||||||
|
@ -717,6 +717,7 @@ def base_network(
|
|||||||
):
|
):
|
||||||
|
|
||||||
base_network = config["electricity"].get("base_network")
|
base_network = config["electricity"].get("base_network")
|
||||||
|
osm_prebuilt_version = config["electricity"].get("osm-prebuilt-version")
|
||||||
assert base_network in {
|
assert base_network in {
|
||||||
"entsoegridkit",
|
"entsoegridkit",
|
||||||
"osm-raw",
|
"osm-raw",
|
||||||
@ -728,7 +729,12 @@ def base_network(
|
|||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.info(f"Creating base network using {base_network}.")
|
logger_str = (
|
||||||
|
f"Creating base network using {base_network}"
|
||||||
|
+ (f" v{osm_prebuilt_version}" if base_network == "osm-prebuilt" else "")
|
||||||
|
+ "."
|
||||||
|
)
|
||||||
|
logger.info(logger_str)
|
||||||
|
|
||||||
buses = _load_buses(buses, europe_shape, config)
|
buses = _load_buses(buses, europe_shape, config)
|
||||||
transformers = _load_transformers(buses, transformers)
|
transformers = _load_transformers(buses, transformers)
|
||||||
@ -764,7 +770,11 @@ def base_network(
|
|||||||
converters = _set_electrical_parameters_converters(converters, config)
|
converters = _set_electrical_parameters_converters(converters, config)
|
||||||
|
|
||||||
n = pypsa.Network()
|
n = pypsa.Network()
|
||||||
n.name = f"PyPSA-Eur ({base_network})"
|
n.name = (
|
||||||
|
f"PyPSA-Eur ({base_network}"
|
||||||
|
+ (f" v{osm_prebuilt_version}" if base_network == "osm-prebuilt" else "")
|
||||||
|
+ ")"
|
||||||
|
)
|
||||||
|
|
||||||
time = get_snapshots(snakemake.params.snapshots, snakemake.params.drop_leap_day)
|
time = get_snapshots(snakemake.params.snapshots, snakemake.params.drop_leap_day)
|
||||||
n.set_snapshots(time)
|
n.set_snapshots(time)
|
||||||
|
Loading…
Reference in New Issue
Block a user