From 8d78fe83be4e044865505cdb0f7dd7b1c1a57b08 Mon Sep 17 00:00:00 2001 From: Lukas Trippe Date: Fri, 30 Aug 2024 16:42:35 +0200 Subject: [PATCH 01/22] ci: code scanning with CodeQL (#1251) * ci: code scanning with CodeQL * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 92 ++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..fd64e164 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,92 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: ["master"] + pull_request: + branches: ["master"] + schedule: + - cron: '23 18 * * 5' + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: python + build-mode: none + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # 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 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From 3a1ee934da1d1d70b9dcb53bacbb69cf4d1f9e9b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 30 Aug 2024 18:06:26 +0200 Subject: [PATCH 02/22] prepare release v0.12.0 --- config/config.default.yaml | 8 +- doc/configtables/atlite.csv | 2 +- doc/configtables/solar.csv | 2 +- doc/img/intro-workflow.png | Bin 228916 -> 124775 bytes doc/preparation.rst | 21 ++ doc/release_notes.rst | 278 +++++++++++++++------ doc/retrieve.rst | 34 ++- doc/sector.rst | 10 + doc/tutorial.rst | 150 ++++++----- doc/tutorial_sector.rst | 481 ++++++++++++++++++------------------ envs/environment.fixed.yaml | 473 +---------------------------------- scripts/build_cutout.py | 4 +- 12 files changed, 611 insertions(+), 852 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 2026c11f..7ed7eb33 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -155,7 +155,7 @@ renewable: resource: method: wind turbine: Vestas_V112_3MW - smooth: true + smooth: false add_cutout_windspeed: true capacity_per_sqkm: 3 # correction_factor: 0.93 @@ -175,7 +175,7 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_2020ATB_5.5MW - smooth: true + smooth: false add_cutout_windspeed: true capacity_per_sqkm: 2 correction_factor: 0.8855 @@ -192,7 +192,7 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_2020ATB_5.5MW - smooth: true + smooth: false add_cutout_windspeed: true capacity_per_sqkm: 2 correction_factor: 0.8855 @@ -209,7 +209,7 @@ renewable: resource: method: wind turbine: NREL_ReferenceTurbine_5MW_offshore - smooth: true + smooth: false add_cutout_windspeed: true # ScholzPhd Tab 4.3.1: 10MW/km^2 capacity_per_sqkm: 2 diff --git a/doc/configtables/atlite.csv b/doc/configtables/atlite.csv index 5e0d2bd0..10965eed 100644 --- a/doc/configtables/atlite.csv +++ b/doc/configtables/atlite.csv @@ -4,7 +4,7 @@ nprocesses,--,int,"Number of parallel processes in cutout preparation" show_progress,bool,true/false,"Whether progressbar for atlite conversion processes should be shown. False saves time." cutouts,,, -- {name},--,"Convention is to name cutouts like ``--`` (e.g. ``europe-2013-sarah3-era5``).","Name of the cutout netcdf file. The user may specify multiple cutouts under configuration ``atlite: cutouts:``. Reference is used in configuration ``renewable: {technology}: cutout:``. The cutout ``base`` may be used to automatically calculate temporal and spatial bounds of the network." --- -- module,--,"Subset of {'era5','sarah'}","Source of the reanalysis weather dataset (e.g. `ERA5 `_ or `SARAH-2 `_)" +-- -- module,--,"Subset of {'era5','sarah'}","Source of the reanalysis weather dataset (e.g. `ERA5 `_ or `SARAH-3 `_)" -- -- x,°,"Float interval within [-180, 180]","Range of longitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes." -- -- y,°,"Float interval within [-90, 90]","Range of latitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes." -- -- dx,°,"Larger than 0.25","Grid resolution for longitude" diff --git a/doc/configtables/solar.csv b/doc/configtables/solar.csv index 21d7c2e4..933c1846 100644 --- a/doc/configtables/solar.csv +++ b/doc/configtables/solar.csv @@ -1,5 +1,5 @@ ,Unit,Values,Description -cutout,--,"Should be a folder listed in the configuration ``atlite: cutouts:`` (e.g. 'europe-2013-sarah3-era5') or reference an existing folder in the directory ``cutouts``. Source module can be ERA5 or SARAH-2.","Specifies the directory where the relevant weather data ist stored that is specified at ``atlite/cutouts`` configuration. Both ``sarah`` and ``era5`` work." +cutout,--,"Should be a folder listed in the configuration ``atlite: cutouts:`` (e.g. 'europe-2013-sarah3-era5') or reference an existing folder in the directory ``cutouts``. Source module can be ERA5 and/or SARAH-3.","Specifies the directory where the relevant weather data ist stored that is specified at ``atlite/cutouts`` configuration. Both ``sarah`` and ``era5`` work." resource,,, -- method,--,"Must be 'pv'","A superordinate technology type." -- panel,--,"One of {'Csi', 'CdTe', 'KANENA'} as defined in `atlite `_ . Can be a string or a dictionary with years as keys which denote the year another turbine model becomes available.","Specifies the solar panel technology and its characteristic attributes." diff --git a/doc/img/intro-workflow.png b/doc/img/intro-workflow.png index 4009fbcd98650357e72299d0273884306464eb0d..87cec61f99f19fbfaeb220346b08e0130bb3172d 100644 GIT binary patch literal 124775 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 z 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 - of specific countries is used as a spatial distribution key for the cement - demand. The data is stored in ``data/cement-plants-noneu.csv``. +* Switch to OpenStreetMap (OSM) data for modelling the high-voltage transmission + grid. The new OSM-based grid is is now the default. The previous ENTSO-E grid + data is now deprecated. It can still be used by setting ``electricity: + base_network: entsoegridkit``. The new default setting "osm-prebuilt" + downloads the latest prebuilt snapshots from Zenodo. The setting "osm-raw" + retrieves and cleans the raw OSM data and subsequently builds the network. + (https://github.com/PyPSA/pypsa-eur/pull/1079) -* Added data on the locations and capacities of refineries in Europe that are - not included in the Hotmaps industrial database. The data is mostly sourced - from the `Wikipedia list of oil refineries - `__. The data is stored - in ``data/refineries-noneu.csv``. +* Update energy balances from JRC-IDEES-2015 to `JRC-IDEES-2021 + `__. The + reference year was changed from 2015 to 2019. + (https://github.com/PyPSA/pypsa-eur/pull/1167) + +* Updated pre-built `weather data cutouts + `__. These are now merged cutouts with + solar irradiation from the new SARAH-3 dataset while taking all other + variables from ERA5. Cutouts are now available for multiple years (2010, 2013, + 2019, and 2023). The overall download size was cut in half. + (https://github.com/PyPSA/pypsa-eur/pull/1176) * Included data from the `Global Steel Plant Tracker `__ @@ -39,103 +44,234 @@ Upcoming Release and capacities of steel plants in Europe. This data is used as a spatial distribution key for the steel production, which is now separated by process type (EAF, DRI + EAF, integrated). + (https://github.com/PyPSA/pypsa-eur/pull/1241) + +* Added data on the locations and capacities of ammonia plants in Europe. This + data is used as a spatial distribution key for the ammonia demand. The data + manually collected with sources noted in ``data/ammonia_plants.csv``. + (https://github.com/PyPSA/pypsa-eur/pull/1241) + +* Added data on the locations and capacities of cement plants in Europe that are + not included in the Hotmaps industrial database. The data sourced from the + `USGS 2019 Minerals Yearbooks + `__ + of specific countries is used as a spatial distribution key for the cement + demand. The data is stored in ``data/cement-plants-noneu.csv``. + (https://github.com/PyPSA/pypsa-eur/pull/1241) + +* Added data on the locations and capacities of refineries in Europe that are + not included in the Hotmaps industrial database. The data is mostly sourced + from the `Wikipedia list of oil refineries + `__. The data is stored + in ``data/refineries-noneu.csv``. + (https://github.com/PyPSA/pypsa-eur/pull/1241) * Retrieve share of urban population from `World Bank API `__. The data originates from the United Nations Population Division. Previously, a file ``data/urban_percent.csv`` with an undocumented source was used. + (https://github.com/PyPSA/pypsa-eur/pull/1248) + +* Updated Global Energy Monitor's Europe Gas Tracker to May 2024 version. + (https://github.com/PyPSA/pypsa-eur/pull/1235) * Updated country-specific Energy Availability Factors (EAFs) for nuclear power plants based on `IAEA 2021-2023 reported country averages `__. + (https://github.com/PyPSA/pypsa-eur/pull/1236) -* Update GEM Europe Gas Tracker to May 2024 version. +* Updated technology-data to v0.9.2, with added methanol and biomass + assumptions. -* Add investment period dependent CO2 sequestration potentials +* Updated EEZ shapes to v12. This data is now automatically retrieved and was + removed from the data bundle. (https://github.com/PyPSA/pypsa-eur/pull/1188, + https://github.com/PyPSA/pypsa-eur/pull/1210) -* Add option to produce hydrogen from solid biomass (flag ``solid biomass to hydrogen``), combined with carbon capture +* The country shapes from Naturalearth are now automatically retrieved and are + removed from the data bundle. (https://github.com/PyPSA/pypsa-eur/pull/1190) -* Fixed PDF encoding in ``build_biomass_transport_costs`` with update of tabula-py and jpype1 +**New Features** -* More modular and flexible handling of transmission projects. One can now add new transmission projects in a subfolder of `data/transmission projects` similar to the files in the template folder. After adding the new files and updating the config section `transmission_projects:`, transmission projects will be included if they are not duplicates of existing lines or other projects. +* Improved biomass representation: -* Add option to apply a gaussian kernel density smoothing to wind turbine power curves. + * Added unsustainable biomass potentials for solid, gaseous, and liquid biomass + based on current consumption levels from Eurostat energy balances. The + potentials can be phased-out and/or substituted by the phase-in of sustainable + biomass types using the config parameters ``biomass: + share_unsustainable_use_retained`` and ``biomass: + share_sustainable_potential_available``. + (https://github.com/PyPSA/pypsa-eur/pull/1139) + + * Added energy penalty for BECC applications. + (https://github.com/PyPSA/pypsa-eur/pull/1130) -* Update JRC-IDEES-2015 to `JRC-IDEES-2021 `__. The reference year is changed from 2015 to 2019. + * Added option to enable the import of solid biomass. + (https://github.com/PyPSA/pypsa-eur/pull/1194) -* Made central heating supply temperatures dynamic based on an adaptation of a reference curve from Pieper et al. (2019) (https://www.sciencedirect.com/science/article/pii/S0360544219305857?via%3Dihub). + * Added option to produce electrobiofuels from solid biomass and hydrogen. This + process combined BtL and Fischer-Tropsch to efficiently use the available + biogenic carbon. (https://github.com/PyPSA/pypsa-eur/pull/1193) -* Added option to use country-specific district heating forward and return temperatures. Defaults to lower temperatures in Scandinavia. + * Added option to split municipal solid waste from solid biomass. + (https://github.com/PyPSA/pypsa-eur/pull/1195, + https://github.com/PyPSA/pypsa-eur/pull/1134) -* Added unsustainable biomass potentials for solid, gaseous, and liquid biomass. The potentials can be phased-out and/or - substituted by the phase-in of sustainable biomass types using the config parameters - ``biomass: share_unsustainable_use_retained`` and ``biomass: share_sustainable_potential_available``. + * Added option to produce hydrogen from solid biomass with or without carbon + capture. (https://github.com/PyPSA/pypsa-eur/pull/1213) -* The rule ``prepare_links_p_nom`` was removed since it was outdated and not used. +* Improved district heating representation: -* Changed heat pump COP approximation for central heating to be based on `Jensen et al. (2018) `__ and a default forward temperature of 90C. This is more realistic for district heating than the previously used approximation method. + * Added option to use country-specific district heating forward and return + temperatures. Defaults to lower temperatures in Scandinavia. + (https://github.com/PyPSA/pypsa-eur/pull/1180) -* split solid biomass potentials into solid biomass and municipal solid waste. Add option to use municipal solid waste. This option is only activated in combination with the flag ``waste_to_energy`` + * Made central heating supply temperatures dynamic based on an adaptation of a + reference curve from Pieper et al. (2019) + (https://www.sciencedirect.com/science/article/pii/S0360544219305857?via%3Dihub). + (https://github.com/PyPSA/pypsa-eur/pull/1206/) -* Add option to import solid biomass + * Changed heat pump COP approximation for central heating to be based on + `Jensen et al. (2018) + `__ + and a default forward temperature of 90C. This is more realistic for + district heating than the previously used approximation method. + (https://github.com/PyPSA/pypsa-eur/pull/1176) -* Add option to produce electrobiofuels (flag ``electrobiofuels``) from solid biomass and hydrogen, as a combination of BtL and Fischer-Tropsch to make more use of the biogenic carbon - -* Add flag ``sector: fossil_fuels`` in config to remove the option of importing fossil fuels - -* Renamed the carrier of batteries in BEVs from `battery storage` to `EV battery` and the corresponding bus carrier from `Li ion` to `EV battery`. This is to avoid confusion with stationary battery storage. - -* Changed default assumptions about waste heat usage from PtX and fuel cells in district heating. - The default value for the link efficiency scaling factor was changed from 100% to 25%. - It can be set to other values in the configuration ``sector: use_TECHNOLOGY_waste_heat``. - -* In simplifying polygons in :mod:`build_shapes` default to no tolerance. - -* Set non-zero capital_cost for methanol stores to avoid unrealistic storage sizes - -* Set p_nom = p_nom_min for generators with baseyear == grouping_year in add_existing_baseyear. This has no effect on the optimization but helps n.statistics to correctly report already installed capacities. - -* Reverted outdated hotfix for doubled renewable capacity in myopic optimization. + * Added option for various power-to-X processes to specify their share of waste + heat that can be used in district heating. The default was changed from 100% + to 25%. (https://github.com/PyPSA/pypsa-eur/pull/1141) * Added Enhanced Geothermal Systems for generation of electricity and district heat. Cost and available capacity assumptions based on `Aghahosseini et al. (2020) `__. See configuration ``sector: enhanced_geothermal`` for details; by default switched off. -* Partially revert https://github.com/PyPSA/pypsa-eur/pull/967 to return to old grouping year logic (which was mostly correct) +* Represent Kosovo (XK) as separate country. + (https://github.com/PyPSA/pypsa-eur/pull/1249) -* Bugfix: Correctly read in threshold capacity below which to remove components from previous planning horizons in :mod:`add_brownfield`. +* Add option to specify carbon sequestration potentials per investment period. + (https://github.com/PyPSA/pypsa-eur/pull/1228) -* For countries not contained in the NUTS3-specific datasets (i.e. MD and UA), the mapping of GDP per capita and population per bus region used to spatially distribute electricity demand is now endogenised in a new rule :mod:`build_gdp_ppp_non_nuts3`. https://github.com/PyPSA/pypsa-eur/pull/1146 +* Add option to completely eliminate the use of fossil fuels. + (https://github.com/PyPSA/pypsa-eur/pull/1187) -* The databundle has been updated to release v0.3.0, which includes raw GDP and population data for countries outside the NUTS system (UA, MD). https://github.com/PyPSA/pypsa-eur/pull/1146 +* Added more modular and flexible handling of planned transmission reinforcement + projects (e.g. TYNDP). See configuration settings ``transmission_projects:``. + (https://github.com/PyPSA/pypsa-eur/pull/1085) -* Updated filtering in :mod:`determine_availability_matrix_MD_UA.py` to improve speed. https://github.com/PyPSA/pypsa-eur/pull/1146 - -* Bugfix: Impose minimum value of zero for district heating progress between current and future market share in :mod:`build_district_heat_share`. - -* The ``{scope}`` wildcard was removed, since its outputs were not used. - -* Enable parallelism in :mod:`determine_availability_matrix_MD_UA.py` and remove plots. This requires the use of temporary files. - -* Added new major feature to create the base_network from OpenStreetMap (OSM) data (PR https://github.com/PyPSA/pypsa-eur/pull/1079). Note that a heuristics based cleaning process is used for lines and links where electrical parameters are incomplete, missing, or ambiguous. Through ``electricity["base_network"]``, the base network can be set to "entsoegridkit" (now deprecated), "osm-prebuilt" (default, downloads the latest prebuilt snapshot based on OSM data from Zenodo), or "osm-raw" which retrieves (once) and cleans the raw OSM data and subsequently builds the network. Note that this process may take a few minutes. - -* Updated pre-built `weather data cutouts - `__. These are now merged cutouts with - solar irradiation from the new SARAH-3 dataset while taking all other - variables from ERA5. Cutouts are now available for multiple years (2010, 2013, - 2019, and 2023). +* Added option to smooth wind turbine power curves with a Gaussian kernel density. + (https://github.com/PyPSA/pypsa-eur/pull/1209). * Added option ``solving: curtailment_mode``` which fixes the dispatch profiles of generators with time-varying p_max_pu by setting ``p_min_pu = p_max_pu`` and adds an auxiliary curtailment generator with negative sign (to absorb excess power) at every AC bus. This can speed up the solving process as the curtailment decision is aggregated into a single generator per region. + (https://github.com/PyPSA/pypsa-eur/pull/1177) + +* Added capital costs to all liquid carbonaceous fuel stores. + (https://github.com/PyPSA/pypsa-eur/pull/1234) + +**Breaking Changes** + +* Due to memory issues, the feature ``n.shapes`` is temporarily disabled. + (https://github.com/PyPSA/pypsa-eur/pull/1238) + +* Renamed the carrier of batteries in BEVs from `battery storage` to `EV + battery` and the corresponding bus carrier from `Li ion` to `EV battery`. This + is to avoid confusion with stationary battery storage. + (https://github.com/PyPSA/pypsa-eur/pull/1116) + +**Changes** + +* Powerplants can now be assigned to all buses, not just substations. + (https://github.com/PyPSA/pypsa-eur/pull/1239) + +* Avoid adding existing gas pipelines repeatedly for different planning + horizons. + (https://github.com/PyPSA/pypsa-eur/pull/1162https://github.com/PyPSA/pypsa-eur/pull/1162) + +* Move custom busmaps to + ``data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv``. This allows for + different busmaps depending on the base network. + (https://github.com/PyPSA/pypsa-eur/pull/1231) + +* For countries not contained in the NUTS3-specific datasets (i.e. MD and UA), + the mapping of GDP per capita and population per bus region used to spatially + distribute electricity demand is now endogenised in a new rule + :mod:`build_gdp_ppp_non_nuts3`. The databundle has been updated accordingly. + (https://github.com/PyPSA/pypsa-eur/pull/1146) + +* Enable parallelism in :mod:`determine_availability_matrix_MD_UA.py` and remove + plots. This requires the use of temporary files. + (https://github.com/PyPSA/pypsa-eur/pull/1170) * In :mod:`base_network`, replace own voronoi polygon calculation function with Geopandas `gdf.voronoi_polygons` method. + (https://github.com/PyPSA/pypsa-eur/pull/1172) + +* In simplifying polygons in :mod:`build_shapes` default to no tolerance. + (https://github.com/PyPSA/pypsa-eur/pull/1137) + +* Updated filtering in :mod:`determine_availability_matrix_MD_UA.py` to improve + speed. (https://github.com/PyPSA/pypsa-eur/pull/1146) + +* Removed unused data files and rules. + (https://github.com/PyPSA/pypsa-eur/pull/1246, + https://github.com/PyPSA/pypsa-eur/pull/1203) + +* The ``{scope}`` wildcard was removed, since its outputs were not used. + (https://github.com/PyPSA/pypsa-eur/pull/1171) + +* Unify how the oil bus is added. + +* Set ``p_nom = p_nom_min`` for generators with ``baseyear == grouping_year`` in + :mod:`add_existing_baseyear`. This has no effect on the optimization but helps + to correctly report already installed capacities using ``n.statistics()``. + +* Cutouts are no longer marked as ``protected()``. + (https://github.com/PyPSA/pypsa-eur/pull/1220) + +**Bugfixes and Compatibility** + +* Bugfix in :mod:`simplify_network` for spatially resolving Corsica. + (https://github.com/PyPSA/pypsa-eur/pull/1215) + +* Bugfix for running without spatial resolution. + (https://github.com/PyPSA/pypsa-eur/pull/1183) + +* Bugfix: Impose minimum value of zero for district heating progress between + current and future market share in :mod:`build_district_heat_share`. + (https://github.com/PyPSA/pypsa-eur/pull/1168) + +* Bugfix: Correctly read in threshold capacity below which to remove components + from previous planning horizons in :mod:`add_brownfield`. + +* Bugfix for passing function arguments in rule :mod:`solve_operations_network`. + +* Bugfix avoiding infinity values in the intermediate industry sector ratios. + (https://github.com/PyPSA/pypsa-eur/pull/1227) + +* Bugfix: Add floating wind to cost update function in + :mod:`prepare_sector_network`. (https://github.com/PyPSA/pypsa-eur/pull/1106) + +* Fixed PDF encoding in ``build_biomass_transport_costs``. + (https://github.com/PyPSA/pypsa-eur/pull/1219) + +* Dropped ``pycountry`` dependency in favour of ``country_converter``. + (https://github.com/PyPSA/pypsa-eur/pull/1188) + +* Use temporary mirror for broken link to Eurostat energy balances (April 2023). + (https://github.com/PyPSA/pypsa-eur/pull/1147) + +* Compatibility with geopandas 1.0+. + (https://github.com/PyPSA/pypsa-eur/pull/1136) + +* Compatibility with snakemake 8.14+. + (https://github.com/PyPSA/pypsa-eur/pull/1112) + +* Address various deprecations. -* Move custom busmaps to ```data/busmaps/elec_s{simpl}_{clusters}_{base_network}.csv``` (if enabled). This allows for different busmaps depending on the base network and scenario. PyPSA-Eur 0.11.0 (25th May 2024) ===================================== diff --git a/doc/retrieve.rst b/doc/retrieve.rst index 6b339355..a00a8c79 100644 --- a/doc/retrieve.rst +++ b/doc/retrieve.rst @@ -19,13 +19,43 @@ Rule ``retrieve_databundle`` .. automodule:: retrieve_databundle +Rule ``retrieve_eurostat_data`` +=============================== + +.. automodule:: retrieve_eurostat_data + + +Rule ``retrieve_jrc_idees`` +=============================== + +.. automodule:: retrieve_jrc_idees + + + +Rule ``retrieve_eurostat_household_data`` +========================================= + +.. automodule:: retrieve_eurostat_household_data + + +Rule ``retrieve_gas_infrastructure_data`` +========================================= + +.. automodule:: retrieve_gas_infrastructure_data + + +Rule ``retrieve_osm_data`` +========================================= + +.. automodule:: retrieve_osm_data + Rule ``retrieve_cutout`` ============================ .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6382570.svg :target: https://doi.org/10.5281/zenodo.6382570 -Cutouts are spatio-temporal subsets of the European weather data from the `ECMWF ERA5 `__ reanalysis dataset and the `CMSAF SARAH-2 `__ solar surface radiation dataset for the year 2013. +Cutouts are spatio-temporal subsets of the European weather data from the `ECMWF ERA5 `__ reanalysis dataset and the `CMSAF SARAH-3 `__ solar surface radiation dataset for the year 2013, 2019 or 2023. They have been prepared by and are for use with the `atlite `__ tool. You can either generate them yourself using the ``build_cutouts`` rule or retrieve them directly from `zenodo `__ through the rule ``retrieve_cutout``. The :ref:`tutorial` uses a smaller cutout than required for the full model (30 MB), which is also automatically downloaded. @@ -47,7 +77,7 @@ The :ref:`tutorial` uses a smaller cutout than required for the full model (30 M **Outputs** -- ``cutouts/{cutout}``: weather data from either the `ERA5 `__ reanalysis weather dataset or `SARAH-2 `__ satellite-based historic weather data. +- ``cutouts/{cutout}``: weather data from either the `ERA5 `__ reanalysis weather dataset and/or `SARAH-3 `__ satellite-based historic weather data. .. seealso:: For details see :mod:`build_cutout` and read the `atlite documentation `__. diff --git a/doc/sector.rst b/doc/sector.rst index e186ccf7..24f3c9e9 100644 --- a/doc/sector.rst +++ b/doc/sector.rst @@ -43,6 +43,11 @@ Rule ``build_biomass_potentials`` .. automodule:: build_biomass_potentials +Rule ``build_egs_potentials`` +============================================================================== + +.. automodule:: build_egs_potentials + Rule ``build_biomass_transport_costs`` ============================================================================== @@ -58,6 +63,11 @@ Rule ``build_cop_profiles`` .. automodule:: build_cop_profiles +Rule ``build_central_heating_temperature_profiles`` +============================================================================== + +.. automodule:: build_central_heating_temperature_profiles + Rule ``build_energy_totals`` ============================================================================== diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 4a07132b..73b4df8b 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -80,7 +80,7 @@ adapt the required range of coordinates to the selection of countries. We can also decide which weather data source should be used to calculate potentials and capacity factor time-series for each carrier. For example, we may -want to use the ERA-5 dataset for solar and not the default SARAH-2 dataset. +want to use the ERA-5 dataset for solar and not the default SARAH-3 dataset. .. literalinclude:: ../config/test/config.electricity.yaml :language: yaml @@ -132,89 +132,99 @@ This triggers a workflow of multiple preceding jobs that depend on each rule's i graph[bgcolor=white, margin=0]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; edge[penwidth=2, color=grey]; - 0[label = "solve_network", color = "0.21 0.6 0.85", style="rounded"]; - 1[label = "prepare_network\nll: copt\nopts: ", color = "0.51 0.6 0.85", style="rounded"]; - 2[label = "add_extra_components", color = "0.43 0.6 0.85", style="rounded"]; - 3[label = "cluster_network\nclusters: 6", color = "0.17 0.6 0.85", style="rounded"]; - 4[label = "simplify_network\nsimpl: ", color = "0.49 0.6 0.85", style="rounded"]; - 5[label = "add_electricity", color = "0.26 0.6 0.85", style="rounded"]; - 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.02 0.6 0.85", style="rounded"]; - 7[label = "base_network", color = "0.35 0.6 0.85", style="rounded"]; - 8[label = "build_shapes", color = "0.62 0.6 0.85", style="rounded"]; - 9[label = "retrieve_databundle", color = "0.24 0.6 0.85", style="rounded"]; - 10[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.36 0.6 0.85", style="rounded"]; - 11[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.02 0.6 0.85", style="rounded"]; - 12[label = "build_renewable_profiles\ntechnology: onwind", color = "0.02 0.6 0.85", style="rounded"]; - 13[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.02 0.6 0.85", style="rounded"]; - 14[label = "build_ship_raster", color = "0.08 0.6 0.85", style="rounded"]; - 15[label = "retrieve_ship_raster", color = "0.28 0.6 0.85", style="rounded"]; - 16[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.02 0.6 0.85", style="rounded"]; - 17[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.02 0.6 0.85", style="rounded"]; - 18[label = "build_line_rating", color = "0.07 0.6 0.85", style="rounded"]; - 19[label = "retrieve_cost_data\nyear: 2030", color = "0.47 0.6 0.85", style="rounded"]; - 20[label = "build_powerplants", color = "0.11 0.6 0.85", style="rounded"]; - 21[label = "build_electricity_demand", color = "0.05 0.6 0.85", style="rounded"]; - 22[label = "retrieve_electricity_demand", color = "0.58 0.6 0.85", style="rounded"]; - 23[label = "retrieve_synthetic_electricity_demand", color = "0.11 0.6 0.85", style="rounded"]; + 0[label = "solve_network", color = "0.16 0.6 0.85", style="rounded"]; + 1[label = "prepare_network\nll: copt\nopts: ", color = "0.40 0.6 0.85", style="rounded"]; + 2[label = "add_extra_components", color = "0.03 0.6 0.85", style="rounded"]; + 3[label = "cluster_network\nclusters: 6", color = "0.26 0.6 0.85", style="rounded"]; + 4[label = "simplify_network\nsimpl: ", color = "0.17 0.6 0.85", style="rounded"]; + 5[label = "add_electricity", color = "0.39 0.6 0.85", style="rounded"]; + 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.13 0.6 0.85", style="rounded"]; + 7[label = "base_network", color = "0.01 0.6 0.85", style="rounded"]; + 8[label = "retrieve_osm_prebuilt", color = "0.27 0.6 0.85", style="rounded"]; + 9[label = "build_shapes", color = "0.18 0.6 0.85", style="rounded"]; + 10[label = "retrieve_naturalearth_countries", color = "0.41 0.6 0.85", style="rounded"]; + 11[label = "retrieve_eez", color = "0.14 0.6 0.85", style="rounded"]; + 12[label = "retrieve_databundle", color = "0.38 0.6 0.85", style="rounded"]; + 13[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.51 0.6 0.85", style="rounded"]; + 14[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.13 0.6 0.85", style="rounded"]; + 15[label = "build_renewable_profiles\ntechnology: onwind", color = "0.13 0.6 0.85", style="rounded"]; + 16[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.13 0.6 0.85", style="rounded"]; + 17[label = "build_ship_raster", color = "0.16 0.6 0.85", style="rounded"]; + 18[label = "retrieve_ship_raster", color = "0.53 0.6 0.85", style="rounded"]; + 19[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.13 0.6 0.85", style="rounded"]; + 20[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.13 0.6 0.85", style="rounded"]; + 21[label = "build_line_rating", color = "0.46 0.6 0.85", style="rounded"]; + 22[label = "build_transmission_projects", color = "0.29 0.6 0.85", style="rounded"]; + 23[label = "retrieve_cost_data\nyear: 2030", color = "0.11 0.6 0.85", style="rounded"]; + 24[label = "build_powerplants", color = "0.18 0.6 0.85", style="rounded"]; + 25[label = "build_electricity_demand", color = "0.30 0.6 0.85", style="rounded"]; + 26[label = "retrieve_electricity_demand", color = "0.13 0.6 0.85", style="rounded"]; + 27[label = "retrieve_synthetic_electricity_demand", color = "0.43 0.6 0.85", style="rounded"]; 1 -> 0 2 -> 1 - 19 -> 1 + 23 -> 1 3 -> 2 - 19 -> 2 + 23 -> 2 4 -> 3 - 19 -> 3 + 23 -> 3 5 -> 4 - 19 -> 4 + 23 -> 4 7 -> 4 6 -> 5 - 11 -> 5 - 12 -> 5 - 13 -> 5 + 14 -> 5 + 15 -> 5 16 -> 5 - 17 -> 5 - 7 -> 5 - 18 -> 5 19 -> 5 20 -> 5 + 7 -> 5 21 -> 5 - 8 -> 5 + 22 -> 5 + 23 -> 5 + 24 -> 5 + 25 -> 5 + 9 -> 5 7 -> 6 + 12 -> 6 9 -> 6 - 8 -> 6 - 10 -> 6 + 13 -> 6 8 -> 7 - 9 -> 8 - 7 -> 11 - 9 -> 11 - 8 -> 11 - 10 -> 11 - 7 -> 12 - 9 -> 12 - 8 -> 12 - 10 -> 12 - 7 -> 13 - 9 -> 13 - 14 -> 13 - 8 -> 13 - 10 -> 13 - 15 -> 14 - 10 -> 14 + 9 -> 7 + 10 -> 9 + 11 -> 9 + 12 -> 9 + 7 -> 14 + 12 -> 14 + 9 -> 14 + 13 -> 14 + 7 -> 15 + 12 -> 15 + 9 -> 15 + 13 -> 15 7 -> 16 + 12 -> 16 + 17 -> 16 9 -> 16 - 14 -> 16 - 8 -> 16 - 10 -> 16 - 7 -> 17 - 9 -> 17 - 14 -> 17 - 8 -> 17 - 10 -> 17 - 7 -> 18 - 10 -> 18 + 13 -> 16 + 18 -> 17 + 13 -> 17 + 7 -> 19 + 12 -> 19 + 17 -> 19 + 9 -> 19 + 13 -> 19 7 -> 20 - 22 -> 21 - 23 -> 21 - } + 12 -> 20 + 17 -> 20 + 9 -> 20 + 13 -> 20 + 7 -> 21 + 13 -> 21 + 7 -> 22 + 9 -> 22 + 7 -> 24 + 26 -> 25 + 27 -> 25 + } | @@ -235,17 +245,21 @@ In the terminal, this will show up as a list of jobs to be run: build_renewable_profiles 6 build_shapes 1 build_ship_raster 1 + build_transmission_projects 1 cluster_network 1 prepare_network 1 retrieve_cost_data 1 retrieve_cutout 1 retrieve_databundle 1 + retrieve_eez 1 retrieve_electricity_demand 1 + retrieve_naturalearth_countries 1 + retrieve_osm_prebuilt 1 retrieve_ship_raster 1 retrieve_synthetic_electricity_demand 1 simplify_network 1 solve_network 1 - total 24 + total 28 ``snakemake`` then runs these jobs in the correct order. diff --git a/doc/tutorial_sector.rst b/doc/tutorial_sector.rst index 450f1e69..a369356f 100644 --- a/doc/tutorial_sector.rst +++ b/doc/tutorial_sector.rst @@ -74,6 +74,7 @@ which were already included in the electricity-only tutorial: base_network 1 build_ammonia_production 1 build_biomass_potentials 1 + build_central_heating_temperature_profiles 1 build_clustered_population_layouts 1 build_cop_profiles 1 build_daily_heat_demand 1 @@ -102,8 +103,9 @@ which were already included in the electricity-only tutorial: build_ship_raster 1 build_shipping_demand 1 build_simplified_population_layouts 1 - build_solar_thermal_profiles 3 - build_temperature_profiles 3 + build_solar_thermal_profiles 1 + build_temperature_profiles 1 + build_transmission_projects 1 build_transport_demand 1 cluster_gas_network 1 cluster_network 1 @@ -118,16 +120,23 @@ which were already included in the electricity-only tutorial: retrieve_cost_data 1 retrieve_cutout 1 retrieve_databundle 1 + retrieve_eez 1 retrieve_electricity_demand 1 retrieve_eurostat_data 1 retrieve_eurostat_household_data 1 retrieve_gas_infrastructure_data 1 + retrieve_gem_europe_gas_tracker 1 + retrieve_gem_steel_plant_tracker 1 + retrieve_jrc_idees 1 + retrieve_naturalearth_countries 1 + retrieve_osm_prebuilt 1 retrieve_ship_raster 1 retrieve_synthetic_electricity_demand 1 + retrieve_worldbank_urban_population 1 simplify_network 1 solve_sector_network 1 time_aggregation 1 - total 69 + total 74 This covers the retrieval of additional raw data from online resources and preprocessing data about the transport, industry, and heating sectors as well as @@ -146,264 +155,266 @@ successfully. graph[bgcolor=white, margin=0]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; edge[penwidth=2, color=grey]; - 0[label = "all", color = "0.28 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.60 0.6 0.85", style="rounded"]; + 0[label = "all", color = "0.22 0.6 0.85", style="rounded"]; + 1[label = "plot_summary", color = "0.11 0.6 0.85", style="rounded"]; 2[label = "make_summary", color = "0.30 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network", color = "0.36 0.6 0.85", style="rounded"]; - 4[label = "prepare_sector_network\nsector_opts: ", color = "0.22 0.6 0.85", style="rounded"]; - 5[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.20 0.6 0.85", style="rounded"]; - 6[label = "base_network", color = "0.00 0.6 0.85", style="rounded"]; - 7[label = "build_shapes", color = "0.25 0.6 0.85", style="rounded"]; - 8[label = "retrieve_databundle", color = "0.06 0.6 0.85", style="rounded"]; - 9[label = "build_ship_raster", color = "0.06 0.6 0.85", style="rounded"]; - 10[label = "retrieve_ship_raster", color = "0.27 0.6 0.85", style="rounded"]; - 11[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.26 0.6 0.85", style="rounded"]; - 12[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.20 0.6 0.85", style="rounded"]; - 13[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.20 0.6 0.85", style="rounded"]; - 14[label = "cluster_gas_network", color = "0.37 0.6 0.85", style="rounded"]; - 15[label = "build_gas_network", color = "0.44 0.6 0.85", style="rounded"]; - 16[label = "retrieve_gas_infrastructure_data", color = "0.43 0.6 0.85", style="rounded"]; - 17[label = "cluster_network\nclusters: 5", color = "0.08 0.6 0.85", style="rounded"]; - 18[label = "simplify_network\nsimpl: ", color = "0.01 0.6 0.85", style="rounded"]; - 19[label = "add_electricity", color = "0.53 0.6 0.85", style="rounded"]; - 20[label = "build_renewable_profiles\ntechnology: solar", color = "0.20 0.6 0.85", style="rounded"]; - 21[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.20 0.6 0.85", style="rounded"]; - 22[label = "build_renewable_profiles\ntechnology: onwind", color = "0.20 0.6 0.85", style="rounded"]; - 23[label = "retrieve_cost_data\nyear: 2030", color = "0.11 0.6 0.85", style="rounded"]; - 24[label = "build_powerplants", color = "0.62 0.6 0.85", style="rounded"]; - 25[label = "build_electricity_demand", color = "0.66 0.6 0.85", style="rounded"]; - 26[label = "retrieve_electricity_demand", color = "0.20 0.6 0.85", style="rounded"]; - 27[label = "retrieve_synthetic_electricity_demand", color = "0.52 0.6 0.85", style="rounded"]; - 28[label = "build_gas_input_locations", color = "0.21 0.6 0.85", style="rounded"]; - 29[label = "time_aggregation", color = "0.58 0.6 0.85", style="rounded"]; - 30[label = "prepare_network\nll: v1.5\nopts: ", color = "0.61 0.6 0.85", style="rounded"]; - 31[label = "add_extra_components", color = "0.59 0.6 0.85", style="rounded"]; - 32[label = "build_hourly_heat_demand", color = "0.48 0.6 0.85", style="rounded"]; - 33[label = "build_daily_heat_demand\nscope: total", color = "0.12 0.6 0.85", style="rounded"]; - 34[label = "build_population_layouts", color = "0.62 0.6 0.85", style="rounded"]; - 35[label = "build_solar_thermal_profiles\nscope: total", color = "0.23 0.6 0.85", style="rounded"]; - 36[label = "retrieve_eurostat_data", color = "0.45 0.6 0.85", style="rounded"]; - 37[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.22 0.6 0.85", style="rounded"]; - 38[label = "build_energy_totals", color = "0.65 0.6 0.85", style="rounded"]; - 39[label = "retrieve_eurostat_household_data", color = "0.36 0.6 0.85", style="rounded"]; - 40[label = "build_clustered_population_layouts", color = "0.02 0.6 0.85", style="rounded"]; - 41[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.22 0.6 0.85", style="rounded"]; - 42[label = "build_heat_totals", color = "0.53 0.6 0.85", style="rounded"]; - 43[label = "build_shipping_demand", color = "0.17 0.6 0.85", style="rounded"]; - 44[label = "build_transport_demand", color = "0.49 0.6 0.85", style="rounded"]; - 45[label = "build_temperature_profiles\nscope: total", color = "0.32 0.6 0.85", style="rounded"]; - 46[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.34 0.6 0.85", style="rounded"]; - 47[label = "build_salt_cavern_potentials", color = "0.55 0.6 0.85", style="rounded"]; - 48[label = "build_simplified_population_layouts", color = "0.46 0.6 0.85", style="rounded"]; - 49[label = "build_industrial_energy_demand_per_node", color = "0.14 0.6 0.85", style="rounded"]; - 50[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.27 0.6 0.85", style="rounded"]; - 51[label = "build_industry_sector_ratios", color = "0.11 0.6 0.85", style="rounded"]; - 52[label = "build_ammonia_production", color = "0.25 0.6 0.85", style="rounded"]; - 53[label = "build_industrial_energy_demand_per_country_today", color = "0.44 0.6 0.85", style="rounded"]; - 54[label = "build_industrial_production_per_country", color = "0.18 0.6 0.85", style="rounded"]; - 55[label = "build_industrial_production_per_node", color = "0.41 0.6 0.85", style="rounded"]; - 56[label = "build_industrial_distribution_key", color = "0.04 0.6 0.85", style="rounded"]; - 57[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.09 0.6 0.85", style="rounded"]; - 58[label = "build_industrial_energy_demand_per_node_today", color = "0.46 0.6 0.85", style="rounded"]; - 59[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.39 0.6 0.85", style="rounded"]; - 60[label = "build_temperature_profiles\nscope: rural", color = "0.32 0.6 0.85", style="rounded"]; - 61[label = "build_temperature_profiles\nscope: urban", color = "0.32 0.6 0.85", style="rounded"]; - 62[label = "build_cop_profiles", color = "0.55 0.6 0.85", style="rounded"]; - 63[label = "build_solar_thermal_profiles\nscope: urban", color = "0.23 0.6 0.85", style="rounded"]; - 64[label = "build_solar_thermal_profiles\nscope: rural", color = "0.23 0.6 0.85", style="rounded"]; - 65[label = "plot_power_network_clustered", color = "0.41 0.6 0.85", style="rounded"]; - 66[label = "plot_power_network", color = "0.40 0.6 0.85", style="rounded"]; - 67[label = "plot_hydrogen_network", color = "0.42 0.6 0.85", style="rounded"]; - 68[label = "plot_gas_network", color = "0.32 0.6 0.85", style="rounded"]; + 3[label = "solve_sector_network", color = "0.42 0.6 0.85", style="rounded"]; + 4[label = "prepare_sector_network\nsector_opts: ", color = "0.45 0.6 0.85", style="rounded"]; + 5[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.44 0.6 0.85", style="rounded"]; + 6[label = "base_network", color = "0.26 0.6 0.85", style="rounded"]; + 7[label = "retrieve_osm_prebuilt", color = "0.01 0.6 0.85", style="rounded"]; + 8[label = "build_shapes", color = "0.50 0.6 0.85", style="rounded"]; + 9[label = "retrieve_naturalearth_countries", color = "0.09 0.6 0.85", style="rounded"]; + 10[label = "retrieve_eez", color = "0.52 0.6 0.85", style="rounded"]; + 11[label = "retrieve_databundle", color = "0.00 0.6 0.85", style="rounded"]; + 12[label = "build_ship_raster", color = "0.29 0.6 0.85", style="rounded"]; + 13[label = "retrieve_ship_raster", color = "0.13 0.6 0.85", style="rounded"]; + 14[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.06 0.6 0.85", style="rounded"]; + 15[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.44 0.6 0.85", style="rounded"]; + 16[label = "build_renewable_profiles\ntechnology: offwind-float", color = "0.44 0.6 0.85", style="rounded"]; + 17[label = "cluster_gas_network", color = "0.48 0.6 0.85", style="rounded"]; + 18[label = "build_gas_network", color = "0.59 0.6 0.85", style="rounded"]; + 19[label = "retrieve_gas_infrastructure_data", color = "0.14 0.6 0.85", style="rounded"]; + 20[label = "cluster_network\nclusters: 5", color = "0.08 0.6 0.85", style="rounded"]; + 21[label = "simplify_network\nsimpl: ", color = "0.25 0.6 0.85", style="rounded"]; + 22[label = "add_electricity", color = "0.46 0.6 0.85", style="rounded"]; + 23[label = "build_renewable_profiles\ntechnology: solar", color = "0.44 0.6 0.85", style="rounded"]; + 24[label = "build_renewable_profiles\ntechnology: solar-hsat", color = "0.44 0.6 0.85", style="rounded"]; + 25[label = "build_renewable_profiles\ntechnology: onwind", color = "0.44 0.6 0.85", style="rounded"]; + 26[label = "build_transmission_projects", color = "0.63 0.6 0.85", style="rounded"]; + 27[label = "retrieve_cost_data\nyear: 2030", color = "0.05 0.6 0.85", style="rounded"]; + 28[label = "build_powerplants", color = "0.43 0.6 0.85", style="rounded"]; + 29[label = "build_electricity_demand", color = "0.39 0.6 0.85", style="rounded"]; + 30[label = "retrieve_electricity_demand", color = "0.62 0.6 0.85", style="rounded"]; + 31[label = "retrieve_synthetic_electricity_demand", color = "0.31 0.6 0.85", style="rounded"]; + 32[label = "build_gas_input_locations", color = "0.45 0.6 0.85", style="rounded"]; + 33[label = "retrieve_gem_europe_gas_tracker", color = "0.33 0.6 0.85", style="rounded"]; + 34[label = "time_aggregation", color = "0.60 0.6 0.85", style="rounded"]; + 35[label = "prepare_network\nll: v1.5\nopts: ", color = "0.23 0.6 0.85", style="rounded"]; + 36[label = "add_extra_components", color = "0.36 0.6 0.85", style="rounded"]; + 37[label = "build_hourly_heat_demand", color = "0.15 0.6 0.85", style="rounded"]; + 38[label = "build_daily_heat_demand", color = "0.57 0.6 0.85", style="rounded"]; + 39[label = "build_population_layouts", color = "0.47 0.6 0.85", style="rounded"]; + 40[label = "retrieve_worldbank_urban_population", color = "0.19 0.6 0.85", style="rounded"]; + 41[label = "build_solar_thermal_profiles", color = "0.11 0.6 0.85", style="rounded"]; + 42[label = "retrieve_eurostat_data", color = "0.04 0.6 0.85", style="rounded"]; + 43[label = "build_population_weighted_energy_totals\nkind: energy", color = "0.04 0.6 0.85", style="rounded"]; + 44[label = "build_energy_totals", color = "0.30 0.6 0.85", style="rounded"]; + 45[label = "retrieve_jrc_idees", color = "0.02 0.6 0.85", style="rounded"]; + 46[label = "retrieve_eurostat_household_data", color = "0.49 0.6 0.85", style="rounded"]; + 47[label = "build_clustered_population_layouts", color = "0.19 0.6 0.85", style="rounded"]; + 48[label = "build_population_weighted_energy_totals\nkind: heat", color = "0.04 0.6 0.85", style="rounded"]; + 49[label = "build_heat_totals", color = "0.08 0.6 0.85", style="rounded"]; + 50[label = "build_shipping_demand", color = "0.52 0.6 0.85", style="rounded"]; + 51[label = "build_transport_demand", color = "0.16 0.6 0.85", style="rounded"]; + 52[label = "build_temperature_profiles", color = "0.58 0.6 0.85", style="rounded"]; + 53[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.55 0.6 0.85", style="rounded"]; + 54[label = "build_salt_cavern_potentials", color = "0.28 0.6 0.85", style="rounded"]; + 55[label = "build_simplified_population_layouts", color = "0.14 0.6 0.85", style="rounded"]; + 56[label = "build_industrial_energy_demand_per_node", color = "0.24 0.6 0.85", style="rounded"]; + 57[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.60 0.6 0.85", style="rounded"]; + 58[label = "build_industry_sector_ratios", color = "0.26 0.6 0.85", style="rounded"]; + 59[label = "build_ammonia_production", color = "0.16 0.6 0.85", style="rounded"]; + 60[label = "build_industrial_energy_demand_per_country_today", color = "0.18 0.6 0.85", style="rounded"]; + 61[label = "build_industrial_production_per_country", color = "0.61 0.6 0.85", style="rounded"]; + 62[label = "build_industrial_production_per_node", color = "0.65 0.6 0.85", style="rounded"]; + 63[label = "build_industrial_distribution_key", color = "0.31 0.6 0.85", style="rounded"]; + 64[label = "retrieve_gem_steel_plant_tracker", color = "0.27 0.6 0.85", style="rounded"]; + 65[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.09 0.6 0.85", style="rounded"]; + 66[label = "build_industrial_energy_demand_per_node_today", color = "0.40 0.6 0.85", style="rounded"]; + 67[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.07 0.6 0.85", style="rounded"]; + 68[label = "build_cop_profiles", color = "0.38 0.6 0.85", style="rounded"]; + 69[label = "build_central_heating_temperature_profiles", color = "0.55 0.6 0.85", style="rounded"]; + 70[label = "plot_power_network_clustered", color = "0.20 0.6 0.85", style="rounded"]; + 71[label = "plot_power_network", color = "0.53 0.6 0.85", style="rounded"]; + 72[label = "plot_hydrogen_network", color = "0.64 0.6 0.85", style="rounded"]; + 73[label = "plot_gas_network", color = "0.28 0.6 0.85", style="rounded"]; 1 -> 0 2 -> 1 - 36 -> 1 - 8 -> 1 + 42 -> 1 + 11 -> 1 3 -> 2 - 23 -> 2 - 65 -> 2 - 66 -> 2 - 67 -> 2 - 68 -> 2 + 27 -> 2 + 70 -> 2 + 71 -> 2 + 72 -> 2 + 73 -> 2 4 -> 3 5 -> 4 - 12 -> 4 - 13 -> 4 - 14 -> 4 - 28 -> 4 - 29 -> 4 - 30 -> 4 - 36 -> 4 - 37 -> 4 - 41 -> 4 - 43 -> 4 - 44 -> 4 - 38 -> 4 - 8 -> 4 - 46 -> 4 - 23 -> 4 - 47 -> 4 - 18 -> 4 + 15 -> 4 + 16 -> 4 17 -> 4 - 40 -> 4 - 48 -> 4 - 49 -> 4 32 -> 4 - 59 -> 4 - 45 -> 4 - 60 -> 4 - 61 -> 4 - 62 -> 4 + 34 -> 4 35 -> 4 - 63 -> 4 - 64 -> 4 + 42 -> 4 + 43 -> 4 + 48 -> 4 + 50 -> 4 + 51 -> 4 + 44 -> 4 + 11 -> 4 + 53 -> 4 + 27 -> 4 + 54 -> 4 + 21 -> 4 + 20 -> 4 + 47 -> 4 + 55 -> 4 + 56 -> 4 + 37 -> 4 + 67 -> 4 + 52 -> 4 + 68 -> 4 + 41 -> 4 6 -> 5 - 8 -> 5 - 9 -> 5 - 7 -> 5 11 -> 5 + 12 -> 5 + 8 -> 5 + 14 -> 5 7 -> 6 - 8 -> 7 - 10 -> 9 - 11 -> 9 - 6 -> 12 - 8 -> 12 - 9 -> 12 - 7 -> 12 - 11 -> 12 - 6 -> 13 - 8 -> 13 - 9 -> 13 - 7 -> 13 - 11 -> 13 - 15 -> 14 - 17 -> 14 - 16 -> 15 + 8 -> 6 + 9 -> 8 + 10 -> 8 + 11 -> 8 + 13 -> 12 + 14 -> 12 + 6 -> 15 + 11 -> 15 + 12 -> 15 + 8 -> 15 + 14 -> 15 + 6 -> 16 + 11 -> 16 + 12 -> 16 + 8 -> 16 + 14 -> 16 18 -> 17 - 23 -> 17 + 20 -> 17 19 -> 18 - 23 -> 18 - 6 -> 18 - 20 -> 19 - 21 -> 19 - 22 -> 19 - 5 -> 19 - 12 -> 19 - 13 -> 19 - 6 -> 19 - 23 -> 19 - 24 -> 19 - 25 -> 19 - 7 -> 19 - 6 -> 20 - 8 -> 20 - 7 -> 20 - 11 -> 20 + 21 -> 20 + 27 -> 20 + 22 -> 21 + 27 -> 21 6 -> 21 - 8 -> 21 - 7 -> 21 - 11 -> 21 + 23 -> 22 + 24 -> 22 + 25 -> 22 + 5 -> 22 + 15 -> 22 + 16 -> 22 6 -> 22 + 26 -> 22 + 27 -> 22 + 28 -> 22 + 29 -> 22 8 -> 22 - 7 -> 22 - 11 -> 22 + 6 -> 23 + 11 -> 23 + 8 -> 23 + 14 -> 23 6 -> 24 - 26 -> 25 - 27 -> 25 - 16 -> 28 - 17 -> 28 + 11 -> 24 + 8 -> 24 + 14 -> 24 + 6 -> 25 + 11 -> 25 + 8 -> 25 + 14 -> 25 + 6 -> 26 + 8 -> 26 + 6 -> 28 30 -> 29 - 32 -> 29 - 35 -> 29 - 31 -> 30 - 23 -> 30 - 17 -> 31 - 23 -> 31 + 31 -> 29 33 -> 32 - 34 -> 33 - 17 -> 33 - 11 -> 33 - 7 -> 34 - 11 -> 34 - 34 -> 35 - 17 -> 35 - 11 -> 35 + 19 -> 32 + 20 -> 32 + 35 -> 34 + 37 -> 34 + 41 -> 34 + 36 -> 35 + 27 -> 35 + 20 -> 36 + 27 -> 36 38 -> 37 - 40 -> 37 - 7 -> 38 - 8 -> 38 - 36 -> 38 39 -> 38 - 34 -> 40 - 17 -> 40 - 11 -> 40 - 42 -> 41 - 40 -> 41 - 38 -> 42 - 7 -> 43 - 17 -> 43 - 38 -> 43 - 40 -> 44 - 37 -> 44 - 38 -> 44 + 20 -> 38 + 14 -> 38 + 8 -> 39 + 40 -> 39 + 14 -> 39 + 39 -> 41 + 20 -> 41 + 14 -> 41 + 44 -> 43 + 47 -> 43 8 -> 44 + 11 -> 44 45 -> 44 - 34 -> 45 - 17 -> 45 - 11 -> 45 - 8 -> 46 - 17 -> 46 - 7 -> 46 - 8 -> 47 - 17 -> 47 - 34 -> 48 - 18 -> 48 - 11 -> 48 - 50 -> 49 - 55 -> 49 - 58 -> 49 - 51 -> 50 - 53 -> 50 - 54 -> 50 + 42 -> 44 + 46 -> 44 + 39 -> 47 + 20 -> 47 + 14 -> 47 + 49 -> 48 + 47 -> 48 + 44 -> 49 + 8 -> 50 + 20 -> 50 + 44 -> 50 + 47 -> 51 + 43 -> 51 + 44 -> 51 + 11 -> 51 52 -> 51 - 8 -> 51 - 8 -> 52 + 39 -> 52 + 20 -> 52 + 14 -> 52 + 42 -> 53 + 11 -> 53 + 20 -> 53 8 -> 53 - 54 -> 53 - 52 -> 54 - 8 -> 54 - 36 -> 54 - 56 -> 55 - 57 -> 55 - 17 -> 56 - 40 -> 56 - 54 -> 57 - 56 -> 58 - 53 -> 58 - 38 -> 59 - 40 -> 59 - 34 -> 60 - 17 -> 60 - 11 -> 60 - 34 -> 61 - 17 -> 61 - 11 -> 61 - 45 -> 62 - 60 -> 62 - 61 -> 62 - 34 -> 63 - 17 -> 63 - 11 -> 63 - 34 -> 64 - 17 -> 64 - 11 -> 64 - 17 -> 65 - 3 -> 66 - 17 -> 66 - 3 -> 67 - 17 -> 67 - 3 -> 68 - 17 -> 68 + 11 -> 54 + 20 -> 54 + 39 -> 55 + 21 -> 55 + 14 -> 55 + 57 -> 56 + 62 -> 56 + 66 -> 56 + 58 -> 57 + 60 -> 57 + 61 -> 57 + 59 -> 58 + 45 -> 58 + 44 -> 60 + 45 -> 60 + 61 -> 60 + 59 -> 61 + 45 -> 61 + 42 -> 61 + 63 -> 62 + 65 -> 62 + 20 -> 63 + 47 -> 63 + 64 -> 63 + 61 -> 65 + 63 -> 66 + 60 -> 66 + 44 -> 67 + 47 -> 67 + 69 -> 68 + 52 -> 68 + 20 -> 68 + 52 -> 69 + 20 -> 69 + 20 -> 70 + 3 -> 71 + 20 -> 71 + 3 -> 72 + 20 -> 72 + 3 -> 73 + 20 -> 73 } | diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index 31dc7527..d625a5b1 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,469 +1,6 @@ -# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors -# -# SPDX-License-Identifier: CC0-1.0 - -name: pypsa-eur +name: pypsa-eur-20240812 channels: -- conda-forge -- bioconda -- gurobi -- defaults -dependencies: -- _libgcc_mutex=0.1 -- _openmp_mutex=4.5 -- affine=2.4.0 -- alsa-lib=1.2.11 -- ampl-mp=3.1.0 -- amply=0.1.6 -- appdirs=1.4.4 -- argparse-dataclass=2.0.0 -- asttokens=2.4.1 -- atk-1.0=2.38.0 -- atlite=0.2.12 -- attr=2.5.1 -- attrs=23.2.0 -- aws-c-auth=0.7.22 -- aws-c-cal=0.6.14 -- aws-c-common=0.9.19 -- aws-c-compression=0.2.18 -- aws-c-event-stream=0.4.2 -- aws-c-http=0.8.1 -- aws-c-io=0.14.8 -- aws-c-mqtt=0.10.4 -- aws-c-s3=0.5.9 -- aws-c-sdkutils=0.1.16 -- aws-checksums=0.1.18 -- aws-crt-cpp=0.26.9 -- aws-sdk-cpp=1.11.329 -- azure-core-cpp=1.11.1 -- azure-identity-cpp=1.6.0 -- azure-storage-blobs-cpp=12.10.0 -- azure-storage-common-cpp=12.5.0 -- beautifulsoup4=4.12.3 -- blosc=1.21.5 -- bokeh=3.4.1 -- bottleneck=1.3.8 -- branca=0.7.2 -- brotli=1.1.0 -- brotli-bin=1.1.0 -- brotli-python=1.1.0 -- bzip2=1.0.8 -- c-ares=1.28.1 -- c-blosc2=2.14.4 -- ca-certificates=2024.2.2 -- cads-api-client=1.0.3 -- cairo=1.18.0 -- cartopy=0.23.0 -- cdsapi=0.7.0 -- certifi=2024.2.2 -- cffi=1.16.0 -- cfgv=3.3.1 -- cfitsio=4.4.0 -- cftime=1.6.3 -- charset-normalizer=3.3.2 -- click=8.1.7 -- click-plugins=1.1.1 -- cligj=0.7.2 -- cloudpickle=3.0.0 -- coin-or-cbc=2.10.10 -- coin-or-cgl=0.60.7 -- coin-or-clp=1.17.8 -- coin-or-osi=0.108.10 -- coin-or-utils=2.11.11 -- coincbc=2.10.10 -- colorama=0.4.6 -- conda-inject=1.3.1 -- configargparse=1.7 -- connection_pool=0.0.3 -- contourpy=1.2.1 -- country_converter=1.2 -- cppad=20240000.4 -- cycler=0.12.1 -- cytoolz=0.12.3 -- dask=2024.5.1 -- dask-core=2024.5.1 -- dask-expr=1.1.1 -- datrie=0.8.2 -- dbus=1.13.6 -- decorator=5.1.1 -- deprecation=2.1.0 -- descartes=1.1.0 -- distlib=0.3.8 -- distributed=2024.5.1 -- distro=1.9.0 -- docutils=0.21.2 -- dpath=2.1.6 -- entsoe-py=0.6.7 -- et_xmlfile=1.1.0 -- exceptiongroup=1.2.0 -- executing=2.0.1 -- expat=2.6.2 -- filelock=3.14.0 -- fiona=1.9.6 -- fmt=10.2.1 -- folium=0.16.0 -- font-ttf-dejavu-sans-mono=2.37 -- font-ttf-inconsolata=3.000 -- font-ttf-source-code-pro=2.038 -- font-ttf-ubuntu=0.83 -- fontconfig=2.14.2 -- fonts-conda-ecosystem=1 -- fonts-conda-forge=1 -- fonttools=4.52.1 -- freetype=2.12.1 -- freexl=2.0.0 -- fribidi=1.0.10 -- fsspec=2024.5.0 -- gdal=3.8.5 -- gdk-pixbuf=2.42.12 -- geographiclib=2.0 -- geojson-rewind=1.1.0 -- geopandas=0.14.4 -- geopandas-base=0.14.4 -- geopy=2.4.1 -- geos=3.12.1 -- geotiff=1.7.3 -- gettext=0.22.5 -- gettext-tools=0.22.5 -- gflags=2.2.2 -- giflib=5.2.2 -- gitdb=4.0.11 -- gitpython=3.1.43 -- glib=2.80.2 -- glib-tools=2.80.2 -- glog=0.7.0 -- glpk=5.0 -- gmp=6.3.0 -- graphite2=1.3.13 -- graphviz=11.0.0 -- gst-plugins-base=1.24.3 -- gstreamer=1.24.3 -- gtk2=2.24.33 -- gts=0.7.6 -- gurobi=11.0.2 -- harfbuzz=8.5.0 -- hdf4=4.2.15 -- hdf5=1.14.3 -- humanfriendly=10.0 -- icu=73.2 -- identify=2.5.36 -- idna=3.7 -- immutables=0.20 -- importlib-metadata=7.1.0 -- importlib_metadata=7.1.0 -- importlib_resources=6.4.0 -- iniconfig=2.0.0 -- ipopt=3.14.16 -- ipython=8.24.0 -- jedi=0.19.1 -- jinja2=3.1.4 -- joblib=1.4.2 -- json-c=0.17 -- jsonschema=4.22.0 -- jsonschema-specifications=2023.12.1 -- jupyter_core=5.7.2 -- kealib=1.5.3 -- keyutils=1.6.1 -- kiwisolver=1.4.5 -- krb5=1.21.2 -- lame=3.100 -- lcms2=2.16 -- ld_impl_linux-64=2.40 -- lerc=4.0.0 -- libabseil=20240116.2 -- libaec=1.1.3 -- libarchive=3.7.4 -- libarrow=16.1.0 -- libarrow-acero=16.1.0 -- libarrow-dataset=16.1.0 -- libarrow-substrait=16.1.0 -- libasprintf=0.22.5 -- libasprintf-devel=0.22.5 -- libblas=3.9.0 -- libboost-headers=1.85.0 -- libbrotlicommon=1.1.0 -- libbrotlidec=1.1.0 -- libbrotlienc=1.1.0 -- libcap=2.69 -- libcblas=3.9.0 -- libclang-cpp15=15.0.7 -- libclang13=18.1.5 -- libcrc32c=1.1.2 -- libcups=2.3.3 -- libcurl=8.8.0 -- libdeflate=1.20 -- libedit=3.1.20191231 -- libev=4.33 -- libevent=2.1.12 -- libexpat=2.6.2 -- libffi=3.4.2 -- libflac=1.4.3 -- libgcc-ng=13.2.0 -- libgcrypt=1.10.3 -- libgd=2.3.3 -- libgdal=3.8.5 -- libgettextpo=0.22.5 -- libgettextpo-devel=0.22.5 -- libgfortran-ng=13.2.0 -- libgfortran5=13.2.0 -- libglib=2.80.2 -- libgomp=13.2.0 -- libgoogle-cloud=2.24.0 -- libgoogle-cloud-storage=2.24.0 -- libgpg-error=1.49 -- libgrpc=1.62.2 -- libhwloc=2.9.3 -- libiconv=1.17 -- libjpeg-turbo=3.0.0 -- libkml=1.3.0 -- liblapack=3.9.0 -- liblapacke=3.9.0 -- libllvm15=15.0.7 -- libllvm18=18.1.6 -- libnetcdf=4.9.2 -- libnghttp2=1.58.0 -- libnsl=2.0.1 -- libogg=1.3.4 -- libopenblas=0.3.27 -- libopus=1.3.1 -- libparquet=16.1.0 -- libpng=1.6.43 -- libpq=16.3 -- libprotobuf=4.25.3 -- libre2-11=2023.09.01 -- librsvg=2.58.0 -- librttopo=1.1.0 -- libscotch=7.0.4 -- libsndfile=1.2.2 -- libspatialindex=1.9.3 -- libspatialite=5.1.0 -- libspral=2024.01.18 -- libsqlite=3.45.3 -- libssh2=1.11.0 -- libstdcxx-ng=13.2.0 -- libsystemd0=255 -- libthrift=0.19.0 -- libtiff=4.6.0 -- libutf8proc=2.8.0 -- libuuid=2.38.1 -- libvorbis=1.3.7 -- libwebp=1.4.0 -- libwebp-base=1.4.0 -- libxcb=1.15 -- libxcrypt=4.4.36 -- libxkbcommon=1.7.0 -- libxml2=2.12.7 -- libxslt=1.1.39 -- libzip=1.10.1 -- libzlib=1.2.13 -- linopy=0.3.9 -- locket=1.0.0 -- lxml=5.2.2 -- lz4=4.3.3 -- lz4-c=1.9.4 -- lzo=2.10 -- mapclassify=2.6.1 -- markupsafe=2.1.5 -- matplotlib=3.8.4 -- matplotlib-base=3.8.4 -- matplotlib-inline=0.1.7 -- memory_profiler=0.61.0 -- metis=5.1.0 -- minizip=4.0.5 -- mpfr=4.2.1 -- mpg123=1.32.6 -- msgpack-python=1.0.8 -- multiurl=0.3.1 -- mumps-include=5.7.1 -- mumps-seq=5.7.1 -- munkres=1.1.4 -- mysql-common=8.3.0 -- mysql-libs=8.3.0 -- nbformat=5.10.4 -- ncurses=6.5 -- netcdf4=1.6.5 -- networkx=3.3 -- nodeenv=1.8.0 -- nomkl=1.0 -- nspr=4.35 -- nss=3.100 -- numexpr=2.9.0 -- numpy=1.26.4 -- openjdk=22.0.1 -- openjpeg=2.5.2 -- openpyxl=3.1.2 -- openssl=3.3.0 -- orc=2.0.1 -- packaging=24.0 -- pandas=2.2.2 -- pango=1.52.2 -- parso=0.8.4 -- partd=1.4.2 -- patsy=0.5.6 -- pcre2=10.43 -- pexpect=4.9.0 -- pickleshare=0.7.5 -- pillow=10.3.0 -- pip=24.0 -- pixman=0.43.2 -- pkgutil-resolve-name=1.3.10 -- plac=1.4.3 -- platformdirs=4.2.2 -- pluggy=1.5.0 -- ply=3.11 -- poppler=24.04.0 -- poppler-data=0.4.12 -- postgresql=16.3 -- powerplantmatching=0.5.15 -- pre-commit=3.7.1 -- progressbar2=4.4.2 -- proj=9.4.0 -- prompt-toolkit=3.0.42 -- psutil=5.9.8 -- pthread-stubs=0.4 -- ptyprocess=0.7.0 -- pulp=2.8.0 -- pulseaudio-client=17.0 -- pure_eval=0.2.2 -- py-cpuinfo=9.0.0 -- pyarrow=16.1.0 -- pyarrow-core=16.1.0 -- pyarrow-hotfix=0.6 -- pycountry=22.3.5 -- pycparser=2.22 -- pygments=2.18.0 -- pyomo=6.6.1 -- pyparsing=3.1.2 -- pyproj=3.6.1 -- pypsa=0.29.0 -- pyqt=5.15.9 -- pyqt5-sip=12.12.2 -- pyscipopt=5.0.1 -- pyshp=2.3.1 -- pysocks=1.7.1 -- pytables=3.9.2 -- pytest=8.2.1 -- python=3.11.9 -- python-dateutil=2.9.0 -- python-fastjsonschema=2.19.1 -- python-tzdata=2024.1 -- python-utils=3.8.2 -- python_abi=3.11 -- pytz=2024.1 -- pyxlsb=1.0.10 -- pyyaml=6.0.1 -- qt-main=5.15.8 -- rasterio=1.3.10 -- re2=2023.09.01 -- readline=8.2 -- referencing=0.35.1 -- requests=2.32.2 -- reretry=0.11.8 -- rioxarray=0.15.5 -- rpds-py=0.18.1 -- rtree=1.2.0 -- s2n=1.4.15 -- scikit-learn=1.5.0 -- scip=9.0.1 -- scipy=1.13.1 -- scotch=7.0.4 -- seaborn=0.13.2 -- seaborn-base=0.13.2 -- setuptools=70.0.0 -- setuptools-scm=8.1.0 -- setuptools_scm=8.1.0 -- shapely=2.0.4 -- sip=6.7.12 -- six=1.16.0 -- smart_open=7.0.4 -- smmap=5.0.0 -- snakemake-interface-common=1.17.2 -- snakemake-interface-executor-plugins=9.1.1 -- snakemake-interface-report-plugins=1.0.0 -- snakemake-interface-storage-plugins=3.2.2 -- snakemake-minimal=8.11.6 -- snappy=1.2.0 -- snuggs=1.4.7 -- sortedcontainers=2.4.0 -- soupsieve=2.5 -- spdlog=1.13.0 -- sqlite=3.45.3 -- stack_data=0.6.2 -- statsmodels=0.14.2 -- stopit=1.1.2 -- jpype1=1.5.0 -- tabulate=0.9.0 -- tbb=2021.11.0 -- tblib=3.0.0 -- threadpoolctl=3.5.0 -- throttler=1.2.2 -- tiledb=2.23.0 -- tk=8.6.13 -- toml=0.10.2 -- tomli=2.0.1 -- toolz=0.12.1 -- toposort=1.10 -- tornado=6.4 -- tqdm=4.66.4 -- traitlets=5.14.3 -- typing-extensions=4.11.0 -- typing_extensions=4.11.0 -- tzcode=2024a -- tzdata=2024a -- ukkonen=1.0.1 -- unidecode=1.3.8 -- unixodbc=2.3.12 -- uriparser=0.9.8 -- urllib3=2.2.1 -- validators=0.28.2 -- virtualenv=20.26.2 -- wcwidth=0.2.13 -- wheel=0.43.0 -- wrapt=1.16.0 -- xarray=2024.5.0 -- xcb-util=0.4.0 -- xcb-util-image=0.4.0 -- xcb-util-keysyms=0.4.0 -- xcb-util-renderutil=0.3.9 -- xcb-util-wm=0.4.1 -- xerces-c=3.2.5 -- xkeyboard-config=2.41 -- xlrd=2.0.1 -- xorg-fixesproto=5.0 -- xorg-inputproto=2.3.2 -- xorg-kbproto=1.0.7 -- xorg-libice=1.1.1 -- xorg-libsm=1.2.4 -- xorg-libx11=1.8.9 -- xorg-libxau=1.0.11 -- xorg-libxdmcp=1.1.3 -- xorg-libxext=1.3.4 -- xorg-libxfixes=5.0.3 -- xorg-libxi=1.7.10 -- xorg-libxrender=0.9.11 -- xorg-libxt=1.3.0 -- xorg-libxtst=1.2.3 -- xorg-recordproto=1.14.2 -- xorg-renderproto=0.11.1 -- xorg-xextproto=7.3.0 -- xorg-xf86vidmodeproto=2.3.1 -- xorg-xproto=7.0.31 -- xyzservices=2024.4.0 -- xz=5.2.6 -- yaml=0.2.5 -- yte=1.5.4 -- zict=3.0.0 -- zipp=3.17.0 -- zlib=1.2.13 -- zlib-ng=2.0.7 -- zstd=1.5.6 -- pip: - - highspy==1.5.3 - - oauthlib==3.2.2 - - requests-oauthlib==1.3.1 - - snakemake-executor-plugin-cluster-generic==1.0.9 - - snakemake-executor-plugin-slurm==0.5.1 - - snakemake-executor-plugin-slurm-jobstep==0.2.1 - - snakemake-storage-plugin-http==0.2.3 - - tsam==2.3.1 - - tabula-py=2.9.3 + - http://conda.anaconda.org/gurobi + - conda-forge + - defaults +prefix: /home/fneum/miniconda3/envs/pypsa-eur-20240812 diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index e8d6207c..015eb66a 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -37,7 +37,7 @@ Outputs ------- - ``cutouts/{cutout}``: weather data from either the `ERA5 `_ - reanalysis weather dataset or `SARAH-2 `_ + reanalysis weather dataset or `SARAH-3 `_ satellite-based historic weather data with the following structure: **ERA5 cutout:** @@ -80,7 +80,7 @@ Outputs .. image:: img/era5.png :scale: 40 % -A **SARAH-2 cutout** can be used to amend the fields ``temperature``, ``influx_toa``, ``influx_direct``, ``albedo``, +A **SARAH-3 cutout** can be used to amend the fields ``temperature``, ``influx_toa``, ``influx_direct``, ``albedo``, ``influx_diffuse`` of ERA5 using satellite-based radiation observations. .. image:: img/sarah.png From 56f2b581bfceaf4be67bf55ea6ba76aa4dd68bc3 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 30 Aug 2024 18:06:41 +0200 Subject: [PATCH 03/22] Add emissions and fuel consumption from fuel refinieries (#1253) * Add emissions and fuel consumption from fuel refinieries * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- config/config.default.yaml | 3 ++ doc/configtables/industry.csv | 1 + doc/release_notes.rst | 3 ++ scripts/prepare_sector_network.py | 49 ++++++++++++++++++++++++++----- 4 files changed, 48 insertions(+), 8 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 2026c11f..4290760e 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -798,6 +798,7 @@ industry: MWh_MeOH_per_tMeOH: 5.528 hotmaps_locate_missing: false reference_year: 2019 + oil_refining_emissions: 0.013 # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs @@ -1078,6 +1079,8 @@ plotting: gas pipeline new: '#a87c62' # oil oil: '#c9c9c9' + oil primary: '#d2d2d2' + oil refining: '#e6e6e6' imported oil: '#a3a3a3' oil boiler: '#adadad' residential rural oil boiler: '#a9a9a9' diff --git a/doc/configtables/industry.csv b/doc/configtables/industry.csv index 4187e118..fd80e804 100644 --- a/doc/configtables/industry.csv +++ b/doc/configtables/industry.csv @@ -35,3 +35,4 @@ MWh_CH4_per_tMeOH,MWhCH4/tMeOH,float,"The energy amount of methane needed to pro MWh_MeOH_per_tMeOH,LHV,float,"The energy amount per ton of methanol. From `DECHEMA (2017) `_, page 74." hotmaps_locate_missing,--,"{true,false}",Locate industrial sites without valid locations based on city and countries. reference_year,year,YYYY,The year used as the baseline for industrial energy demand and production. Data extracted from `JRC-IDEES 2015 `_ +oil_refining_emissions,tCO2/MWh,float,"The emissions from oil fuel processing (e.g. oil in petrochemical refinieries). The default value of 0.013 tCO2/MWh is based on DE statistics for 2019; the EU value is very similar." diff --git a/doc/release_notes.rst b/doc/release_notes.rst index e912da2d..0508252f 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,6 +11,9 @@ Release Notes Upcoming Release ================ +* Added option to specify emissions fuel processing (e.g. oil in petrochemical + refinieries) with setting ``industry: oil_refining_emissions:``. + * Bugfix for passing function arguments in rule :mod:`solve_operations_network`. * Represent Kosovo (XK) as separate country. diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 9d099e07..5f579c5d 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -573,14 +573,47 @@ def add_carrier_buses(n, carrier, nodes=None): fossils = ["coal", "gas", "oil", "lignite"] if options.get("fossil_fuels", True) and carrier in fossils: - n.madd( - "Generator", - nodes, - bus=nodes, - p_nom_extendable=True, - carrier=carrier, - marginal_cost=costs.at[carrier, "fuel"], - ) + suffix = "" + + if carrier == "oil" and cf_industry["oil_refining_emissions"] > 0: + + n.madd( + "Bus", + nodes + " primary", + location=location, + carrier=carrier + " primary", + unit=unit, + ) + + n.madd( + "Link", + nodes + " refining", + bus0=nodes + " primary", + bus1=nodes, + bus2="co2 atmosphere", + location=location, + carrier=carrier + " refining", + p_nom=1e6, + efficiency=1 + - ( + cf_industry["oil_refining_emissions"] + / costs.at[carrier, "CO2 intensity"] + ), + efficiency2=cf_industry["oil_refining_emissions"], + ) + + suffix = " primary" + + else: + + n.madd( + "Generator", + nodes + suffix, + bus=nodes + suffix, + p_nom_extendable=True, + carrier=carrier + suffix, + marginal_cost=costs.at[carrier, "fuel"], + ) # TODO: PyPSA-Eur merge issue From 0a1d58fa5590a9f975d403075907b015c9376425 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 30 Aug 2024 18:12:49 +0200 Subject: [PATCH 04/22] update version number, amend authors --- CITATION.cff | 16 +++++++++++++++- config/config.default.yaml | 2 +- doc/conf.py | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c921a773..2caf4226 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ cff-version: 1.1.0 message: "If you use this package, please cite it in the following way." title: "PyPSA-Eur: An open sector-coupled optimisation model of the European energy system" repository: https://github.com/pypsa/pypsa-eur -version: 0.11.0 +version: 0.12.0 license: MIT authors: - family-names: Brown @@ -36,3 +36,17 @@ authors: - family-names: Hörsch given-names: Jonas orcid: https://orcid.org/0000-0001-9438-767X + - family-names: Schledorn + given-names: Amos + - family-names: Schauß + given-names: Caspar + - family-names: van Greevenbroek + given-names: Koen + - family-names: Millinger + given-names: Markus + - family-names: Glaum + given-names: Philipp + - family-names: Xiong + given-names: Bobby + - family-names: Seibold + given-names: Toni diff --git a/config/config.default.yaml b/config/config.default.yaml index 00e5838e..5e736e2e 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration -version: 0.11.0 +version: 0.12.0 tutorial: false logging: diff --git a/doc/conf.py b/doc/conf.py index f0d1ca37..bb929a46 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -92,9 +92,9 @@ author = "Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann # built documents. # # The short X.Y version. -version = "0.11" +version = "0.12" # The full version, including alpha/beta/rc tags. -release = "0.11.0" +release = "0.12.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From d2e75629625f7d90d5ddc2701eb30a45e055f65b Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Fri, 30 Aug 2024 18:16:52 +0200 Subject: [PATCH 05/22] fix version number in release notes --- doc/release_notes.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 4241ba09..dd39fcbc 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,8 +11,8 @@ Release Notes .. Upcoming Release .. ================ -PyPSA-Eur 0.11.0 (25th May 2024) -================================ +PyPSA-Eur 0.12.0 (30th August 2024) +=================================== **Data Updates and Extensions** From 30bcddb66afb77eba43c842567164aa8688b627c Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Tue, 3 Sep 2024 14:10:20 +0200 Subject: [PATCH 06/22] prepare_sector_networks: account correctely for msw co2 environment.yaml: add license comment --- envs/environment.fixed.yaml | 10 +++++++--- scripts/prepare_sector_network.py | 13 +++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index d625a5b1..ac2d7eee 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,6 +1,10 @@ +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors +# +# SPDX-License-Identifier: CC0-1.0 + name: pypsa-eur-20240812 channels: - - http://conda.anaconda.org/gurobi - - conda-forge - - defaults +- http://conda.anaconda.org/gurobi +- conda-forge +- defaults prefix: /home/fneum/miniconda3/envs/pypsa-eur-20240812 diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 5f579c5d..89175b1f 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -2377,12 +2377,9 @@ def add_biomass(n, costs): carrier="municipal solid waste", ) - e_max_pu = np.array( - len(spatial.msw.nodes) * [[1] * (len(n.snapshots) - 1) + [0]] - ).T - e_max_pu = pd.DataFrame( - e_max_pu, index=n.snapshots, columns=spatial.msw.nodes - ).astype(float) + e_max_pu = pd.DataFrame(1, index=n.snapshots, columns=spatial.msw.nodes) + e_max_pu.iloc[-1] = 0 + n.madd( "Store", spatial.msw.nodes, @@ -3383,9 +3380,13 @@ def add_industry(n, costs): spatial.msw.locations, bus0=spatial.msw.nodes, bus1=non_sequestered_hvc_locations, + bus2="co2 atmosphere", carrier="municipal solid waste", p_nom_extendable=True, efficiency=1.0, + efficiency2=-costs.at[ + "oil", "CO2 intensity" + ], # because msw is co2 neutral and will be burned in waste CHP or decomposed as oil ) n.madd( From 5e5944df57f1d2b412b7e7eb8d77b5004b97bea6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 12:12:20 +0000 Subject: [PATCH 07/22] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- doc/release_notes.rst | 4 ++-- doc/tutorial.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index dd39fcbc..2a009fe5 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -100,7 +100,7 @@ PyPSA-Eur 0.12.0 (30th August 2024) share_unsustainable_use_retained`` and ``biomass: share_sustainable_potential_available``. (https://github.com/PyPSA/pypsa-eur/pull/1139) - + * Added energy penalty for BECC applications. (https://github.com/PyPSA/pypsa-eur/pull/1130) @@ -258,7 +258,7 @@ PyPSA-Eur 0.12.0 (30th August 2024) :mod:`prepare_sector_network`. (https://github.com/PyPSA/pypsa-eur/pull/1106) * Fixed PDF encoding in ``build_biomass_transport_costs``. - (https://github.com/PyPSA/pypsa-eur/pull/1219) + (https://github.com/PyPSA/pypsa-eur/pull/1219) * Dropped ``pycountry`` dependency in favour of ``country_converter``. (https://github.com/PyPSA/pypsa-eur/pull/1188) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 73b4df8b..f514491e 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -224,7 +224,7 @@ This triggers a workflow of multiple preceding jobs that depend on each rule's i 7 -> 24 26 -> 25 27 -> 25 - } + } | From 7b98afc85aafd56245ce669873d0c9822c6762c0 Mon Sep 17 00:00:00 2001 From: Philipp Glaum Date: Tue, 3 Sep 2024 16:02:28 +0200 Subject: [PATCH 08/22] fix if condition to add msw --- scripts/prepare_sector_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 89175b1f..a83e2d12 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -2357,7 +2357,7 @@ def add_biomass(n, costs): if ( options["municipal_solid_waste"] and not options["industry"] - and (cf_industry["waste_to_energy"] or cf_industry["waste_to_energy_cc"]) + and not (cf_industry["waste_to_energy"] or cf_industry["waste_to_energy_cc"]) ): logger.warning( "Flag municipal_solid_waste can be only used with industry " From 34f5d2eb68f4dd35dcb77a7e813e3af91685b406 Mon Sep 17 00:00:00 2001 From: Michael Lindner Date: Tue, 3 Sep 2024 16:04:00 +0200 Subject: [PATCH 09/22] bugfix missing oil generator: remove else clause --- scripts/prepare_sector_network.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 5f579c5d..6c0fc6c3 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -604,16 +604,14 @@ def add_carrier_buses(n, carrier, nodes=None): suffix = " primary" - else: - - n.madd( - "Generator", - nodes + suffix, - bus=nodes + suffix, - p_nom_extendable=True, - carrier=carrier + suffix, - marginal_cost=costs.at[carrier, "fuel"], - ) + n.madd( + "Generator", + nodes + suffix, + bus=nodes + suffix, + p_nom_extendable=True, + carrier=carrier + suffix, + marginal_cost=costs.at[carrier, "fuel"], + ) # TODO: PyPSA-Eur merge issue From 0b30aef50be43fc8c7c678334b647fcf6fa70062 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:38:25 +0000 Subject: [PATCH 10/22] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- doc/release_notes.rst | 4 ++-- doc/tutorial.rst | 2 +- envs/environment.fixed.yaml | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index dd39fcbc..2a009fe5 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -100,7 +100,7 @@ PyPSA-Eur 0.12.0 (30th August 2024) share_unsustainable_use_retained`` and ``biomass: share_sustainable_potential_available``. (https://github.com/PyPSA/pypsa-eur/pull/1139) - + * Added energy penalty for BECC applications. (https://github.com/PyPSA/pypsa-eur/pull/1130) @@ -258,7 +258,7 @@ PyPSA-Eur 0.12.0 (30th August 2024) :mod:`prepare_sector_network`. (https://github.com/PyPSA/pypsa-eur/pull/1106) * Fixed PDF encoding in ``build_biomass_transport_costs``. - (https://github.com/PyPSA/pypsa-eur/pull/1219) + (https://github.com/PyPSA/pypsa-eur/pull/1219) * Dropped ``pycountry`` dependency in favour of ``country_converter``. (https://github.com/PyPSA/pypsa-eur/pull/1188) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 73b4df8b..f514491e 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -224,7 +224,7 @@ This triggers a workflow of multiple preceding jobs that depend on each rule's i 7 -> 24 26 -> 25 27 -> 25 - } + } | diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index d625a5b1..df58a5ae 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -1,6 +1,6 @@ name: pypsa-eur-20240812 channels: - - http://conda.anaconda.org/gurobi - - conda-forge - - defaults +- http://conda.anaconda.org/gurobi +- conda-forge +- defaults prefix: /home/fneum/miniconda3/envs/pypsa-eur-20240812 From f100504a1d25d1c49c90f2f987bf1541701f7b77 Mon Sep 17 00:00:00 2001 From: Michael Lindner Date: Tue, 3 Sep 2024 16:40:21 +0200 Subject: [PATCH 11/22] add release-note --- doc/release_notes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 2a009fe5..325462ad 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,6 +11,8 @@ Release Notes .. Upcoming Release .. ================ +* bugfix: The oil generator was incorrectly dropped when the config `oil_refining_emissions` was greater than zero. This was the default behaviour in 0.12.0. + PyPSA-Eur 0.12.0 (30th August 2024) =================================== From 9f0e46860c3e92d99d6527dedb8e2954b0b20cff Mon Sep 17 00:00:00 2001 From: Micha Date: Sun, 8 Sep 2024 11:46:09 +0200 Subject: [PATCH 12/22] bugfix: determine bus_carrier locally instead of overwriting n.stores (#1262) * bugfix: determine bus_carrier locally instead of overwriting n.stores * add release_note * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- doc/release_notes.rst | 2 ++ scripts/solve_network.py | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 325462ad..f8460e14 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,6 +11,8 @@ Release Notes .. Upcoming Release .. ================ +* bugfix: The carrier of stores was silently overwritten by their bus_carrier as a side effect when building the co2 constraints + * bugfix: The oil generator was incorrectly dropped when the config `oil_refining_emissions` was greater than zero. This was the default behaviour in 0.12.0. PyPSA-Eur 0.12.0 (30th August 2024) diff --git a/scripts/solve_network.py b/scripts/solve_network.py index c70d4d3c..bdc10dd1 100644 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -330,8 +330,8 @@ def add_carbon_constraint(n, snapshots): continue # stores - n.stores["carrier"] = n.stores.bus.map(n.buses.carrier) - stores = n.stores.query("carrier in @emissions.index and not e_cyclic") + bus_carrier = n.stores.bus.map(n.buses.carrier) + stores = n.stores[bus_carrier.isin(emissions.index) & ~n.stores.e_cyclic] if not stores.empty: last = n.snapshot_weightings.reset_index().groupby("period").last() last_i = last.set_index([last.index, last.timestep]).index @@ -356,8 +356,8 @@ def add_carbon_budget_constraint(n, snapshots): continue # stores - n.stores["carrier"] = n.stores.bus.map(n.buses.carrier) - stores = n.stores.query("carrier in @emissions.index and not e_cyclic") + bus_carrier = n.stores.bus.map(n.buses.carrier) + stores = n.stores[bus_carrier.isin(emissions.index) & ~n.stores.e_cyclic] if not stores.empty: last = n.snapshot_weightings.reset_index().groupby("period").last() last_i = last.set_index([last.index, last.timestep]).index @@ -1000,8 +1000,8 @@ def add_co2_atmosphere_constraint(n, snapshots): continue # stores - n.stores["carrier"] = n.stores.bus.map(n.buses.carrier) - stores = n.stores.query("carrier in @emissions.index and not e_cyclic") + bus_carrier = n.stores.bus.map(n.buses.carrier) + stores = n.stores[bus_carrier.isin(emissions.index) & ~n.stores.e_cyclic] if not stores.empty: last_i = snapshots[-1] lhs = n.model["Store-e"].loc[last_i, stores.index] From d02984c5a91b26281251e3826e33ed14bbad18ae Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 8 Sep 2024 11:48:13 +0200 Subject: [PATCH 13/22] add color for unsustainable solid biomass --- config/config.default.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/config.default.yaml b/config/config.default.yaml index 5e736e2e..5438b249 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -1109,6 +1109,7 @@ plotting: biogas: '#e3d37d' biomass: '#baa741' solid biomass: '#baa741' + unsustainable solid biomass: '#bab000' municipal solid waste: '#91ba41' solid biomass import: '#d5ca8d' solid biomass transport: '#baa741' From 4a3e7924d2b3c9d5a432eb2e382fa8c0ed9c1261 Mon Sep 17 00:00:00 2001 From: Amos Schledorn <60692940+amos-schledorn@users.noreply.github.com> Date: Sun, 8 Sep 2024 11:50:25 +0200 Subject: [PATCH 14/22] Make overdimensioning factor for heating systems specific to central/decentral heating (#1259) * chore: make overdim_factor heat-system-specific * doc: update configtables * doc: update release notes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: read overdimensioning factor for industrial oil boilers from options * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Amos Schledorn Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Fabian Neumann --- config/config.default.yaml | 4 +++- doc/configtables/sector.csv | 4 +++- doc/release_notes.rst | 2 ++ scripts/prepare_sector_network.py | 13 +++++++++---- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 5438b249..54701daf 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -590,7 +590,9 @@ sector: resistive_heaters: true oil_boilers: false biomass_boiler: true - overdimension_individual_heating: 1.1 #to cover demand peaks bigger than data + overdimension_heat_generators: + decentral: 1.1 #to cover demand peaks bigger than data + central: 1.0 chp: true micro_chp: false solar_thermal: true diff --git a/doc/configtables/sector.csv b/doc/configtables/sector.csv index 044c8dc4..7de2a173 100644 --- a/doc/configtables/sector.csv +++ b/doc/configtables/sector.csv @@ -89,7 +89,9 @@ boilers,--,"{true, false}",Add option for transforming gas into heat using gas b resistive_heaters,--,"{true, false}",Add option for transforming electricity into heat using resistive heaters (independently from gas boilers) oil_boilers,--,"{true, false}",Add option for transforming oil into heat using boilers biomass_boiler,--,"{true, false}",Add option for transforming biomass into heat using boilers -overdimension_individual_heating,--,float,Add option for overdimensioning individual heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. +overdimension_heat_generators,,,Add option for overdimensioning heating systems by a certain factor. This allows them to cover heat demand peaks e.g. 10% higher than those in the data with a setting of 1.1. +-- decentral,--,float,The factor for overdimensioning (increasing CAPEX) decentral heating systems +-- central,--,float,The factor for overdimensioning (increasing CAPEX) central heating systems chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) micro_chp,--,"{true, false}",Add option for using Combined Heat and Power (CHP) for decentral areas. solar_thermal,--,"{true, false}",Add option for using solar thermal to generate heat. diff --git a/doc/release_notes.rst b/doc/release_notes.rst index f8460e14..32c9eed7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -11,6 +11,8 @@ Release Notes .. Upcoming Release .. ================ +* Made the overdimensioning factor for heating systems specific for central/decentral heating, defaults to no overdimensionining for central heating and no changes to decentral heating compared to previous version. + * bugfix: The carrier of stores was silently overwritten by their bus_carrier as a side effect when building the co2 constraints * bugfix: The oil generator was incorrectly dropped when the config `oil_refining_emissions` was greater than zero. This was the default behaviour in 0.12.0. diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index fcf41d88..9242fbf3 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1875,8 +1875,6 @@ def add_heat(n: pypsa.Network, costs: pd.DataFrame, cop: xr.DataArray): heat_demand = build_heat_demand(n) - overdim_factor = options["overdimension_individual_heating"] - district_heat_info = pd.read_csv(snakemake.input.district_heat_share, index_col=0) dist_fraction = district_heat_info["district fraction of node"] urban_fraction = district_heat_info["urban fraction"] @@ -1905,6 +1903,9 @@ def add_heat(n: pypsa.Network, costs: pd.DataFrame, cop: xr.DataArray): HeatSystem ): # this loops through all heat systems defined in _entities.HeatSystem + overdim_factor = options["overdimension_heat_generators"][ + heat_system.central_or_decentral + ] if heat_system == HeatSystem.URBAN_CENTRAL: nodes = dist_fraction.index[dist_fraction > 0] else: @@ -2753,7 +2754,9 @@ def add_biomass(n, costs): efficiency=costs.at["biomass boiler", "efficiency"], capital_cost=costs.at["biomass boiler", "efficiency"] * costs.at["biomass boiler", "fixed"] - * options["overdimension_individual_heating"], + * options["overdimension_heat_generators"][ + HeatSystem(name).central_or_decentral + ], marginal_cost=costs.at["biomass boiler", "pelletizing cost"], lifetime=costs.at["biomass boiler", "lifetime"], ) @@ -3275,7 +3278,9 @@ def add_industry(n, costs): efficiency2=costs.at["oil", "CO2 intensity"], capital_cost=costs.at["decentral oil boiler", "efficiency"] * costs.at["decentral oil boiler", "fixed"] - * options["overdimension_individual_heating"], + * options["overdimension_heat_generators"][ + heat_system.central_or_decentral + ], lifetime=costs.at["decentral oil boiler", "lifetime"], ) From a7bb47886597a2fbe21dc722546f987487e78dc2 Mon Sep 17 00:00:00 2001 From: Philipp Glaum <95913147+p-glaum@users.noreply.github.com> Date: Sun, 8 Sep 2024 11:51:52 +0200 Subject: [PATCH 15/22] update nep links to include "Startnetz" ("start network") links (#1263) --- data/transmission_projects/nep/new_links.csv | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/transmission_projects/nep/new_links.csv b/data/transmission_projects/nep/new_links.csv index d237893f..7a551f36 100644 --- a/data/transmission_projects/nep/new_links.csv +++ b/data/transmission_projects/nep/new_links.csv @@ -10,3 +10,9 @@ DC40plus,Dörpen/West,Klostermansfeld/Sachsen-Anhalt,2000.0,426,confirmed,2037,T DC41,Alfstedt/Niedersachsen,Hüffenhardt/Baden-Württemberg,2000.0,607,confirmed,2037,True,"{""url"":""https://data.netzausbau.de/2037-2023/NEP/NEP_2037_2045_Bestaetigung.pdf"", ""status"":""confirmed"", ""origin"":""NEP"",""version"":2024,""location0"":""Alfstedt/Niedersachsen"",""location1"":""Hüffenhardt/Baden-Württemberg""",9.0666915,53.5499782,9.0827453,49.2908862 DC42,Sahms/Schleswig-Holstein,Böblingen/Baden-Württemberg,2000.0,737,confirmed,2037,True,"{""url"":""https://data.netzausbau.de/2037-2023/NEP/NEP_2037_2045_Bestaetigung.pdf"", ""status"":""confirmed"", ""origin"":""NEP"",""version"":2024,""location0"":""Sahms/Schleswig-Holstein"",""location1"":""Böblingen/Baden-Württemberg""",10.5331297,53.5252973,9.0113444,48.684969 DC42plus,Sahms/Schleswig-Holstein,Trennfeld/Bayern,2000.0,546,confirmed,2037,True,"{""url"":""https://data.netzausbau.de/2037-2023/NEP/NEP_2037_2045_Bestaetigung.pdf"", ""status"":""confirmed"", ""origin"":""NEP"",""version"":2024,""location0"":""Sahms/Schleswig-Holstein"",""location1"":""Trennfeld/Bayern""",10.5331297,53.5252973,9.6151453,49.7950676 +DC1,Emden Ost,Osterath,2000,297,in_permitting,2027,True,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf,TYNDP 2022:132,""location0"":""Emden Ost"",""location1"":""Osterath""",7.2492328,53.3655941,6.6207151,51.2690922 +DC2,Osterath,Philippsburg,2000,299,in_permitting,2026,False,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf,TYNDP 2022: 254,""location0"":""Osterath"",""location1"":""Philippsburg""",6.6207151,51.2690922,7.5514555,48.9953996 +DC3,Brunsbüttel,Großgartach,2000,694,in_permitting,2028,True,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf,TYNDP 2022: 235,""location0"":""Brunsbüttel"",""location1"":""Großgartach""",9.1395423,53.8972549,9.1258701,49.1425406 +DC4,Wilster ,Bergrheinfeld,2000,540,in_permitting,2028,True,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf,TYNDP 2022: 235,""location0"":""Wilster "",""location1"":""Bergrheinfeld""",9.3741366,53.9233519,10.1810033,50.0082136 +DC5,Wolmirstedt,Isar/Bayern,2000,539,in_permitting,2027,True,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf,TYNDP 2022: 130, name:SuedOstLink,""location0"":""Wolmirstedt"",""location1"":""Isar/Bayern""",11.6267388,52.2484924,11.5745421,47.6691308 +DC20,Klein Rogahn,Isar/Bayern,2000,759,in_permitting,2030,False,"{url:https://www.netzentwicklungsplan.de/sites/default/files/2024-04/NEP_2037_2045_V2023_Anhang_2E_Aktualisierung_April_2024_%28komprimiert%29.pdf, name:SuedOstLink+,""location0"":""Klein Rogahn"",""location1"":""Isar/Bayern""",11.3482229,53.6044461,11.5745421,47.6691308 From 53f84f7eea8013b233c9e842e1d9f2b012810fb1 Mon Sep 17 00:00:00 2001 From: cpschau <124347782+cpschau@users.noreply.github.com> Date: Sun, 8 Sep 2024 11:59:37 +0200 Subject: [PATCH 16/22] Follow-Up: Unsustainable Biomass (#1254) * add oil bus; extend global biomass limit; set unsustainable potentials to zero for overnight * keep sustainable potentials for switzerland * remove potential distinction for overnight; additional global constraint for unsustainable solid biomass * add unsustainable generator suffix * added unsustainable solid biomass bus; changed global constraints to equality; removed forced emptying of unsustainable solid biomass store * restored equality constraint for sustainable solid biomass; restored forced emptying of unsustainable store * remove directory change for debugger * added tech_color for unsustainable solid biomass * modified spatial namespaces and removed suffixes --- config/config.default.yaml | 1 + rules/build_sector.smk | 0 scripts/build_biomass_potentials.py | 6 +-- scripts/prepare_sector_network.py | 57 +++++++++++++++++++++++++---- 4 files changed, 54 insertions(+), 10 deletions(-) mode change 100644 => 100755 rules/build_sector.smk mode change 100644 => 100755 scripts/build_biomass_potentials.py mode change 100644 => 100755 scripts/prepare_sector_network.py diff --git a/config/config.default.yaml b/config/config.default.yaml index 54701daf..1a7f9e57 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -1127,6 +1127,7 @@ plotting: services rural biomass boiler: '#c6cf98' services urban decentral biomass boiler: '#dde5b5' biomass to liquid: '#32CD32' + unsustainable solid biomass: '#998622' unsustainable bioliquids: '#32CD32' electrobiofuels: 'red' BioSNG: '#123456' diff --git a/rules/build_sector.smk b/rules/build_sector.smk old mode 100644 new mode 100755 diff --git a/scripts/build_biomass_potentials.py b/scripts/build_biomass_potentials.py old mode 100644 new mode 100755 index 4c7752e4..a3c51292 --- a/scripts/build_biomass_potentials.py +++ b/scripts/build_biomass_potentials.py @@ -330,7 +330,7 @@ def add_unsustainable_potentials(df): ) share_sus = params.get("share_sustainable_potential_available").get(investment_year) - df *= share_sus + df.loc[df_wo_ch.index] *= share_sus df = df.join(df_wo_ch.filter(like="unsustainable")).fillna(0) @@ -345,8 +345,8 @@ if __name__ == "__main__": snakemake = mock_snakemake( "build_biomass_potentials", simpl="", - clusters="37", - planning_horizons=2020, + clusters="38", + planning_horizons=2050, ) configure_logging(snakemake) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py old mode 100644 new mode 100755 index 9242fbf3..8748b64f --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -63,7 +63,8 @@ def define_spatial(nodes, options): if options.get("biomass_spatial", options["biomass_transport"]): spatial.biomass.nodes = nodes + " solid biomass" - spatial.biomass.bioliquids = nodes + " bioliquids" + spatial.biomass.nodes_unsustainable = nodes + " unsustainable solid biomass" + spatial.biomass.bioliquids = nodes + " unsustainable bioliquids" spatial.biomass.locations = nodes spatial.biomass.industry = nodes + " solid biomass for industry" spatial.biomass.industry_cc = nodes + " solid biomass for industry CC" @@ -71,6 +72,7 @@ def define_spatial(nodes, options): spatial.msw.locations = nodes else: spatial.biomass.nodes = ["EU solid biomass"] + spatial.biomass.nodes_unsustainable = ["EU unsustainable solid biomass"] spatial.biomass.bioliquids = ["EU unsustainable bioliquids"] spatial.biomass.locations = ["EU"] spatial.biomass.industry = ["solid biomass for industry"] @@ -2493,14 +2495,21 @@ def add_biomass(n, costs): e_max_pu=e_max_pu, ) + n.madd( + "Bus", + spatial.biomass.nodes_unsustainable, + location=spatial.biomass.locations, + carrier="unsustainable solid biomass", + unit="MWh_LHV", + ) + e_max_pu = pd.DataFrame(1, index=n.snapshots, columns=spatial.biomass.nodes) e_max_pu.iloc[-1] = 0 n.madd( "Store", - spatial.biomass.nodes, - suffix=" unsustainable", - bus=spatial.biomass.nodes, + spatial.biomass.nodes_unsustainable, + bus=spatial.biomass.nodes_unsustainable, carrier="unsustainable solid biomass", e_nom=unsustainable_solid_biomass_potentials_spatial, marginal_cost=costs.at["fuelwood", "fuel"], @@ -2509,6 +2518,16 @@ def add_biomass(n, costs): e_max_pu=e_max_pu, ) + n.madd( + "Link", + spatial.biomass.nodes_unsustainable, + bus0=spatial.biomass.nodes_unsustainable, + bus1=spatial.biomass.nodes, + carrier="unsustainable solid biomass", + efficiency=1, + p_nom=unsustainable_solid_biomass_potentials_spatial, + ) + n.madd( "Bus", spatial.biomass.bioliquids, @@ -2525,7 +2544,6 @@ def add_biomass(n, costs): n.madd( "Store", spatial.biomass.bioliquids, - suffix=" unsustainable", bus=spatial.biomass.bioliquids, carrier="unsustainable bioliquids", e_nom=unsustainable_liquid_biofuel_potentials_spatial, @@ -2535,6 +2553,8 @@ def add_biomass(n, costs): e_max_pu=e_max_pu, ) + add_carrier_buses(n, "oil") + n.madd( "Link", spatial.biomass.bioliquids, @@ -2663,6 +2683,29 @@ def add_biomass(n, costs): constant=biomass_potentials["solid biomass"].sum(), type="operational_limit", ) + if biomass_potentials["unsustainable solid biomass"].sum() > 0: + n.madd( + "Generator", + spatial.biomass.nodes_unsustainable, + bus=spatial.biomass.nodes_unsustainable, + carrier="unsustainable solid biomass", + p_nom=10000, + marginal_cost=costs.at["fuelwood", "fuel"] + + bus_transport_costs * average_distance, + ) + # Set last snapshot of e_max_pu for unsustainable solid biomass to 1 to make operational limit work + unsus_stores_idx = n.stores.loc[ + n.stores.carrier == "unsustainable solid biomass" + ].index + n.stores_t.e_max_pu.loc[n.snapshots[-1], unsus_stores_idx] = 1 + n.add( + "GlobalConstraint", + "unsustainable biomass limit", + carrier_attribute="unsustainable solid biomass", + sense="==", + constant=biomass_potentials["unsustainable solid biomass"].sum(), + type="operational_limit", + ) if options["municipal_solid_waste"]: # Add municipal solid waste @@ -4285,10 +4328,10 @@ if __name__ == "__main__": "prepare_sector_network", simpl="", opts="", - clusters="37", + clusters="38", ll="vopt", sector_opts="", - planning_horizons="2050", + planning_horizons="2030", ) configure_logging(snakemake) From 2eaa316a6bd876a94a5cc7026bea7179932f1641 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 8 Sep 2024 12:00:19 +0200 Subject: [PATCH 17/22] remove duplicated color for unsustainable solid biomass --- config/config.default.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index 1a7f9e57..d9ed959e 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -1111,7 +1111,6 @@ plotting: biogas: '#e3d37d' biomass: '#baa741' solid biomass: '#baa741' - unsustainable solid biomass: '#bab000' municipal solid waste: '#91ba41' solid biomass import: '#d5ca8d' solid biomass transport: '#baa741' From a69373b96cb71ce5a3eda5283c19e664401d947c Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Sun, 8 Sep 2024 13:00:15 +0200 Subject: [PATCH 18/22] mirror global energy monitor datasets (temporary) (#1265) --- rules/retrieve.smk | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/rules/retrieve.smk b/rules/retrieve.smk index c0cd5b6c..67b91b99 100644 --- a/rules/retrieve.smk +++ b/rules/retrieve.smk @@ -312,10 +312,9 @@ if config["enable"]["retrieve"]: run: import requests - response = requests.get( - "https://globalenergymonitor.org/wp-content/uploads/2024/05/Europe-Gas-Tracker-2024-05.xlsx", - headers={"User-Agent": "Mozilla/5.0"}, - ) + # mirror of https://globalenergymonitor.org/wp-content/uploads/2024/05/Europe-Gas-Tracker-2024-05.xlsx + url = "https://tubcloud.tu-berlin.de/s/LMBJQCsN6Ez5cN2/download/Europe-Gas-Tracker-2024-05.xlsx" + response = requests.get(url) with open(output[0], "wb") as f: f.write(response.content) @@ -329,10 +328,9 @@ if config["enable"]["retrieve"]: run: import requests - response = requests.get( - "https://globalenergymonitor.org/wp-content/uploads/2024/04/Global-Steel-Plant-Tracker-April-2024-Standard-Copy-V1.xlsx", - headers={"User-Agent": "Mozilla/5.0"}, - ) + # mirror or https://globalenergymonitor.org/wp-content/uploads/2024/04/Global-Steel-Plant-Tracker-April-2024-Standard-Copy-V1.xlsx + url = "https://tubcloud.tu-berlin.de/s/Aqebo3rrQZWKGsG/download/Global-Steel-Plant-Tracker-April-2024-Standard-Copy-V1.xlsx" + response = requests.get(url) with open(output[0], "wb") as f: f.write(response.content) From 0423366db60eacf050539f5baf74ff09294e2cf4 Mon Sep 17 00:00:00 2001 From: Fabian Hofmann Date: Mon, 9 Sep 2024 14:14:16 +0200 Subject: [PATCH 19/22] prepare_sector_network: fix e_max_pu in unsustainable biomass stores (#1266) --- scripts/prepare_sector_network.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 8748b64f..7f744874 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -2503,7 +2503,9 @@ def add_biomass(n, costs): unit="MWh_LHV", ) - e_max_pu = pd.DataFrame(1, index=n.snapshots, columns=spatial.biomass.nodes) + e_max_pu = pd.DataFrame( + 1, index=n.snapshots, columns=spatial.biomass.nodes_unsustainable + ) e_max_pu.iloc[-1] = 0 n.madd( @@ -2694,9 +2696,12 @@ def add_biomass(n, costs): + bus_transport_costs * average_distance, ) # Set last snapshot of e_max_pu for unsustainable solid biomass to 1 to make operational limit work - unsus_stores_idx = n.stores.loc[ - n.stores.carrier == "unsustainable solid biomass" - ].index + unsus_stores_idx = n.stores.query( + "carrier == 'unsustainable solid biomass'" + ).index + unsus_stores_idx = unsus_stores_idx.intersection( + n.stores_t.e_max_pu.columns + ) n.stores_t.e_max_pu.loc[n.snapshots[-1], unsus_stores_idx] = 1 n.add( "GlobalConstraint", From 5cf706fe4d043dc0e3ae22796216a811a9355878 Mon Sep 17 00:00:00 2001 From: Amos Schledorn <60692940+amos-schledorn@users.noreply.github.com> Date: Mon, 9 Sep 2024 16:38:39 +0200 Subject: [PATCH 20/22] Update central heating temperatures based on Euroheat data and AGFW-Hauptbericht (#1264) * chore: update config.default Using Euroheat market outlook 2024 and AGFW-Hauptbericht * feat: extrapolate missing values in central_heating_temperature_profile.run * update release notes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: map_temperature_dict_to_onshore regions and correct use of extrapolation function * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: extrapolation_ration in build_central_heating_temperature_profiles.run * style: remove obsolete time index in min/max fwd, return temperatures * feat: throw exception if max_fwd_temp < min_fwd_temp or min_fwd_temp < return_temp * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Amos Schledorn Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- config/config.default.yaml | 23 ++--- doc/release_notes.rst | 2 +- ...entral_heating_temperature_approximator.py | 9 ++ .../run.py | 95 ++++++++++++++----- 4 files changed, 90 insertions(+), 39 deletions(-) diff --git a/config/config.default.yaml b/config/config.default.yaml index d9ed959e..63cdcabf 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -451,21 +451,18 @@ sector: district_heating_loss: 0.15 supply_temperature_approximation: max_forward_temperature: - default: 90 - DK: 70 - SE: 70 - NO: 70 + FR: 110 + DK: 75 + DE: 109 + CZ: 130 + FI: 115 + PL: 130 + SE: 102 + IT: 90 min_forward_temperature: - default: 68 - DK: 54 - SE: 54 - NO: 54 + DE: 82 return_temperature: - default: 50 - DK: 40 - SE: 40 - NO: 40 - FI: 40 + DE: 58 lower_threshold_ambient_temperature: 0 upper_threshold_ambient_temperature: 10 rolling_window_ambient_temperature: 72 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 32c9eed7..97db4baf 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -9,8 +9,8 @@ Release Notes ########################################## .. Upcoming Release -.. ================ +* Updated district heating supply temperatures based on `Euroheat's DHC Market Outlook 2024`__ and `AGFW-Hauptbericht 2022 `__. `min_forward_temperature` and `return_temperature` (not given by Euroheat) are extrapolated based on German values. * Made the overdimensioning factor for heating systems specific for central/decentral heating, defaults to no overdimensionining for central heating and no changes to decentral heating compared to previous version. * bugfix: The carrier of stores was silently overwritten by their bus_carrier as a side effect when building the co2 constraints diff --git a/scripts/build_central_heating_temperature_profiles/central_heating_temperature_approximator.py b/scripts/build_central_heating_temperature_profiles/central_heating_temperature_approximator.py index 5b467824..67f2c019 100644 --- a/scripts/build_central_heating_temperature_profiles/central_heating_temperature_approximator.py +++ b/scripts/build_central_heating_temperature_profiles/central_heating_temperature_approximator.py @@ -58,6 +58,15 @@ class CentralHeatingTemperatureApproximator: rolling_window_ambient_temperature : int Rolling window size for averaging ambient temperature. """ + + if any(max_forward_temperature < min_forward_temperature): + raise ValueError( + "max_forward_temperature must be greater than min_forward_temperature" + ) + if any(min_forward_temperature < fixed_return_temperature): + raise ValueError( + "min_forward_temperature must be greater than fixed_return_temperature" + ) self._ambient_temperature = ambient_temperature self.max_forward_temperature = max_forward_temperature self.min_forward_temperature = min_forward_temperature diff --git a/scripts/build_central_heating_temperature_profiles/run.py b/scripts/build_central_heating_temperature_profiles/run.py index 115293e4..feb4ab4f 100644 --- a/scripts/build_central_heating_temperature_profiles/run.py +++ b/scripts/build_central_heating_temperature_profiles/run.py @@ -9,8 +9,8 @@ al. 2019, where for ambient temperatures below 0C, the highest possible forward temperature is assumed and vice versa for temperatures above 10C. Between these threshold levels, forward temperatures are linearly interpolated. -By default, temperature levels are increased for non-Scandinavian countries. -The default ratios between min. and max. forward temperatures is based on AGFW-Hauptbericht 2022. +By default, `max_forward_temperature` from Euroheat DHC Market Outlook 2024 is used; `min_forward_temperature` and `return_temperature` for Germany is used from AGFW-Hauptbericht 2022. +`min_forward_temperature` and `return_temperature` for other countries are extrapolated based on the ratio between `max_forward_temperature` and `min_forward_temperature` and `return_temperature` for those countries not missing (by default only Germany). Relevant Settings ----------------- @@ -47,26 +47,68 @@ from central_heating_temperature_approximator import ( ) +def extrapolate_missing_supply_temperatures_by_country( + extrapolate_from: dict, extrapolate_to: dict +) -> xr.DataArray: + """ + Extrapolates missing supply temperatures by country. + + Parameters: + extrapolate_from (dict): A dictionary containing supply temperatures to extrapolate from. Should contain all countries. + extrapolate_to (dict): A dictionary containing supply temperatures to extrapolate to. Where `country` is present, average ratio between `extrapolate_to[country]` and `extrapolate_from[country]` is applied to all countries for which `country` is not present in `extrapolate_from.keys()` to infer ratio for extrapolation. + + Returns: + xr.DataArray: A DataArray containing the extrapolated supply temperatures. + """ + + if not all([key in extrapolate_from.keys() for key in extrapolate_to.keys()]): + raise ValueError( + "Not all countries in extrapolate_to are present in extrapolate_from." + ) + # average ratio between extrapolate_from and extrapolate_to for those countries that are in both dictionaries + extrapolation_ratio = np.mean( + [extrapolate_to[key] / extrapolate_from[key] for key in extrapolate_to.keys()] + ) + + # apply extrapolation ratio to all keys missing in extrapolate_to + return { + key: ( + extrapolate_to[key] + if key in extrapolate_to.keys() + else extrapolate_from[key] * extrapolation_ratio + ) + for key in extrapolate_from.keys() + } + + def get_country_from_node_name(node_name: str) -> str: + """ + Extracts the country code from a given node name. + + Parameters: + node_name (str): The name of the node. + + Returns: + str: The country code extracted from the node name. + """ return node_name[:2] def map_temperature_dict_to_onshore_regions( supply_temperature_by_country: dict, regions_onshore: pd.Index, - snapshots: pd.DatetimeIndex, ) -> xr.DataArray: """ Map dictionary of temperatures to onshore regions. + Missing values are replaced by the mean of all values. + Parameters: ---------- supply_temperature_by_country : dictionary - Dictionary with temperatures as values and country keys as keys. One key must be named "default" + Dictionary with temperatures as values and country keys as keys. regions_onshore : pd.Index Names of onshore regions - snapshots : pd.DatetimeIndex - Time stamps Returns: ------- @@ -75,20 +117,16 @@ def map_temperature_dict_to_onshore_regions( """ return xr.DataArray( [ - [ - ( - supply_temperature_by_country[get_country_from_node_name(node_name)] - if get_country_from_node_name(node_name) - in supply_temperature_by_country.keys() - else supply_temperature_by_country["default"] - ) - for node_name in regions_onshore.values - ] - # pass both nodes and snapshots as dimensions to preserve correct data structure - for _ in snapshots + ( + supply_temperature_by_country[get_country_from_node_name(node_name)] + if get_country_from_node_name(node_name) + in supply_temperature_by_country.keys() + else np.mean(list(supply_temperature_by_country.values())) + ) + for node_name in regions_onshore.values ], - dims=["time", "name"], - coords={"time": snapshots, "name": regions_onshore}, + dims=["name"], + coords={"name": regions_onshore}, ) @@ -104,28 +142,35 @@ if __name__ == "__main__": set_scenario_config(snakemake) + max_forward_temperature = snakemake.params.max_forward_temperature_central_heating + min_forward_temperature = extrapolate_missing_supply_temperatures_by_country( + extrapolate_from=max_forward_temperature, + extrapolate_to=snakemake.params.min_forward_temperature_central_heating, + ) + return_temperature = extrapolate_missing_supply_temperatures_by_country( + extrapolate_from=max_forward_temperature, + extrapolate_to=snakemake.params.return_temperature_central_heating, + ) + # map forward and return temperatures specified on country-level to onshore regions regions_onshore = gpd.read_file(snakemake.input.regions_onshore)["name"] snapshots = pd.date_range(freq="h", **snakemake.params.snapshots) max_forward_temperature_central_heating_by_node_and_time: xr.DataArray = ( map_temperature_dict_to_onshore_regions( - supply_temperature_by_country=snakemake.params.max_forward_temperature_central_heating, + supply_temperature_by_country=max_forward_temperature, regions_onshore=regions_onshore, - snapshots=snapshots, ) ) min_forward_temperature_central_heating_by_node_and_time: xr.DataArray = ( map_temperature_dict_to_onshore_regions( - supply_temperature_by_country=snakemake.params.min_forward_temperature_central_heating, + supply_temperature_by_country=min_forward_temperature, regions_onshore=regions_onshore, - snapshots=snapshots, ) ) return_temperature_central_heating_by_node_and_time: xr.DataArray = ( map_temperature_dict_to_onshore_regions( - supply_temperature_by_country=snakemake.params.return_temperature_central_heating, + supply_temperature_by_country=return_temperature, regions_onshore=regions_onshore, - snapshots=snapshots, ) ) From 9aa9a59bb03cdaac1d45fde0b23813589e483ed1 Mon Sep 17 00:00:00 2001 From: Toni Seibold <153275395+toniseibold@users.noreply.github.com> Date: Mon, 9 Sep 2024 19:35:15 +0200 Subject: [PATCH 21/22] removing scripts. (#1267) --- scripts/definitions/heat_system.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/definitions/heat_system.py b/scripts/definitions/heat_system.py index b907b0fe..2806f6bf 100644 --- a/scripts/definitions/heat_system.py +++ b/scripts/definitions/heat_system.py @@ -5,8 +5,8 @@ from enum import Enum -from scripts.definitions.heat_sector import HeatSector -from scripts.definitions.heat_system_type import HeatSystemType +from definitions.heat_sector import HeatSector +from definitions.heat_system_type import HeatSystemType class HeatSystem(Enum): From 5f45a1be8404836f1f1445b78c996d3046715758 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 10 Sep 2024 12:32:42 +0200 Subject: [PATCH 22/22] build_biomass_transport_costs: do not rename XK to KO --- scripts/build_biomass_transport_costs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_biomass_transport_costs.py b/scripts/build_biomass_transport_costs.py index d5650902..db369542 100644 --- a/scripts/build_biomass_transport_costs.py +++ b/scripts/build_biomass_transport_costs.py @@ -79,7 +79,7 @@ def build_biomass_transport_costs(): transport_costs.name = "EUR/km/MWh" # rename country names - to_rename = {"UK": "GB", "XK": "KO", "EL": "GR"} + to_rename = {"UK": "GB", "EL": "GR"} transport_costs.rename(to_rename, inplace=True) # add missing Norway with data from Sweden

P?PuclKkk#}Gpp;ZX5v=wuCyeCOq+BS8gc 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 QJtz-(y85}Sb4q9e0Os8m$^ZZW literal 228916 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