Skip to content

Commit 029a535

Browse files
author
Michael Lindner
authored
Merge branch 'main' into technology-data-13.4
2 parents 9618927 + 4ea0261 commit 029a535

File tree

81 files changed

+3535
-1898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3535
-1898
lines changed

.github/workflows/codeql.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ jobs:
5555
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
5656
steps:
5757
- name: Checkout repository
58-
uses: actions/checkout@v4
58+
uses: actions/checkout@v5
5959

6060
# Initializes the CodeQL tools for scanning.
6161
- name: Initialize CodeQL
62-
uses: github/codeql-action/init@v3
62+
uses: github/codeql-action/init@v4
6363
with:
6464
languages: ${{ matrix.language }}
6565
build-mode: ${{ matrix.build-mode }}
@@ -87,6 +87,6 @@ jobs:
8787
exit 1
8888
8989
- name: Perform CodeQL Analysis
90-
uses: github/codeql-action/analyze@v3
90+
uses: github/codeql-action/analyze@v4
9191
with:
9292
category: "/language:${{matrix.language}}"

.github/workflows/push-images.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
name: dev-env
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v5
2020
with:
2121
fetch-depth: 0
2222

.github/workflows/test.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ on:
88
branches:
99
- main
1010
schedule:
11-
- cron: "0 5 * * 1-6"
1211
- cron: "0 5 * * 0"
1312
workflow_dispatch:
1413

@@ -35,7 +34,7 @@ jobs:
3534
shell: bash -l {0}
3635

3736
steps:
38-
- uses: actions/checkout@v4
37+
- uses: actions/checkout@v5
3938

4039
- name: Setup env file path (ubuntu)
4140
if: matrix.os == 'ubuntu'
@@ -53,8 +52,8 @@ jobs:
5352
5453
- name: Use base env file if it was changed
5554
run: |
56-
git fetch origin master
57-
if git diff --name-only origin/master | grep '${{ env.BASE_ENV }}'; then
55+
git fetch origin ${{ github.event.repository.default_branch }}
56+
if git diff --name-only origin/${{ github.event.repository.default_branch }} | grep '${{ env.BASE_ENV }}'; then
5857
echo "Base env ${{ env.BASE_ENV }} changed. Using it instead of locked envs."
5958
echo "env_file=${{ env.BASE_ENV }}" >> $GITHUB_ENV
6059
else
@@ -70,7 +69,7 @@ jobs:
7069
path: |
7170
data
7271
cutouts
73-
resources/ariadne_database.csv
72+
data/ariadne_database.csv
7473
key: data-cutouts-${{ env.WEEK }}
7574

7675
- uses: conda-incubator/setup-miniconda@v3

.github/workflows/update-pinned-env.yaml

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
run:
2020
shell: bash -l {0}
2121
steps:
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v5
2323

2424
- name: Setup conda
2525
uses: conda-incubator/setup-miniconda@v3
@@ -43,15 +43,6 @@ jobs:
4343
for file in envs/*.lock.yml; do
4444
mv "$file" "${file%.yml}.yaml"
4545
done
46-
- name: Add SPDX headers to lock files
47-
run: |
48-
SPDX_HEADER="# SPDX-FileCopyrightText: Contributors to PyPSA-Eur <https://github.com/pypsa/pypsa-eur>\n# SPDX-License-Identifier: CC0-1.0\n"
49-
50-
# Add header to all generated lock files
51-
for file in envs/*.lock.yaml; do
52-
echo "Adding header to $file"
53-
echo -e "$SPDX_HEADER" | cat - "$file" > temp && mv temp "$file"
54-
done
5546
5647
- name: Insert environment name in lock files
5748
run: |
@@ -78,9 +69,9 @@ jobs:
7869
needs: update-locked-environment
7970
runs-on: ubuntu-latest
8071
steps:
81-
- uses: actions/checkout@v4
72+
- uses: actions/checkout@v5
8273
- name: Download all artifacts
83-
uses: actions/download-artifact@v4
74+
uses: actions/download-artifact@v5
8475
with:
8576
name: lockfiles
8677
path: envs/

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ci:
55

66
repos:
77
- repo: https://github.com/pre-commit/pre-commit-hooks
8-
rev: v5.0.0
8+
rev: v6.0.0
99
hooks:
1010
- id: check-merge-conflict
1111
- id: check-added-large-files
@@ -14,7 +14,7 @@ repos:
1414
# Run ruff to lint and format
1515
- repo: https://github.com/astral-sh/ruff-pre-commit
1616
# Ruff version.
17-
rev: v0.12.2
17+
rev: v0.13.3
1818
hooks:
1919
# Run the linter.
2020
- id: ruff
@@ -48,6 +48,6 @@ repos:
4848

4949
# Format Snakemake rule / workflow files
5050
- repo: https://github.com/snakemake/snakefmt
51-
rev: v0.11.0
51+
rev: v0.11.2
5252
hooks:
5353
- id: snakefmt

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22
- Updated technology-data to v0.13.4
3+
- Simplified IIASA database download
4+
- Bugfix: Enforce stricter H2 derivative import limit to avoid that exports of one type of derivative compensate for imports of another
5+
- Added an option to source mobility demand from UBA MWMS (Projektionsbericht 2025) for the years 2025-2035
6+
- Renamed functions and script for exogenous mobility demand
7+
- Improved the transport demand data, added an option to source 2020 and 2025 data from AGEB instead of Aladin
8+
- Added a helper function to change the weather_year to build_scenario
39
- Longer lifetime (40 years) is only applied to existing gas CHPs, not new ones. Added a new config entry `existing_capacities:fill_value_gas_chp_lifetime`
410
- Bugfix: gas CHPs are extendable again
511
- Simplified scenarion definition and made `Mix` the default scenario

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ test:
8282
echo "Build scenarios..."
8383
snakemake -call build_scenarios
8484
echo "Run DACH config..."
85-
snakemake -call ariadne_all --configfile=config/test/config.dach.yaml
85+
snakemake -call ariadne_all --until export_ariadne_variables --configfile=config/test/config.dach.yaml
8686
echo "All tests completed successfully."
8787

8888
unit-test:
@@ -95,6 +95,7 @@ clean-tests:
9595
snakemake -call --configfile config/test/config.myopic.yaml --delete-all-output
9696
snakemake -call make_summary_perfect --configfile config/test/config.perfect.yaml --delete-all-output
9797
snakemake -call --configfile config/test/config.scenarios.yaml -n --delete-all-output
98+
snakemake -call plot_power_networks_clustered --configfile config/test/config.tyndp.yaml --delete-all-output
9899

99100
# Removes all created files except for large cutout files (similar to fresh clone)
100101
reset:

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ This repository contains the entire scientific project, including data sources a
1515
You need `conda` or `mamba` to run the analysis. Using conda, you can create an environment from within which you can run the analysis:
1616

1717
```
18-
conda env create -f envs/{os}-pinned.yaml
18+
conda env create -f envs/{os}.lock.yaml
1919
```
2020

2121
Where `{os}` should be replaced with your operating system, e.g. for linux the command would be:
2222

2323
```
24-
conda env create -f envs/linux-pinned.yaml
24+
conda env create -f envs/linux-64.lock.yaml
2525
```
2626

2727
## Run the analysis
@@ -77,7 +77,7 @@ PyPSA-DE is a softfork of PyPSA-EUR. As such, large parts of the functionality a
7777

7878
## New Config Options
7979

80-
- `iiasa_database` - interaction with IIASA database. Specify a database, and `leitmodelle` for demand and co2 emissions data in specific sectors
80+
- `pypsa-de` - interaction with IIASA database. Specify a database, and `leitmodelle` for demand and co2 emissions data in specific sectors
8181
- `wasserstoff_kernnetz` - configure which parts of the Wasserstoff Kernnetz should be included in the model
8282
- `new_decentral_fossil_boiler_ban` - specify in which country and which years to ban fossil boilers
8383
- `coal_generation_ban` - specify in which country and which years to ban electricity generation from coal
@@ -105,7 +105,7 @@ SPDX-License-Identifier: CC-BY-4.0
105105
![Size](https://img.shields.io/github/repo-size/pypsa/pypsa-eur)
106106
[![Zenodo PyPSA-Eur](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
107107
[![Zenodo PyPSA-Eur-Sec](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042)
108-
[![Snakemake](https://img.shields.io/badge/snakemake-≥8.14.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
108+
[![Snakemake](https://img.shields.io/badge/snakemake-≥9-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
109109
[![Discord](https://img.shields.io/discord/911692131440148490?logo=discord)](https://discord.gg/AnuJBk23FU)
110110
[![REUSE status](https://api.reuse.software/badge/github.com/pypsa/pypsa-eur)](https://api.reuse.software/info/github.com/pypsa/pypsa-eur)
111111

REUSE.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
version = 1
2+
SPDX-PackageName = "PyPSA-Eur"
3+
SPDX-PackageSupplier = "Tom Brown <[email protected]>"
4+
SPDX-PackageDownloadLocation = "https://github.com/pypsa/pypsa-eur"
5+
6+
[[annotations]]
7+
path = [
8+
"data/**",
9+
"doc/configtables/*",
10+
"doc/data.csv",
11+
"doc/img/*",
12+
"test/test_data/*",
13+
]
14+
SPDX-FileCopyrightText = "The PyPSA-Eur Authors"
15+
SPDX-License-Identifier = "CC-BY-4.0"
16+
17+
[[annotations]]
18+
path = [
19+
".github/**",
20+
"borg-it",
21+
"envs/*.lock.yaml",
22+
"matplotlibrc",
23+
]
24+
SPDX-FileCopyrightText = "The PyPSA-Eur Authors"
25+
SPDX-License-Identifier = "CC0-1.0"

0 commit comments

Comments
 (0)