Merge branch 'master' into refactor-copy-config-get-rdir

This commit is contained in:
Fabian Hofmann 2024-03-19 08:36:50 +01:00 committed by GitHub
commit a04ee4227f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 24 additions and 13 deletions

View File

@ -51,7 +51,7 @@ repos:
# Formatting with "black" coding style
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 24.2.0
rev: 24.3.0
hooks:
# Format Python files
- id: black

View File

@ -1,6 +1,6 @@
,Unit,Values,Description
year,--,YYYY; e.g. '2030',Year for which to retrieve cost assumptions of ``resources/costs.csv``.
version,--,vX.X.X; e.g. 'v0.5.0',Version of ``technology-data`` repository to use.
version,--,vX.X.X or <user>/<repo>/vX.X.X; e.g. 'v0.5.0',Version of ``technology-data`` repository to use. If this string is of the form <user>/<repo>/<version> then costs are instead retrieved from ``github.com/<user>/<repo>`` at the <version> tag.
rooftop_share,--,float,Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV).
social_discountrate,p.u.,float,Social discount rate to compare costs in different investment periods. 0.02 corresponds to a social discount rate of 2%.
fill_values,--,float,Default values if not specified for a technology in ``resources/costs.csv``.

1 Unit Values Description
2 year -- YYYY; e.g. '2030' Year for which to retrieve cost assumptions of ``resources/costs.csv``.
3 version -- vX.X.X; e.g. 'v0.5.0' vX.X.X or <user>/<repo>/vX.X.X; e.g. 'v0.5.0' Version of ``technology-data`` repository to use. Version of ``technology-data`` repository to use. If this string is of the form <user>/<repo>/<version> then costs are instead retrieved from ``github.com/<user>/<repo>`` at the <version> tag.
4 rooftop_share -- float Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV).
5 social_discountrate p.u. float Social discount rate to compare costs in different investment periods. 0.02 corresponds to a social discount rate of 2%.
6 fill_values -- float Default values if not specified for a technology in ``resources/costs.csv``.

View File

@ -82,6 +82,8 @@ Upcoming Release
* Upgrade default techno-economic assumptions to ``technology-data`` v0.8.1.
* Add possibility to download cost data from custom fork of ``technology-data``.
* Linearly interpolate missing investment periods in year-dependent
configuration options.

View File

@ -50,7 +50,7 @@ if config["enable"].get("retrieve_irena"):
onwind="data/existing_infrastructure/onwind_capacity_IRENA.csv",
solar="data/existing_infrastructure/solar_capacity_IRENA.csv",
log:
logs("retrieve_irena.log"),
"logs/retrieve_irena.log",
resources:
mem_mb=1000,
retries: 2

View File

@ -184,12 +184,13 @@ def sanitize_carriers(n, config):
def sanitize_locations(n):
n.buses["x"] = n.buses.x.where(n.buses.x != 0, n.buses.location.map(n.buses.x))
n.buses["y"] = n.buses.y.where(n.buses.y != 0, n.buses.location.map(n.buses.y))
n.buses["country"] = n.buses.country.where(
n.buses.country.ne("") & n.buses.country.notnull(),
n.buses.location.map(n.buses.country),
)
if "location" in n.buses.columns:
n.buses["x"] = n.buses.x.where(n.buses.x != 0, n.buses.location.map(n.buses.x))
n.buses["y"] = n.buses.y.where(n.buses.y != 0, n.buses.location.map(n.buses.y))
n.buses["country"] = n.buses.country.where(
n.buses.country.ne("") & n.buses.country.notnull(),
n.buses.location.map(n.buses.country),
)
def add_co2_emissions(n, costs, carriers):

View File

@ -537,5 +537,8 @@ if __name__ == "__main__":
# set carbon constraints
n = set_carbon_constraints(n)
# update meta
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
# export network
n.export_to_netcdf(snakemake.output[0])

View File

@ -25,9 +25,10 @@ if __name__ == "__main__":
set_scenario_config(snakemake)
version = snakemake.params.version
baseurl = (
f"https://raw.githubusercontent.com/PyPSA/technology-data/{version}/outputs/"
)
if "/" in version:
baseurl = f"https://raw.githubusercontent.com/{version}/outputs"
else:
baseurl = f"https://raw.githubusercontent.com/PyPSA/technology-data/{version}/outputs/"
filepath = Path(snakemake.output[0])
url = baseurl + filepath.name

View File

@ -2,8 +2,12 @@
#
# SPDX-License-Identifier: CC0-1.0
set -x && \
snakemake -call solve_elec_networks --configfile config/test/config.electricity.yaml --rerun-triggers=mtime && \
snakemake -call all --configfile config/test/config.overnight.yaml --rerun-triggers=mtime && \
snakemake -call all --configfile config/test/config.myopic.yaml --rerun-triggers=mtime && \
snakemake -call all --configfile config/test/config.perfect.yaml --rerun-triggers=mtime && \
snakemake -call all --configfile config/test/config.scenarios.yaml --rerun-triggers=mtime -n
snakemake -call all --configfile config/test/config.scenarios.yaml --rerun-triggers=mtime -n && \
set +x