Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand Down Expand Up @@ -87,6 +87,6 @@ jobs:
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ cutouts


# custom local files
figures
local
# private dev folder
dev/*
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ci:

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-merge-conflict
- id: check-added-large-files
Expand All @@ -14,7 +14,7 @@ repos:
# Run ruff to lint and format
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.12.2
rev: v0.13.3
hooks:
# Run the linter.
- id: ruff
Expand Down Expand Up @@ -43,11 +43,11 @@ repos:
rev: v2.15.0
hooks:
- id: pretty-format-yaml
exclude: (pinned\.yaml|\.lock\.yaml)$
exclude: (\.lock\.yaml)$
args: [--autofix, --indent, "2", --preserve-quotes]

# Format Snakemake rule / workflow files
- repo: https://github.com/snakemake/snakefmt
rev: v0.11.0
rev: v0.11.2
hooks:
- id: snakefmt
12 changes: 8 additions & 4 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,12 @@ conventional:
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#lines
lines:
types:
63.: 94-AL1/15-ST1A 20.0
66.: 94-AL1/15-ST1A 20.0
90.: 184-AL1/30-ST1A 110.0
110.: 184-AL1/30-ST1A 110.0
132.: 243-AL1/39-ST1A 110.0
150.: 243-AL1/39-ST1A 110.0
220.: Al/St 240/40 2-bundle 220.0
300.: Al/St 240/40 3-bundle 300.0
330.: Al/St 240/40 3-bundle 300.0
Expand Down Expand Up @@ -656,9 +662,6 @@ sector:
tax_weighting: false
construction_index: true
tes: true
tes_tau:
decentral: 3
central: 180
boilers: true
resistive_heaters: true
oil_boilers: false
Expand Down Expand Up @@ -918,7 +921,7 @@ industry:
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs
costs:
year: 2050
version: v0.13.2
version: v0.13.3
social_discountrate: 0.02
fill_values:
FOM: 0
Expand All @@ -929,6 +932,7 @@ costs:
lifetime: 25
"CO2 intensity": 0
"discount rate": 0.07
"standing losses": 0
overwrites: {}
marginal_cost:
solar: 0.01
Expand Down
12 changes: 12 additions & 0 deletions config/examples/config.distribution-grid-experimental.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: Contributors to PyPSA-Eur <https://github.com/pypsa/pypsa-eur>
#
# SPDX-License-Identifier: CC0-1.0
run:
name: "distribution-grid-experimental"

electricity:
voltages: [63., 66., 90., 110., 132., 150., 220., 300., 330., 380., 400., 500., 750.]
base_network: osm-raw

transmission_projects:
enable: false
2 changes: 1 addition & 1 deletion envs/environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dependencies:
- jpype1

# Inhouse packages
- pypsa>=0.32.1
- pypsa>=0.35.2
- atlite>=0.3
- linopy>=0.4.4
- powerplantmatching>=0.5.15,<0.7 # restrict ppm until fix of https://github.com/PyPSA/powerplantmatching/issues/229
Expand Down
29 changes: 16 additions & 13 deletions envs/linux-64.lock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ dependencies:
- ca-certificates=2025.8.3=hbd8a1cb_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cachetools=4.2.4=pyhd8ed1ab_0
- cairo=1.18.4=h3394656_0
- cartopy=0.25.0=py312hf79963d_0
- cdsapi=0.7.6=pyhd8ed1ab_0
Expand Down Expand Up @@ -152,8 +153,8 @@ dependencies:
- gdk-pixbuf=2.42.12=h2b0a6b4_3
- geographiclib=2.1=pyhd8ed1ab_0
- geojson=3.2.0=pyhd8ed1ab_0
- geopandas=1.1.1=pyhd8ed1ab_0
- geopandas-base=1.1.1=pyha770c72_0
- geopandas=1.1.1=pyhd8ed1ab_1
- geopandas-base=1.1.1=pyha770c72_1
- geopy=2.4.1=pyhd8ed1ab_2
- geos=3.13.1=h97f6797_0
- geotiff=1.7.4=h239500f_2
Expand All @@ -178,7 +179,7 @@ dependencies:
- hdf4=4.2.15=h2a13503_7
- hdf5=1.14.6=nompi_h6e4c0c1_103
- hicolor-icon-theme=0.17=ha770c72_2
- highspy=1.11.0=np20py312ha7205f5_0
- highspy=1.11.0=np2py312h0f77346_1
- hpack=4.1.0=pyhd8ed1ab_0
- httpcore=1.0.9=pyh29332c3_0
- httptools=0.6.4=py312h66e93f0_0
Expand All @@ -189,7 +190,7 @@ dependencies:
- icu=75.1=he02047a_0
- identify=2.6.13=pyhd8ed1ab_0
- idna=3.10=pyhd8ed1ab_1
- immutables=0.21=py312h66e93f0_1
- immutables=0.21=py312h4c3975b_2
- importlib-metadata=8.7.0=pyhe01879c_1
- infinity=1.5=pyhd8ed1ab_1
- iniconfig=2.0.0=pyhd8ed1ab_1
Expand Down Expand Up @@ -251,9 +252,10 @@ dependencies:
- libcups=2.3.3=hb8b1518_5
- libcurl=8.14.1=h332b0f4_0
- libdeflate=1.24=h86f0d12_0
- libdrm=2.4.125=hb9d3cd8_0
- libdrm=2.4.125=hb03c661_1
- libedit=3.1.20250104=pl5321h7949ede_0
- libegl=1.7.0=ha4b6fd6_2
- libegl-devel=1.7.0=ha4b6fd6_2
- libev=4.33=hd590300_2
- libevent=2.1.12=hf998b51_1
- libexpat=2.7.1=hecca717_0
Expand Down Expand Up @@ -326,7 +328,7 @@ dependencies:
- libxslt=1.1.43=h7a3aeb2_0
- libzip=1.11.2=h6991a6a_0
- libzlib=1.3.1=hb9d3cd8_2
- linopy=0.5.5=pyhd8ed1ab_0
- linopy=0.5.7=pyhd8ed1ab_0
- locket=1.0.0=pyhd8ed1ab_0
- lxml=6.0.1=py312h70dad80_0
- lz4=4.4.4=py312hf0f0c11_0
Expand Down Expand Up @@ -359,14 +361,14 @@ dependencies:
- nbformat=5.10.4=pyhd8ed1ab_1
- ncurses=6.5=h2d0b736_3
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- netcdf4=1.7.2=nompi_py312h3805cb1_102
- netcdf4=1.7.2=nompi_py312hdd76c12_103
- networkx=3.5=pyhe01879c_0
- nlohmann_json=3.12.0=h3f2d84a_0
- nlohmann_json=3.12.0=h54a6638_1
- nodeenv=1.9.1=pyhd8ed1ab_1
- nomkl=1.0=h5ca1d4c_0
- notebook=7.4.5=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_1
- numexpr=2.10.2=py312h6a710ac_100
- numexpr=2.13.1=py312h88efc94_101
- numpy=1.26.4=py312heda63a1_0
- oauthlib=3.3.1=pyhd8ed1ab_0
- openjdk=23.0.2=h53dfc1b_2
Expand Down Expand Up @@ -416,7 +418,7 @@ dependencies:
- psycopg-c=3.2.9=py312h9b58c09_1
- pthread-stubs=0.4=hb9d3cd8_1002
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pulp=2.8.0=py312hd0750ca_2
- pulp=2.8.0=py312hd0750ca_3
- pure_eval=0.2.3=pyhd8ed1ab_1
- py-cpuinfo=9.0.0=pyhd8ed1ab_1
- pyam=3.0.0=pyhd8ed1ab_1
Expand Down Expand Up @@ -565,7 +567,7 @@ dependencies:
- virtualenv=20.34.0=pyhd8ed1ab_0
- watchfiles=1.1.0=py312h12e396e_0
- wayland=1.24.0=h3e06ad9_0
- wcwidth=0.2.13=pyhd8ed1ab_1
- wcwidth=0.2.14=pyhd8ed1ab_0
- webcolors=24.11.1=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_3
- websocket-client=1.8.0=pyhd8ed1ab_1
Expand Down Expand Up @@ -594,21 +596,22 @@ dependencies:
- xorg-libxdamage=1.1.6=hb9d3cd8_0
- xorg-libxdmcp=1.1.5=hb9d3cd8_0
- xorg-libxext=1.3.6=hb9d3cd8_0
- xorg-libxfixes=6.0.1=hb9d3cd8_0
- xorg-libxfixes=6.0.2=hb03c661_0
- xorg-libxi=1.8.2=hb9d3cd8_0
- xorg-libxinerama=1.1.5=h5888daf_1
- xorg-libxrandr=1.5.4=hb9d3cd8_0
- xorg-libxrender=0.9.12=hb9d3cd8_0
- xorg-libxt=1.3.1=hb9d3cd8_0
- xorg-libxtst=1.2.5=hb9d3cd8_3
- xorg-libxxf86vm=1.1.6=hb9d3cd8_0
- xorg-xorgproto=2024.1=hb9d3cd8_1
- xyzservices=2025.4.0=pyhd8ed1ab_0
- xz=5.8.1=hbcc6ac9_2
- xz-gpl-tools=5.8.1=hbcc6ac9_2
- xz-tools=5.8.1=hb9d3cd8_2
- yaml=0.2.5=h280c20c_3
- yte=1.8.1=pyha770c72_0
- zeromq=4.3.5=h3b0a872_7
- zeromq=4.3.5=h387f397_9
- zict=3.0.0=pyhd8ed1ab_1
- zipp=3.23.0=pyhd8ed1ab_0
- zlib=1.3.1=hb9d3cd8_2
Expand Down
25 changes: 13 additions & 12 deletions envs/osx-64.lock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ dependencies:
- ca-certificates=2025.8.3=hbd8a1cb_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cachetools=4.2.4=pyhd8ed1ab_0
- cairo=1.18.4=h950ec3b_0
- cartopy=0.25.0=py312hbf2c5ff_0
- cdsapi=0.7.6=pyhd8ed1ab_0
Expand Down Expand Up @@ -136,16 +137,16 @@ dependencies:
- fonts-conda-forge=1=0
- fonttools=4.59.2=py312h3d55d04_0
- fqdn=1.5.1=pyhd8ed1ab_1
- freetype=2.13.3=h694c41f_1
- freetype=2.14.1=h694c41f_0
- freexl=2.0.0=h3183152_2
- fribidi=1.0.10=hbcb3906_0
- fsspec=2025.7.0=pyhd8ed1ab_0
- furl=2.1.4=pyhd8ed1ab_0
- gdk-pixbuf=2.42.12=h5720e38_3
- geographiclib=2.1=pyhd8ed1ab_0
- geojson=3.2.0=pyhd8ed1ab_0
- geopandas=1.1.1=pyhd8ed1ab_0
- geopandas-base=1.1.1=pyha770c72_0
- geopandas=1.1.1=pyhd8ed1ab_1
- geopandas-base=1.1.1=pyha770c72_1
- geopy=2.4.1=pyhd8ed1ab_2
- geos=3.13.1=h502464c_0
- geotiff=1.7.4=h88234f0_2
Expand All @@ -170,7 +171,7 @@ dependencies:
- hdf4=4.2.15=h8138101_7
- hdf5=1.14.6=nompi_hc8237f9_103
- hicolor-icon-theme=0.17=h694c41f_2
- highspy=1.11.0=np20py312h17ae09a_0
- highspy=1.11.0=np2py312hf586766_1
- hpack=4.1.0=pyhd8ed1ab_0
- httpcore=1.0.9=pyh29332c3_0
- httptools=0.6.4=py312h01d7ebd_0
Expand All @@ -181,7 +182,7 @@ dependencies:
- icu=75.1=h120a0e1_0
- identify=2.6.13=pyhd8ed1ab_0
- idna=3.10=pyhd8ed1ab_1
- immutables=0.21=py312h01d7ebd_1
- immutables=0.21=py312h2f459f6_2
- importlib-metadata=8.7.0=pyhe01879c_1
- infinity=1.5=pyhd8ed1ab_1
- iniconfig=2.0.0=pyhd8ed1ab_1
Expand Down Expand Up @@ -244,8 +245,8 @@ dependencies:
- libevent=2.1.12=ha90c15b_1
- libexpat=2.7.1=h21dd04a_0
- libffi=3.4.6=h281671d_1
- libfreetype=2.13.3=h694c41f_1
- libfreetype6=2.13.3=h40dfd5c_1
- libfreetype=2.14.1=h694c41f_0
- libfreetype6=2.14.1=h6912278_0
- libgd=2.3.3=h8555400_11
- libgdal-core=3.10.3=h55ca5b3_13
- libgdal-hdf4=3.10.3=h8901399_13
Expand Down Expand Up @@ -327,13 +328,13 @@ dependencies:
- nbformat=5.10.4=pyhd8ed1ab_1
- ncurses=6.5=h0622a9a_3
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- netcdf4=1.7.2=nompi_py312ha2a03d4_102
- netcdf4=1.7.2=nompi_py312h5646c37_103
- networkx=3.5=pyhe01879c_0
- nlohmann_json=3.12.0=h92383a6_0
- nlohmann_json=3.12.0=h53ec75d_1
- nodeenv=1.9.1=pyhd8ed1ab_1
- notebook=7.4.5=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_1
- numexpr=2.10.2=py312ha51eba0_0
- numexpr=2.13.1=py312hd12f69b_1
- numpy=1.26.4=py312he3a82b2_0
- oauthlib=3.3.1=pyhd8ed1ab_0
- openjdk=23.0.2=h18c9476_2
Expand Down Expand Up @@ -383,7 +384,7 @@ dependencies:
- psycopg-c=3.2.9=py312h6ad4387_1
- pthread-stubs=0.4=h00291cd_1002
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pulp=2.8.0=py312hda2ad9a_2
- pulp=2.8.0=py312hda2ad9a_3
- pure_eval=0.2.3=pyhd8ed1ab_1
- py-cpuinfo=9.0.0=pyhd8ed1ab_1
- pyam=3.0.0=pyhd8ed1ab_1
Expand Down Expand Up @@ -548,7 +549,7 @@ dependencies:
- xyzservices=2025.4.0=pyhd8ed1ab_0
- yaml=0.2.5=h4132b18_3
- yte=1.8.1=pyha770c72_0
- zeromq=4.3.5=h7130eaa_7
- zeromq=4.3.5=h6c33b1e_9
- zict=3.0.0=pyhd8ed1ab_1
- zipp=3.23.0=pyhd8ed1ab_0
- zlib=1.3.1=hd23fc13_2
Expand Down
Loading
Loading