Merge branch 'master' into scenario-management

This commit is contained in:
Fabian Neumann 2024-02-20 12:08:54 +01:00
commit 719d4dad23
128 changed files with 1203 additions and 872 deletions

2
.gitattributes vendored
View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

2
.gitignore vendored
View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -51,7 +51,7 @@ repos:
# Formatting with "black" coding style # Formatting with "black" coding style
- repo: https://github.com/psf/black-pre-commit-mirror - repo: https://github.com/psf/black-pre-commit-mirror
rev: 24.1.1 rev: 24.2.0
hooks: hooks:
# Format Python files # Format Python files
- id: black - id: black

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -4,33 +4,33 @@ Upstream-Contact: Tom Brown <t.brown@tu-berlin.de>
Source: https://github.com/pypsa/pypsa-eur Source: https://github.com/pypsa/pypsa-eur
Files: doc/img/* Files: doc/img/*
Copyright: 2019-2023 The PyPSA-Eur Authors Copyright: 2019-2024 The PyPSA-Eur Authors
License: CC-BY-4.0 License: CC-BY-4.0
Files: doc/data.csv Files: doc/data.csv
Copyright: 2019-2023 The PyPSA-Eur Authors Copyright: 2019-2024 The PyPSA-Eur Authors
License: CC-BY-4.0 License: CC-BY-4.0
Files: doc/configtables/* Files: doc/configtables/*
Copyright: 2019-2023 The PyPSA-Eur Authors Copyright: 2019-2024 The PyPSA-Eur Authors
License: CC-BY-4.0 License: CC-BY-4.0
Files: data/* Files: data/*
Copyright: 2017-2023 The PyPSA-Eur Authors Copyright: 2017-2024 The PyPSA-Eur Authors
License: CC-BY-4.0 License: CC-BY-4.0
Files: .github/* Files: .github/*
Copyright: 2019-2023 The PyPSA-Eur Authors Copyright: 2019-2024 The PyPSA-Eur Authors
License: CC0-1.0 License: CC0-1.0
Files: matplotlibrc Files: matplotlibrc
Copyright: 2017-2023 The PyPSA-Eur Authors Copyright: 2017-2024 The PyPSA-Eur Authors
License: CC0-1.0 License: CC0-1.0
Files: borg-it Files: borg-it
Copyright: 2017-2023 The PyPSA-Eur Authors Copyright: 2017-2024 The PyPSA-Eur Authors
License: CC0-1.0 License: CC0-1.0
Files: graphics/* Files: graphics/*
Copyright: 2017-2023 The PyPSA-Eur Authors Copyright: 2017-2024 The PyPSA-Eur Authors
License: CC-BY-4.0 License: CC-BY-4.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -6,7 +6,7 @@ cff-version: 1.1.0
message: "If you use this package, please cite it in the following way." 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" title: "PyPSA-Eur: An open sector-coupled optimisation model of the European energy system"
repository: https://github.com/pypsa/pypsa-eur repository: https://github.com/pypsa/pypsa-eur
version: 0.9.0 version: 0.10.0
license: MIT license: MIT
authors: authors:
- family-names: Brown - family-names: Brown

View File

@ -1,6 +1,6 @@
MIT License 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 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 this software and associated documentation files (the "Software"), to deal in

View File

@ -1,5 +1,5 @@
<!-- <!--
SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0 SPDX-License-Identifier: CC-BY-4.0
--> -->

View File

@ -26,6 +26,7 @@ for template, target in default_files.items():
copyfile(template, target) copyfile(template, target)
configfile: "config/config.default.yaml" configfile: "config/config.default.yaml"
configfile: "config/config.yaml" configfile: "config/config.yaml"

View File

@ -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 # SPDX-License-Identifier: CC0-1.0
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration
version: 0.9.0 version: 0.10.0
tutorial: false tutorial: false
logging: logging:
@ -668,7 +668,7 @@ industry:
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#costs
costs: costs:
year: 2030 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) rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person)
social_discountrate: 0.02 social_discountrate: 0.02
fill_values: fill_values:

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0
run: run:

View File

@ -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 # SPDX-License-Identifier: CC0-1.0
run: run:

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -72,7 +72,7 @@ master_doc = "index"
# General information about the project. # General information about the project.
project = "PyPSA-Eur" 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)" 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 # 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. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = "0.9" version = "0.10"
# The full version, including alpha/beta/rc tags. # 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 # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 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. PyPSA-Eur relies on a set of other Python packages to function.
We recommend using the package manager `mamba <https://mamba.readthedocs.io/en/latest/>`_ to install them and manage your environments. We recommend using the package manager `mamba <https://mamba.readthedocs.io/en/latest/>`_ to install them and manage your environments.
For instructions for your operating system follow the ``mamba`` `installation guide <https://mamba.readthedocs.io/en/latest/installation.html>`_. For instructions for your operating system follow the ``mamba`` `installation guide <https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html>`_.
You can also use ``conda`` equivalently. You can also use ``conda`` equivalently.
The package requirements are curated in the `envs/environment.yaml <https://github.com/PyPSA/pypsa-eur/blob/master/envs/environment.yaml>`_ file. The package requirements are curated in the `envs/environment.yaml <https://github.com/PyPSA/pypsa-eur/blob/master/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 <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation>`_ `Instructions how to install a solver in the documentation of PyPSA <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation>`_
.. note:: .. note::
The rules :mod:`cluster_network` and :mod:`simplify_network` solve a quadratic optimisation problem for clustering. The rules :mod:`cluster_network` and :mod:`simplify_network` solve a mixed-integer 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 The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case.
it to be installed. For an open-source solver setup install in your ``conda`` environment on OSX/Linux For an open-source solver setup install in your ``conda`` environment on OSX/Linux. To install the default solver Gurobi, run
.. 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
.. code:: bash .. code:: bash

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 REM SPDX-License-Identifier: MIT
@ECHO OFF @ECHO OFF

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -1,5 +1,5 @@
@Comment{ @Comment{
SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors SPDX-FileCopyrightText: 2023-2024 The PyPSA-Eur Authors
SPDX-License-Identifier: CC0-1.0 SPDX-License-Identifier: CC0-1.0
} }

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0
@ -7,8 +7,14 @@
Release Notes 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 * Added new scenario management that supports the simultaneous execution of
multiple scenarios with a single ``snakemake`` call. For this purpose, a 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 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 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: today to tomorrow's energy consumption is set with the ``industry:
sector_ratios_fraction_future:`` parameter. sector_ratios_fraction_future:`` parameter
(https://github.com/PyPSA/pypsa-eur/pull/929).
* 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.
* Add new default to overdimension heating in individual buildings. This allows * 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 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 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 * 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 * Added option to specify turbine and solar panel models for specific years as a
source URL has changed. It represents the year 2012 and is only for dictionary (e.g. ``renewable: onwind: resource: turbine:``). The years will be
buildings, not district heating. So the capacities for urban central are now interpreted as years from when the the corresponding turbine model substitutes
set to zero from this source. 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. * 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 * The order of buses (bus0, bus1, ...) for DAC components has changed to meet
CO2 atmosphere store. This gives a more sparse constraint that should improve the convention of the other components. Therefore, `bus0` refers to the
the performance of the solving process. 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(..)`). * Update hydrogen pipeline losses to latest data from Danish Energy Agency
(https://github.com/PyPSA/pypsa-eur/pull/933).
* 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.
* Move building of daily heat profile to its own rule * 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 * 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 * 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 * Move building of distribution of existing heating to own rule
:mod:`build_existing_heating_distribution`. This makes the distribution of :mod:`build_existing_heating_distribution`. This makes the distribution of
existing heating to urban/rural, residential/services and spatially more existing heating to urban/rural, residential/services and spatially more
transparent. transparent (https://github.com/PyPSA/pypsa-eur/pull/884).
* 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.
* Default settings for recycling rates and primary product shares of high-value * 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. chemicals have been set in accordance with the values used in `Neumann et al.
@ -198,14 +173,124 @@ Upcoming Release
Energiewende (2021) Energiewende (2021)
<https://static.agora-energiewende.de/fileadmin/Projekte/2021/2021_02_EU_CEAP/A-EW_254_Mobilising-circular-economy_study_WEB.pdf>`_. <https://static.agora-energiewende.de/fileadmin/Projekte/2021/2021_02_EU_CEAP/A-EW_254_Mobilising-circular-economy_study_WEB.pdf>`_.
* Added option to specify turbine and solar panel models for specific years as a * Air-sourced heat pumps can now also be built in rural areas. Previously, only
dictionary (e.g. ``renewable: onwind: resource: turbine:``). The years will be ground-sourced heat pumps were considered for this category
interpreted as years from when the the corresponding turbine model substitutes (https://github.com/PyPSA/pypsa-eur/pull/890).
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".
* 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
<https://github.com/koen-vg>`_) for various new features, bugfixes and taking
care of deprecations.
PyPSA-Eur 0.9.0 (5th January 2024) PyPSA-Eur 0.9.0 (5th January 2024)

View File

@ -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 # SPDX-License-Identifier: CC0-1.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 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]; graph[bgcolor=white, margin=0];
node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2]; node[shape=box, style=rounded, fontname=sans, fontsize=10, penwidth=2];
edge[penwidth=2, color=grey]; edge[penwidth=2, color=grey];
0[label = "solve_network", color = "0.33 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.03 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.45 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.46 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.52 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.55 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.15 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.37 0.6 0.85", style="rounded,dashed"]; 7[label = "base_network", color = "0.27 0.6 0.85", style="rounded"];
8[label = "build_shapes", color = "0.07 0.6 0.85", style="rounded,dashed"]; 8[label = "build_shapes", color = "0.26 0.6 0.85", style="rounded"];
9[label = "retrieve_databundle", color = "0.60 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.42 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.09 0.6 0.85", style="rounded,dashed"]; 11[label = "build_bus_regions", color = "0.13 0.6 0.85", style="rounded"];
12[label = "build_renewable_profiles\ntechnology: onwind", color = "0.15 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: offwind-ac", color = "0.15 0.6 0.85", style="rounded"]; 13[label = "build_renewable_profiles\ntechnology: onwind", color = "0.21 0.6 0.85", style="rounded"];
14[label = "build_ship_raster", color = "0.02 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 = "retrieve_ship_raster", color = "0.40 0.6 0.85", style="rounded"]; 15[label = "build_ship_raster", color = "0.00 0.6 0.85", style="rounded"];
16[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.15 0.6 0.85", style="rounded"]; 16[label = "retrieve_ship_raster", color = "0.51 0.6 0.85", style="rounded,dashed"];
17[label = "build_line_rating", color = "0.32 0.6 0.85", style="rounded"]; 17[label = "build_renewable_profiles\ntechnology: offwind-dc", color = "0.21 0.6 0.85", style="rounded"];
18[label = "retrieve_cost_data\nyear: 2030", color = "0.50 0.6 0.85", style="rounded"]; 18[label = "build_line_rating", color = "0.05 0.6 0.85", style="rounded"];
19[label = "build_powerplants", color = "0.64 0.6 0.85", style="rounded,dashed"]; 19[label = "retrieve_cost_data\nyear: 2030", color = "0.15 0.6 0.85", style="rounded"];
20[label = "build_electricity_demand", color = "0.13 0.6 0.85", style="rounded,dashed"]; 20[label = "build_powerplants", color = "0.54 0.6 0.85", style="rounded"];
21[label = "retrieve_electricity_demand", color = "0.31 0.6 0.85", style="rounded"]; 21[label = "build_electricity_demand", color = "0.52 0.6 0.85", style="rounded"];
22[label = "copy_config", color = "0.23 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 1 -> 0
22 -> 0 23 -> 0
2 -> 1 2 -> 1
18 -> 1 19 -> 1
3 -> 2 3 -> 2
18 -> 2 19 -> 2
4 -> 3 4 -> 3
18 -> 3 19 -> 3
5 -> 4 5 -> 4
18 -> 4 19 -> 4
11 -> 4 11 -> 4
6 -> 5 6 -> 5
12 -> 5
13 -> 5 13 -> 5
16 -> 5 14 -> 5
7 -> 5
17 -> 5 17 -> 5
7 -> 5
18 -> 5 18 -> 5
11 -> 5
19 -> 5 19 -> 5
9 -> 5 11 -> 5
20 -> 5 20 -> 5
9 -> 5
21 -> 5
8 -> 5 8 -> 5
7 -> 6 7 -> 6
9 -> 6 9 -> 6
10 -> 6 10 -> 6
8 -> 6 8 -> 6
11 -> 6 11 -> 6
12 -> 6
8 -> 7 8 -> 7
9 -> 8 9 -> 8
8 -> 11 8 -> 11
7 -> 11 7 -> 11
7 -> 12
9 -> 12
10 -> 12
8 -> 12
11 -> 12
7 -> 13 7 -> 13
9 -> 13 9 -> 13
10 -> 13 10 -> 13
14 -> 13
8 -> 13 8 -> 13
11 -> 13 11 -> 13
12 -> 13
7 -> 14
9 -> 14
10 -> 14
15 -> 14 15 -> 14
7 -> 16 8 -> 14
9 -> 16 11 -> 14
10 -> 16 12 -> 14
14 -> 16 16 -> 15
8 -> 16 12 -> 15
11 -> 16
7 -> 17 7 -> 17
7 -> 19 9 -> 17
21 -> 20 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 .. code:: bash
Building DAG of jobs... Building DAG of jobs...
job count min threads max threads Job stats:
------------------------ ------- ------------- ------------- job count
add_electricity 1 1 1 --------------------------- -------
add_extra_components 1 1 1 add_electricity 1
base_network 1 1 1 add_extra_components 1
build_bus_regions 1 1 1 base_network 1
build_hydro_profile 1 1 1 build_bus_regions 1
build_electricity_demand 1 1 1 build_electricity_demand 1
build_powerplants 1 1 1 build_line_rating 1
build_renewable_profiles 4 1 1 build_powerplants 1
build_shapes 1 1 1 build_renewable_profiles 4
build_ship_raster 1 1 1 build_shapes 1
cluster_network 1 1 1 build_ship_raster 1
prepare_network 1 1 1 cluster_network 1
retrieve_cost_data 1 1 1 copy_config 1
retrieve_databundle 1 1 1 prepare_network 1
retrieve_natura_raster 1 1 1 retrieve_cost_data 1
simplify_network 1 1 1 retrieve_databundle 1
solve_network 1 1 1 retrieve_electricity_demand 1
total 20 1 1 retrieve_natura_raster 1
simplify_network 1
solve_network 1
total 22
``snakemake`` then runs these jobs in the correct order. ``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 .. code:: bash
[Mon Jan 1 00:00:00 2023] [Mon Feb 19 17:06:17 2024]
rule simplify_network: rule simplify_network:
input: networks/elec.nc, resources/costs.csv, resources/regions_onshore.geojson, resources/regions_offshore.geojson input: resources/test/networks/elec.nc, data/costs_2030.csv, resources/test/regions_onshore.geojson, resources/test/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 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/simplify_network/elec_s.log log: logs/test-elec/simplify_network/elec_s.log
jobid: 4 jobid: 4
benchmark: benchmarks/simplify_network/elec_s benchmark: benchmarks/test-elec/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 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= 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. Once the whole worktree is finished, it should state so in the terminal.

File diff suppressed because it is too large Load Diff

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -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 SPDX-License-Identifier: CC-BY-4.0

View File

@ -5,7 +5,6 @@
name: pypsa-eur name: pypsa-eur
channels: channels:
- bioconda - bioconda
- gurobi
- http://conda.anaconda.org/gurobi - http://conda.anaconda.org/gurobi
- conda-forge - conda-forge
- defaults - defaults
@ -16,51 +15,46 @@ dependencies:
- alsa-lib=1.2.10 - alsa-lib=1.2.10
- ampl-mp=3.1.0 - ampl-mp=3.1.0
- amply=0.1.6 - amply=0.1.6
- anyio=4.2.0
- appdirs=1.4.4 - appdirs=1.4.4
- argon2-cffi=23.1.0
- argon2-cffi-bindings=21.2.0
- arrow=1.3.0
- asttokens=2.4.1 - asttokens=2.4.1
- async-lru=2.0.4
- atk-1.0=2.38.0 - atk-1.0=2.38.0
- atlite=0.2.12 - atlite=0.2.12
- attr=2.5.1 - attr=2.5.1
- attrs=23.2.0 - attrs=23.2.0
- aws-c-auth=0.7.8 - aws-c-auth=0.7.15
- aws-c-cal=0.6.9 - 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-compression=0.2.17
- aws-c-event-stream=0.3.2 - aws-c-event-stream=0.4.1
- aws-c-http=0.7.15 - aws-c-http=0.8.0
- aws-c-io=0.13.36 - aws-c-io=0.14.3
- aws-c-mqtt=0.10.0 - aws-c-mqtt=0.10.1
- aws-c-s3=0.4.7 - aws-c-s3=0.5.0
- aws-c-sdkutils=0.1.13 - aws-c-sdkutils=0.1.14
- aws-checksums=0.1.17 - aws-checksums=0.1.17
- aws-crt-cpp=0.25.1 - aws-crt-cpp=0.26.1
- aws-sdk-cpp=1.11.210 - aws-sdk-cpp=1.11.242
- babel=2.14.0 - azure-core-cpp=1.10.3
- beautifulsoup4=4.12.2 - azure-storage-blobs-cpp=12.10.0
- bleach=6.1.0 - azure-storage-common-cpp=12.5.0
- beautifulsoup4=4.12.3
- blosc=1.21.5 - blosc=1.21.5
- bokeh=3.3.2 - bokeh=3.3.4
- bottleneck=1.3.7 - bottleneck=1.3.7
- branca=0.7.0 - branca=0.7.1
- brotli=1.1.0 - brotli=1.1.0
- brotli-bin=1.1.0 - brotli-bin=1.1.0
- brotli-python=1.1.0 - brotli-python=1.1.0
- bzip2=1.0.8 - bzip2=1.0.8
- c-ares=1.24.0 - c-ares=1.26.0
- c-blosc2=2.12.0 - c-blosc2=2.13.2
- ca-certificates=2023.11.17 - ca-certificates=2024.2.2
- cached-property=1.5.2
- cached_property=1.5.2
- cairo=1.18.0 - cairo=1.18.0
- cartopy=0.22.0 - cartopy=0.22.0
- cdsapi=0.6.1 - cdsapi=0.6.1
- certifi=2023.11.17 - certifi=2024.2.2
- cffi=1.16.0 - cffi=1.16.0
- cfgv=3.3.1
- cfitsio=4.3.1 - cfitsio=4.3.1
- cftime=1.6.3 - cftime=1.6.3
- charset-normalizer=3.3.2 - charset-normalizer=3.3.2
@ -75,32 +69,31 @@ dependencies:
- coin-or-utils=2.11.9 - coin-or-utils=2.11.9
- coincbc=2.10.10 - coincbc=2.10.10
- colorama=0.4.6 - colorama=0.4.6
- comm=0.1.4
- configargparse=1.7 - configargparse=1.7
- connection_pool=0.0.3 - connection_pool=0.0.3
- contourpy=1.2.0 - contourpy=1.2.0
- country_converter=1.2 - country_converter=1.2
- cppad=20240000.2
- cycler=0.12.1 - cycler=0.12.1
- cytoolz=0.12.2 - cytoolz=0.12.3
- dask=2023.12.1 - dask=2024.2.0
- dask-core=2023.12.1 - dask-core=2024.2.0
- datrie=0.8.2 - datrie=0.8.2
- dbus=1.13.6 - dbus=1.13.6
- debugpy=1.8.0
- decorator=5.1.1 - decorator=5.1.1
- defusedxml=0.7.1
- deprecation=2.1.0 - deprecation=2.1.0
- descartes=1.1.0 - descartes=1.1.0
- distributed=2023.12.1 - distlib=0.3.8
- distro=1.8.0 - distributed=2024.2.0
- distro=1.9.0
- docutils=0.20.1 - docutils=0.20.1
- dpath=2.1.6 - dpath=2.1.6
- entrypoints=0.4 - entsoe-py=0.6.6
- entsoe-py=0.6.1
- et_xmlfile=1.1.0 - et_xmlfile=1.1.0
- exceptiongroup=1.2.0 - exceptiongroup=1.2.0
- executing=2.0.1 - executing=2.0.1
- expat=2.5.0 - expat=2.5.0
- filelock=3.13.1
- fiona=1.9.5 - fiona=1.9.5
- folium=0.15.1 - folium=0.15.1
- font-ttf-dejavu-sans-mono=2.37 - font-ttf-dejavu-sans-mono=2.37
@ -110,18 +103,17 @@ dependencies:
- fontconfig=2.14.2 - fontconfig=2.14.2
- fonts-conda-ecosystem=1 - fonts-conda-ecosystem=1
- fonts-conda-forge=1 - fonts-conda-forge=1
- fonttools=4.47.0 - fonttools=4.49.0
- fqdn=1.5.1
- freetype=2.12.1 - freetype=2.12.1
- freexl=2.0.0 - freexl=2.0.0
- fribidi=1.0.10 - fribidi=1.0.10
- fsspec=2023.12.2 - fsspec=2024.2.0
- gdal=3.7.3 - gdal=3.8.4
- gdk-pixbuf=2.42.10 - gdk-pixbuf=2.42.10
- geographiclib=1.52 - geographiclib=1.52
- geojson-rewind=1.1.0 - geojson-rewind=1.1.0
- geopandas=0.14.1 - geopandas=0.14.3
- geopandas-base=0.14.1 - geopandas-base=0.14.3
- geopy=2.4.1 - geopy=2.4.1
- geos=3.12.1 - geos=3.12.1
- geotiff=1.7.1 - geotiff=1.7.1
@ -129,55 +121,38 @@ dependencies:
- gflags=2.2.2 - gflags=2.2.2
- giflib=5.2.1 - giflib=5.2.1
- gitdb=4.0.11 - gitdb=4.0.11
- gitpython=3.1.40 - gitpython=3.1.42
- glib=2.78.3 - glib=2.78.4
- glib-tools=2.78.3 - glib-tools=2.78.4
- glog=0.6.0 - glog=0.6.0
- glpk=5.0 - glpk=5.0
- gmp=6.3.0 - gmp=6.3.0
- graphite2=1.3.13 - graphite2=1.3.13
- graphviz=9.0.0 - graphviz=9.0.0
- gst-plugins-base=1.22.8 - gst-plugins-base=1.22.9
- gstreamer=1.22.8 - gstreamer=1.22.9
- gtk2=2.24.33 - gtk2=2.24.33
- gts=0.7.6 - gts=0.7.6
- gurobi=11.0.0
- harfbuzz=8.3.0 - harfbuzz=8.3.0
- hdf4=4.2.15 - hdf4=4.2.15
- hdf5=1.14.3 - hdf5=1.14.3
- humanfriendly=10.0 - humanfriendly=10.0
- icu=73.2 - icu=73.2
- identify=2.5.35
- idna=3.6 - idna=3.6
- importlib-metadata=7.0.1 - importlib-metadata=7.0.1
- importlib_metadata=7.0.1 - importlib_metadata=7.0.1
- importlib_resources=6.1.1 - importlib_resources=6.1.1
- iniconfig=2.0.0 - iniconfig=2.0.0
- ipopt=3.14.13 - ipopt=3.14.14
- ipykernel=6.28.0 - ipython=8.21.0
- ipython=8.19.0
- ipywidgets=8.1.1
- isoduration=20.11.0
- jedi=0.19.1 - jedi=0.19.1
- jinja2=3.1.2 - jinja2=3.1.3
- joblib=1.3.2 - joblib=1.3.2
- json-c=0.17 - json-c=0.17
- json5=0.9.14 - jsonschema=4.21.1
- jsonpointer=2.4
- jsonschema=4.20.0
- jsonschema-specifications=2023.12.1 - jsonschema-specifications=2023.12.1
- jsonschema-with-format-nongpl=4.20.0 - jupyter_core=5.7.1
- 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
- kealib=1.5.3 - kealib=1.5.3
- keyutils=1.6.1 - keyutils=1.6.1
- kiwisolver=1.4.5 - kiwisolver=1.4.5
@ -189,13 +164,13 @@ dependencies:
- libabseil=20230802.1 - libabseil=20230802.1
- libaec=1.1.2 - libaec=1.1.2
- libarchive=3.7.2 - libarchive=3.7.2
- libarrow=14.0.2 - libarrow=15.0.0
- libarrow-acero=14.0.2 - libarrow-acero=15.0.0
- libarrow-dataset=14.0.2 - libarrow-dataset=15.0.0
- libarrow-flight=14.0.2 - libarrow-flight=15.0.0
- libarrow-flight-sql=14.0.2 - libarrow-flight-sql=15.0.0
- libarrow-gandiva=14.0.2 - libarrow-gandiva=15.0.0
- libarrow-substrait=14.0.2 - libarrow-substrait=15.0.0
- libblas=3.9.0 - libblas=3.9.0
- libboost-headers=1.84.0 - libboost-headers=1.84.0
- libbrotlicommon=1.1.0 - libbrotlicommon=1.1.0
@ -218,15 +193,15 @@ dependencies:
- libgcc-ng=13.2.0 - libgcc-ng=13.2.0
- libgcrypt=1.10.3 - libgcrypt=1.10.3
- libgd=2.3.3 - libgd=2.3.3
- libgdal=3.7.3 - libgdal=3.8.4
- libgfortran-ng=13.2.0 - libgfortran-ng=13.2.0
- libgfortran5=13.2.0 - libgfortran5=13.2.0
- libglib=2.78.3 - libglib=2.78.4
- libgomp=13.2.0 - libgomp=13.2.0
- libgoogle-cloud=2.12.0 - libgoogle-cloud=2.12.0
- libgpg-error=1.47 - libgpg-error=1.47
- libgrpc=1.59.3 - libgrpc=1.60.1
- libhwloc=2.9.1 - libhwloc=2.9.3
- libiconv=1.17 - libiconv=1.17
- libjpeg-turbo=3.0.0 - libjpeg-turbo=3.0.0
- libkml=1.3.0 - libkml=1.3.0
@ -239,21 +214,21 @@ dependencies:
- libnsl=2.0.1 - libnsl=2.0.1
- libnuma=2.0.16 - libnuma=2.0.16
- libogg=1.3.4 - libogg=1.3.4
- libopenblas=0.3.25 - libopenblas=0.3.26
- libopus=1.3.1 - libopus=1.3.1
- libparquet=14.0.2 - libparquet=15.0.0
- libpng=1.6.39 - libpng=1.6.42
- libpq=16.1 - libpq=16.2
- libprotobuf=4.24.4 - libprotobuf=4.25.1
- libre2-11=2023.06.02 - libre2-11=2023.06.02
- librsvg=2.56.3 - librsvg=2.56.3
- librttopo=1.1.0 - librttopo=1.1.0
- libscotch=7.0.4
- libsndfile=1.2.2 - libsndfile=1.2.2
- libsodium=1.0.18
- libspatialindex=1.9.3 - libspatialindex=1.9.3
- libspatialite=5.1.0 - libspatialite=5.1.0
- libspral=2023.08.02 - libspral=2023.09.07
- libsqlite=3.44.2 - libsqlite=3.45.1
- libssh2=1.11.0 - libssh2=1.11.0
- libstdcxx-ng=13.2.0 - libstdcxx-ng=13.2.0
- libsystemd0=255 - libsystemd0=255
@ -267,91 +242,79 @@ dependencies:
- libxcb=1.15 - libxcb=1.15
- libxcrypt=4.4.36 - libxcrypt=4.4.36
- libxkbcommon=1.6.0 - libxkbcommon=1.6.0
- libxml2=2.11.6 - libxml2=2.12.5
- libxslt=1.1.37 - libxslt=1.1.39
- libzip=1.10.1 - libzip=1.10.1
- libzlib=1.2.13 - libzlib=1.2.13
- linopy=0.3.2 - linopy=0.3.4
- locket=1.0.0 - locket=1.0.0
- lxml=4.9.3 - lxml=5.1.0
- lz4=4.3.2 - lz4=4.3.3
- lz4-c=1.9.4 - lz4-c=1.9.4
- lzo=2.10 - lzo=2.10
- mapclassify=2.6.1 - mapclassify=2.6.1
- markupsafe=2.1.3 - markupsafe=2.1.5
- matplotlib=3.8.2 - matplotlib=3.8.3
- matplotlib-base=3.8.2 - matplotlib-base=3.8.3
- matplotlib-inline=0.1.6 - matplotlib-inline=0.1.6
- memory_profiler=0.61.0 - memory_profiler=0.61.0
- metis=5.1.0 - metis=5.1.0
- minizip=4.0.4 - minizip=4.0.4
- mistune=3.0.2 - mpg123=1.32.4
- mpg123=1.32.3
- msgpack-python=1.0.7 - msgpack-python=1.0.7
- mumps-include=5.2.1 - mumps-include=5.6.2
- mumps-seq=5.2.1 - mumps-seq=5.6.2
- munch=4.0.0
- munkres=1.1.4 - munkres=1.1.4
- mysql-common=8.0.33 - mysql-common=8.0.33
- mysql-libs=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 - nbformat=5.9.2
- ncurses=6.4 - ncurses=6.4
- nest-asyncio=1.5.8
- netcdf4=1.6.5 - netcdf4=1.6.5
- networkx=3.2.1 - networkx=3.2.1
- nodeenv=1.8.0
- nomkl=1.0 - nomkl=1.0
- notebook=7.0.6
- notebook-shim=0.2.3
- nspr=4.35 - nspr=4.35
- nss=3.96 - nss=3.98
- numexpr=2.8.8 - numexpr=2.9.0
- numpy=1.26.2 - numpy=1.26.4
- openjdk=21.0.1 - openjdk=21.0.2
- openjpeg=2.5.0 - openjpeg=2.5.0
- openpyxl=3.1.2 - openpyxl=3.1.2
- openssl=3.2.0 - openssl=3.2.1
- orc=1.9.2 - orc=1.9.2
- overrides=7.4.0
- packaging=23.2 - packaging=23.2
- pandas=2.1.4 - pandas=2.2.0
- pandoc=3.1.3
- pandocfilters=1.5.0
- pango=1.50.14 - pango=1.50.14
- parso=0.8.3 - parso=0.8.3
- partd=1.4.1 - partd=1.4.1
- patsy=0.5.5 - patsy=0.5.6
- pcre2=10.42 - pcre2=10.42
- pexpect=4.8.0 - pexpect=4.9.0
- pickleshare=0.7.5 - pickleshare=0.7.5
- pillow=10.2.0 - pillow=10.2.0
- pip=23.3.2 - pip=24.0
- pixman=0.42.2 - pixman=0.43.2
- pkgutil-resolve-name=1.3.10 - pkgutil-resolve-name=1.3.10
- plac=1.4.2 - plac=1.4.2
- platformdirs=4.1.0 - platformdirs=4.2.0
- pluggy=1.3.0 - pluggy=1.4.0
- ply=3.11 - ply=3.11
- poppler=23.12.0 - poppler=24.02.0
- poppler-data=0.4.12 - poppler-data=0.4.12
- postgresql=16.1 - postgresql=16.2
- powerplantmatching=0.5.8 - powerplantmatching=0.5.11
- pre-commit=3.6.2
- progressbar2=4.3.2 - progressbar2=4.3.2
- proj=9.3.0 - proj=9.3.1
- prometheus_client=0.19.0
- prompt-toolkit=3.0.42 - prompt-toolkit=3.0.42
- prompt_toolkit=3.0.42 - psutil=5.9.8
- psutil=5.9.7
- pthread-stubs=0.4 - pthread-stubs=0.4
- ptyprocess=0.7.0 - ptyprocess=0.7.0
- pulp=2.7.0 - pulp=2.7.0
- pulseaudio-client=16.1 - pulseaudio-client=16.1
- pure_eval=0.2.2 - pure_eval=0.2.2
- py-cpuinfo=9.0.0 - py-cpuinfo=9.0.0
- pyarrow=14.0.2 - pyarrow=15.0.0
- pyarrow-hotfix=0.6 - pyarrow-hotfix=0.6
- pycountry=22.3.5 - pycountry=22.3.5
- pycparser=2.21 - pycparser=2.21
@ -359,47 +322,42 @@ dependencies:
- pyomo=6.6.1 - pyomo=6.6.1
- pyparsing=3.1.1 - pyparsing=3.1.1
- pyproj=3.6.1 - pyproj=3.6.1
- pypsa=0.26.2 - pypsa=0.27.0
- pyqt=5.15.9 - pyqt=5.15.9
- pyqt5-sip=12.12.2 - pyqt5-sip=12.12.2
- pyscipopt=4.4.0
- pyshp=2.3.1 - pyshp=2.3.1
- pysocks=1.7.1 - pysocks=1.7.1
- pytables=3.9.2 - pytables=3.9.2
- pytest=7.4.4 - pytest=8.0.0
- python=3.11.7 - python=3.11.8
- python-dateutil=2.8.2 - python-dateutil=2.8.2
- python-fastjsonschema=2.19.1 - python-fastjsonschema=2.19.1
- python-json-logger=2.0.7 - python-tzdata=2024.1
- python-tzdata=2023.4 - python-utils=3.8.2
- python-utils=3.8.1
- python_abi=3.11 - python_abi=3.11
- pytz=2023.3.post1 - pytz=2024.1
- pyxlsb=1.0.10 - pyxlsb=1.0.10
- pyyaml=6.0.1 - pyyaml=6.0.1
- pyzmq=25.1.2
- qt-main=5.15.8 - qt-main=5.15.8
- qtconsole-base=5.5.1
- qtpy=2.4.1
- rasterio=1.3.9 - rasterio=1.3.9
- rdma-core=49.0 - rdma-core=50.0
- re2=2023.06.02 - re2=2023.06.02
- readline=8.2 - readline=8.2
- referencing=0.32.0 - referencing=0.33.0
- requests=2.31.0 - requests=2.31.0
- reretry=0.11.8 - reretry=0.11.8
- rfc3339-validator=0.1.4 - rioxarray=0.15.1
- rfc3986-validator=0.1.1 - rpds-py=0.18.0
- rioxarray=0.15.0 - rtree=1.2.0
- rpds-py=0.16.2 - s2n=1.4.3
- rtree=1.1.0 - scikit-learn=1.4.1.post1
- s2n=1.4.1 - scip=8.1.0
- scikit-learn=1.3.2 - scipy=1.12.0
- scipy=1.11.4 - scotch=7.0.4
- scotch=6.0.9 - seaborn=0.13.2
- seaborn=0.13.0 - seaborn-base=0.13.2
- seaborn-base=0.13.0 - setuptools=69.1.0
- send2trash=1.8.2
- setuptools=69.0.3
- setuptools-scm=8.0.4 - setuptools-scm=8.0.4
- setuptools_scm=8.0.4 - setuptools_scm=8.0.4
- shapely=2.0.2 - shapely=2.0.2
@ -409,58 +367,51 @@ dependencies:
- smmap=5.0.0 - smmap=5.0.0
- snakemake-minimal=7.32.4 - snakemake-minimal=7.32.4
- snappy=1.1.10 - snappy=1.1.10
- sniffio=1.3.0
- snuggs=1.4.7 - snuggs=1.4.7
- sortedcontainers=2.4.0 - sortedcontainers=2.4.0
- soupsieve=2.5 - soupsieve=2.5
- sqlite=3.44.2 - sqlite=3.45.1
- stack_data=0.6.2 - stack_data=0.6.2
- statsmodels=0.14.1 - statsmodels=0.14.1
- stopit=1.1.2 - stopit=1.1.2
- tabula-py=2.7.0 - tabula-py=2.7.0
- tabulate=0.9.0 - tabulate=0.9.0
- tbb=2021.11.0
- tblib=3.0.0 - tblib=3.0.0
- terminado=0.18.0 - threadpoolctl=3.3.0
- threadpoolctl=3.2.0
- throttler=1.2.2 - throttler=1.2.2
- tiledb=2.18.2 - tiledb=2.20.0
- tinycss2=1.2.1
- tk=8.6.13 - tk=8.6.13
- toml=0.10.2 - toml=0.10.2
- tomli=2.0.1 - tomli=2.0.1
- toolz=0.12.0 - toolz=0.12.1
- toposort=1.10 - toposort=1.10
- tornado=6.3.3 - tornado=6.3.3
- tqdm=4.66.1 - tqdm=4.66.2
- traitlets=5.14.1 - traitlets=5.14.1
- types-python-dateutil=2.8.19.14
- typing-extensions=4.9.0 - typing-extensions=4.9.0
- typing_extensions=4.9.0 - typing_extensions=4.9.0
- typing_utils=0.1.0 - tzcode=2024a
- tzcode=2023d - tzdata=2024a
- tzdata=2023d
- ucx=1.15.0 - ucx=1.15.0
- unidecode=1.3.7 - ukkonen=1.0.1
- unidecode=1.3.8
- unixodbc=2.3.12 - unixodbc=2.3.12
- uri-template=1.3.0
- uriparser=0.9.7 - uriparser=0.9.7
- urllib3=2.1.0 - urllib3=2.2.1
- validators=0.22.0 - validators=0.22.0
- wcwidth=0.2.12 - virtualenv=20.25.0
- webcolors=1.13 - wcwidth=0.2.13
- webencodings=0.5.1
- websocket-client=1.7.0
- wheel=0.42.0 - wheel=0.42.0
- widgetsnbextension=4.0.9
- wrapt=1.16.0 - wrapt=1.16.0
- xarray=2023.12.0 - xarray=2024.2.0
- xcb-util=0.4.0 - xcb-util=0.4.0
- xcb-util-image=0.4.0 - xcb-util-image=0.4.0
- xcb-util-keysyms=0.4.0 - xcb-util-keysyms=0.4.0
- xcb-util-renderutil=0.3.9 - xcb-util-renderutil=0.3.9
- xcb-util-wm=0.4.1 - xcb-util-wm=0.4.1
- xerces-c=3.2.5 - xerces-c=3.2.5
- xkeyboard-config=2.40 - xkeyboard-config=2.41
- xlrd=2.0.1 - xlrd=2.0.1
- xorg-fixesproto=5.0 - xorg-fixesproto=5.0
- xorg-inputproto=2.3.2 - xorg-inputproto=2.3.2
@ -485,7 +436,6 @@ dependencies:
- xz=5.2.6 - xz=5.2.6
- yaml=0.2.5 - yaml=0.2.5
- yte=1.5.4 - yte=1.5.4
- zeromq=4.3.5
- zict=3.0.0 - zict=3.0.0
- zipp=3.17.0 - zipp=3.17.0
- zlib=1.2.13 - zlib=1.2.13

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

Binary file not shown.

Before

Width:  |  Height:  |  Size: 636 KiB

After

Width:  |  Height:  |  Size: 664 KiB

View File

@ -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 # SPDX-License-Identifier: CC0-1.0
font.family: sans-serif font.family: sans-serif

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
rule add_existing_baseyear: rule add_existing_baseyear:

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2021-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2020-2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2020-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: : 2023 The PyPSA-Eur Authors # SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
""" """

Some files were not shown because too many files have changed in this diff Show More