diff --git a/.gitattributes b/.gitattributes index 3f5e771d..b82aaff1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1af8e733..bad6039f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.gitignore b/.gitignore index 6021abfd..3336fca7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5c41e781..28d0278a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,7 +51,7 @@ repos: # Formatting with "black" coding style - repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.1.1 + rev: 24.2.0 hooks: # Format Python files - id: black diff --git a/.readthedocs.yml b/.readthedocs.yml index 30684052..ca388d80 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/.reuse/dep5 b/.reuse/dep5 index cd8e2660..27edd808 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -4,33 +4,33 @@ Upstream-Contact: Tom Brown Source: https://github.com/pypsa/pypsa-eur Files: doc/img/* -Copyright: 2019-2023 The PyPSA-Eur Authors +Copyright: 2019-2024 The PyPSA-Eur Authors License: CC-BY-4.0 Files: doc/data.csv -Copyright: 2019-2023 The PyPSA-Eur Authors +Copyright: 2019-2024 The PyPSA-Eur Authors License: CC-BY-4.0 Files: doc/configtables/* -Copyright: 2019-2023 The PyPSA-Eur Authors +Copyright: 2019-2024 The PyPSA-Eur Authors License: CC-BY-4.0 Files: data/* -Copyright: 2017-2023 The PyPSA-Eur Authors +Copyright: 2017-2024 The PyPSA-Eur Authors License: CC-BY-4.0 Files: .github/* -Copyright: 2019-2023 The PyPSA-Eur Authors +Copyright: 2019-2024 The PyPSA-Eur Authors License: CC0-1.0 Files: matplotlibrc -Copyright: 2017-2023 The PyPSA-Eur Authors +Copyright: 2017-2024 The PyPSA-Eur Authors License: CC0-1.0 Files: borg-it -Copyright: 2017-2023 The PyPSA-Eur Authors +Copyright: 2017-2024 The PyPSA-Eur Authors License: CC0-1.0 Files: graphics/* -Copyright: 2017-2023 The PyPSA-Eur Authors +Copyright: 2017-2024 The PyPSA-Eur Authors License: CC-BY-4.0 diff --git a/.sync-send b/.sync-send index 72252956..483c7a99 100644 --- a/.sync-send +++ b/.sync-send @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/CITATION.cff b/CITATION.cff index f8b28b5f..af26fd53 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.9.0 +version: 0.10.0 license: MIT authors: - family-names: Brown diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt index 87f6d959..baf15333 100644 --- a/LICENSES/MIT.txt +++ b/LICENSES/MIT.txt @@ -1,6 +1,6 @@ MIT License -Copyright 2017-2023 The PyPSA-Eur Authors +Copyright 2017-2024 The PyPSA-Eur Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index 4a58d75c..b4c03574 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ diff --git a/Snakefile b/Snakefile index 78a28373..b3d2735c 100644 --- a/Snakefile +++ b/Snakefile @@ -26,6 +26,7 @@ for template, target in default_files.items(): copyfile(template, target) + configfile: "config/config.default.yaml" configfile: "config/config.yaml" diff --git a/config/config.default.yaml b/config/config.default.yaml index 1e7c87ce..ca2d1ba3 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -1,9 +1,9 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration -version: 0.9.0 +version: 0.10.0 tutorial: false logging: @@ -668,7 +668,7 @@ industry: # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs costs: year: 2030 - version: v0.7.0 + version: v0.8.0 rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person) social_discountrate: 0.02 fill_values: diff --git a/config/config.entsoe-all.yaml b/config/config.entsoe-all.yaml index dd19d2c7..40e3c0a5 100644 --- a/config/config.entsoe-all.yaml +++ b/config/config.entsoe-all.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/config/config.perfect.yaml b/config/config.perfect.yaml index ff531303..7bfdbdd2 100644 --- a/config/config.perfect.yaml +++ b/config/config.perfect.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 run: diff --git a/config/config.validation.yaml b/config/config.validation.yaml index 5bcd5c31..c8fb2fa5 100644 --- a/config/config.validation.yaml +++ b/config/config.validation.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 run: diff --git a/config/test/config.electricity.yaml b/config/test/config.electricity.yaml index 22c8e8d3..57964415 100644 --- a/config/test/config.electricity.yaml +++ b/config/test/config.electricity.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/config/test/config.myopic.yaml b/config/test/config.myopic.yaml index 2e7b3e6e..5abae36d 100644 --- a/config/test/config.myopic.yaml +++ b/config/test/config.myopic.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/config/test/config.overnight.yaml b/config/test/config.overnight.yaml index 8b98fea9..7fb53e42 100644 --- a/config/test/config.overnight.yaml +++ b/config/test/config.overnight.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/config/test/config.perfect.yaml b/config/test/config.perfect.yaml index 2e716066..5d77c9c5 100644 --- a/config/test/config.perfect.yaml +++ b/config/test/config.perfect.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/doc/Makefile b/doc/Makefile index a2ae2428..9eea4532 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/doc/conf.py b/doc/conf.py index fe577ac7..afa01d3a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -72,7 +72,7 @@ master_doc = "index" # General information about the project. project = "PyPSA-Eur" -copyright = "2017-2023 Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), Fabian Neumann (TUB, KIT), Marta Victoria (Aarhus University), Lisa Zeyen (KIT, TUB)" +copyright = "2017-2024 Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), Fabian Neumann (TUB, KIT), Marta Victoria (Aarhus University), Lisa Zeyen (KIT, TUB)" author = "Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), Fabian Neumann (TUB, KIT), Marta Victoria (Aarhus University), Lisa Zeyen (KIT, TUB)" # The version info for the project you're documenting, acts as replacement for @@ -80,9 +80,9 @@ author = "Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann # built documents. # # The short X.Y version. -version = "0.9" +version = "0.10" # The full version, including alpha/beta/rc tags. -release = "0.9.0" +release = "0.10.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/configuration.rst b/doc/configuration.rst index e8b0426a..dae91380 100644 --- a/doc/configuration.rst +++ b/doc/configuration.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/contributing.rst b/doc/contributing.rst index 30de4f7e..0bf969b6 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/costs.rst b/doc/costs.rst index 9a06fd16..12242df4 100644 --- a/doc/costs.rst +++ b/doc/costs.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/foresight.rst b/doc/foresight.rst index f8ea6108..c749c84c 100644 --- a/doc/foresight.rst +++ b/doc/foresight.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2021-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2021-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/index.rst b/doc/index.rst index 7eaffa01..acff820b 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/installation.rst b/doc/installation.rst index 4289b098..fbabfd15 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 @@ -31,7 +31,7 @@ Install Python Dependencies PyPSA-Eur relies on a set of other Python packages to function. We recommend using the package manager `mamba `_ to install them and manage your environments. -For instructions for your operating system follow the ``mamba`` `installation guide `_. +For instructions for your operating system follow the ``mamba`` `installation guide `_. You can also use ``conda`` equivalently. The package requirements are curated in the `envs/environment.yaml `_ file. @@ -79,31 +79,9 @@ Nevertheless, you can still use open-source solvers for smaller problems. `Instructions how to install a solver in the documentation of PyPSA `_ .. note:: - The rules :mod:`cluster_network` and :mod:`simplify_network` solve a quadratic optimisation problem for clustering. - The open-source solvers Cbc and GlPK cannot handle this. A fallback to Ipopt is implemented in this case, but requires - it to be installed. For an open-source solver setup install in your ``conda`` environment on OSX/Linux - - .. code:: bash - - mamba activate pypsa-eur - mamba install -c conda-forge ipopt coincbc - - and on Windows - - .. code:: bash - - mamba activate pypsa-eur - mamba install -c conda-forge ipopt glpk - - For HiGHS, run - - .. code:: bash - - mamba activate pypsa-eur - mamba install -c conda-forge ipopt - pip install highspy - - For Gurobi, run + The rules :mod:`cluster_network` and :mod:`simplify_network` solve a mixed-integer quadratic optimisation problem for clustering. + The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case. + For an open-source solver setup install in your ``conda`` environment on OSX/Linux. To install the default solver Gurobi, run .. code:: bash diff --git a/doc/introduction.rst b/doc/introduction.rst index 0047f0a7..d271391c 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/licenses.rst b/doc/licenses.rst index beb6f5b8..74640ea5 100644 --- a/doc/licenses.rst +++ b/doc/licenses.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/limitations.rst b/doc/limitations.rst index a67fad0c..2aa8ecfe 100644 --- a/doc/limitations.rst +++ b/doc/limitations.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/make.bat b/doc/make.bat index 3037f934..d64ffdc8 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -1,4 +1,4 @@ -REM SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors +REM SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors REM SPDX-License-Identifier: MIT @ECHO OFF diff --git a/doc/plotting.rst b/doc/plotting.rst index 02748cf2..a5229d8d 100644 --- a/doc/plotting.rst +++ b/doc/plotting.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/preparation.rst b/doc/preparation.rst index d8f76839..bb55ba6b 100644 --- a/doc/preparation.rst +++ b/doc/preparation.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/publications.bib b/doc/publications.bib index 4be6676a..5e1ee364 100644 --- a/doc/publications.bib +++ b/doc/publications.bib @@ -1,5 +1,5 @@ @Comment{ -SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors +SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC0-1.0 } diff --git a/doc/publications.rst b/doc/publications.rst index c824873e..f6d7986b 100644 --- a/doc/publications.rst +++ b/doc/publications.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 0e96f013..168542b8 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 @@ -7,8 +7,14 @@ Release Notes ########################################## -Upcoming Release -================ +.. Upcoming Release +.. ================ +.. + +PyPSA-Eur 0.10.0 (19th February 2024) +===================================== + +**New Features** * Added new scenario management that supports the simultaneous execution of multiple scenarios with a single ``snakemake`` call. For this purpose, a @@ -83,113 +89,82 @@ Upcoming Release energy carrier usage per ton material output to the best-in-class energy consumption of tomorrow. This is done on a per-country basis. The ratio of today to tomorrow's energy consumption is set with the ``industry: - sector_ratios_fraction_future:`` parameter. - -* Fix plotting of retrofitted hydrogen pipelines with pathway optimisation. - -* Bugfix: Correct units of subtracted chlorine and methanol demand in - :mod:`build_industry_sector_ratios`. - -* Include all countries in ammonia production resource. This is so that the full - EU28 ammonia demand can be correctly subtracted in the rule - :mod:`build_industry_sector_ratios`. - -* Regions are assigned to all buses with unique coordinates in the network with - a preference given to substations. Previously, only substations had assigned - regions, but this could lead to issues when a high spatial resolution was - applied. - -* The default configuration ``config/config.default.yaml`` is now automatically - used as a base configuration file. The file ``config/config.yaml`` should be - used to define deviations from the default configuration. - -* Merged two OPSD time series data versions into such that the option ``load: - power_statistics:`` becomes superfluous and was hence removed. -* Bugfix: The industry coal emissions for industry were not properly tracked. - -* Allow industrial coal demand to be regional so its emissions can be included - in regional emission limits. + sector_ratios_fraction_future:`` parameter + (https://github.com/PyPSA/pypsa-eur/pull/929). * Add new default to overdimension heating in individual buildings. This allows them to cover heat demand peaks e.g. 10% higher than those in the data. The disadvantage of manipulating the costs is that the capacity is then not quite - right. This way at least the costs are right. + right. This way at least the costs are right + (https://github.com/PyPSA/pypsa-eur/pull/918). + +* Allow industrial coal demand to be regional so its emissions can be included + in regional emission limits (https://github.com/PyPSA/pypsa-eur/pull/923). * Add option to specify to set a default heating lifetime for existing heating - (``existing_capacities: default_heating_lifetime:``). + (``existing_capacities: default_heating_lifetime:``) + (https://github.com/PyPSA/pypsa-eur/pull/918). -* Correctly source the existing heating technologies for buildings since the - source URL has changed. It represents the year 2012 and is only for - buildings, not district heating. So the capacities for urban central are now - set to zero from this source. +* Added option to specify turbine and solar panel models for specific years as a + dictionary (e.g. ``renewable: onwind: resource: turbine:``). The years will be + interpreted as years from when the the corresponding turbine model substitutes + the previous model for new installations. This will only have an effect on + workflows with foresight ``"myopic"`` and still needs to be added foresight + option ``"perfect"`` (https://github.com/PyPSA/pypsa-eur/pull/912). -* Remove long-deprecated function ``attach_extendable_generators`` in :mod:`add_electricity`. +* New configuration option ``everywhere_powerplants`` to build conventional + powerplants everywhere, irrespective of existing powerplants locations, in the + network (https://github.com/PyPSA/pypsa-eur/pull/850). -* The filtering of power plants in the ``config.default.yaml`` has been updated regarding phased-out power plants in 2023. +* Add the option to customise map projection in plotting config under + ``plotting: projection: name`` (https://github.com/PyPSA/pypsa-eur/pull/898). -* Upgrade techno-economic assumptions to ``technology-data`` v0.7.0. +* Add support for the linopy ``io_api`` option under ``solving: options: + io_api:``. Set to ``"direct"`` to increase model reading and writing + performance for the highs and gurobi solvers on slow file systems + (https://github.com/PyPSA/pypsa-eur/pull/892). -* Bugfix: Correct technology keys for the electricity production plotting to work out the box. +* It is now possible to determine the directory for shared resources by setting + `shared_resources` to a string (https://github.com/PyPSA/pypsa-eur/pull/906). -* New configuration option ``everywhere_powerplants`` to build conventional powerplants everywhere, irrespective of existing powerplants locations, in the network (https://github.com/PyPSA/pypsa-eur/pull/850). +* Improve ``mock_snakemake()`` for usage in Snakemake modules + (https://github.com/PyPSA/pypsa-eur/pull/869). + +**Breaking Changes** + +* Remove long-deprecated function ``attach_extendable_generators`` in + :mod:`add_electricity`. * Remove option for wave energy as technology data is not maintained. -* Define global constraint for CO2 emissions on the final state of charge of the - CO2 atmosphere store. This gives a more sparse constraint that should improve - the performance of the solving process. +* The order of buses (bus0, bus1, ...) for DAC components has changed to meet + the convention of the other components. Therefore, `bus0` refers to the + electricity bus (input), `bus1` to the heat bus (input), 'bus2' to the CO2 + atmosphere bus (input), and `bus3` to the CO2 storage bus (output) + (https://github.com/PyPSA/pypsa-eur/pull/901). -* Bugfix: Assure entering of code block which corrects Norwegian heat demand. +**Changes** -* Add warning when BEV availability weekly profile has negative values in `build_transport_demand`. +* Upgrade default techno-economic assumptions to ``technology-data`` v0.8.0. -* Stacktrace of uncaught exceptions should now be correctly included inside log files (via `configure_logging(..)`). - -* Cluster residential and services heat buses by default. Can be disabled with ``cluster_heat_buses: false``. - -* Bugfix: Do not reduce district heat share when building population-weighted - energy statistics. Previously the district heating share was being multiplied - by the population weighting, reducing the DH share with multiple nodes. +* Update hydrogen pipeline losses to latest data from Danish Energy Agency + (https://github.com/PyPSA/pypsa-eur/pull/933). * Move building of daily heat profile to its own rule - :mod:`build_hourly_heat_demand` from :mod:`prepare_sector_network`. + :mod:`build_hourly_heat_demand` from :mod:`prepare_sector_network` + (https://github.com/PyPSA/pypsa-eur/pull/884). * In :mod:`build_energy_totals`, district heating shares are now reported in a - separate file. + separate file (https://github.com/PyPSA/pypsa-eur/pull/884). * Move calculation of district heating share to its own rule - :mod:`build_district_heat_share`. + :mod:`build_district_heat_share` + (https://github.com/PyPSA/pypsa-eur/pull/884). * Move building of distribution of existing heating to own rule :mod:`build_existing_heating_distribution`. This makes the distribution of existing heating to urban/rural, residential/services and spatially more - transparent. - -* Bugfix: Correctly read out number of solver threads from configuration file. - -* Air-sourced heat pumps can now also be built in rural areas. Previously, only - ground-sourced heat pumps were considered for this category. - -* Bugfix: Correctly read out number of solver threads from configuration file. - -* Add support for the linopy ``io_api`` option; set to ``"direct"`` to increase model reading and writing performance for the highs and gurobi solvers. - -* Add the option to customise map projection in plotting config. - -* The order of buses (bus0, bus1, ...) for DAC components has changed to meet the convention of the other components. Therefore, `bus0` refers to the electricity bus (input), `bus1` to the heat bus (input), 'bus2' to the CO2 atmosphere bus (input), and `bus3` to the CO2 storage bus (output). - -* The rule ``plot_network`` has been split into separate rules for plotting - electricity, hydrogen and gas networks. - -* To determine the optimal topology to meet the number of clusters, the workflow used pyomo in combination with ``ipopt`` or ``gurobi``. This dependency has been replaced by using ``linopy`` in combination with ``scipopt`` or ``gurobi``. The environment file has been updated accordingly. - -* The ``highs`` solver was added to the default environment file. - -* Various minor bugfixes to the perfect foresight workflow, though perfect foresight must still be considered experimental. - -* It is now possible to determine the directory for shared resources by setting `shared_resources` to a string. - -* A ``test.sh`` script was added to the repository to run the tests locally. + transparent (https://github.com/PyPSA/pypsa-eur/pull/884). * Default settings for recycling rates and primary product shares of high-value chemicals have been set in accordance with the values used in `Neumann et al. @@ -198,14 +173,124 @@ Upcoming Release Energiewende (2021) `_. -* Added option to specify turbine and solar panel models for specific years as a - dictionary (e.g. ``renewable: onwind: resource: turbine:``). The years will be - interpreted as years from when the the corresponding turbine model substitutes - the previous model for new installations. This will only have an effect on - workflows with foresight "myopic" and still needs to be added foresight option - "perfect". +* Air-sourced heat pumps can now also be built in rural areas. Previously, only + ground-sourced heat pumps were considered for this category + (https://github.com/PyPSA/pypsa-eur/pull/890). -* Switched the energy totals year from 2011 to 2013 to comply with the assumed default weather year. +* The default configuration ``config/config.default.yaml`` is now automatically + used as a base configuration file. The file ``config/config.yaml`` can now be + used to only define deviations from the default configuration. The + ``config/config.default.yaml`` is still copied into ``config/config.yaml`` on + first usage (https://github.com/PyPSA/pypsa-eur/pull/925). + +* Regions are assigned to all buses with unique coordinates in the network with + a preference given to substations. Previously, only substations had assigned + regions, but this could lead to issues when a high spatial resolution was + applied (https://github.com/PyPSA/pypsa-eur/pull/922). + +* Define global constraint for CO2 emissions on the final state of charge of the + CO2 atmosphere store. This gives a more sparse constraint that should improve + the performance of the solving process + (https://github.com/PyPSA/pypsa-eur/pull/862). + +* Switched the energy totals year from 2011 to 2013 to comply with the assumed + default weather year (https://github.com/PyPSA/pypsa-eur/pull/934). + +* Cluster residential and services heat buses by default. Can be disabled with + ``cluster_heat_buses: false`` (https://github.com/PyPSA/pypsa-eur/pull/877). + +* The rule ``plot_network`` has been split into separate rules for plotting + electricity, hydrogen and gas networks + (https://github.com/PyPSA/pypsa-eur/pull/900). + +* To determine the optimal topology to meet the number of clusters, the workflow + used pyomo in combination with ``ipopt`` or ``gurobi``. This dependency has + been replaced by using ``linopy`` in combination with ``scipopt`` or + ``gurobi``. The environment file has been updated accordingly + (https://github.com/PyPSA/pypsa-eur/pull/903). + +* The ``highs`` solver was added to the default environment file. + +* New default solver settings for COPT solver + (https://github.com/PyPSA/pypsa-eur/pull/882). + +* Data retrieval rules now use their own minimal conda environment. This can + avoid unnecessary reruns of the workflow + (https://github.com/PyPSA/pypsa-eur/pull/888). + +* Merged two OPSD time series data versions into such that the option ``load: + power_statistics:`` becomes superfluous and was hence removed + (https://github.com/PyPSA/pypsa-eur/pull/924). + +* The filtering of power plants in the ``config.default.yaml`` has been updated + regarding phased-out power plants in 2023. + +* Include all countries in ammonia production resource. This is so that the full + EU28 ammonia demand can be correctly subtracted in the rule + :mod:`build_industry_sector_ratios` + (https://github.com/PyPSA/pypsa-eur/pull/931). + +* Correctly source the existing heating technologies for buildings since the + source URL has changed. It represents the year 2012 and is only for buildings, + not district heating (https://github.com/PyPSA/pypsa-eur/pull/918). + +* Add warning when BEV availability weekly profile has negative values in + `build_transport_demand` (https://github.com/PyPSA/pypsa-eur/pull/858). + +* Time series clipping for very small values was added for Links + (https://github.com/PyPSA/pypsa-eur/pull/870). + +* A ``test.sh`` script was added to the repository to run the tests locally. + +* The CI now tests additionally against ``master`` versions of PyPSA, atlite and + powerplantmatching (https://github.com/PyPSA/pypsa-eur/pull/904). + +* A function ``sanitize_locations()`` was added to improve the coverage of the + ``location`` attribute of network components. + +**Bugs and Compatibility** + +* Bugfix: Do not reduce district heat share when building population-weighted + energy statistics. Previously the district heating share was being multiplied + by the population weighting, reducing the DH share with multiple nodes + (https://github.com/PyPSA/pypsa-eur/pull/884). + +* Bugfix: The industry coal emissions for industry were not properly tracked + (https://github.com/PyPSA/pypsa-eur/pull/923). + +* Bugfix: Correct units of subtracted chlorine and methanol demand in + :mod:`build_industry_sector_ratios` + (https://github.com/PyPSA/pypsa-eur/pull/930). + +* Various minor bugfixes to the perfect foresight workflow, though perfect + foresight must still be considered experimental + (https://github.com/PyPSA/pypsa-eur/pull/910). + +* Fix plotting of retrofitted hydrogen pipelines with myopic pathway + optimisation (https://github.com/PyPSA/pypsa-eur/pull/937). + +* Bugfix: Correct technology keys for the electricity production plotting to + work out the box. + +* Bugfix: Assure entering of code block which corrects Norwegian heat demand + (https://github.com/PyPSA/pypsa-eur/pull/870). + +* Stacktrace of uncaught exceptions should now be correctly included inside log + files (via `configure_logging(..)`) + (https://github.com/PyPSA/pypsa-eur/pull/875). + +* Bugfix: Correctly read out number of solver threads from configuration file + (https://github.com/PyPSA/pypsa-eur/pull/889). + +* Made copying default config file compatible with snakemake module + (https://github.com/PyPSA/pypsa-eur/pull/894). + +* Compatibility with ``pandas=2.2`` + (https://github.com/PyPSA/pypsa-eur/pull/861). + +Special thanks for this release to Koen van Greevenbroek (`@koen-vg +`_) for various new features, bugfixes and taking +care of deprecations. PyPSA-Eur 0.9.0 (5th January 2024) diff --git a/doc/requirements.txt b/doc/requirements.txt index 3e760c81..a1cd0a5c 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2019-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2019-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 diff --git a/doc/retrieve.rst b/doc/retrieve.rst index 53f84ef4..f9d6e2a7 100644 --- a/doc/retrieve.rst +++ b/doc/retrieve.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/sector.rst b/doc/sector.rst index 411bfd57..84a5fdc9 100644 --- a/doc/sector.rst +++ b/doc/sector.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/simplification.rst b/doc/simplification.rst index 21f61de7..2272505d 100644 --- a/doc/simplification.rst +++ b/doc/simplification.rst @@ -1,7 +1,7 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/solving.rst b/doc/solving.rst index 21cc5c25..a8020d29 100644 --- a/doc/solving.rst +++ b/doc/solving.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/spatial_resolution.rst b/doc/spatial_resolution.rst index c6e9c3de..a408f464 100644 --- a/doc/spatial_resolution.rst +++ b/doc/spatial_resolution.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2021-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2021-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/supply_demand.rst b/doc/supply_demand.rst index b043268b..8f6edcad 100644 --- a/doc/supply_demand.rst +++ b/doc/supply_demand.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2021-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2021-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/support.rst b/doc/support.rst index 1d512d59..1a3e6d08 100644 --- a/doc/support.rst +++ b/doc/support.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/tutorial.rst b/doc/tutorial.rst index e58ad123..4f272292 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 @@ -133,82 +133,89 @@ 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.33 0.6 0.85", style="rounded"]; - 1[label = "prepare_network\nll: copt\nopts: Co2L-24H", color = "0.03 0.6 0.85", style="rounded"]; - 2[label = "add_extra_components", color = "0.45 0.6 0.85", style="rounded"]; - 3[label = "cluster_network\nclusters: 6", color = "0.46 0.6 0.85", style="rounded"]; - 4[label = "simplify_network\nsimpl: ", color = "0.52 0.6 0.85", style="rounded"]; - 5[label = "add_electricity", color = "0.55 0.6 0.85", style="rounded"]; - 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.15 0.6 0.85", style="rounded"]; - 7[label = "base_network", color = "0.37 0.6 0.85", style="rounded,dashed"]; - 8[label = "build_shapes", color = "0.07 0.6 0.85", style="rounded,dashed"]; - 9[label = "retrieve_databundle", color = "0.60 0.6 0.85", style="rounded"]; - 10[label = "retrieve_natura_raster", color = "0.42 0.6 0.85", style="rounded"]; - 11[label = "build_bus_regions", color = "0.09 0.6 0.85", style="rounded,dashed"]; - 12[label = "build_renewable_profiles\ntechnology: onwind", color = "0.15 0.6 0.85", style="rounded"]; - 13[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.15 0.6 0.85", style="rounded"]; - 14[label = "build_ship_raster", color = "0.02 0.6 0.85", style="rounded"]; - 15[label = "retrieve_ship_raster", color = "0.40 0.6 0.85", style="rounded"]; - 16[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.15 0.6 0.85", style="rounded"]; - 17[label = "build_line_rating", color = "0.32 0.6 0.85", style="rounded"]; - 18[label = "retrieve_cost_data\nyear: 2030", color = "0.50 0.6 0.85", style="rounded"]; - 19[label = "build_powerplants", color = "0.64 0.6 0.85", style="rounded,dashed"]; - 20[label = "build_electricity_demand", color = "0.13 0.6 0.85", style="rounded,dashed"]; - 21[label = "retrieve_electricity_demand", color = "0.31 0.6 0.85", style="rounded"]; - 22[label = "copy_config", color = "0.23 0.6 0.85", style="rounded"]; + 0[label = "solve_network", color = "0.39 0.6 0.85", style="rounded"]; + 1[label = "prepare_network\nll: copt\nopts: Co2L-24H", color = "0.29 0.6 0.85", style="rounded"]; + 2[label = "add_extra_components", color = "0.28 0.6 0.85", style="rounded"]; + 3[label = "cluster_network\nclusters: 6", color = "0.19 0.6 0.85", style="rounded"]; + 4[label = "simplify_network\nsimpl: ", color = "0.01 0.6 0.85", style="rounded"]; + 5[label = "add_electricity", color = "0.49 0.6 0.85", style="rounded"]; + 6[label = "build_renewable_profiles\ntechnology: solar", color = "0.21 0.6 0.85", style="rounded"]; + 7[label = "base_network", color = "0.27 0.6 0.85", style="rounded"]; + 8[label = "build_shapes", color = "0.26 0.6 0.85", style="rounded"]; + 9[label = "retrieve_databundle", color = "0.59 0.6 0.85", style="rounded"]; + 10[label = "retrieve_natura_raster", color = "0.47 0.6 0.85", style="rounded"]; + 11[label = "build_bus_regions", color = "0.13 0.6 0.85", style="rounded"]; + 12[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.36 0.6 0.85", style="rounded,dashed"]; + 13[label = "build_renewable_profiles\ntechnology: onwind", color = "0.21 0.6 0.85", style="rounded"]; + 14[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.21 0.6 0.85", style="rounded"]; + 15[label = "build_ship_raster", color = "0.00 0.6 0.85", style="rounded"]; + 16[label = "retrieve_ship_raster", color = "0.51 0.6 0.85", style="rounded,dashed"]; + 17[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.21 0.6 0.85", style="rounded"]; + 18[label = "build_line_rating", color = "0.05 0.6 0.85", style="rounded"]; + 19[label = "retrieve_cost_data\nyear: 2030", color = "0.15 0.6 0.85", style="rounded"]; + 20[label = "build_powerplants", color = "0.54 0.6 0.85", style="rounded"]; + 21[label = "build_electricity_demand", color = "0.52 0.6 0.85", style="rounded"]; + 22[label = "retrieve_electricity_demand", color = "0.22 0.6 0.85", style="rounded"]; + 23[label = "copy_config", color = "0.44 0.6 0.85", style="rounded"]; 1 -> 0 - 22 -> 0 + 23 -> 0 2 -> 1 - 18 -> 1 + 19 -> 1 3 -> 2 - 18 -> 2 + 19 -> 2 4 -> 3 - 18 -> 3 + 19 -> 3 5 -> 4 - 18 -> 4 + 19 -> 4 11 -> 4 6 -> 5 - 12 -> 5 13 -> 5 - 16 -> 5 - 7 -> 5 + 14 -> 5 17 -> 5 + 7 -> 5 18 -> 5 - 11 -> 5 19 -> 5 - 9 -> 5 + 11 -> 5 20 -> 5 + 9 -> 5 + 21 -> 5 8 -> 5 7 -> 6 9 -> 6 10 -> 6 8 -> 6 11 -> 6 + 12 -> 6 8 -> 7 9 -> 8 8 -> 11 7 -> 11 - 7 -> 12 - 9 -> 12 - 10 -> 12 - 8 -> 12 - 11 -> 12 7 -> 13 9 -> 13 10 -> 13 - 14 -> 13 8 -> 13 11 -> 13 + 12 -> 13 + 7 -> 14 + 9 -> 14 + 10 -> 14 15 -> 14 - 7 -> 16 - 9 -> 16 - 10 -> 16 - 14 -> 16 - 8 -> 16 - 11 -> 16 + 8 -> 14 + 11 -> 14 + 12 -> 14 + 16 -> 15 + 12 -> 15 7 -> 17 - 7 -> 19 - 21 -> 20 + 9 -> 17 + 10 -> 17 + 15 -> 17 + 8 -> 17 + 11 -> 17 + 12 -> 17 + 7 -> 18 + 12 -> 18 + 7 -> 20 + 22 -> 21 } | @@ -218,26 +225,29 @@ In the terminal, this will show up as a list of jobs to be run: .. code:: bash Building DAG of jobs... - job count min threads max threads - ------------------------ ------- ------------- ------------- - add_electricity 1 1 1 - add_extra_components 1 1 1 - base_network 1 1 1 - build_bus_regions 1 1 1 - build_hydro_profile 1 1 1 - build_electricity_demand 1 1 1 - build_powerplants 1 1 1 - build_renewable_profiles 4 1 1 - build_shapes 1 1 1 - build_ship_raster 1 1 1 - cluster_network 1 1 1 - prepare_network 1 1 1 - retrieve_cost_data 1 1 1 - retrieve_databundle 1 1 1 - retrieve_natura_raster 1 1 1 - simplify_network 1 1 1 - solve_network 1 1 1 - total 20 1 1 + Job stats: + job count + --------------------------- ------- + add_electricity 1 + add_extra_components 1 + base_network 1 + build_bus_regions 1 + build_electricity_demand 1 + build_line_rating 1 + build_powerplants 1 + build_renewable_profiles 4 + build_shapes 1 + build_ship_raster 1 + cluster_network 1 + copy_config 1 + prepare_network 1 + retrieve_cost_data 1 + retrieve_databundle 1 + retrieve_electricity_demand 1 + retrieve_natura_raster 1 + simplify_network 1 + solve_network 1 + total 22 ``snakemake`` then runs these jobs in the correct order. @@ -246,16 +256,16 @@ A job (here ``simplify_network``) will display its attributes and normally some .. code:: bash - [Mon Jan 1 00:00:00 2023] + [Mon Feb 19 17:06:17 2024] rule simplify_network: - input: networks/elec.nc, resources/costs.csv, resources/regions_onshore.geojson, resources/regions_offshore.geojson - output: networks/elec_s.nc, resources/regions_onshore_elec_s.geojson, resources/regions_offshore_elec_s.geojson, resources/busmap_elec_s.csv, resources/connection_costs_s.csv - log: logs/simplify_network/elec_s.log + input: resources/test/networks/elec.nc, data/costs_2030.csv, resources/test/regions_onshore.geojson, resources/test/regions_offshore.geojson + output: resources/test/networks/elec_s.nc, resources/test/regions_onshore_elec_s.geojson, resources/test/regions_offshore_elec_s.geojson, resources/test/busmap_elec_s.csv, resources/test/connection_costs_s.csv + log: logs/test-elec/simplify_network/elec_s.log jobid: 4 - benchmark: benchmarks/simplify_network/elec_s - reason: Missing output files: resources/busmap_elec_s.csv, resources/regions_onshore_elec_s.geojson, networks/elec_s.nc, resources/regions_offshore_elec_s.geojson; Input files updated by another job: resources/regions_offshore.geojson, resources/regions_onshore.geojson, resources/costs.csv, networks/elec.nc + benchmark: benchmarks/test-elec/simplify_network/elec_s + reason: Missing output files: resources/test/regions_offshore_elec_s.geojson, resources/test/busmap_elec_s.csv, resources/test/regions_onshore_elec_s.geojson, resources/test/networks/elec_s.nc; Input files updated by another job: resources/test/regions_offshore.geojson, resources/test/networks/elec.nc, resources/test/regions_onshore.geojson, data/costs_2030.csv wildcards: simpl= - resources: tmpdir=/tmp, mem_mb=4000, mem_mib=3815 + resources: tmpdir=/tmp, mem_mb=12000, mem_mib=11445 Once the whole worktree is finished, it should state so in the terminal. diff --git a/doc/tutorial_sector.rst b/doc/tutorial_sector.rst index 53a60353..a1556150 100644 --- a/doc/tutorial_sector.rst +++ b/doc/tutorial_sector.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 @@ -61,46 +61,69 @@ To run an overnight / greenfiled scenario with the specifications above, run snakemake -call all --configfile config/test/config.overnight.yaml -which will result in the following *additional* jobs ``snakemake`` wants to run -on top of those already included in the electricity-only tutorial: +which will result in the following jobs ``snakemake`` wants to run, some of +which were already included in the electricity-only tutorial: .. code:: bash - job count min threads max threads - ------------------------------------------------ ------- ------------- ------------- - all 1 1 1 - build_ammonia_production 1 1 1 - build_biomass_potentials 1 1 1 - build_clustered_population_layouts 1 1 1 - build_cop_profiles 1 1 1 - build_gas_input_locations 1 1 1 - build_gas_network 1 1 1 - build_heat_demands 3 1 1 - build_industrial_distribution_key 1 1 1 - build_industrial_energy_demand_per_country_today 1 1 1 - build_industrial_energy_demand_per_node 1 1 1 - build_industrial_energy_demand_per_node_today 1 1 1 - build_industrial_production_per_country 1 1 1 - build_industrial_production_per_country_tomorrow 1 1 1 - build_industrial_production_per_node 1 1 1 - build_industry_sector_ratios 1 1 1 - build_population_weighted_energy_totals 1 1 1 - build_salt_cavern_potentials 1 1 1 - build_shipping_demand 1 1 1 - build_simplified_population_layouts 1 1 1 - build_solar_thermal_profiles 3 1 1 - build_temperature_profiles 3 1 1 - build_transport_demand 1 1 1 - cluster_gas_network 1 1 1 - cluster_network 1 1 1 - copy_config 1 1 1 - make_summary 1 1 1 - plot_network 1 1 1 - plot_summary 1 1 1 - prepare_sector_network 1 1 1 - retrieve_gas_infrastructure_data 1 1 1 - retrieve_sector_databundle 1 1 1 - solve_sector_network 1 1 1 + job count + ------------------------------------------------ ------- + add_electricity 1 + add_extra_components 1 + all 1 + base_network 1 + build_ammonia_production 1 + build_biomass_potentials 1 + build_bus_regions 1 + build_clustered_population_layouts 1 + build_cop_profiles 1 + build_daily_heat_demand 1 + build_district_heat_share 1 + build_electricity_demand 1 + build_energy_totals 1 + build_gas_input_locations 1 + build_gas_network 1 + build_hourly_heat_demand 1 + build_industrial_distribution_key 1 + build_industrial_energy_demand_per_country_today 1 + build_industrial_energy_demand_per_node 1 + build_industrial_energy_demand_per_node_today 1 + build_industrial_production_per_country 1 + build_industrial_production_per_country_tomorrow 1 + build_industrial_production_per_node 1 + build_industry_sector_ratios 1 + build_industry_sector_ratios_intermediate 1 + build_population_layouts 1 + build_population_weighted_energy_totals 1 + build_powerplants 1 + build_renewable_profiles 4 + build_salt_cavern_potentials 1 + build_shapes 1 + build_ship_raster 1 + build_shipping_demand 1 + build_simplified_population_layouts 1 + build_temperature_profiles 3 + build_transport_demand 1 + cluster_gas_network 1 + cluster_network 1 + copy_config 1 + make_summary 1 + plot_gas_network 1 + plot_hydrogen_network 1 + plot_power_network 1 + plot_power_network_clustered 1 + plot_summary 1 + prepare_network 1 + prepare_sector_network 1 + retrieve_cost_data 1 + retrieve_databundle 1 + retrieve_electricity_demand 1 + retrieve_gas_infrastructure_data 1 + retrieve_natura_raster 1 + retrieve_sector_databundle 1 + simplify_network 1 + solve_sector_network 1 + total 60 This covers the retrieval of additional raw data from online resources and preprocessing data about the transport, industry, and heating sectors as well as @@ -119,161 +142,234 @@ 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.51 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.54 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.44 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network", color = "0.46 0.6 0.85", style="rounded"]; - 4[label = "prepare_sector_network", color = "0.09 0.6 0.85", style="rounded"]; - 5[label = "cluster_gas_network", color = "0.38 0.6 0.85", style="rounded"]; - 6[label = "build_gas_network", color = "0.00 0.6 0.85", style="rounded"]; - 7[label = "retrieve_gas_infrastructure_data", color = "0.33 0.6 0.85", style="rounded"]; - 8[label = "cluster_network", color = "0.26 0.6 0.85", style="rounded"]; - 9[label = "simplify_network", color = "0.03 0.6 0.85", style="rounded"]; - 10[label = "add_electricity", color = "0.25 0.6 0.85", style="rounded"]; - 11[label = "build_renewable_profiles", color = "0.07 0.6 0.85", style="rounded"]; - 12[label = "base_network", color = "0.16 0.6 0.85", style="rounded"]; - 13[label = "build_shapes", color = "0.65 0.6 0.85", style="rounded"]; - 14[label = "retrieve_databundle", color = "0.20 0.6 0.85", style="rounded"]; - 15[label = "retrieve_natura_raster", color = "0.10 0.6 0.85", style="rounded"]; - 16[label = "build_bus_regions", color = "0.11 0.6 0.85", style="rounded"]; - 17[label = "build_ship_raster", color = "0.56 0.6 0.85", style="rounded"]; - 18[label = "retrieve_ship_raster", color = "0.15 0.6 0.85", style="rounded"]; - 19[label = "retrieve_cost_data", color = "0.50 0.6 0.85", style="rounded"]; - 20[label = "build_powerplants", color = "0.49 0.6 0.85", style="rounded"]; - 21[label = "build_electricity_demand", color = "0.39 0.6 0.85", style="rounded"]; - 22[label = "retrieve_electricity_demand", color = "0.05 0.6 0.85", style="rounded"]; - 23[label = "build_gas_input_locations", color = "0.45 0.6 0.85", style="rounded"]; - 24[label = "prepare_network", color = "0.31 0.6 0.85", style="rounded"]; - 25[label = "add_extra_components", color = "0.23 0.6 0.85", style="rounded"]; - 26[label = "build_energy_totals", color = "0.19 0.6 0.85", style="rounded"]; - 27[label = "build_population_weighted_energy_totals", color = "0.27 0.6 0.85", style="rounded"]; - 28[label = "build_clustered_population_layouts", color = "0.64 0.6 0.85", style="rounded"]; - 29[label = "build_population_layouts", color = "0.43 0.6 0.85", style="rounded"]; - 30[label = "build_shipping_demand", color = "0.57 0.6 0.85", style="rounded"]; - 31[label = "build_transport_demand", color = "0.53 0.6 0.85", style="rounded"]; - 32[label = "build_temperature_profiles", color = "0.58 0.6 0.85", style="rounded"]; - 33[label = "build_biomass_potentials", color = "0.30 0.6 0.85", style="rounded"]; - 34[label = "build_salt_cavern_potentials", color = "0.47 0.6 0.85", style="rounded"]; - 35[label = "build_simplified_population_layouts", color = "0.32 0.6 0.85", style="rounded"]; - 36[label = "build_industrial_energy_demand_per_node", color = "0.14 0.6 0.85", style="rounded"]; - 37[label = "build_industry_sector_ratios", color = "0.18 0.6 0.85", style="rounded"]; - 38[label = "build_ammonia_production", color = "0.48 0.6 0.85", style="rounded"]; - 39[label = "build_industrial_production_per_node", color = "0.12 0.6 0.85", style="rounded"]; - 40[label = "build_industrial_distribution_key", color = "0.61 0.6 0.85", style="rounded"]; - 41[label = "build_industrial_production_per_country_tomorrow", color = "0.22 0.6 0.85", style="rounded"]; - 42[label = "build_industrial_production_per_country", color = "0.59 0.6 0.85", style="rounded"]; - 43[label = "build_industrial_energy_demand_per_node_today", color = "0.62 0.6 0.85", style="rounded"]; - 44[label = "build_industrial_energy_demand_per_country_today", color = "0.41 0.6 0.85", style="rounded"]; - 45[label = "build_heat_demands", color = "0.08 0.6 0.85", style="rounded"]; - 46[label = "build_cop_profiles", color = "0.52 0.6 0.85", style="rounded"]; - 47[label = "build_solar_thermal_profiles", color = "0.17 0.6 0.85", style="rounded"]; - 48[label = "copy_config", color = "0.40 0.6 0.85", style="rounded"]; - 49[label = "plot_network", color = "0.60 0.6 0.85", style="rounded"]; - 1 -> 0 - 2 -> 1 - 49 -> 2 - 19 -> 2 - 3 -> 2 - 48 -> 3 - 4 -> 3 - 19 -> 3 - 9 -> 4 - 11 -> 4 - 45 -> 4 - 36 -> 4 - 47 -> 4 - 26 -> 4 - 27 -> 4 - 8 -> 4 - 33 -> 4 - 24 -> 4 - 35 -> 4 - 5 -> 4 - 23 -> 4 - 34 -> 4 - 19 -> 4 - 31 -> 4 - 46 -> 4 - 30 -> 4 - 32 -> 4 - 28 -> 4 - 6 -> 5 - 8 -> 5 - 7 -> 6 - 19 -> 8 - 9 -> 8 - 19 -> 9 - 10 -> 9 - 16 -> 9 - 14 -> 10 - 21 -> 10 - 20 -> 10 - 19 -> 10 - 11 -> 10 - 16 -> 10 - 13 -> 10 - 12 -> 10 - 14 -> 11 - 17 -> 11 - 15 -> 11 - 16 -> 11 - 12 -> 11 - 13 -> 11 - 13 -> 12 - 14 -> 13 - 12 -> 16 - 13 -> 16 - 18 -> 17 - 12 -> 20 - 22 -> 21 - 8 -> 23 - 7 -> 23 - 25 -> 24 - 19 -> 24 - 19 -> 25 - 8 -> 25 - 13 -> 26 - 28 -> 27 - 26 -> 27 - 8 -> 28 - 29 -> 28 - 13 -> 29 - 13 -> 30 - 8 -> 30 - 26 -> 30 - 32 -> 31 - 28 -> 31 - 27 -> 31 - 26 -> 31 - 8 -> 32 - 29 -> 32 - 13 -> 33 - 14 -> 33 - 8 -> 33 - 8 -> 34 - 9 -> 35 - 29 -> 35 - 37 -> 36 - 39 -> 36 - 43 -> 36 - 38 -> 37 - 41 -> 39 - 40 -> 39 - 28 -> 40 - 8 -> 40 - 42 -> 41 - 38 -> 42 - 44 -> 43 - 40 -> 43 - 38 -> 44 - 42 -> 44 - 8 -> 45 - 29 -> 45 - 32 -> 46 - 8 -> 47 - 29 -> 47 - 8 -> 49 - 3 -> 49 + 0[label = "all", color = "0.55 0.6 0.85", style="rounded"]; + 1[label = "plot_summary", color = "0.31 0.6 0.85", style="rounded"]; + 2[label = "make_summary", color = "0.37 0.6 0.85", style="rounded"]; + 3[label = "plot_power_network_clustered", color = "0.50 0.6 0.85", style="rounded"]; + 4[label = "cluster_network\nclusters: 5", color = "0.62 0.6 0.85", style="rounded"]; + 5[label = "simplify_network\nsimpl: ", color = "0.18 0.6 0.85", style="rounded"]; + 6[label = "add_electricity", color = "0.33 0.6 0.85", style="rounded"]; + 7[label = "build_renewable_profiles\ntechnology: solar", color = "0.20 0.6 0.85", style="rounded"]; + 8[label = "base_network", color = "0.31 0.6 0.85", style="rounded"]; + 9[label = "build_shapes", color = "0.36 0.6 0.85", style="rounded"]; + 10[label = "retrieve_databundle", color = "0.29 0.6 0.85", style="rounded"]; + 11[label = "retrieve_natura_raster", color = "0.01 0.6 0.85", style="rounded"]; + 12[label = "build_bus_regions", color = "0.10 0.6 0.85", style="rounded"]; + 13[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.37 0.6 0.85", style="rounded,dashed"]; + 14[label = "build_renewable_profiles\ntechnology: onwind", color = "0.20 0.6 0.85", style="rounded"]; + 15[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.20 0.6 0.85", style="rounded"]; + 16[label = "build_ship_raster", color = "0.64 0.6 0.85", style="rounded"]; + 17[label = "retrieve_ship_raster", color = "0.64 0.6 0.85", style="rounded,dashed"]; + 18[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.20 0.6 0.85", style="rounded"]; + 19[label = "retrieve_cost_data\nyear: 2030", color = "0.12 0.6 0.85", style="rounded"]; + 20[label = "build_powerplants", color = "0.23 0.6 0.85", style="rounded"]; + 21[label = "build_electricity_demand", color = "0.54 0.6 0.85", style="rounded"]; + 22[label = "retrieve_electricity_demand", color = "0.07 0.6 0.85", style="rounded"]; + 23[label = "solve_sector_network", color = "0.41 0.6 0.85", style="rounded"]; + 24[label = "prepare_sector_network\nsector_opts: CO2L0-24h-T-H-B-I-A-dist1", color = "0.22 0.6 0.85", style="rounded"]; + 25[label = "cluster_gas_network", color = "0.24 0.6 0.85", style="rounded"]; + 26[label = "build_gas_network", color = "0.10 0.6 0.85", style="rounded"]; + 27[label = "retrieve_gas_infrastructure_data", color = "0.17 0.6 0.85", style="rounded"]; + 28[label = "build_gas_input_locations", color = "0.16 0.6 0.85", style="rounded"]; + 29[label = "prepare_network\nll: v1.5\nopts: ", color = "0.49 0.6 0.85", style="rounded"]; + 30[label = "add_extra_components", color = "0.14 0.6 0.85", style="rounded"]; + 31[label = "build_energy_totals", color = "0.39 0.6 0.85", style="rounded"]; + 32[label = "retrieve_sector_databundle", color = "0.58 0.6 0.85", style="rounded"]; + 33[label = "build_population_weighted_energy_totals", color = "0.56 0.6 0.85", style="rounded"]; + 34[label = "build_clustered_population_layouts", color = "0.49 0.6 0.85", style="rounded"]; + 35[label = "build_population_layouts", color = "0.06 0.6 0.85", style="rounded"]; + 36[label = "build_shipping_demand", color = "0.47 0.6 0.85", style="rounded"]; + 37[label = "build_transport_demand", color = "0.45 0.6 0.85", style="rounded"]; + 38[label = "build_temperature_profiles\nscope: total", color = "0.04 0.6 0.85", style="rounded"]; + 39[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.11 0.6 0.85", style="rounded"]; + 40[label = "build_salt_cavern_potentials", color = "0.15 0.6 0.85", style="rounded"]; + 41[label = "build_simplified_population_layouts", color = "0.46 0.6 0.85", style="rounded"]; + 42[label = "build_industrial_energy_demand_per_node", color = "0.63 0.6 0.85", style="rounded"]; + 43[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.07 0.6 0.85", style="rounded"]; + 44[label = "build_industry_sector_ratios", color = "0.59 0.6 0.85", style="rounded"]; + 45[label = "build_ammonia_production", color = "0.04 0.6 0.85", style="rounded"]; + 46[label = "build_industrial_energy_demand_per_country_today", color = "0.44 0.6 0.85", style="rounded"]; + 47[label = "build_industrial_production_per_country", color = "0.34 0.6 0.85", style="rounded"]; + 48[label = "build_industrial_production_per_node", color = "0.26 0.6 0.85", style="rounded"]; + 49[label = "build_industrial_distribution_key", color = "0.13 0.6 0.85", style="rounded"]; + 50[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.32 0.6 0.85", style="rounded"]; + 51[label = "build_industrial_energy_demand_per_node_today", color = "0.48 0.6 0.85", style="rounded"]; + 52[label = "build_hourly_heat_demand", color = "0.28 0.6 0.85", style="rounded"]; + 53[label = "build_daily_heat_demand\nscope: total", color = "0.28 0.6 0.85", style="rounded"]; + 54[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.52 0.6 0.85", style="rounded"]; + 55[label = "build_temperature_profiles\nscope: rural", color = "0.04 0.6 0.85", style="rounded"]; + 56[label = "build_temperature_profiles\nscope: urban", color = "0.04 0.6 0.85", style="rounded"]; + 57[label = "build_cop_profiles", color = "0.38 0.6 0.85", style="rounded"]; + 58[label = "copy_config", color = "0.19 0.6 0.85", style="rounded"]; + 59[label = "plot_power_network", color = "0.60 0.6 0.85", style="rounded"]; + 60[label = "plot_hydrogen_network", color = "0.27 0.6 0.85", style="rounded"]; + 61[label = "plot_gas_network", color = "0.08 0.6 0.85", style="rounded"]; + 1 -> 0 + 2 -> 1 + 32 -> 1 + 3 -> 2 + 23 -> 2 + 19 -> 2 + 59 -> 2 + 60 -> 2 + 61 -> 2 + 4 -> 3 + 5 -> 4 + 19 -> 4 + 6 -> 5 + 19 -> 5 + 12 -> 5 + 7 -> 6 + 14 -> 6 + 15 -> 6 + 18 -> 6 + 8 -> 6 + 19 -> 6 + 12 -> 6 + 20 -> 6 + 10 -> 6 + 21 -> 6 + 9 -> 6 + 8 -> 7 + 10 -> 7 + 11 -> 7 + 9 -> 7 + 12 -> 7 + 13 -> 7 + 9 -> 8 + 10 -> 9 + 9 -> 12 + 8 -> 12 + 8 -> 14 + 10 -> 14 + 11 -> 14 + 9 -> 14 + 12 -> 14 + 13 -> 14 + 8 -> 15 + 10 -> 15 + 11 -> 15 + 16 -> 15 + 9 -> 15 + 12 -> 15 + 13 -> 15 + 17 -> 16 + 13 -> 16 + 8 -> 18 + 10 -> 18 + 11 -> 18 + 16 -> 18 + 9 -> 18 + 12 -> 18 + 13 -> 18 + 8 -> 20 + 22 -> 21 + 24 -> 23 + 58 -> 23 + 25 -> 24 + 28 -> 24 + 29 -> 24 + 31 -> 24 + 32 -> 24 + 33 -> 24 + 36 -> 24 + 37 -> 24 + 39 -> 24 + 19 -> 24 + 15 -> 24 + 18 -> 24 + 40 -> 24 + 5 -> 24 + 4 -> 24 + 34 -> 24 + 41 -> 24 + 42 -> 24 + 52 -> 24 + 54 -> 24 + 38 -> 24 + 55 -> 24 + 56 -> 24 + 57 -> 24 + 26 -> 25 + 4 -> 25 + 27 -> 26 + 27 -> 28 + 4 -> 28 + 30 -> 29 + 19 -> 29 + 4 -> 30 + 19 -> 30 + 9 -> 31 + 32 -> 31 + 31 -> 33 + 34 -> 33 + 35 -> 34 + 4 -> 34 + 13 -> 34 + 9 -> 35 + 13 -> 35 + 9 -> 36 + 4 -> 36 + 31 -> 36 + 34 -> 37 + 33 -> 37 + 31 -> 37 + 32 -> 37 + 38 -> 37 + 35 -> 38 + 4 -> 38 + 13 -> 38 + 32 -> 39 + 4 -> 39 + 10 -> 39 + 9 -> 39 + 32 -> 40 + 4 -> 40 + 35 -> 41 + 5 -> 41 + 13 -> 41 + 43 -> 42 + 48 -> 42 + 51 -> 42 + 44 -> 43 + 46 -> 43 + 47 -> 43 + 45 -> 44 + 32 -> 44 + 32 -> 45 + 32 -> 46 + 47 -> 46 + 45 -> 47 + 32 -> 47 + 49 -> 48 + 50 -> 48 + 4 -> 49 + 34 -> 49 + 32 -> 49 + 47 -> 50 + 49 -> 51 + 46 -> 51 + 53 -> 52 + 35 -> 53 + 4 -> 53 + 13 -> 53 + 31 -> 54 + 34 -> 54 + 35 -> 55 + 4 -> 55 + 13 -> 55 + 35 -> 56 + 4 -> 56 + 13 -> 56 + 38 -> 57 + 55 -> 57 + 56 -> 57 + 23 -> 59 + 4 -> 59 + 23 -> 60 + 4 -> 60 + 23 -> 61 + 4 -> 61 } | @@ -320,23 +416,10 @@ To run a myopic foresight scenario with the specifications above, run snakemake -call all --configfile config/test/config.myopic.yaml -which will result in the following *additional* jobs ``snakemake`` wants to run: - -.. code:: bash - - job count min threads max threads - ------------------------------------------------ ------- ------------- ------------- - all 1 1 1 - add_brownfield 2 1 1 - add_existing_baseyear 1 1 1 - plot_network 3 1 1 - plot_summary 1 1 1 - prepare_sector_network 3 1 1 - solve_sector_network_myopic 3 1 1 - -which translates to the following workflow diagram which nicely outlines -how the sequential pathway optimisation with myopic foresight is -implemented in the workflow: +which will result in additional jobs ``snakemake`` wants to run, which +translates to the following workflow diagram which nicely outlines how the +sequential pathway optimisation with myopic foresight is implemented in the +workflow: .. graphviz:: :class: full-width @@ -346,164 +429,386 @@ implemented in the workflow: 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.38 0.6 0.85", style="rounded"]; - 1[label = "plot_summary", color = "0.61 0.6 0.85", style="rounded"]; - 2[label = "make_summary", color = "0.51 0.6 0.85", style="rounded"]; - 3[label = "solve_sector_network_myopic", color = "0.32 0.6 0.85", style="rounded"]; - 4[label = "add_existing_baseyear", color = "0.20 0.6 0.85", style="rounded"]; - 5[label = "prepare_sector_network", color = "0.14 0.6 0.85", style="rounded"]; - 6[label = "prepare_network", color = "0.06 0.6 0.85", style="rounded"]; - 7[label = "add_extra_components", color = "0.00 0.6 0.85", style="rounded"]; - 8[label = "cluster_network", color = "0.18 0.6 0.85", style="rounded"]; - 9[label = "simplify_network", color = "0.30 0.6 0.85", style="rounded"]; - 10[label = "add_electricity", color = "0.24 0.6 0.85", style="rounded"]; - 11[label = "build_renewable_profiles", color = "0.40 0.6 0.85", style="rounded"]; - 12[label = "base_network", color = "0.11 0.6 0.85", style="rounded"]; - 13[label = "build_shapes", color = "0.29 0.6 0.85", style="rounded"]; - 14[label = "retrieve_databundle", color = "0.58 0.6 0.85", style="rounded"]; - 15[label = "retrieve_natura_raster", color = "0.39 0.6 0.85", style="rounded"]; - 16[label = "build_bus_regions", color = "0.60 0.6 0.85", style="rounded"]; - 17[label = "build_ship_raster", color = "0.65 0.6 0.85", style="rounded"]; - 18[label = "retrieve_ship_raster", color = "0.09 0.6 0.85", style="rounded"]; - 19[label = "retrieve_cost_data", color = "0.04 0.6 0.85", style="rounded"]; - 20[label = "build_powerplants", color = "0.28 0.6 0.85", style="rounded"]; - 21[label = "build_electricity_demand", color = "0.46 0.6 0.85", style="rounded"]; - 22[label = "retrieve_electricity_demand", color = "0.44 0.6 0.85", style="rounded"]; - 23[label = "build_energy_totals", color = "0.53 0.6 0.85", style="rounded"]; - 24[label = "build_population_weighted_energy_totals", color = "0.03 0.6 0.85", style="rounded"]; - 25[label = "build_clustered_population_layouts", color = "0.34 0.6 0.85", style="rounded"]; - 26[label = "build_population_layouts", color = "0.63 0.6 0.85", style="rounded"]; - 27[label = "build_shipping_demand", color = "0.05 0.6 0.85", style="rounded"]; - 28[label = "build_transport_demand", color = "0.52 0.6 0.85", style="rounded"]; - 29[label = "build_temperature_profiles", color = "0.16 0.6 0.85", style="rounded"]; - 30[label = "build_biomass_potentials", color = "0.47 0.6 0.85", style="rounded"]; - 31[label = "build_salt_cavern_potentials", color = "0.48 0.6 0.85", style="rounded"]; - 32[label = "build_simplified_population_layouts", color = "0.08 0.6 0.85", style="rounded"]; - 33[label = "build_industrial_energy_demand_per_node", color = "0.22 0.6 0.85", style="rounded"]; - 34[label = "build_industry_sector_ratios", color = "0.56 0.6 0.85", style="rounded"]; - 35[label = "build_ammonia_production", color = "0.57 0.6 0.85", style="rounded"]; - 36[label = "build_industrial_production_per_node", color = "0.66 0.6 0.85", style="rounded"]; - 37[label = "build_industrial_distribution_key", color = "0.41 0.6 0.85", style="rounded"]; - 38[label = "build_industrial_production_per_country_tomorrow", color = "0.54 0.6 0.85", style="rounded"]; - 39[label = "build_industrial_production_per_country", color = "0.10 0.6 0.85", style="rounded"]; - 40[label = "build_industrial_energy_demand_per_node_today", color = "0.55 0.6 0.85", style="rounded"]; - 41[label = "build_industrial_energy_demand_per_country_today", color = "0.35 0.6 0.85", style="rounded"]; - 42[label = "build_heat_demands", color = "0.49 0.6 0.85", style="rounded"]; - 43[label = "build_cop_profiles", color = "0.01 0.6 0.85", style="rounded"]; - 44[label = "build_solar_thermal_profiles", color = "0.45 0.6 0.85", style="rounded"]; - 45[label = "copy_config", color = "0.33 0.6 0.85", style="rounded"]; - 46[label = "add_brownfield", color = "0.59 0.6 0.85", style="rounded"]; - 47[label = "plot_network", color = "0.15 0.6 0.85", style="rounded"]; - 1 -> 0 - 2 -> 1 - 3 -> 2 - 19 -> 2 - 47 -> 2 - 46 -> 3 - 19 -> 3 - 4 -> 3 - 45 -> 3 - 43 -> 4 - 19 -> 4 - 20 -> 4 - 9 -> 4 - 5 -> 4 - 25 -> 4 - 8 -> 4 - 28 -> 5 - 23 -> 5 - 11 -> 5 - 33 -> 5 - 24 -> 5 - 43 -> 5 - 19 -> 5 - 27 -> 5 - 6 -> 5 - 31 -> 5 - 32 -> 5 - 44 -> 5 - 9 -> 5 - 30 -> 5 - 25 -> 5 - 29 -> 5 - 42 -> 5 - 8 -> 5 - 7 -> 6 - 19 -> 6 - 19 -> 7 - 8 -> 7 - 9 -> 8 - 19 -> 8 - 10 -> 9 - 19 -> 9 - 16 -> 9 - 11 -> 10 - 19 -> 10 - 14 -> 10 - 20 -> 10 - 12 -> 10 - 21 -> 10 - 16 -> 10 - 13 -> 10 - 15 -> 11 - 14 -> 11 - 13 -> 11 - 12 -> 11 - 16 -> 11 - 17 -> 11 - 13 -> 12 - 14 -> 13 - 13 -> 16 - 12 -> 16 - 18 -> 17 - 12 -> 20 - 22 -> 21 - 13 -> 23 - 25 -> 24 - 23 -> 24 - 8 -> 25 - 26 -> 25 - 13 -> 26 - 13 -> 27 - 23 -> 27 - 8 -> 27 - 24 -> 28 - 25 -> 28 - 29 -> 28 - 23 -> 28 - 8 -> 29 - 26 -> 29 - 13 -> 30 - 14 -> 30 - 8 -> 30 - 8 -> 31 - 9 -> 32 - 26 -> 32 - 34 -> 33 - 36 -> 33 - 40 -> 33 - 35 -> 34 - 37 -> 36 - 38 -> 36 - 25 -> 37 - 8 -> 37 - 39 -> 38 - 35 -> 39 - 41 -> 40 - 37 -> 40 - 39 -> 41 - 35 -> 41 - 8 -> 42 - 26 -> 42 - 29 -> 43 - 8 -> 44 - 26 -> 44 - 3 -> 46 - 19 -> 46 - 5 -> 46 - 43 -> 46 - 3 -> 47 - 8 -> 47 + 0[label = "all", color = "0.46 0.6 0.85", style="rounded"]; + 1[label = "plot_summary", color = "0.40 0.6 0.85", style="rounded"]; + 2[label = "make_summary", color = "0.59 0.6 0.85", style="rounded"]; + 3[label = "plot_power_network_clustered", color = "0.17 0.6 0.85", style="rounded"]; + 4[label = "cluster_network\nclusters: 5", color = "0.49 0.6 0.85", style="rounded"]; + 5[label = "simplify_network\nsimpl: ", color = "0.16 0.6 0.85", style="rounded"]; + 6[label = "add_electricity", color = "0.32 0.6 0.85", style="rounded"]; + 7[label = "build_renewable_profiles\ntechnology: solar", color = "0.63 0.6 0.85", style="rounded"]; + 8[label = "base_network", color = "0.12 0.6 0.85", style="rounded"]; + 9[label = "build_shapes", color = "0.23 0.6 0.85", style="rounded"]; + 10[label = "retrieve_databundle", color = "0.61 0.6 0.85", style="rounded"]; + 11[label = "retrieve_natura_raster", color = "0.50 0.6 0.85", style="rounded"]; + 12[label = "build_bus_regions", color = "0.51 0.6 0.85", style="rounded"]; + 13[label = "retrieve_cutout\ncutout: be-03-2013-era5", color = "0.37 0.6 0.85", style="rounded,dashed"]; + 14[label = "build_renewable_profiles\ntechnology: onwind", color = "0.63 0.6 0.85", style="rounded"]; + 15[label = "build_renewable_profiles\ntechnology: offwind-ac", color = "0.63 0.6 0.85", style="rounded"]; + 16[label = "build_ship_raster", color = "0.24 0.6 0.85", style="rounded"]; + 17[label = "retrieve_ship_raster", color = "0.14 0.6 0.85", style="rounded,dashed"]; + 18[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.63 0.6 0.85", style="rounded"]; + 19[label = "retrieve_cost_data\nyear: 2030", color = "0.04 0.6 0.85", style="rounded"]; + 20[label = "build_powerplants", color = "0.58 0.6 0.85", style="rounded"]; + 21[label = "build_electricity_demand", color = "0.04 0.6 0.85", style="rounded"]; + 22[label = "retrieve_electricity_demand", color = "0.62 0.6 0.85", style="rounded"]; + 23[label = "solve_sector_network_myopic", color = "0.30 0.6 0.85", style="rounded"]; + 24[label = "add_existing_baseyear", color = "0.34 0.6 0.85", style="rounded"]; + 25[label = "prepare_sector_network\nsector_opts: 24h-T-H-B-I-A-dist1", color = "0.42 0.6 0.85", style="rounded"]; + 26[label = "cluster_gas_network", color = "0.39 0.6 0.85", style="rounded"]; + 27[label = "build_gas_network", color = "0.59 0.6 0.85", style="rounded"]; + 28[label = "retrieve_gas_infrastructure_data", color = "0.15 0.6 0.85", style="rounded"]; + 29[label = "build_gas_input_locations", color = "0.07 0.6 0.85", style="rounded"]; + 30[label = "prepare_network\nll: v1.5\nopts: ", color = "0.56 0.6 0.85", style="rounded"]; + 31[label = "add_extra_components", color = "0.11 0.6 0.85", style="rounded"]; + 32[label = "build_energy_totals", color = "0.18 0.6 0.85", style="rounded"]; + 33[label = "retrieve_sector_databundle", color = "0.06 0.6 0.85", style="rounded"]; + 34[label = "build_population_weighted_energy_totals", color = "0.03 0.6 0.85", style="rounded"]; + 35[label = "build_clustered_population_layouts", color = "0.25 0.6 0.85", style="rounded"]; + 36[label = "build_population_layouts", color = "0.57 0.6 0.85", style="rounded"]; + 37[label = "build_shipping_demand", color = "0.45 0.6 0.85", style="rounded"]; + 38[label = "build_transport_demand", color = "0.18 0.6 0.85", style="rounded"]; + 39[label = "build_temperature_profiles\nscope: total", color = "0.54 0.6 0.85", style="rounded"]; + 40[label = "build_biomass_potentials\nplanning_horizons: 2030", color = "0.41 0.6 0.85", style="rounded"]; + 41[label = "build_salt_cavern_potentials", color = "0.02 0.6 0.85", style="rounded"]; + 42[label = "build_simplified_population_layouts", color = "0.15 0.6 0.85", style="rounded"]; + 43[label = "build_industrial_energy_demand_per_node", color = "0.47 0.6 0.85", style="rounded"]; + 44[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2030", color = "0.31 0.6 0.85", style="rounded"]; + 45[label = "build_industry_sector_ratios", color = "0.48 0.6 0.85", style="rounded"]; + 46[label = "build_ammonia_production", color = "0.00 0.6 0.85", style="rounded"]; + 47[label = "build_industrial_energy_demand_per_country_today", color = "0.32 0.6 0.85", style="rounded"]; + 48[label = "build_industrial_production_per_country", color = "0.60 0.6 0.85", style="rounded"]; + 49[label = "build_industrial_production_per_node", color = "0.05 0.6 0.85", style="rounded"]; + 50[label = "build_industrial_distribution_key", color = "0.21 0.6 0.85", style="rounded"]; + 51[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2030", color = "0.33 0.6 0.85", style="rounded"]; + 52[label = "build_industrial_energy_demand_per_node_today", color = "0.62 0.6 0.85", style="rounded"]; + 53[label = "build_hourly_heat_demand", color = "0.28 0.6 0.85", style="rounded"]; + 54[label = "build_daily_heat_demand\nscope: total", color = "0.22 0.6 0.85", style="rounded"]; + 55[label = "build_district_heat_share\nplanning_horizons: 2030", color = "0.21 0.6 0.85", style="rounded"]; + 56[label = "build_temperature_profiles\nscope: rural", color = "0.54 0.6 0.85", style="rounded"]; + 57[label = "build_temperature_profiles\nscope: urban", color = "0.54 0.6 0.85", style="rounded"]; + 58[label = "build_cop_profiles", color = "0.52 0.6 0.85", style="rounded"]; + 59[label = "build_existing_heating_distribution", color = "0.09 0.6 0.85", style="rounded"]; + 60[label = "copy_config", color = "0.42 0.6 0.85", style="rounded"]; + 61[label = "solve_sector_network_myopic", color = "0.30 0.6 0.85", style="rounded"]; + 62[label = "add_brownfield", color = "0.10 0.6 0.85", style="rounded"]; + 63[label = "prepare_sector_network\nsector_opts: 24h-T-H-B-I-A-dist1", color = "0.42 0.6 0.85", style="rounded"]; + 64[label = "build_biomass_potentials\nplanning_horizons: 2040", color = "0.41 0.6 0.85", style="rounded"]; + 65[label = "retrieve_cost_data\nyear: 2040", color = "0.04 0.6 0.85", style="rounded"]; + 66[label = "build_industrial_energy_demand_per_node", color = "0.47 0.6 0.85", style="rounded"]; + 67[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2040", color = "0.31 0.6 0.85", style="rounded"]; + 68[label = "build_industrial_production_per_node", color = "0.05 0.6 0.85", style="rounded"]; + 69[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2040", color = "0.33 0.6 0.85", style="rounded"]; + 70[label = "build_district_heat_share\nplanning_horizons: 2040", color = "0.21 0.6 0.85", style="rounded"]; + 71[label = "solve_sector_network_myopic", color = "0.30 0.6 0.85", style="rounded"]; + 72[label = "add_brownfield", color = "0.10 0.6 0.85", style="rounded"]; + 73[label = "prepare_sector_network\nsector_opts: 24h-T-H-B-I-A-dist1", color = "0.42 0.6 0.85", style="rounded"]; + 74[label = "build_biomass_potentials\nplanning_horizons: 2050", color = "0.41 0.6 0.85", style="rounded"]; + 75[label = "retrieve_cost_data\nyear: 2050", color = "0.04 0.6 0.85", style="rounded"]; + 76[label = "build_industrial_energy_demand_per_node", color = "0.47 0.6 0.85", style="rounded"]; + 77[label = "build_industry_sector_ratios_intermediate\nplanning_horizons: 2050", color = "0.31 0.6 0.85", style="rounded"]; + 78[label = "build_industrial_production_per_node", color = "0.05 0.6 0.85", style="rounded"]; + 79[label = "build_industrial_production_per_country_tomorrow\nplanning_horizons: 2050", color = "0.33 0.6 0.85", style="rounded"]; + 80[label = "build_district_heat_share\nplanning_horizons: 2050", color = "0.21 0.6 0.85", style="rounded"]; + 81[label = "plot_power_network", color = "0.48 0.6 0.85", style="rounded"]; + 82[label = "plot_power_network", color = "0.48 0.6 0.85", style="rounded"]; + 83[label = "plot_power_network", color = "0.48 0.6 0.85", style="rounded"]; + 84[label = "plot_hydrogen_network", color = "0.37 0.6 0.85", style="rounded"]; + 85[label = "plot_hydrogen_network", color = "0.37 0.6 0.85", style="rounded"]; + 86[label = "plot_hydrogen_network", color = "0.37 0.6 0.85", style="rounded"]; + 1 -> 0 + 2 -> 1 + 33 -> 1 + 3 -> 2 + 23 -> 2 + 61 -> 2 + 71 -> 2 + 19 -> 2 + 81 -> 2 + 82 -> 2 + 83 -> 2 + 84 -> 2 + 85 -> 2 + 86 -> 2 + 4 -> 3 + 5 -> 4 + 19 -> 4 + 6 -> 5 + 19 -> 5 + 12 -> 5 + 7 -> 6 + 14 -> 6 + 15 -> 6 + 18 -> 6 + 8 -> 6 + 19 -> 6 + 12 -> 6 + 20 -> 6 + 10 -> 6 + 21 -> 6 + 9 -> 6 + 8 -> 7 + 10 -> 7 + 11 -> 7 + 9 -> 7 + 12 -> 7 + 13 -> 7 + 9 -> 8 + 10 -> 9 + 9 -> 12 + 8 -> 12 + 8 -> 14 + 10 -> 14 + 11 -> 14 + 9 -> 14 + 12 -> 14 + 13 -> 14 + 8 -> 15 + 10 -> 15 + 11 -> 15 + 16 -> 15 + 9 -> 15 + 12 -> 15 + 13 -> 15 + 17 -> 16 + 13 -> 16 + 8 -> 18 + 10 -> 18 + 11 -> 18 + 16 -> 18 + 9 -> 18 + 12 -> 18 + 13 -> 18 + 8 -> 20 + 22 -> 21 + 24 -> 23 + 19 -> 23 + 60 -> 23 + 25 -> 24 + 20 -> 24 + 5 -> 24 + 4 -> 24 + 35 -> 24 + 19 -> 24 + 58 -> 24 + 59 -> 24 + 26 -> 25 + 29 -> 25 + 30 -> 25 + 32 -> 25 + 33 -> 25 + 34 -> 25 + 37 -> 25 + 38 -> 25 + 40 -> 25 + 19 -> 25 + 15 -> 25 + 18 -> 25 + 41 -> 25 + 5 -> 25 + 4 -> 25 + 35 -> 25 + 42 -> 25 + 43 -> 25 + 53 -> 25 + 55 -> 25 + 39 -> 25 + 56 -> 25 + 57 -> 25 + 58 -> 25 + 27 -> 26 + 4 -> 26 + 28 -> 27 + 28 -> 29 + 4 -> 29 + 31 -> 30 + 19 -> 30 + 4 -> 31 + 19 -> 31 + 9 -> 32 + 33 -> 32 + 32 -> 34 + 35 -> 34 + 36 -> 35 + 4 -> 35 + 13 -> 35 + 9 -> 36 + 13 -> 36 + 9 -> 37 + 4 -> 37 + 32 -> 37 + 35 -> 38 + 34 -> 38 + 32 -> 38 + 33 -> 38 + 39 -> 38 + 36 -> 39 + 4 -> 39 + 13 -> 39 + 33 -> 40 + 4 -> 40 + 10 -> 40 + 9 -> 40 + 33 -> 41 + 4 -> 41 + 36 -> 42 + 5 -> 42 + 13 -> 42 + 44 -> 43 + 49 -> 43 + 52 -> 43 + 45 -> 44 + 47 -> 44 + 48 -> 44 + 46 -> 45 + 33 -> 45 + 33 -> 46 + 33 -> 47 + 48 -> 47 + 46 -> 48 + 33 -> 48 + 50 -> 49 + 51 -> 49 + 4 -> 50 + 35 -> 50 + 33 -> 50 + 48 -> 51 + 50 -> 52 + 47 -> 52 + 54 -> 53 + 36 -> 54 + 4 -> 54 + 13 -> 54 + 32 -> 55 + 35 -> 55 + 36 -> 56 + 4 -> 56 + 13 -> 56 + 36 -> 57 + 4 -> 57 + 13 -> 57 + 39 -> 58 + 56 -> 58 + 57 -> 58 + 35 -> 59 + 34 -> 59 + 55 -> 59 + 62 -> 61 + 65 -> 61 + 60 -> 61 + 7 -> 62 + 14 -> 62 + 15 -> 62 + 18 -> 62 + 5 -> 62 + 4 -> 62 + 63 -> 62 + 23 -> 62 + 65 -> 62 + 58 -> 62 + 26 -> 63 + 29 -> 63 + 30 -> 63 + 32 -> 63 + 33 -> 63 + 34 -> 63 + 37 -> 63 + 38 -> 63 + 64 -> 63 + 65 -> 63 + 15 -> 63 + 18 -> 63 + 41 -> 63 + 5 -> 63 + 4 -> 63 + 35 -> 63 + 42 -> 63 + 66 -> 63 + 53 -> 63 + 70 -> 63 + 39 -> 63 + 56 -> 63 + 57 -> 63 + 58 -> 63 + 33 -> 64 + 4 -> 64 + 10 -> 64 + 9 -> 64 + 67 -> 66 + 68 -> 66 + 52 -> 66 + 45 -> 67 + 47 -> 67 + 48 -> 67 + 50 -> 68 + 69 -> 68 + 48 -> 69 + 32 -> 70 + 35 -> 70 + 72 -> 71 + 75 -> 71 + 60 -> 71 + 7 -> 72 + 14 -> 72 + 15 -> 72 + 18 -> 72 + 5 -> 72 + 4 -> 72 + 73 -> 72 + 61 -> 72 + 75 -> 72 + 58 -> 72 + 26 -> 73 + 29 -> 73 + 30 -> 73 + 32 -> 73 + 33 -> 73 + 34 -> 73 + 37 -> 73 + 38 -> 73 + 74 -> 73 + 75 -> 73 + 15 -> 73 + 18 -> 73 + 41 -> 73 + 5 -> 73 + 4 -> 73 + 35 -> 73 + 42 -> 73 + 76 -> 73 + 53 -> 73 + 80 -> 73 + 39 -> 73 + 56 -> 73 + 57 -> 73 + 58 -> 73 + 33 -> 74 + 4 -> 74 + 10 -> 74 + 9 -> 74 + 77 -> 76 + 78 -> 76 + 52 -> 76 + 45 -> 77 + 47 -> 77 + 48 -> 77 + 50 -> 78 + 79 -> 78 + 48 -> 79 + 32 -> 80 + 35 -> 80 + 23 -> 81 + 4 -> 81 + 61 -> 82 + 4 -> 82 + 71 -> 83 + 4 -> 83 + 23 -> 84 + 4 -> 84 + 61 -> 85 + 4 -> 85 + 71 -> 86 + 4 -> 86 } | diff --git a/doc/validation.rst b/doc/validation.rst index 7049e3de..e538717c 100644 --- a/doc/validation.rst +++ b/doc/validation.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/doc/wildcards.rst b/doc/wildcards.rst index 75eec192..f86ff311 100644 --- a/doc/wildcards.rst +++ b/doc/wildcards.rst @@ -1,5 +1,5 @@ .. - SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors + SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors SPDX-License-Identifier: CC-BY-4.0 diff --git a/envs/environment.fixed.yaml b/envs/environment.fixed.yaml index 31a58835..8bbd70bf 100644 --- a/envs/environment.fixed.yaml +++ b/envs/environment.fixed.yaml @@ -5,7 +5,6 @@ name: pypsa-eur channels: - bioconda -- gurobi - http://conda.anaconda.org/gurobi - conda-forge - defaults @@ -16,51 +15,46 @@ dependencies: - alsa-lib=1.2.10 - ampl-mp=3.1.0 - amply=0.1.6 -- anyio=4.2.0 - appdirs=1.4.4 -- argon2-cffi=23.1.0 -- argon2-cffi-bindings=21.2.0 -- arrow=1.3.0 - asttokens=2.4.1 -- async-lru=2.0.4 - atk-1.0=2.38.0 - atlite=0.2.12 - attr=2.5.1 - attrs=23.2.0 -- aws-c-auth=0.7.8 +- aws-c-auth=0.7.15 - aws-c-cal=0.6.9 -- aws-c-common=0.9.10 +- aws-c-common=0.9.12 - aws-c-compression=0.2.17 -- aws-c-event-stream=0.3.2 -- aws-c-http=0.7.15 -- aws-c-io=0.13.36 -- aws-c-mqtt=0.10.0 -- aws-c-s3=0.4.7 -- aws-c-sdkutils=0.1.13 +- aws-c-event-stream=0.4.1 +- aws-c-http=0.8.0 +- aws-c-io=0.14.3 +- aws-c-mqtt=0.10.1 +- aws-c-s3=0.5.0 +- aws-c-sdkutils=0.1.14 - aws-checksums=0.1.17 -- aws-crt-cpp=0.25.1 -- aws-sdk-cpp=1.11.210 -- babel=2.14.0 -- beautifulsoup4=4.12.2 -- bleach=6.1.0 +- aws-crt-cpp=0.26.1 +- aws-sdk-cpp=1.11.242 +- azure-core-cpp=1.10.3 +- azure-storage-blobs-cpp=12.10.0 +- azure-storage-common-cpp=12.5.0 +- beautifulsoup4=4.12.3 - blosc=1.21.5 -- bokeh=3.3.2 +- bokeh=3.3.4 - bottleneck=1.3.7 -- branca=0.7.0 +- branca=0.7.1 - brotli=1.1.0 - brotli-bin=1.1.0 - brotli-python=1.1.0 - bzip2=1.0.8 -- c-ares=1.24.0 -- c-blosc2=2.12.0 -- ca-certificates=2023.11.17 -- cached-property=1.5.2 -- cached_property=1.5.2 +- c-ares=1.26.0 +- c-blosc2=2.13.2 +- ca-certificates=2024.2.2 - cairo=1.18.0 - cartopy=0.22.0 - cdsapi=0.6.1 -- certifi=2023.11.17 +- certifi=2024.2.2 - cffi=1.16.0 +- cfgv=3.3.1 - cfitsio=4.3.1 - cftime=1.6.3 - charset-normalizer=3.3.2 @@ -75,32 +69,31 @@ dependencies: - coin-or-utils=2.11.9 - coincbc=2.10.10 - colorama=0.4.6 -- comm=0.1.4 - configargparse=1.7 - connection_pool=0.0.3 - contourpy=1.2.0 - country_converter=1.2 +- cppad=20240000.2 - cycler=0.12.1 -- cytoolz=0.12.2 -- dask=2023.12.1 -- dask-core=2023.12.1 +- cytoolz=0.12.3 +- dask=2024.2.0 +- dask-core=2024.2.0 - datrie=0.8.2 - dbus=1.13.6 -- debugpy=1.8.0 - decorator=5.1.1 -- defusedxml=0.7.1 - deprecation=2.1.0 - descartes=1.1.0 -- distributed=2023.12.1 -- distro=1.8.0 +- distlib=0.3.8 +- distributed=2024.2.0 +- distro=1.9.0 - docutils=0.20.1 - dpath=2.1.6 -- entrypoints=0.4 -- entsoe-py=0.6.1 +- entsoe-py=0.6.6 - et_xmlfile=1.1.0 - exceptiongroup=1.2.0 - executing=2.0.1 - expat=2.5.0 +- filelock=3.13.1 - fiona=1.9.5 - folium=0.15.1 - font-ttf-dejavu-sans-mono=2.37 @@ -110,18 +103,17 @@ dependencies: - fontconfig=2.14.2 - fonts-conda-ecosystem=1 - fonts-conda-forge=1 -- fonttools=4.47.0 -- fqdn=1.5.1 +- fonttools=4.49.0 - freetype=2.12.1 - freexl=2.0.0 - fribidi=1.0.10 -- fsspec=2023.12.2 -- gdal=3.7.3 +- fsspec=2024.2.0 +- gdal=3.8.4 - gdk-pixbuf=2.42.10 - geographiclib=1.52 - geojson-rewind=1.1.0 -- geopandas=0.14.1 -- geopandas-base=0.14.1 +- geopandas=0.14.3 +- geopandas-base=0.14.3 - geopy=2.4.1 - geos=3.12.1 - geotiff=1.7.1 @@ -129,55 +121,38 @@ dependencies: - gflags=2.2.2 - giflib=5.2.1 - gitdb=4.0.11 -- gitpython=3.1.40 -- glib=2.78.3 -- glib-tools=2.78.3 +- gitpython=3.1.42 +- glib=2.78.4 +- glib-tools=2.78.4 - glog=0.6.0 - glpk=5.0 - gmp=6.3.0 - graphite2=1.3.13 - graphviz=9.0.0 -- gst-plugins-base=1.22.8 -- gstreamer=1.22.8 +- gst-plugins-base=1.22.9 +- gstreamer=1.22.9 - gtk2=2.24.33 - gts=0.7.6 -- gurobi=11.0.0 - harfbuzz=8.3.0 - hdf4=4.2.15 - hdf5=1.14.3 - humanfriendly=10.0 - icu=73.2 +- identify=2.5.35 - idna=3.6 - importlib-metadata=7.0.1 - importlib_metadata=7.0.1 - importlib_resources=6.1.1 - iniconfig=2.0.0 -- ipopt=3.14.13 -- ipykernel=6.28.0 -- ipython=8.19.0 -- ipywidgets=8.1.1 -- isoduration=20.11.0 +- ipopt=3.14.14 +- ipython=8.21.0 - jedi=0.19.1 -- jinja2=3.1.2 +- jinja2=3.1.3 - joblib=1.3.2 - json-c=0.17 -- json5=0.9.14 -- jsonpointer=2.4 -- jsonschema=4.20.0 +- jsonschema=4.21.1 - jsonschema-specifications=2023.12.1 -- jsonschema-with-format-nongpl=4.20.0 -- jupyter=1.0.0 -- jupyter-lsp=2.2.1 -- jupyter_client=8.6.0 -- jupyter_console=6.6.3 -- jupyter_core=5.6.1 -- jupyter_events=0.9.0 -- jupyter_server=2.12.1 -- jupyter_server_terminals=0.5.1 -- jupyterlab=4.0.10 -- jupyterlab_pygments=0.3.0 -- jupyterlab_server=2.25.2 -- jupyterlab_widgets=3.0.9 +- jupyter_core=5.7.1 - kealib=1.5.3 - keyutils=1.6.1 - kiwisolver=1.4.5 @@ -189,13 +164,13 @@ dependencies: - libabseil=20230802.1 - libaec=1.1.2 - libarchive=3.7.2 -- libarrow=14.0.2 -- libarrow-acero=14.0.2 -- libarrow-dataset=14.0.2 -- libarrow-flight=14.0.2 -- libarrow-flight-sql=14.0.2 -- libarrow-gandiva=14.0.2 -- libarrow-substrait=14.0.2 +- libarrow=15.0.0 +- libarrow-acero=15.0.0 +- libarrow-dataset=15.0.0 +- libarrow-flight=15.0.0 +- libarrow-flight-sql=15.0.0 +- libarrow-gandiva=15.0.0 +- libarrow-substrait=15.0.0 - libblas=3.9.0 - libboost-headers=1.84.0 - libbrotlicommon=1.1.0 @@ -218,15 +193,15 @@ dependencies: - libgcc-ng=13.2.0 - libgcrypt=1.10.3 - libgd=2.3.3 -- libgdal=3.7.3 +- libgdal=3.8.4 - libgfortran-ng=13.2.0 - libgfortran5=13.2.0 -- libglib=2.78.3 +- libglib=2.78.4 - libgomp=13.2.0 - libgoogle-cloud=2.12.0 - libgpg-error=1.47 -- libgrpc=1.59.3 -- libhwloc=2.9.1 +- libgrpc=1.60.1 +- libhwloc=2.9.3 - libiconv=1.17 - libjpeg-turbo=3.0.0 - libkml=1.3.0 @@ -239,21 +214,21 @@ dependencies: - libnsl=2.0.1 - libnuma=2.0.16 - libogg=1.3.4 -- libopenblas=0.3.25 +- libopenblas=0.3.26 - libopus=1.3.1 -- libparquet=14.0.2 -- libpng=1.6.39 -- libpq=16.1 -- libprotobuf=4.24.4 +- libparquet=15.0.0 +- libpng=1.6.42 +- libpq=16.2 +- libprotobuf=4.25.1 - libre2-11=2023.06.02 - librsvg=2.56.3 - librttopo=1.1.0 +- libscotch=7.0.4 - libsndfile=1.2.2 -- libsodium=1.0.18 - libspatialindex=1.9.3 - libspatialite=5.1.0 -- libspral=2023.08.02 -- libsqlite=3.44.2 +- libspral=2023.09.07 +- libsqlite=3.45.1 - libssh2=1.11.0 - libstdcxx-ng=13.2.0 - libsystemd0=255 @@ -267,91 +242,79 @@ dependencies: - libxcb=1.15 - libxcrypt=4.4.36 - libxkbcommon=1.6.0 -- libxml2=2.11.6 -- libxslt=1.1.37 +- libxml2=2.12.5 +- libxslt=1.1.39 - libzip=1.10.1 - libzlib=1.2.13 -- linopy=0.3.2 +- linopy=0.3.4 - locket=1.0.0 -- lxml=4.9.3 -- lz4=4.3.2 +- lxml=5.1.0 +- lz4=4.3.3 - lz4-c=1.9.4 - lzo=2.10 - mapclassify=2.6.1 -- markupsafe=2.1.3 -- matplotlib=3.8.2 -- matplotlib-base=3.8.2 +- markupsafe=2.1.5 +- matplotlib=3.8.3 +- matplotlib-base=3.8.3 - matplotlib-inline=0.1.6 - memory_profiler=0.61.0 - metis=5.1.0 - minizip=4.0.4 -- mistune=3.0.2 -- mpg123=1.32.3 +- mpg123=1.32.4 - msgpack-python=1.0.7 -- mumps-include=5.2.1 -- mumps-seq=5.2.1 -- munch=4.0.0 +- mumps-include=5.6.2 +- mumps-seq=5.6.2 - munkres=1.1.4 - mysql-common=8.0.33 - mysql-libs=8.0.33 -- nbclient=0.8.0 -- nbconvert=7.14.0 -- nbconvert-core=7.14.0 -- nbconvert-pandoc=7.14.0 - nbformat=5.9.2 - ncurses=6.4 -- nest-asyncio=1.5.8 - netcdf4=1.6.5 - networkx=3.2.1 +- nodeenv=1.8.0 - nomkl=1.0 -- notebook=7.0.6 -- notebook-shim=0.2.3 - nspr=4.35 -- nss=3.96 -- numexpr=2.8.8 -- numpy=1.26.2 -- openjdk=21.0.1 +- nss=3.98 +- numexpr=2.9.0 +- numpy=1.26.4 +- openjdk=21.0.2 - openjpeg=2.5.0 - openpyxl=3.1.2 -- openssl=3.2.0 +- openssl=3.2.1 - orc=1.9.2 -- overrides=7.4.0 - packaging=23.2 -- pandas=2.1.4 -- pandoc=3.1.3 -- pandocfilters=1.5.0 +- pandas=2.2.0 - pango=1.50.14 - parso=0.8.3 - partd=1.4.1 -- patsy=0.5.5 +- patsy=0.5.6 - pcre2=10.42 -- pexpect=4.8.0 +- pexpect=4.9.0 - pickleshare=0.7.5 - pillow=10.2.0 -- pip=23.3.2 -- pixman=0.42.2 +- pip=24.0 +- pixman=0.43.2 - pkgutil-resolve-name=1.3.10 - plac=1.4.2 -- platformdirs=4.1.0 -- pluggy=1.3.0 +- platformdirs=4.2.0 +- pluggy=1.4.0 - ply=3.11 -- poppler=23.12.0 +- poppler=24.02.0 - poppler-data=0.4.12 -- postgresql=16.1 -- powerplantmatching=0.5.8 +- postgresql=16.2 +- powerplantmatching=0.5.11 +- pre-commit=3.6.2 - progressbar2=4.3.2 -- proj=9.3.0 -- prometheus_client=0.19.0 +- proj=9.3.1 - prompt-toolkit=3.0.42 -- prompt_toolkit=3.0.42 -- psutil=5.9.7 +- psutil=5.9.8 - pthread-stubs=0.4 - ptyprocess=0.7.0 - pulp=2.7.0 - pulseaudio-client=16.1 - pure_eval=0.2.2 - py-cpuinfo=9.0.0 -- pyarrow=14.0.2 +- pyarrow=15.0.0 - pyarrow-hotfix=0.6 - pycountry=22.3.5 - pycparser=2.21 @@ -359,47 +322,42 @@ dependencies: - pyomo=6.6.1 - pyparsing=3.1.1 - pyproj=3.6.1 -- pypsa=0.26.2 +- pypsa=0.27.0 - pyqt=5.15.9 - pyqt5-sip=12.12.2 +- pyscipopt=4.4.0 - pyshp=2.3.1 - pysocks=1.7.1 - pytables=3.9.2 -- pytest=7.4.4 -- python=3.11.7 +- pytest=8.0.0 +- python=3.11.8 - python-dateutil=2.8.2 - python-fastjsonschema=2.19.1 -- python-json-logger=2.0.7 -- python-tzdata=2023.4 -- python-utils=3.8.1 +- python-tzdata=2024.1 +- python-utils=3.8.2 - python_abi=3.11 -- pytz=2023.3.post1 +- pytz=2024.1 - pyxlsb=1.0.10 - pyyaml=6.0.1 -- pyzmq=25.1.2 - qt-main=5.15.8 -- qtconsole-base=5.5.1 -- qtpy=2.4.1 - rasterio=1.3.9 -- rdma-core=49.0 +- rdma-core=50.0 - re2=2023.06.02 - readline=8.2 -- referencing=0.32.0 +- referencing=0.33.0 - requests=2.31.0 - reretry=0.11.8 -- rfc3339-validator=0.1.4 -- rfc3986-validator=0.1.1 -- rioxarray=0.15.0 -- rpds-py=0.16.2 -- rtree=1.1.0 -- s2n=1.4.1 -- scikit-learn=1.3.2 -- scipy=1.11.4 -- scotch=6.0.9 -- seaborn=0.13.0 -- seaborn-base=0.13.0 -- send2trash=1.8.2 -- setuptools=69.0.3 +- rioxarray=0.15.1 +- rpds-py=0.18.0 +- rtree=1.2.0 +- s2n=1.4.3 +- scikit-learn=1.4.1.post1 +- scip=8.1.0 +- scipy=1.12.0 +- scotch=7.0.4 +- seaborn=0.13.2 +- seaborn-base=0.13.2 +- setuptools=69.1.0 - setuptools-scm=8.0.4 - setuptools_scm=8.0.4 - shapely=2.0.2 @@ -409,58 +367,51 @@ dependencies: - smmap=5.0.0 - snakemake-minimal=7.32.4 - snappy=1.1.10 -- sniffio=1.3.0 - snuggs=1.4.7 - sortedcontainers=2.4.0 - soupsieve=2.5 -- sqlite=3.44.2 +- sqlite=3.45.1 - stack_data=0.6.2 - statsmodels=0.14.1 - stopit=1.1.2 - tabula-py=2.7.0 - tabulate=0.9.0 +- tbb=2021.11.0 - tblib=3.0.0 -- terminado=0.18.0 -- threadpoolctl=3.2.0 +- threadpoolctl=3.3.0 - throttler=1.2.2 -- tiledb=2.18.2 -- tinycss2=1.2.1 +- tiledb=2.20.0 - tk=8.6.13 - toml=0.10.2 - tomli=2.0.1 -- toolz=0.12.0 +- toolz=0.12.1 - toposort=1.10 - tornado=6.3.3 -- tqdm=4.66.1 +- tqdm=4.66.2 - traitlets=5.14.1 -- types-python-dateutil=2.8.19.14 - typing-extensions=4.9.0 - typing_extensions=4.9.0 -- typing_utils=0.1.0 -- tzcode=2023d -- tzdata=2023d +- tzcode=2024a +- tzdata=2024a - ucx=1.15.0 -- unidecode=1.3.7 +- ukkonen=1.0.1 +- unidecode=1.3.8 - unixodbc=2.3.12 -- uri-template=1.3.0 - uriparser=0.9.7 -- urllib3=2.1.0 +- urllib3=2.2.1 - validators=0.22.0 -- wcwidth=0.2.12 -- webcolors=1.13 -- webencodings=0.5.1 -- websocket-client=1.7.0 +- virtualenv=20.25.0 +- wcwidth=0.2.13 - wheel=0.42.0 -- widgetsnbextension=4.0.9 - wrapt=1.16.0 -- xarray=2023.12.0 +- xarray=2024.2.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.40 +- xkeyboard-config=2.41 - xlrd=2.0.1 - xorg-fixesproto=5.0 - xorg-inputproto=2.3.2 @@ -485,7 +436,6 @@ dependencies: - xz=5.2.6 - yaml=0.2.5 - yte=1.5.4 -- zeromq=4.3.5 - zict=3.0.0 - zipp=3.17.0 - zlib=1.2.13 diff --git a/envs/environment.yaml b/envs/environment.yaml index 88e394fa..0e82ddc3 100644 --- a/envs/environment.yaml +++ b/envs/environment.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/graphics/workflow.png b/graphics/workflow.png index a43f240d..a7fbc5ad 100644 Binary files a/graphics/workflow.png and b/graphics/workflow.png differ diff --git a/matplotlibrc b/matplotlibrc index f00ed5cd..bf667fb1 100644 --- a/matplotlibrc +++ b/matplotlibrc @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: CC0-1.0 font.family: sans-serif diff --git a/rules/build_electricity.smk b/rules/build_electricity.smk index 8e62259f..24f328eb 100644 --- a/rules/build_electricity.smk +++ b/rules/build_electricity.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/build_sector.smk b/rules/build_sector.smk index 9e8bcb90..d41ab528 100644 --- a/rules/build_sector.smk +++ b/rules/build_sector.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/collect.smk b/rules/collect.smk index 9be12f25..214b8102 100644 --- a/rules/collect.smk +++ b/rules/collect.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/common.smk b/rules/common.smk index 9c41b57b..618d746b 100644 --- a/rules/common.smk +++ b/rules/common.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/retrieve.smk b/rules/retrieve.smk index 766e7cf9..29d050ab 100644 --- a/rules/retrieve.smk +++ b/rules/retrieve.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/solve_electricity.smk b/rules/solve_electricity.smk index 6ddbc415..d0cab34c 100644 --- a/rules/solve_electricity.smk +++ b/rules/solve_electricity.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/solve_overnight.smk b/rules/solve_overnight.smk index 69e2f364..b212d453 100644 --- a/rules/solve_overnight.smk +++ b/rules/solve_overnight.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/rules/solve_perfect.smk b/rules/solve_perfect.smk index d3badcb0..a565d978 100644 --- a/rules/solve_perfect.smk +++ b/rules/solve_perfect.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT rule add_existing_baseyear: diff --git a/rules/validate.smk b/rules/validate.smk index 60a6ca50..91fe6e91 100644 --- a/rules/validate.smk +++ b/rules/validate.smk @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/_benchmark.py b/scripts/_benchmark.py index ced102ba..58fc3d39 100644 --- a/scripts/_benchmark.py +++ b/scripts/_benchmark.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/_helpers.py b/scripts/_helpers.py index d30f205c..fd4f23ad 100644 --- a/scripts/_helpers.py +++ b/scripts/_helpers.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/add_brownfield.py b/scripts/add_brownfield.py index 41273709..1e175d87 100644 --- a/scripts/add_brownfield.py +++ b/scripts/add_brownfield.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/add_electricity.py b/scripts/add_electricity.py index 16d5751f..a799caec 100755 --- a/scripts/add_electricity.py +++ b/scripts/add_electricity.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/add_existing_baseyear.py b/scripts/add_existing_baseyear.py index 78f3c5b0..750ab22f 100644 --- a/scripts/add_existing_baseyear.py +++ b/scripts/add_existing_baseyear.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/add_extra_components.py b/scripts/add_extra_components.py index f813e35f..eb14436e 100644 --- a/scripts/add_extra_components.py +++ b/scripts/add_extra_components.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/base_network.py b/scripts/base_network.py index 515ae481..8e03ae35 100644 --- a/scripts/base_network.py +++ b/scripts/base_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_ammonia_production.py b/scripts/build_ammonia_production.py index 062e0dfa..84d547da 100644 --- a/scripts/build_ammonia_production.py +++ b/scripts/build_ammonia_production.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_biomass_potentials.py b/scripts/build_biomass_potentials.py index 6291b03e..79e2c203 100644 --- a/scripts/build_biomass_potentials.py +++ b/scripts/build_biomass_potentials.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_biomass_transport_costs.py b/scripts/build_biomass_transport_costs.py index 05b64519..9c825c47 100644 --- a/scripts/build_biomass_transport_costs.py +++ b/scripts/build_biomass_transport_costs.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_bus_regions.py b/scripts/build_bus_regions.py index c5b1286f..9d993c17 100644 --- a/scripts/build_bus_regions.py +++ b/scripts/build_bus_regions.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_clustered_population_layouts.py b/scripts/build_clustered_population_layouts.py index c923abf9..2d9c6acb 100644 --- a/scripts/build_clustered_population_layouts.py +++ b/scripts/build_clustered_population_layouts.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_cop_profiles.py b/scripts/build_cop_profiles.py index 54eac3a3..16e44c18 100644 --- a/scripts/build_cop_profiles.py +++ b/scripts/build_cop_profiles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_cross_border_flows.py b/scripts/build_cross_border_flows.py index 743f1742..d463d234 100644 --- a/scripts/build_cross_border_flows.py +++ b/scripts/build_cross_border_flows.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_cutout.py b/scripts/build_cutout.py index f9f951b5..1edb18ce 100644 --- a/scripts/build_cutout.py +++ b/scripts/build_cutout.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_daily_heat_demand.py b/scripts/build_daily_heat_demand.py index 4f1a3303..0a36db7e 100644 --- a/scripts/build_daily_heat_demand.py +++ b/scripts/build_daily_heat_demand.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_electricity_prices.py b/scripts/build_electricity_prices.py index 48361afe..f9b964bd 100644 --- a/scripts/build_electricity_prices.py +++ b/scripts/build_electricity_prices.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_electricity_production.py b/scripts/build_electricity_production.py index 7f87c39a..b81c6b45 100644 --- a/scripts/build_electricity_production.py +++ b/scripts/build_electricity_production.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_energy_totals.py b/scripts/build_energy_totals.py index 2b4ebd19..960d1bbe 100644 --- a/scripts/build_energy_totals.py +++ b/scripts/build_energy_totals.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_gas_input_locations.py b/scripts/build_gas_input_locations.py index b0aadce8..6543d950 100644 --- a/scripts/build_gas_input_locations.py +++ b/scripts/build_gas_input_locations.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_gas_network.py b/scripts/build_gas_network.py index 52235cd1..5e9a5c9a 100644 --- a/scripts/build_gas_network.py +++ b/scripts/build_gas_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_hourly_heat_demand.py b/scripts/build_hourly_heat_demand.py index a3110e1f..a1dacd51 100644 --- a/scripts/build_hourly_heat_demand.py +++ b/scripts/build_hourly_heat_demand.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_hydro_profile.py b/scripts/build_hydro_profile.py index 39097535..933feee8 100644 --- a/scripts/build_hydro_profile.py +++ b/scripts/build_hydro_profile.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_distribution_key.py b/scripts/build_industrial_distribution_key.py index 90687b33..7cba0af5 100644 --- a/scripts/build_industrial_distribution_key.py +++ b/scripts/build_industrial_distribution_key.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_energy_demand_per_country_today.py b/scripts/build_industrial_energy_demand_per_country_today.py index 764df63f..8129177a 100644 --- a/scripts/build_industrial_energy_demand_per_country_today.py +++ b/scripts/build_industrial_energy_demand_per_country_today.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_energy_demand_per_node.py b/scripts/build_industrial_energy_demand_per_node.py index 0ee0175e..ce72ea7a 100644 --- a/scripts/build_industrial_energy_demand_per_node.py +++ b/scripts/build_industrial_energy_demand_per_node.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_energy_demand_per_node_today.py b/scripts/build_industrial_energy_demand_per_node_today.py index ce8d971f..8b2b70a0 100644 --- a/scripts/build_industrial_energy_demand_per_node_today.py +++ b/scripts/build_industrial_energy_demand_per_node_today.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_production_per_country.py b/scripts/build_industrial_production_per_country.py index 9b590b02..2ad37d3f 100644 --- a/scripts/build_industrial_production_per_country.py +++ b/scripts/build_industrial_production_per_country.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_production_per_country_tomorrow.py b/scripts/build_industrial_production_per_country_tomorrow.py index 67557b17..a8b6c312 100644 --- a/scripts/build_industrial_production_per_country_tomorrow.py +++ b/scripts/build_industrial_production_per_country_tomorrow.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industrial_production_per_node.py b/scripts/build_industrial_production_per_node.py index 7e074967..1eeecbae 100644 --- a/scripts/build_industrial_production_per_node.py +++ b/scripts/build_industrial_production_per_node.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_industry_sector_ratios.py b/scripts/build_industry_sector_ratios.py index d7cb4608..b3ef9321 100644 --- a/scripts/build_industry_sector_ratios.py +++ b/scripts/build_industry_sector_ratios.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_monthly_prices.py b/scripts/build_monthly_prices.py index bb023980..d35243c3 100644 --- a/scripts/build_monthly_prices.py +++ b/scripts/build_monthly_prices.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/build_natura_raster.py b/scripts/build_natura_raster.py index 79418d5c..2e2fcbbf 100644 --- a/scripts/build_natura_raster.py +++ b/scripts/build_natura_raster.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_population_layouts.py b/scripts/build_population_layouts.py index bab2e9a4..5d7fbd4e 100644 --- a/scripts/build_population_layouts.py +++ b/scripts/build_population_layouts.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_population_weighted_energy_totals.py b/scripts/build_population_weighted_energy_totals.py index 60d66e56..56133dc0 100644 --- a/scripts/build_population_weighted_energy_totals.py +++ b/scripts/build_population_weighted_energy_totals.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 5ffafe2a..fd97aef1 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_retro_cost.py b/scripts/build_retro_cost.py index b6153a2d..52f545e9 100755 --- a/scripts/build_retro_cost.py +++ b/scripts/build_retro_cost.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_salt_cavern_potentials.py b/scripts/build_salt_cavern_potentials.py index 08071b22..f2c2ce8f 100644 --- a/scripts/build_salt_cavern_potentials.py +++ b/scripts/build_salt_cavern_potentials.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_sequestration_potentials.py b/scripts/build_sequestration_potentials.py index ac1f22e2..106c1271 100644 --- a/scripts/build_sequestration_potentials.py +++ b/scripts/build_sequestration_potentials.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_shapes.py b/scripts/build_shapes.py index 715a5f79..fd64411a 100644 --- a/scripts/build_shapes.py +++ b/scripts/build_shapes.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_shipping_demand.py b/scripts/build_shipping_demand.py index 0690e33d..60d36ac7 100644 --- a/scripts/build_shipping_demand.py +++ b/scripts/build_shipping_demand.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_solar_thermal_profiles.py b/scripts/build_solar_thermal_profiles.py index eb4c6f8f..3c460709 100644 --- a/scripts/build_solar_thermal_profiles.py +++ b/scripts/build_solar_thermal_profiles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_temperature_profiles.py b/scripts/build_temperature_profiles.py index eb005d3d..5b736a26 100644 --- a/scripts/build_temperature_profiles.py +++ b/scripts/build_temperature_profiles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/build_transport_demand.py b/scripts/build_transport_demand.py index 671357dd..de561e3f 100644 --- a/scripts/build_transport_demand.py +++ b/scripts/build_transport_demand.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/cluster_gas_network.py b/scripts/cluster_gas_network.py index 1292cdc3..19585aa9 100755 --- a/scripts/cluster_gas_network.py +++ b/scripts/cluster_gas_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index bd00a258..be315a63 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/copy_config.py b/scripts/copy_config.py index d3947116..0a5fe10b 100644 --- a/scripts/copy_config.py +++ b/scripts/copy_config.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/determine_availability_matrix_MD_UA.py b/scripts/determine_availability_matrix_MD_UA.py index 84076383..80c04083 100644 --- a/scripts/determine_availability_matrix_MD_UA.py +++ b/scripts/determine_availability_matrix_MD_UA.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/make_summary.py b/scripts/make_summary.py index 2dac717a..18642afc 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/make_summary_perfect.py b/scripts/make_summary_perfect.py index 4a0b1556..76bd4ad0 100644 --- a/scripts/make_summary_perfect.py +++ b/scripts/make_summary_perfect.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/plot_statistics.py b/scripts/plot_statistics.py index 1f936c93..738fa618 100644 --- a/scripts/plot_statistics.py +++ b/scripts/plot_statistics.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_summary.py b/scripts/plot_summary.py index 82222620..c2fd7e04 100644 --- a/scripts/plot_summary.py +++ b/scripts/plot_summary.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/plot_validation_cross_border_flows.py b/scripts/plot_validation_cross_border_flows.py index 37c09666..8de7d8a1 100644 --- a/scripts/plot_validation_cross_border_flows.py +++ b/scripts/plot_validation_cross_border_flows.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_validation_electricity_prices.py b/scripts/plot_validation_electricity_prices.py index 5bb42bfb..9efd6c46 100644 --- a/scripts/plot_validation_electricity_prices.py +++ b/scripts/plot_validation_electricity_prices.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/plot_validation_electricity_production.py b/scripts/plot_validation_electricity_production.py index 89ab9e6b..5a68cfa5 100644 --- a/scripts/plot_validation_electricity_production.py +++ b/scripts/plot_validation_electricity_production.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/prepare_links_p_nom.py b/scripts/prepare_links_p_nom.py index 450f3227..7c1ed211 100644 --- a/scripts/prepare_links_p_nom.py +++ b/scripts/prepare_links_p_nom.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/prepare_network.py b/scripts/prepare_network.py index 72f4963a..0ef8d9aa 100755 --- a/scripts/prepare_network.py +++ b/scripts/prepare_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/prepare_perfect_foresight.py b/scripts/prepare_perfect_foresight.py index 7f312a8f..f7e8495e 100644 --- a/scripts/prepare_perfect_foresight.py +++ b/scripts/prepare_perfect_foresight.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 65ed1e5e..5264e776 100755 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ @@ -3057,6 +3057,8 @@ def add_industry(n, costs): + mwh_coal_per_mwh_coke * industrial_demand["coke"] ) / nhours + p_set.rename(lambda x: x + " coal for industry", inplace=True) + if not options["regional_coal_demand"]: p_set = p_set.sum() diff --git a/scripts/retrieve_databundle.py b/scripts/retrieve_databundle.py index 1d217a43..996bbeab 100644 --- a/scripts/retrieve_databundle.py +++ b/scripts/retrieve_databundle.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Copyright 2019-2022 Fabian Hofmann (TUB, FIAS) -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/retrieve_gas_infrastructure_data.py b/scripts/retrieve_gas_infrastructure_data.py index 64bd6dc2..8d7d0e08 100644 --- a/scripts/retrieve_gas_infrastructure_data.py +++ b/scripts/retrieve_gas_infrastructure_data.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/retrieve_irena.py b/scripts/retrieve_irena.py index dbd11129..04e48db1 100644 --- a/scripts/retrieve_irena.py +++ b/scripts/retrieve_irena.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Copyright 2023 Thomas Gilon (Climact) -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/retrieve_monthly_fuel_prices.py b/scripts/retrieve_monthly_fuel_prices.py index 4a1a7830..74861c42 100644 --- a/scripts/retrieve_monthly_fuel_prices.py +++ b/scripts/retrieve_monthly_fuel_prices.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/retrieve_sector_databundle.py b/scripts/retrieve_sector_databundle.py index f95986b4..3b825da2 100644 --- a/scripts/retrieve_sector_databundle.py +++ b/scripts/retrieve_sector_databundle.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/simplify_network.py b/scripts/simplify_network.py index 3c943b1a..eac026a4 100644 --- a/scripts/simplify_network.py +++ b/scripts/simplify_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 9b47cce3..7e53e606 100644 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """ diff --git a/scripts/solve_operations_network.py b/scripts/solve_operations_network.py index 099c1716..bd4ce7aa 100644 --- a/scripts/solve_operations_network.py +++ b/scripts/solve_operations_network.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors +# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors # # SPDX-License-Identifier: MIT """