Skip to content

Commit

Permalink
Merge branch 'PyPSA:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
lkstrp authored Dec 19, 2024
2 parents 5194c71 + 35b07ed commit 8b77706
Show file tree
Hide file tree
Showing 37 changed files with 3,090 additions and 1,361 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,5 @@ d1gam3xoknrgr2.cloudfront.net/
merger-todos.md

*.html
# private dev folder
dev/*
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ repos:
rev: v2.14.0
hooks:
- id: pretty-format-yaml
exclude: pinned\.yaml$
args: [--autofix, --indent, "2", --preserve-quotes]

# Format Snakemake rule / workflow files
Expand Down
21 changes: 18 additions & 3 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ co2_budget:
electricity:
voltages: [220., 300., 330., 380., 400., 500., 750.]
base_network: osm-prebuilt
osm-prebuilt-version: 0.5
osm-prebuilt-version: 0.6
gaslimit_enable: false
gaslimit: false
co2limit_enable: false
Expand Down Expand Up @@ -480,6 +480,18 @@ sector:
heat_exchanger_pinch_point_temperature_difference: 5 #K
isentropic_compressor_efficiency: 0.8
heat_loss: 0.0
heat_utilisation_potentials:
geothermal:
# activate for 85C hydrothermal
# key: hydrothermal_85
# constant_temperature_celsius: 85
key: hydrothermal_65
constant_temperature_celsius: 65
column_name: Energy_TWh
unit: TWh
full_load_hours: 4000
direct_utilisation_heat_sources:
- geothermal
heat_pump_sources:
urban central:
- air
Expand Down Expand Up @@ -827,7 +839,7 @@ industry:
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs
costs:
year: 2030
version: v0.9.2
version: v0.10.0
social_discountrate: 0.02
fill_values:
FOM: 0
Expand Down Expand Up @@ -1228,8 +1240,11 @@ plotting:
services urban decentral air heat pump: '#5af95d'
services rural air heat pump: '#5af95d'
urban central air heat pump: '#6cfb6b'
urban central geothermal heat pump: '#4f2144'
geothermal heat pump: '#4f2144'
geothermal heat direct utilisation: '#ba91b1'
ground heat pump: '#2fb537'
residential rural ground heat pump: '#48f74f'
residential rural ground heat pump: '#4f2144'
residential rural air heat pump: '#48f74f'
services rural ground heat pump: '#5af95d'
Ambient: '#98eb9d'
Expand Down
2 changes: 1 addition & 1 deletion doc/configtables/electricity.csv
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
,Unit,Values,Description
voltages,kV,"Any subset of {220., 300., 330., 380., 400., 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."
osm-prebuilt-version, --, "float, any value in range 0.1-0.5", "Choose the version of the prebuilt OSM network. Defaults to latest Zenodo release."
osm-prebuilt-version, --, "float, any value in range 0.1-0.6", "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,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..
Expand Down
9 changes: 9 additions & 0 deletions doc/configtables/sector.csv
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ district_heating,--,,`prepare_sector_network.py <https://github.com/PyPSA/pypsa-
-- -- heat_exchanger_pinch_point_temperature_difference,K,float,Heat pump pinch point temperature difference in heat exchangers assumed for approximation.
-- -- isentropic_compressor_efficiency,--,float,Isentropic efficiency of heat pump compressor assumed for approximation. Must be between 0 and 1.
-- -- heat_loss,--,float,Heat pump heat loss assumed for approximation. Must be between 0 and 1.
-- heat_utilisation_potentials,--,Dictionary with names of heat sources for which data by Fraunhofer ISI (`Manz et al. 2024 <https://www.sciencedirect.com/science/article/pii/S0960148124001769>) should be used,
-- -- geothermal,-,Name of the heat source. Must be the same as in ``heat_pump_sources``,
-- -- -- key,-,string used to complete URL for data download - e.g. `geothermal_65` or `geothermal_85`","i.e file names in `Fordatis <https://fordatis.fraunhofer.de/handle/fordatis/341.3?mode=simple>`,
-- -- -- constant_temperature_celsius,°C,heat source temperature,
-- -- -- column_name,-,name of the data column in retrieved GeoDataFrame,

-- -- -- unit,-,unit of heat source potential must be in (K/M/G/T)Wh,
-- -- -- full_load_hours,h,assumed full-load hours in Manz et al. (used to scale from utilisation to technical potential),
-- direct_utilisation_heat_sources,--,List of heat sources for direct heat utilisation in district heating. Must be in the keys of `heat_utilisation_potentials` (e.g. ``geothermal``),
-- heat_pump_sources,--,,
-- -- urban central,--,List of heat sources for heat pumps in urban central heating,
-- -- urban decentral,--,List of heat sources for heat pumps in urban decentral heating,
Expand Down
8 changes: 4 additions & 4 deletions doc/data-base-network.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ The map might take a moment to load. To view it in full screen, click `here <bas

``data/osm-prebuilt``

- **Source:** OpenStreetMap; Xiong, B., Neumann, F., & Brown, T. (2024).
- **Source:** OpenStreetMap; Xiong, B., Fioriti, D., Neumann, F., Riepin I. & Brown, T. (2024).
Prebuilt Electricity Network for PyPSA-Eur based on OpenStreetMap Data (0.5)
[Data set]. Zenodo. https://doi.org/10.5281/zenodo.13981528
- **Link:** https://zenodo.org/records/13981528
- **License:** ODbL (`reference <https://zenodo.org/records/13981528>`)
[Data set]. Zenodo. https://doi.org/10.5281/zenodo.14144752
- **Link:** https://zenodo.org/records/14144752
- **License:** ODbL (`reference <https://zenodo.org/records/14144752>`)
- **Description:** Pre-built data of high-voltage transmission grid in Europe from OpenStreetMap.

This dataset contains a topologically connected representation of the European
Expand Down
9 changes: 9 additions & 0 deletions doc/data-retrieval.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ Specific retrieval rules

Data in this section is retrieved and extracted in rules specified in ``rules/retrieve.smk``.


``data/fraunhofer_heat_source_utilisation_potentials``

- **Source:** Fraunhofer Fordatis
- **Link:** https://fordatis.fraunhofer.de/handle/fordatis/341.3?mode=simple
- **License:** `CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/>`__
- **Description:** Utilisation potentials for different heat sources across Europe, based on Manz et al. 2024<https://doi.org/10.1016/j.renene.2024.120111>.


``data/nuts``

- **Source:** GISCO
Expand Down
4 changes: 3 additions & 1 deletion doc/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Release Notes
Upcoming Release
================

* Feature: Introduce geothermal district heating (direct utilisation and heat pumps). Potentials are based on `Manz et al. 2024: Spatial analysis of renewable and excess heat potentials for climate-neutral district heating in Europe <https://www.sciencedirect.com/science/article/pii/S0960148124001769>`.

* Feature: Allow CHPs to use different fuel sources such as gas, oil, coal, and methanol. Note that the cost assumptions are based on a gas CHP (except for solid biomass-fired CHP).

* Improve `sanitize_carrier`` function by filling in colors of missing carriers with colors mapped after using the function `rename_techs`.
Expand Down Expand Up @@ -101,7 +103,7 @@ Upcoming Release
- Single transformers for each combination of voltage level per substation. Transformers now have a capacity s_nom based on connected lines
- Use of OSM relations where available and unambiguous (Overwriting all lines that are members of the respective relation to avoid duplicates)

* Updated osm-prebuilt base network to version 0.5, for changelog, see https://zenodo.org/records/13981528
* Updated osm-prebuilt base network to version 0.6, for changelog, see https://zenodo.org/records/14144752

* Bugfix: vehicle-to-grid dispatch capacity is now limited by the fraction of vehicles participating in demand-side-management, halving the dispatch capacity under the default demand-side management participation rate of 0.5.

Expand Down
7 changes: 4 additions & 3 deletions envs/environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies:
- pip

# Inhouse packages
- pypsa>=0.31
- pypsa>=0.32
- atlite>=0.2.9
- linopy
- powerplantmatching>=0.5.15,<0.6
Expand All @@ -21,7 +21,7 @@ dependencies:
- xlrd
- openpyxl
- seaborn
- snakemake-minimal>=8.14
- snakemake-minimal<8.25 # See https://github.com/snakemake/snakemake/issues/3202
- memory_profiler
- yaml
- pytables
Expand Down Expand Up @@ -57,7 +57,8 @@ dependencies:
# GIS dependencies:
- cartopy
- descartes
- rasterio
- rasterio==1.4.1
- libgdal-core<3.10.0 # rasterio>=1.4.2 needed for GDAL 3.10

- pip:
- gurobipy
Expand Down
Loading

0 comments on commit 8b77706

Please sign in to comment.