Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge pypsa eur sec #484

Merged
merged 1,211 commits into from
Mar 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1211 commits
Select commit Hold shift + click to select a range
a0b18a8
manage process emissions in spatial
fneum Feb 6, 2023
ad8ccf3
fix process emission localisation with co2 (not) spatially resolved
fneum Feb 6, 2023
fcf527d
update gitignore
FabianHofmann Feb 7, 2023
c8f601e
solve.py: start converting extra_funcionalities
FabianHofmann Jan 20, 2023
c25091c
solve_network.py: switch to linopy interface
FabianHofmann Feb 8, 2023
6c57b81
config: move solver options in dedicated section
FabianHofmann Nov 16, 2022
69dabc3
ci: fix test configs
FabianHofmann Nov 17, 2022
2bb723e
CI: fix empty dict in configs
FabianHofmann Nov 17, 2022
098e3bb
ci: format configs
FabianHofmann Nov 18, 2022
6d3959f
ci: format configs II
FabianHofmann Nov 18, 2022
faa95c5
config: modularize solver_options
FabianHofmann Nov 18, 2022
d144547
Merge branch 'ci-review' into linopy-integration
Feb 8, 2023
99c0882
Merge pull request #293 from PyPSA/linopy-integration
Feb 8, 2023
f4d0415
solve_network: activate co2 seq constraint
FabianHofmann Feb 8, 2023
e8cc671
Merge pull request #297 from PyPSA/no-sw-technology-data
Feb 8, 2023
77449e9
Merge branch 'master' into ci-review
Feb 8, 2023
94fb6c6
prepare sector: add allam cycle
FabianHofmann Feb 8, 2023
3f98ccb
update technology data version
FabianHofmann Feb 8, 2023
98e3c7a
solve_network: fix kwargs in solve_network
FabianHofmann Feb 8, 2023
46e3b16
prepare sector: harmonize logger infos
FabianHofmann Feb 8, 2023
d36629a
add_brownfield: remove basename import
FabianHofmann Feb 8, 2023
a0c1d32
plot_network: fix empty h2 retrofit for myopic
FabianHofmann Feb 8, 2023
a6d359c
update gitignore
FabianHofmann Feb 9, 2023
38a58b6
prepare sector: fix logger percentage info
FabianHofmann Feb 9, 2023
01db4f4
compatibility with technology-data v0.5
fneum Feb 10, 2023
30b2460
Merge pull request #300 from PyPSA/tech-data-0.5
lisazeyen Feb 10, 2023
7d5d48a
solve network: fix sequestration constraint
FabianHofmann Feb 10, 2023
29858b1
Merge branch 'master' into ci-review
Feb 10, 2023
d54894e
pandas update: closed to inclusive
fneum Feb 11, 2023
9be7aff
Merge branch 'master' of github.com:pypsa/pypsa-eur-sec
fneum Feb 11, 2023
5d08dfc
add min part load for FT and methanolisation via p_min_pu
fneum Feb 15, 2023
b1b289f
add option to use electrolysis waste heat in district heating
fneum Feb 15, 2023
d2f2af9
add release note
fneum Feb 15, 2023
fb23e10
Merge pull request #302 from PyPSA/minpartload
fneum Feb 15, 2023
809b07b
Merge pull request #303 from PyPSA/electrolysis-wasteheat
fneum Feb 15, 2023
6b8e69c
Merge branch 'master' into carbon-management
fneum Feb 15, 2023
3dede28
merging script in retrieve_gas_input_location with build_gas_input_lo…
virio-andreyana Feb 16, 2023
ccde2e7
make sequestration options configurable
fneum Feb 16, 2023
b2ea057
add release note
fneum Feb 16, 2023
126a5be
add new options to test config files
fneum Feb 16, 2023
a1e17b6
Merge pull request #296 from PyPSA/carbon-management
fneum Feb 16, 2023
963e7cd
Merge branch 'master' into update-lng-ports
fneum Feb 16, 2023
ece64a7
gas_input: use HTTP remote, rename conversion factors, fix undesired …
fneum Feb 16, 2023
8e74ee6
Merge pull request #289 from PyPSA/update-lng-ports
fneum Feb 16, 2023
82939ca
resolve merge conflicts
fneum Feb 16, 2023
35b8425
cherry-pick from #282
fneum Feb 16, 2023
c2a249e
Merge pull request #304 from PyPSA/ci-review-cherries
fneum Feb 16, 2023
8ac425a
Merge branch 'master' into ci-review
fneum Feb 16, 2023
b14d657
minor fixes and address deprecation warnings
fneum Feb 16, 2023
63a5a39
organise release notes
fneum Feb 16, 2023
2280bae
add workflow rulegraph
fneum Feb 16, 2023
341ee6a
Merge pull request #305 from PyPSA/release-v0.7.0
fneum Feb 16, 2023
df1bba0
remove gitter
fneum Feb 16, 2023
26a26b5
Merge branch 'master' of github.com:pypsa/pypsa-eur-sec
fneum Feb 16, 2023
f276b13
Hide uninformative text caused by subprocess outputs
virio-andreyana Feb 18, 2023
ced2e17
Merge pull request #306 from PyPSA/hide-subprocess-output
Feb 21, 2023
8bf6238
Merge branch 'master' into ci-review
FabianHofmann Feb 21, 2023
7e87044
solve_network: warn if network is not optimal
FabianHofmann Feb 21, 2023
19c35f8
use muting of excel read with context manager
FabianHofmann Feb 21, 2023
2d5b832
Merge pull request #307 from PyPSA/read-excel-mute-follow-up
Feb 22, 2023
8215510
Merge pull request #282 from PyPSA/ci-review
Feb 22, 2023
74d31c4
fixing some warnings in build_biomass_potentials.py, build_gas_input_…
virio-andreyana Feb 22, 2023
e80cab6
Update build_biomass_potentials.py
virio-andreyana Feb 22, 2023
4b4990e
Merge pull request #309 from PyPSA/fix-minor-warnings
Feb 22, 2023
dad7d20
build_population_layouts: replace vresutils area calculation
FabianHofmann Feb 22, 2023
bbeb7af
add shipping shares for different years
lisazeyen Feb 22, 2023
acb2569
Merge pull request #310 from PyPSA/area-calculation-wo-vresutils
Feb 22, 2023
1715290
Merge pull request #311 from PyPSA/shipping-fuel-years
fneum Feb 22, 2023
332936b
adjust p_nom_max if existing larger
lisazeyen Feb 22, 2023
e74e5d9
Merge pull request #312 from PyPSA/myopic-p_nom_max
fneum Feb 22, 2023
46936e9
ci: reduce duplications of test/config.*.yaml
fneum Feb 22, 2023
f21f0ea
Merge pull request #313 from PyPSA/ci-config
Feb 22, 2023
d237e60
Replacing print statement with logging
virio-andreyana Feb 23, 2023
379ed0d
Sentence capitalized
virio-andreyana Feb 24, 2023
f75cec9
lower log level in plot_summary.py and fix warning
virio-andreyana Mar 1, 2023
0985aa1
fix SettingwithCopyWarning in plot_network.py
virio-andreyana Mar 1, 2023
2ad5eb7
add highs solver options
lisazeyen Mar 2, 2023
29c1475
Merge pull request #318 from PyPSA/highs-settings
lisazeyen Mar 2, 2023
01e267b
add link to highs solver settings
lisazeyen Mar 3, 2023
6d98edb
Merge pull request #314 from PyPSA/loggin-replace-print
fneum Mar 5, 2023
570aebd
apply pre-commit
fneum Mar 6, 2023
aab7bfa
exclude snakefmt, special spellings from pre-commit
fneum Mar 6, 2023
7f7ad55
pre-commit setup: fix spelling exceptions
fneum Mar 6, 2023
2f39280
spelling corrections
fneum Mar 6, 2023
8d92461
format pre-commit config
fneum Mar 6, 2023
13769f9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
5f61bc4
fix isort compatibility
fneum Mar 6, 2023
ad6a490
resolve merge conflict
fneum Mar 6, 2023
3198115
add .git-blame-ignore-revs
fneum Mar 6, 2023
d0e0880
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
9dbeea1
fix: handle overlooked merge conflict
fneum Mar 6, 2023
604d086
resolve merge conflict
fneum Mar 6, 2023
5611817
Merge pull request #320 from PyPSA/pre-commit
fneum Mar 6, 2023
97bbafd
Merge remote-tracking branch 'pypsa-eur-sec/master' into merge-pypsa-…
fneum Mar 6, 2023
e65ac95
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
43f226b
split solve network rules, take summary scripts from Sec
fneum Mar 6, 2023
6042f83
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
4cc1f5c
merge docs
fneum Mar 6, 2023
7c7da75
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
e1928e2
trigger readthedocs webhook
fneum Mar 6, 2023
0ecb28d
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
29af354
trigger readthedocs webhook II
fneum Mar 6, 2023
ee5a0c4
conform to pypsa-eur logging level definition
fneum Mar 6, 2023
0bd8523
how to handle upcoming releases
fneum Mar 6, 2023
ca087eb
doc: reorganise pre-merge PyPSA-Eur release notes
fneum Mar 6, 2023
d7b4788
remove superfluous license file
fneum Mar 6, 2023
0673430
use line length factor from single config source
fneum Mar 6, 2023
b30ff67
remove unneeded currency conversion USD to EUR
fneum Mar 6, 2023
d27fee7
align cost fill values to pypsa-eur implementation
fneum Mar 6, 2023
7334913
add input file handling of pypsa-eur-sec rules using cutout
fneum Mar 6, 2023
f83fd9c
remove duplicate retrieve_cost_data
fneum Mar 6, 2023
2254297
COSTS are data not resources
fneum Mar 6, 2023
74032ae
fix path references in Snakefile
fneum Mar 6, 2023
9b7e4d3
Merge branch 'master' into merge-pypsa-eur-sec
FabianHofmann Mar 6, 2023
9713a93
correct aggregation strategies
fneum Mar 6, 2023
67468c1
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
3e9c07b
add missing cutout input
fneum Mar 6, 2023
bffb7cc
scripts/ remove summary_dir and results_dir references
FabianHofmann Mar 6, 2023
9026e09
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
cdc6ac3
correct benchmark
fneum Mar 6, 2023
511f30d
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
76d5773
fix all lv references to ll, pickup right location of default lifetime
fneum Mar 6, 2023
b7c5888
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
561a1d2
prepare CI for all three cases
fneum Mar 6, 2023
7c98cd1
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
78a580d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
f96e9be
fix solve_all_elec_networks
fneum Mar 6, 2023
6e1fb80
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
ab501f3
remove plot_p_nom_max
fneum Mar 6, 2023
23987f3
re-allow 'all' clusters wilcard value
fneum Mar 6, 2023
7193241
technology-data not dependent on run
fneum Mar 6, 2023
31a7ece
fix logs and benchmark directories
fneum Mar 6, 2023
76851ec
remove figsize from config
fneum Mar 6, 2023
f3a3fb1
fix cutout retrieval in ci
FabianHofmann Mar 6, 2023
b74b423
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
504e5b0
delete unnecessary log files
FabianHofmann Mar 6, 2023
7f19910
disable windows/macos to reduce CI load
fneum Mar 6, 2023
93d9e13
add spdx identifiers to scripts
fneum Mar 6, 2023
3bdf3b6
use mock_snakemake from pypsa-eur
fneum Mar 6, 2023
487aebd
remove accidental log additions
fneum Mar 6, 2023
bd16f01
use progress_retrieve from single source
fneum Mar 6, 2023
939f23f
remove unused function in _helpers
fneum Mar 6, 2023
8fa2986
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
541b83b
merge helper.py into _helpers.py
fneum Mar 6, 2023
265fa09
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 6, 2023
27c0d3a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 6, 2023
a16e600
reuse compatibility for pypsa-eur-sec code
fneum Mar 6, 2023
85f73c0
snakefmt to Snakefile
fneum Mar 6, 2023
4e719b9
doc: update landing page
fneum Mar 6, 2023
ba6e0c2
move snakemake object out of imap process functions
FabianHofmann Mar 7, 2023
e6d1d43
ci: reactivate windows and mac
FabianHofmann Mar 7, 2023
6761c50
build industrial production: fix partial function in imap
FabianHofmann Mar 7, 2023
0b57626
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 7, 2023
2a5aced
snakefile: fix benchmark path
FabianHofmann Mar 7, 2023
5260e0c
build industrial demand/production: ensure compat with multiprocesses…
FabianHofmann Mar 7, 2023
54f0cde
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 7, 2023
a346c99
ci overnight/myopic: use glpk
FabianHofmann Mar 7, 2023
5cf2b81
scripts: apply linting fixes
FabianHofmann Mar 7, 2023
77291f7
snakefile: introduce RESOURCES, RESULTS, BENCHMARKS, LOGS paths
FabianHofmann Mar 7, 2023
c8fa61e
Snakefile: replace else statements by if statement to satisfy snakefmt
FabianHofmann Mar 7, 2023
b5e8ee9
reenable snakefmt
FabianHofmann Mar 7, 2023
d45bee6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 7, 2023
104fc68
allow to disable progressbar
FabianHofmann Mar 7, 2023
6bae022
modularise Snakefile using rules/*.smk files
fneum Mar 8, 2023
8eb37bc
add conda directive to all rules for use with --use-conda
fneum Mar 8, 2023
2d648da
correct paths to scripts in .smk files
fneum Mar 8, 2023
4b3372b
apply snakefmt to rules/
fneum Mar 8, 2023
37a0635
make cutouts protected
fneum Mar 8, 2023
701d3a1
data/bundle files may be ancient
fneum Mar 8, 2023
abbf91f
retrieval rules get retries directive for added robustness
fneum Mar 8, 2023
882b79a
add a purge rule
fneum Mar 8, 2023
76dcf43
add rule for dag, use shutil to purge outputs
fneum Mar 8, 2023
6763dba
add message for dag rule
fneum Mar 8, 2023
d4d517f
Snakefile: correct indent
fneum Mar 8, 2023
67f54b9
add graphviz to environment
fneum Mar 8, 2023
bf895de
add logfiles to all rules
fneum Mar 8, 2023
7405377
snakefmt to Snakefile
fneum Mar 8, 2023
f717ce9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 8, 2023
a1ba3a2
new minimum snakemake version is 7.7
fneum Mar 8, 2023
d32de16
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 8, 2023
fe43246
upload resources and results as artifacts
fneum Mar 8, 2023
483f3e1
eliminate manual country code conversion, adjust mock_snakemake to ll…
fneum Mar 9, 2023
f128cc3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2023
821f9a1
ci: update actions/checkout
FabianHofmann Mar 8, 2023
5e4c6fc
ci: reset data cache number
FabianHofmann Mar 8, 2023
22846d7
sector-coupled: run on subset of selected countries
fneum Mar 9, 2023
89a3570
sort countries
fneum Mar 9, 2023
8f5775d
Merge branch 'merge-pypsa-eur-sec' into sec-subset-countries
fneum Mar 9, 2023
f5edafd
speed-up CI, just a week rather than a month, 4 nodes, 40H
fneum Mar 9, 2023
3402908
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2023
15a152d
keep CI running if one OS fails
fneum Mar 9, 2023
bfbc9e3
Merge branch 'sec-subset-countries' of github.com:PyPSA/pypsa-eur int…
fneum Mar 9, 2023
db83d56
Merge pull request #623 from PyPSA/sec-subset-countries
fneum Mar 9, 2023
47a65f0
ci: add --rerun-triggers=mtime to improve caching
fneum Mar 9, 2023
0d03cbc
Merge branch 'sec-subset-countries' into merge-pypsa-eur-sec
fneum Mar 9, 2023
9f19504
ci: revert to 5 regions
fneum Mar 9, 2023
abe4df5
add minimal description of all scripts
fneum Mar 9, 2023
5356fea
helpers: allow to overwrite config in mock_snakemake and allow mock_s…
FabianHofmann Mar 9, 2023
ce6df71
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2023
91ea0a3
docs: rearrange sections
fneum Mar 9, 2023
3f74b6b
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 9, 2023
3a80ac2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2023
4cb21f0
add Linopy to PyPSA
pz-max Mar 9, 2023
a9b09e4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2023
2baf8f5
harmonive solve_network across workflow
FabianHofmann Mar 9, 2023
4f0ddf2
fix Nyears scaling
FabianHofmann Mar 10, 2023
f8d178c
prepare_sector: revert taking mean
FabianHofmann Mar 10, 2023
99a9ea8
adress review comments
FabianHofmann Mar 10, 2023
30b8bb3
Update scripts/solve_network.py
FabianHofmann Mar 10, 2023
5fe4032
solve_network: reinsert docstring
FabianHofmann Mar 10, 2023
e9bf639
solve_network: add line breaks in docstring
FabianHofmann Mar 10, 2023
ebc5a99
follow up: fix img path
FabianHofmann Mar 10, 2023
ecb6dfb
Merge pull request #625 from PyPSA/linopy-eur
FabianHofmann Mar 10, 2023
6034cc1
build_sequestration: fix url with docformatter
FabianHofmann Mar 10, 2023
373c64a
solve_network: check if sector_opts is in wildcard
FabianHofmann Mar 10, 2023
8ff4685
follow up
FabianHofmann Mar 10, 2023
6b13462
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Mar 13, 2023
2823609
Merge pull request #627 from PyPSA/pre-commit-ci-update-config
fneum Mar 14, 2023
e0f8952
codespell: fix typo & add word to exception list
FabianHofmann Mar 14, 2023
55395c5
enhance documentation, with instructions for sector-coupled / electri…
fneum Mar 15, 2023
23c92ca
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 15, 2023
e16539a
remove manual country codes
fneum Mar 16, 2023
12d38bd
docs: add release notes and document new config options
fneum Mar 16, 2023
c24b119
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
2586969
docs: add missing configuration options
fneum Mar 16, 2023
17f9496
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 16, 2023
4357320
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
0a86828
docs: cartopy cannot be installed from pip alone
fneum Mar 16, 2023
fdd49b2
docs: complete instructions for sector-coupling tutorial2
fneum Mar 16, 2023
7cff6b5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
dd74fe4
config.default.yaml
lisazeyen Mar 16, 2023
07568b3
add more sector_opts wildcards
lisazeyen Mar 16, 2023
4926734
docs: limit matplotlib<3.6
fneum Mar 16, 2023
21a60d7
docs: limit matplotlib>3.5.1,<3.6
fneum Mar 16, 2023
28dbea7
correct snakemake call for sector coupled networks
lisazeyen Mar 16, 2023
6dbfd79
encapsulate imports in helpers to minimise requirements for docs
fneum Mar 16, 2023
ecd774b
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 16, 2023
e83b1b0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
beae5e5
doc: fix number of columns for sector-oprt
fneum Mar 16, 2023
58eab3c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
12372fb
doc: add ways to cite PyPSA-Eur
fneum Mar 16, 2023
dbc3ea6
doc: add list of publications
fneum Mar 16, 2023
4192820
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 16, 2023
e261c5d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
cae7d2d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 16, 2023
645cca0
Merge branch 'merge-pypsa-eur-sec' of github.com:PyPSA/pypsa-eur into…
fneum Mar 17, 2023
4f40e4b
fix license specification of doc/publications.bib
fneum Mar 17, 2023
1716656
doc: implement review feedback
fneum Mar 17, 2023
f8830fc
doc: implement review feedback (amend)
fneum Mar 17, 2023
423c3d6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
# Exclude pre-commit applications
5d1ef8a64055a039aa4a0834d2d26fe7752fe9a0
92080b1cd2ca5f123158571481722767b99c2b27
13769f90af4500948b0376d57df4cceaa13e78b5
8 changes: 4 additions & 4 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Closes # (if applicable).

- [ ] I tested my contribution locally and it seems to work fine.
- [ ] Code and workflow changes are sufficiently documented.
- [ ] Newly introduced dependencies are added to `envs/environment.yaml` and `envs/environment.docs.yaml`.
- [ ] Changes in configuration options are added in all of `config.default.yaml`, `config.tutorial.yaml`, and `test/config.test1.yaml`.
- [ ] Changes in configuration options are also documented in `doc/configtables/*.csv` and line references are adjusted in `doc/configuration.rst` and `doc/tutorial.rst`.
- [ ] A note for the release notes `doc/release_notes.rst` is amended in the format of previous release notes.
- [ ] Changed dependencies are added to `envs/environment.yaml`.
- [ ] Changes in configuration options are added in all of `config.default.yaml`.
- [ ] Changes in configuration options are also documented in `doc/configtables/*.csv`.
- [ ] A release note `doc/release_notes.rst` is added.
42 changes: 31 additions & 11 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

Expand All @@ -19,12 +19,14 @@ on:
- cron: "0 5 * * TUE"

env:
CACHE_NUMBER: 1 # Change this value to manually reset the environment cache
CONDA_CACHE_NUMBER: 1 # Change this value to manually reset the environment cache
DATA_CACHE_NUMBER: 2

jobs:
build:

strategy:
fail-fast: false
matrix:
include:
# Matrix required to handle caching with Mambaforge
Expand All @@ -49,16 +51,12 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Setup secrets
run: |
echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc

- name: Add solver to environment
run: |
echo -e "- glpk\n- ipopt" >> envs/environment.yaml

- name: Add solver to environment
run: |
echo -e "- glpk\n- ipopt<3.13.3" >> envs/environment.yaml
Expand All @@ -77,15 +75,25 @@ jobs:
activate-environment: pypsa-eur
use-mamba: true

- name: Set cache date
run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
- name: Set cache dates
run: |
echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV

- name: Cache data and cutouts folders
uses: actions/cache@v3
with:
path: |
data
cutouts
key: data-cutouts-${{ env.WEEK }}-${{ env.DATA_CACHE_NUMBER }}

- name: Create environment cache
uses: actions/cache@v3
id: cache
with:
path: ${{ matrix.prefix }}
key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
key: ${{ matrix.label }}-conda-${{ env.DATE }}-${{ env.CONDA_CACHE_NUMBER }}

- name: Update environment due to outdated or unavailable cache
run: mamba env update -n pypsa-eur -f envs/environment.yaml
Expand All @@ -95,4 +103,16 @@ jobs:
run: |
conda activate pypsa-eur
conda list
snakemake -call solve_all_networks --configfile test/config.test1.yaml
snakemake -call solve_elec_networks --configfile test/config.electricity.yaml --rerun-triggers=mtime
snakemake -call all --configfile test/config.overnight.yaml --rerun-triggers=mtime
snakemake -call all --configfile test/config.myopic.yaml --rerun-triggers=mtime

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: resources-results
path: |
resources
results
if-no-files-found: warn
retention-days: 1
51 changes: 49 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,65 @@ gurobi.log

/bak
/resources
/resources*
/results
/networks
/benchmarks
/logs
/notebooks
/data
/data/links_p_nom.csv
/cutouts
/dask-worker-space

doc/_build

config.yaml

dconf
/data/links_p_nom.csv
/data/*totals.csv
/data/biomass*
/data/emobility/
/data/eea*
/data/jrc*
/data/heating/
/data/eurostat*
/data/odyssee/
/data/transport_data.csv
/data/switzerland*
/data/.nfs*
/data/Industrial_Database.csv
/data/retro/tabula-calculator-calcsetbuilding.csv
/data/nuts*
data/gas_network/scigrid-gas/
data/costs_*.csv

dask-worker-space/
publications.jrc.ec.europa.eu/

*.org

*.nc

*~
/scripts/old

*.pyc
/cutouts
/tmp
/pypsa

*.xlsx

config.yaml

doc/_build

*.xls

*.geojson

*.ipynb

data/costs_*

merger-todos.md
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ repos:

# Find common spelling mistakes in comments and docstrings
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
rev: v2.2.4
hooks:
- id: codespell
args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom'] # Ignore capital case words, e.g. country codes
args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom,appartment,bage,ore,setis,tabacco,berfore'] # Ignore capital case words, e.g. country codes
types_or: [python, rst, markdown]
files: ^(scripts|doc)/

Expand Down Expand Up @@ -74,7 +74,7 @@ repos:

# Format Snakemake rule / workflow files
- repo: https://github.com/snakemake/snakefmt
rev: v0.8.1
rev: v0.8.2
hooks:
- id: snakefmt

Expand All @@ -85,7 +85,7 @@ repos:
- id: jupyter-notebook-cleanup
exclude: examples/solve-on-remote.ipynb

# Check for FSFE REUSE compliance (licensing)
# Check for FSFE REUSE compliance (licensing)
- repo: https://github.com/fsfe/reuse-tool
rev: v1.1.2
hooks:
Expand Down
20 changes: 14 additions & 6 deletions .reuse/dep5
Original file line number Diff line number Diff line change
@@ -1,28 +1,36 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: PyPSA-Eur
Upstream-Contact: Tom Brown <tom.brown@kit.edu>
Upstream-Contact: Tom Brown <t.brown@tu-berlin.de>
Source: https://github.com/pypsa/pypsa-eur

Files: doc/img/*
Copyright: 2019 Fabian Neumann (TUB, KIT)
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0

Files: doc/data.csv
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0

Files: doc/configtables/*
Copyright: 2019 Fabian Neumann (TUB, KIT)
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0

Files: data/*
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC-BY-4.0

Files: .github/*
Copyright: 2019 The PyPSA-Eur Authors
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC0-1.0

Files: matplotlibrc
Copyright: : 2017-2023 The PyPSA-Eur Authors
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC0-1.0

Files: borg-it
Copyright: : 2017-2023 The PyPSA-Eur Authors
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC0-1.0

Files: graphics/*
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC-BY-4.0
5 changes: 3 additions & 2 deletions .syncignore-receive
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

Expand All @@ -15,5 +15,6 @@ __pycache__
notebooks
doc
cutouts
data/bundle
data
benchmarks
*.nc
2 changes: 1 addition & 1 deletion .syncignore-send
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

Expand Down
79 changes: 56 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,53 @@ SPDX-License-Identifier: CC-BY-4.0
[![Build Status](https://github.com/pypsa/pypsa-eur/actions/workflows/ci.yaml/badge.svg)](https://github.com/PyPSA/pypsa-eur/actions)
[![Documentation](https://readthedocs.org/projects/pypsa-eur/badge/?version=latest)](https://pypsa-eur.readthedocs.io/en/latest/?badge=latest)
![Size](https://img.shields.io/github/repo-size/pypsa/pypsa-eur)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur-Sec](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042)
[![Snakemake](https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
[![REUSE status](https://api.reuse.software/badge/github.com/pypsa/pypsa-eur)](https://api.reuse.software/info/github.com/pypsa/pypsa-eur)

# PyPSA-Eur: An Open Optimisation Model of the European Transmission System
# PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System


PyPSA-Eur is an open model dataset of the European power system at the
transmission network level that covers the full ENTSO-E area.
The model is suitable both for operational studies and generation and transmission expansion planning studies.
PyPSA-Eur is an open model dataset of the European energy system at the
transmission network level that covers the full ENTSO-E area. The model is suitable both for operational studies and generation and transmission expansion planning studies.
The continental scope and highly resolved spatial scale enables a proper description of the long-range
smoothing effects for renewable power generation and their varying resource availability.




The model is described in the [documentation](https://pypsa-eur.readthedocs.io)
and in the paper
[PyPSA-Eur: An Open Optimisation Model of the European Transmission
System](https://arxiv.org/abs/1806.01613), 2018,
[arXiv:1806.01613](https://arxiv.org/abs/1806.01613).
The model building routines are defined through a snakemake workflow.
Please see the [documentation](https://pypsa-eur.readthedocs.io/)
for installation instructions and other useful information about the snakemake workflow.
The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA).

**WARNING**: Please read the [limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html) section of the
documentation and paper carefully before using the model. We do not
recommend to use the full resolution network model for simulations. At
high granularity the assignment of loads and generators to the nearest
network node may not be a correct assumption, depending on the topology of the underlying distribution grid,
and local grid
bottlenecks may cause unrealistic load-shedding or generator
curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies. See the
discussion in Section 3.4 "Model validation" of the paper.
**WARNING**: PyPSA-Eur is under active development and has several
[limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html)
which you should understand before using the model. The github repository
[issues](https://github.com/PyPSA/pypsa-eur/issues) collect known topics we are
working on (please feel free to help or make suggestions). The
[documentation](https://pypsa-eur.readthedocs.io/) remains somewhat patchy. You
can find showcases of the model's capabilities in the preprint [Benefits of a
Hydrogen Network in Europe](https://arxiv.org/abs/2207.05816), a [paper in Joule
with a description of the industry sector](https://arxiv.org/abs/2109.09563), or
in [a 2021 presentation at EMP-E](https://nworbmot.org/energy/brown-empe.pdf).
We cannot support this model if you choose to use it. We do not recommend to use
the full resolution network model for simulations. At high granularity the
assignment of loads and generators to the nearest network node may not be a
correct assumption, depending on the topology of the underlying distribution
grid, and local grid bottlenecks may cause unrealistic load-shedding or
generator curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies. See the discussion in
Section 3.4 "Model validation" of the paper.

![PyPSA-Eur Grid Model](doc/img/elec.png)

The model building routines are defined through a snakemake workflow. The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA) for operational studies as
well as generation and transmission expansion planning studies.
![PyPSA-Eur Grid Model](doc/img/elec.png)

The dataset consists of:

Expand All @@ -57,9 +69,30 @@ The dataset consists of:
- Renewable time series based on ERA5 and SARAH, assembled using the [atlite tool](https://github.com/FRESNA/atlite).
- Geographical potentials for wind and solar generators based on land use (CORINE) and excluding nature reserves (Natura2000) are computed with the [atlite library](https://github.com/PyPSA/atlite).

A sector-coupled extension adds demand
and supply for the following sectors: transport, space and water
heating, biomass, industry and industrial feedstocks, agriculture,
forestry and fishing. This completes the energy system and includes
all greenhouse gas emitters except waste management and land use.

This diagram gives an overview of the sectors and the links between
them:

![sector diagram](graphics/multisector_figure.png)

Each of these sectors is built up on the transmission network nodes
from [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur):

![network diagram](https://github.com/PyPSA/pypsa-eur/blob/master/doc/img/base.png?raw=true)

For computational reasons the model is usually clustered down
to 50-200 nodes.

Already-built versions of the model can be found in the accompanying [Zenodo
repository](https://doi.org/10.5281/zenodo.3601881).
# Licence

A version of the model that adds building heating, transport and
industry sectors to the model, as well as gas networks, can be found
in the [PyPSA-Eur-Sec](https://github.com/PyPSA/pypsa-eur-sec) repository.
The code in PyPSA-Eur is released as free software under the
[MIT License](https://opensource.org/licenses/MIT), see `LICENSE.txt`.
However, different licenses and terms of use may apply to the various
input data.
Loading