Merge pull request #705 from PyPSA/release-v0.8.1

Prepare release v0.8.1
This commit is contained in:
Fabian Neumann 2023-07-27 11:53:15 +02:00 committed by GitHub
commit 55c2020023
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 401 additions and 228 deletions

View File

@ -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.8.0
version: 0.8.1
license: MIT
authors:
- family-names: Brown

View File

@ -9,7 +9,7 @@ SPDX-License-Identifier: CC-BY-4.0
![Size](https://img.shields.io/github/repo-size/pypsa/pypsa-eur)
[![Zenodo PyPSA-Eur](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur-Sec](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042)
[![Snakemake](https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
[![Snakemake](https://img.shields.io/badge/snakemake-≥7.7.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
[![REUSE status](https://api.reuse.software/badge/github.com/pypsa/pypsa-eur)](https://api.reuse.software/info/github.com/pypsa/pypsa-eur)
[![Stack Exchange questions](https://img.shields.io/stackexchange/stackoverflow/t/pypsa)](https://stackoverflow.com/questions/tagged/pypsa)
@ -35,17 +35,18 @@ The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA).
**WARNING**: PyPSA-Eur is under active development and has several
[limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html)
which you should understand before using the model. The github repository
[limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html) which
you should understand before using the model. The github repository
[issues](https://github.com/PyPSA/pypsa-eur/issues) collect known topics we are
working on (please feel free to help or make suggestions). The
[documentation](https://pypsa-eur.readthedocs.io/) remains somewhat patchy. You
can find showcases of the model's capabilities in the preprint [Benefits of a
Hydrogen Network in Europe](https://arxiv.org/abs/2207.05816), a [paper in Joule
with a description of the industry sector](https://arxiv.org/abs/2109.09563), or
in [a 2021 presentation at EMP-E](https://nworbmot.org/energy/brown-empe.pdf).
We cannot support this model if you choose to use it. We do not recommend to use
the full resolution network model for simulations. At high granularity the
can find showcases of the model's capabilities in the Joule paper [The potential
role of a hydrogen network in
Europe](https://doi.org/10.1016/j.joule.2023.06.016), another [paper in Joule
with a description of the industry
sector](https://doi.org/10.1016/j.joule.2022.04.016), or in [a 2021 presentation
at EMP-E](https://nworbmot.org/energy/brown-empe.pdf). We do not recommend to
use the full resolution network model for simulations. At high granularity the
assignment of loads and generators to the nearest network node may not be a
correct assumption, depending on the topology of the underlying distribution
grid, and local grid bottlenecks may cause unrealistic load-shedding or

View File

@ -3,7 +3,7 @@
# SPDX-License-Identifier: CC0-1.0
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#top-level-configuration
version: 0.8.0
version: 0.8.1
tutorial: false
logging:

View File

@ -62,11 +62,6 @@ renewable:
solar:
cutout: be-03-2013-era5
lines:
dynamic_line_rating:
activate: true
max_line_rating: 1.3
industry:
St_primary_fraction:
2030: 0.6

View File

@ -59,11 +59,6 @@ renewable:
solar:
cutout: be-03-2013-era5
lines:
dynamic_line_rating:
activate: true
max_line_rating: 1.3
sector:
gas_network: true
H2_retrofit: true

View File

@ -82,7 +82,7 @@ author = "Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann
# The short X.Y version.
version = "0.8"
# The full version, including alpha/beta/rc tags.
release = "0.8.0"
release = "0.8.1"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -78,10 +78,10 @@ them:
.. note::
You can find showcases of the model's capabilities in the Supplementary Materials of the
preprint `Benefits of a Hydrogen Network in Europe
<https://arxiv.org/abs/2207.05816>`_, the Supplementary Materials of the `paper in Joule with a
Joule paper `The potential role of a hydrogen network in Europe
<https://doi.org/10.1016/j.joule.2023.06.016>`_, the Supplementary Materials of another `paper in Joule with a
description of the industry sector
<https://arxiv.org/abs/2109.09563>`_, or in `a 2021 presentation
<https://doi.org/10.1016/j.joule.2022.04.016>`_, or in `a 2021 presentation
at EMP-E <https://nworbmot.org/energy/brown-empe.pdf>`_.
The sector-coupled extension of PyPSA-Eur was
initially described in the paper `Synergies of sector coupling and transmission
@ -179,10 +179,13 @@ For sector-coupling studies: ::
@misc{PyPSAEurSec,
author = "Fabian Neumann and Elisabeth Zeyen and Marta Victoria and Tom Brown",
title = "The Potential Role of a Hydrogen Network in Europe",
year = "2022",
title = "The potential role of a hydrogen network in Europe",
journal "Joule",
volume = "7",
pages = "1--25"
year = "2023",
eprint = "2207.05816",
url = "https://arxiv.org/abs/2207.05816",
doi = "10.1016/j.joule.2022.04.016",
}
For sector-coupling studies with pathway optimisation: ::

View File

@ -7,46 +7,130 @@
Release Notes
##########################################
Upcoming Release
================
.. Upcoming Release
.. ================
* ``param:`` section in rule definition are added to track changed settings in ``config.yaml``. The goal is to automatically re-execute rules whose parameters have changed. See `Non-file parameters for rules <https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules>`_ in the snakemake documentation.
PyPSA-Eur 0.8.1 (27th July 2023)
================================
* **Important:** The configuration files are now located in the ``config`` directory. This counts for ``config.default.yaml``, ``config.yaml`` as well as the test configuration files which are now located in ``config/test``. Config files that are still in the root directory will be ignored.
**New Features**
* Bugfix: Correct typo in the CPLEX solver configuration in ``config.default.yaml``.
* Add option to consider dynamic line rating based on wind speeds and
temperature according to `Glaum and Hofmann (2022)
<https://arxiv.org/abs/2208.04716>`_. See configuration section ``lines:
dynamic_line_rating:`` for more details. (https://github.com/PyPSA/pypsa-eur/pull/675)
* Bugfix: Error in ``add_electricity`` where carriers were added multiple times to the network, resulting in a non-unique carriers error.
* Renamed script file from PyPSA-EUR ``build_load_data`` to ``build_electricity_demand`` and ``retrieve_load_data`` to ``retrieve_electricity_demand``.
* Fix docs readthedocs built
* Add option to include a piecewise linear approximation of transmission losses,
e.g. by setting ``solving: options: transmission_losses: 2`` for an
approximation with two tangents. (https://github.com/PyPSA/pypsa-eur/pull/664)
* Add plain hydrogen turbine as additional re-electrification option besides
hydrogen fuel cell. Add switches for both re-electrification options under
``sector: hydrogen_turbine:`` and ``sector: hydrogen_fuel_cell:``.
* A new function named ``sanitize_carrier`` ensures that all unique carrier names are present in the network's carriers attribute, and adds nice names and colors for each carrier according to the provided configuration dictionary.
* Additional tech_color are added to include previously unlisted carriers.
* Remove ``vresutils`` dependency.
(https://github.com/PyPSA/pypsa-eur/pull/647)
* Added configuration option ``lines: max_extension:`` and ``links:
max_extension:``` to control the maximum capacity addition per line or link in
MW.
MW. (https://github.com/PyPSA/pypsa-eur/pull/665)
* Add option to include a piecewise linear approximation of transmission losses,
e.g. by setting ``solving: options: transmission_losses: 2`` for an
approximation with two tangents.
* A ``param:`` section in the snakemake rule definitions was added to track
changed settings in ``config.yaml``. The goal is to automatically re-execute
rules where parameters have changed. See `Non-file parameters for rules
<https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules>`_
in the snakemake documentation. (https://github.com/PyPSA/pypsa-eur/pull/663)
* A new function named ``sanitize_carrier`` ensures that all unique carrier
names are present in the network's carriers attribute, and adds nice names and
colors for each carrier according to the provided configuration dictionary.
(https://github.com/PyPSA/pypsa-eur/pull/653,
https://github.com/PyPSA/pypsa-eur/pull/690)
* The configuration settings have been documented in more detail.
(https://github.com/PyPSA/pypsa-eur/pull/685)
**Breaking Changes**
* The configuration files are now located in the ``config`` directory. This
includes the ``config.default.yaml``, ``config.yaml`` as well as the test
configuration files which are now located in the ``config/test`` directory.
Config files that are still in the root directory will be ignored.
(https://github.com/PyPSA/pypsa-eur/pull/640)
* Renamed script and rule name from ``build_load_data`` to
``build_electricity_demand`` and ``retrieve_load_data`` to
``retrieve_electricity_demand``. (https://github.com/PyPSA/pypsa-eur/pull/642,
https://github.com/PyPSA/pypsa-eur/pull/652)
* Updated to new spatial clustering module introduced in PyPSA v0.25.
(https://github.com/PyPSA/pypsa-eur/pull/696)
**Changes**
* Handling networks with links with multiple inputs/outputs no longer requires
to override component attributes.
(https://github.com/PyPSA/pypsa-eur/pull/695)
* Added configuration option ``enable: retrieve:`` to control whether data
retrieval rules from snakemake are enabled or not. Th default setting ``auto``
will automatically detect and enable/disable the rules based on internet connectivity.
will automatically detect and enable/disable the rules based on internet
connectivity. (https://github.com/PyPSA/pypsa-eur/pull/694)
* Update to ``technology-data`` v0.6.0.
(https://github.com/PyPSA/pypsa-eur/pull/704)
* Handle data bundle extraction paths via ``snakemake.output``.
* Additional technologies are added to ``tech_color`` in the configuration files
to include previously unlisted carriers.
* Doc: Added note that Windows is only tested in CI with WSL.
(https://github.com/PyPSA/pypsa-eur/issues/697)
* Doc: Add support section. (https://github.com/PyPSA/pypsa-eur/pull/656)
* Open ``rasterio`` files with ``rioxarray``.
(https://github.com/PyPSA/pypsa-eur/pull/474)
* Migrate CI to ``micromamba``. (https://github.com/PyPSA/pypsa-eur/pull/700)
**Bugs and Compatibility**
* The new minimum PyPSA version is v0.25.1.
* Removed ``vresutils`` dependency.
(https://github.com/PyPSA/pypsa-eur/pull/662)
* Adapt to new ``powerplantmatching`` version.
(https://github.com/PyPSA/pypsa-eur/pull/687,
https://github.com/PyPSA/pypsa-eur/pull/701)
* Bugfix: Correct typo in the CPLEX solver configuration in
``config.default.yaml``. (https://github.com/PyPSA/pypsa-eur/pull/630)
* Bugfix: Error in ``add_electricity`` where carriers were added multiple times
to the network, resulting in a non-unique carriers error.
* Bugfix of optional reserve constraint.
(https://github.com/PyPSA/pypsa-eur/pull/645)
* Fix broken equity constraints logic.
(https://github.com/PyPSA/pypsa-eur/pull/679)
* Fix addition of load shedding generators.
(https://github.com/PyPSA/pypsa-eur/pull/649)
* Fix automatic building of documentation on readthedocs.org.
(https://github.com/PyPSA/pypsa-eur/pull/658)
* Bugfix: Update network clustering to avoid adding deleted links in clustered
network. (https://github.com/PyPSA/pypsa-eur/pull/678)
* Address ``geopandas`` deprecations.
(https://github.com/PyPSA/pypsa-eur/pull/678)
* Fix bug with underground hydrogen storage creation, where for some small model
regions no cavern storage is available.
(https://github.com/PyPSA/pypsa-eur/pull/672)
PyPSA-Eur 0.8.0 (18th March 2023)

View File

@ -12,74 +12,93 @@ dependencies:
- _libgcc_mutex=0.1
- _openmp_mutex=4.5
- affine=2.4.0
- alsa-lib=1.2.8
- alsa-lib=1.2.9
- ampl-mp=3.1.0
- amply=0.1.5
- amply=0.1.6
- anyio=3.7.1
- appdirs=1.4.4
- argon2-cffi=21.3.0
- argon2-cffi-bindings=21.2.0
- asttokens=2.2.1
- atlite=0.2.10
- async-lru=2.0.3
- atk-1.0=2.38.0
- atlite=0.2.11
- attr=2.5.1
- attrs=22.2.0
- attrs=23.1.0
- aws-c-auth=0.7.0
- aws-c-cal=0.6.0
- aws-c-common=0.8.23
- aws-c-compression=0.2.17
- aws-c-event-stream=0.3.1
- aws-c-http=0.7.11
- aws-c-io=0.13.28
- aws-c-mqtt=0.8.14
- aws-c-s3=0.3.13
- aws-c-sdkutils=0.1.11
- aws-checksums=0.1.16
- aws-crt-cpp=0.20.3
- aws-sdk-cpp=1.10.57
- babel=2.12.1
- backcall=0.2.0
- backports=1.0
- backports.functools_lru_cache=1.6.4
- beautifulsoup4=4.11.2
- blosc=1.21.3
- bokeh=2.4.3
- backports.functools_lru_cache=1.6.5
- beautifulsoup4=4.12.2
- bleach=6.0.0
- blosc=1.21.4
- bokeh=3.2.1
- boost-cpp=1.78.0
- bottleneck=1.3.6
- bottleneck=1.3.7
- branca=0.6.0
- brotli=1.0.9
- brotli-bin=1.0.9
- brotlipy=0.7.0
- brotli-python=1.0.9
- bzip2=1.0.8
- c-ares=1.18.1
- ca-certificates=2022.12.7
- c-ares=1.19.1
- c-blosc2=2.10.0
- ca-certificates=2023.7.22
- cairo=1.16.0
- cartopy=0.21.1
- cdsapi=0.5.1
- certifi=2022.12.7
- cdsapi=0.6.1
- certifi=2023.7.22
- cffi=1.15.1
- cfitsio=4.2.0
- cftime=1.6.2
- charset-normalizer=2.1.1
- click=8.1.3
- charset-normalizer=3.2.0
- click=8.1.6
- click-plugins=1.1.1
- cligj=0.7.2
- cloudpickle=2.2.1
- coin-or-cbc=2.10.8
- coin-or-cgl=0.60.6
- coin-or-clp=1.17.7
- coin-or-osi=0.108.7
- coin-or-utils=2.11.6
- coincbc=2.10.8
- colorama=0.4.6
- configargparse=1.5.3
- comm=0.1.3
- configargparse=1.7
- connection_pool=0.0.3
- country_converter=0.8.0
- cryptography=39.0.1
- curl=7.88.0
- contourpy=1.1.0
- country_converter=1.0.0
- curl=8.2.0
- cycler=0.11.0
- cytoolz=0.12.0
- dask=2023.2.0
- dask-core=2023.2.0
- cytoolz=0.12.2
- dask=2023.7.1
- dask-core=2023.7.1
- datrie=0.8.2
- dbus=1.13.6
- debugpy=1.6.7
- decorator=5.1.1
- defusedxml=0.7.1
- deprecation=2.1.0
- descartes=1.1.0
- distributed=2023.2.0
- distributed=2023.7.1
- distro=1.8.0
- docutils=0.19
- dpath=2.1.4
- entsoe-py=0.5.8
- docutils=0.20.1
- dpath=2.1.6
- entrypoints=0.4
- entsoe-py=0.5.10
- et_xmlfile=1.1.0
- exceptiongroup=1.1.0
- exceptiongroup=1.1.2
- executing=1.2.0
- expat=2.5.0
- fftw=3.3.10
- filelock=3.9.0
- fiona=1.9.1
- filelock=3.12.2
- fiona=1.9.4
- flit-core=3.9.0
- folium=0.14.0
- font-ttf-dejavu-sans-mono=2.37
- font-ttf-inconsolata=3.000
@ -88,293 +107,366 @@ dependencies:
- fontconfig=2.14.2
- fonts-conda-ecosystem=1
- fonts-conda-forge=1
- fonttools=4.38.0
- fonttools=4.41.1
- freetype=2.12.1
- freexl=1.0.6
- fsspec=2023.1.0
- gdal=3.6.2
- fribidi=1.0.10
- fsspec=2023.6.0
- gdal=3.7.0
- gdk-pixbuf=2.42.10
- geographiclib=1.52
- geojson-rewind=1.0.2
- geopandas=0.12.2
- geopandas-base=0.12.2
- geopandas=0.13.2
- geopandas-base=0.13.2
- geopy=2.3.0
- geos=3.11.1
- geos=3.11.2
- geotiff=1.7.1
- gettext=0.21.1
- gflags=2.2.2
- giflib=5.2.1
- gitdb=4.0.10
- gitpython=3.1.30
- glib=2.74.1
- glib-tools=2.74.1
- gitpython=3.1.32
- glib=2.76.4
- glib-tools=2.76.4
- glog=0.6.0
- gmp=6.2.1
- graphite2=1.3.13
- gst-plugins-base=1.22.0
- gstreamer=1.22.0
- gstreamer-orc=0.4.33
- harfbuzz=6.0.0
- graphviz=8.1.0
- gst-plugins-base=1.22.5
- gstreamer=1.22.5
- gtk2=2.24.33
- gts=0.7.6
- harfbuzz=7.3.0
- hdf4=4.2.15
- hdf5=1.12.2
- heapdict=1.0.1
- hdf5=1.14.1
- humanfriendly=10.0
- icu=70.1
- icu=72.1
- idna=3.4
- importlib-metadata=6.0.0
- importlib_resources=5.10.2
- importlib-metadata=6.8.0
- importlib_metadata=6.8.0
- importlib_resources=6.0.0
- iniconfig=2.0.0
- ipopt=3.14.11
- ipython=8.10.0
- jack=1.9.22
- ipopt=3.14.12
- ipykernel=6.24.0
- ipython=8.14.0
- ipython_genutils=0.2.0
- ipywidgets=8.0.7
- jedi=0.18.2
- jinja2=3.1.2
- joblib=1.2.0
- jpeg=9e
- joblib=1.3.0
- json-c=0.16
- jsonschema=4.17.3
- jupyter_core=5.2.0
- kealib=1.5.0
- json5=0.9.14
- jsonschema=4.18.4
- jsonschema-specifications=2023.7.1
- jupyter=1.0.0
- jupyter-lsp=2.2.0
- jupyter_client=8.3.0
- jupyter_console=6.6.3
- jupyter_core=5.3.1
- jupyter_events=0.6.3
- jupyter_server=2.7.0
- jupyter_server_terminals=0.4.4
- jupyterlab=4.0.3
- jupyterlab_pygments=0.2.2
- jupyterlab_server=2.24.0
- jupyterlab_widgets=3.0.8
- kealib=1.5.1
- keyutils=1.6.1
- kiwisolver=1.4.4
- krb5=1.20.1
- krb5=1.21.1
- lame=3.100
- lcms2=2.14
- lcms2=2.15
- ld_impl_linux-64=2.40
- lerc=4.0.0
- libabseil=20230125.3
- libaec=1.0.6
- libarchive=3.6.2
- libarrow=12.0.1
- libblas=3.9.0
- libbrotlicommon=1.0.9
- libbrotlidec=1.0.9
- libbrotlienc=1.0.9
- libcap=2.66
- libcap=2.67
- libcblas=3.9.0
- libclang=15.0.7
- libclang13=15.0.7
- libcrc32c=1.1.2
- libcups=2.3.3
- libcurl=7.88.0
- libdb=6.2.32
- libdeflate=1.17
- libcurl=8.2.0
- libdeflate=1.18
- libedit=3.1.20191231
- libev=4.33
- libevent=2.1.10
- libevent=2.1.12
- libexpat=2.5.0
- libffi=3.4.2
- libflac=1.4.2
- libgcc-ng=12.2.0
- libflac=1.4.3
- libgcc-ng=13.1.0
- libgcrypt=1.10.1
- libgdal=3.6.2
- libgfortran-ng=12.2.0
- libgfortran5=12.2.0
- libglib=2.74.1
- libgomp=12.2.0
- libgpg-error=1.46
- libgd=2.3.3
- libgdal=3.7.0
- libgfortran-ng=13.1.0
- libgfortran5=13.1.0
- libglib=2.76.4
- libgomp=13.1.0
- libgoogle-cloud=2.12.0
- libgpg-error=1.47
- libgrpc=1.56.2
- libiconv=1.17
- libjpeg-turbo=2.1.5.1
- libkml=1.3.0
- liblapack=3.9.0
- liblapacke=3.9.0
- libllvm15=15.0.7
- libnetcdf=4.8.1
- libnghttp2=1.51.0
- libnetcdf=4.9.2
- libnghttp2=1.52.0
- libnsl=2.0.0
- libnuma=2.0.16
- libogg=1.3.4
- libopenblas=0.3.21
- libopenblas=0.3.23
- libopus=1.3.1
- libpng=1.6.39
- libpq=15.2
- libpq=15.3
- libprotobuf=4.23.3
- librsvg=2.56.1
- librttopo=1.1.0
- libsndfile=1.2.0
- libsodium=1.0.18
- libspatialindex=1.9.3
- libspatialite=5.0.1
- libsqlite=3.40.0
- libssh2=1.10.0
- libstdcxx-ng=12.2.0
- libsystemd0=252
- libtiff=4.5.0
- libsqlite=3.42.0
- libssh2=1.11.0
- libstdcxx-ng=13.1.0
- libsystemd0=253
- libthrift=0.18.1
- libtiff=4.5.1
- libtool=2.4.7
- libudev1=252
- libuuid=2.32.1
- libutf8proc=2.8.0
- libuuid=2.38.1
- libvorbis=1.3.7
- libwebp-base=1.2.4
- libxcb=1.13
- libwebp=1.3.1
- libwebp-base=1.3.1
- libxcb=1.15
- libxkbcommon=1.5.0
- libxml2=2.10.3
- libxml2=2.11.4
- libxslt=1.1.37
- libzip=1.9.2
- libzlib=1.2.13
- linopy=0.1.3
- locket=1.0.0
- lxml=4.9.2
- lxml=4.9.3
- lz4=4.3.2
- lz4-c=1.9.4
- lzo=2.10
- mapclassify=2.5.0
- markupsafe=2.1.2
- markupsafe=2.1.3
- matplotlib=3.5.3
- matplotlib-base=3.5.3
- matplotlib-inline=0.1.6
- memory_profiler=0.61.0
- metis=5.1.0
- mpg123=1.31.2
- msgpack-python=1.0.4
- metis=5.1.1
- mistune=3.0.0
- mpg123=1.31.3
- msgpack-python=1.0.5
- mumps-include=5.2.1
- mumps-seq=5.2.1
- munch=2.5.0
- munch=4.0.0
- munkres=1.1.4
- mysql-common=8.0.32
- mysql-libs=8.0.32
- nbformat=5.7.3
- ncurses=6.3
- netcdf4=1.6.2
- networkx=3.0
- mysql-common=8.0.33
- mysql-libs=8.0.33
- nbclient=0.8.0
- nbconvert=7.7.2
- nbconvert-core=7.7.2
- nbconvert-pandoc=7.7.2
- nbformat=5.9.1
- ncurses=6.4
- nest-asyncio=1.5.6
- netcdf4=1.6.4
- networkx=3.1
- nomkl=1.0
- notebook=7.0.0
- notebook-shim=0.2.3
- nspr=4.35
- nss=3.88
- numexpr=2.8.3
- numpy=1.24
- nss=3.89
- numexpr=2.8.4
- numpy=1.25.1
- openjdk=17.0.3
- openjpeg=2.5.0
- openpyxl=3.1.0
- openssl=3.0.8
- packaging=23.0
- pandas=1.5.3
- openpyxl=3.1.2
- openssl=3.1.1
- orc=1.9.0
- overrides=7.3.1
- packaging=23.1
- pandas=2.0.3
- pandoc=3.1.3
- pandocfilters=1.5.0
- pango=1.50.14
- parso=0.8.3
- partd=1.3.0
- partd=1.4.0
- patsy=0.5.3
- pcre2=10.40
- pexpect=4.8.0
- pickleshare=0.7.5
- pillow=9.4.0
- pip=23.0
- pillow=10.0.0
- pip=23.2.1
- pixman=0.40.0
- pkgutil-resolve-name=1.3.10
- plac=1.3.5
- platformdirs=3.0.0
- pluggy=1.0.0
- platformdirs=3.9.1
- pluggy=1.2.0
- ply=3.11
- pooch=1.6.0
- poppler=22.12.0
- pooch=1.7.0
- poppler=23.05.0
- poppler-data=0.4.12
- postgresql=15.2
- powerplantmatching=0.5.6
- postgresql=15.3
- powerplantmatching=0.5.7
- progressbar2=4.2.0
- proj=9.1.0
- prompt-toolkit=3.0.36
- psutil=5.9.4
- proj=9.2.1
- prometheus_client=0.17.1
- prompt-toolkit=3.0.39
- prompt_toolkit=3.0.39
- psutil=5.9.5
- pthread-stubs=0.4
- ptyprocess=0.7.0
- pulp=2.7.0
- pulseaudio=16.1
- pulseaudio-client=16.1
- pure_eval=0.2.2
- py-cpuinfo=9.0.0
- pyarrow=12.0.1
- pycountry=22.3.5
- pycparser=2.21
- pygments=2.14.0
- pyomo=6.4.4
- pyopenssl=23.0.0
- pyparsing=3.0.9
- pyproj=3.4.1
- pypsa=0.22.1
- pygments=2.15.1
- pyomo=6.6.1
- pyparsing=3.1.0
- pyproj=3.6.0
- pyqt=5.15.7
- pyqt5-sip=12.11.0
- pyrsistent=0.19.3
- pyshp=2.3.1
- pysocks=1.7.1
- pytables=3.7.0
- pytest=7.2.1
- python=3.10.9
- pytables=3.8.0
- pytest=7.4.0
- python=3.10.12
- python-dateutil=2.8.2
- python-fastjsonschema=2.16.2
- python-utils=3.5.2
- python-fastjsonschema=2.18.0
- python-json-logger=2.0.7
- python-tzdata=2023.3
- python-utils=3.7.0
- python_abi=3.10
- pytz=2022.7.1
- pytz=2023.3
- pyxlsb=1.0.10
- pyyaml=6.0
- pyzmq=25.1.0
- qt-main=5.15.8
- rasterio=1.3.4
- readline=8.1.2
- requests=2.28.1
- retry=0.9.2
- rich=12.5.1
- rioxarray=0.13.3
- rtree=1.0.0
- s2n=1.0.10
- scikit-learn=1.1.1
- scipy=1.8.1
- qtconsole=5.4.3
- qtconsole-base=5.4.3
- qtpy=2.3.1
- rasterio=1.3.8
- rdma-core=28.9
- re2=2023.03.02
- readline=8.2
- referencing=0.30.0
- requests=2.31.0
- reretry=0.11.8
- rfc3339-validator=0.1.4
- rfc3986-validator=0.1.1
- rioxarray=0.14.1
- rpds-py=0.9.2
- rtree=1.0.1
- s2n=1.3.46
- scikit-learn=1.3.0
- scipy=1.11.1
- scotch=6.0.9
- seaborn=0.12.2
- seaborn-base=0.12.2
- setuptools=67.3.2
- send2trash=1.8.2
- setuptools=68.0.0
- setuptools-scm=7.1.0
- setuptools_scm=7.1.0
- shapely=2.0.1
- sip=6.7.7
- sip=6.7.10
- six=1.16.0
- smart_open=6.3.0
- smmap=3.0.5
- snakemake-minimal=7.22.0
- snappy=1.1.9
- snakemake-minimal=7.30.2
- snappy=1.1.10
- sniffio=1.3.0
- snuggs=1.4.7
- sortedcontainers=2.4.0
- soupsieve=2.3.2.post1
- sqlite=3.40.0
- sqlite=3.42.0
- stack_data=0.6.2
- statsmodels=0.13.5
- statsmodels=0.14.0
- stopit=1.1.2
- tabula-py=2.6.0
- tabulate=0.9.0
- tblib=1.7.0
- threadpoolctl=3.1.0
- terminado=0.17.1
- threadpoolctl=3.2.0
- throttler=1.2.1
- tiledb=2.13.2
- tinycss2=1.2.1
- tk=8.6.12
- toml=0.10.2
- tomli=2.0.1
- toolz=0.12.0
- toposort=1.9
- tornado=6.2
- tqdm=4.64.1
- toposort=1.10
- tornado=6.3.2
- tqdm=4.65.0
- traitlets=5.9.0
- typing-extensions=4.4.0
- typing_extensions=4.4.0
- tzcode=2022g
- tzdata=2022g
- typing-extensions=4.7.1
- typing_extensions=4.7.1
- typing_utils=0.1.0
- tzcode=2023c
- tzdata=2023c
- ucx=1.14.1
- unicodedata2=15.0.0
- unidecode=1.3.6
- unixodbc=2.3.10
- urllib3=1.26.14
- urllib3=2.0.4
- wcwidth=0.2.6
- wheel=0.38.4
- wrapt=1.14.1
- xarray=2023.2.0
- webencodings=0.5.1
- websocket-client=1.6.1
- wheel=0.41.0
- widgetsnbextension=4.0.8
- wrapt=1.15.0
- xarray=2023.7.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.4
- xkeyboard-config=2.39
- xlrd=2.0.1
- xorg-fixesproto=5.0
- xorg-inputproto=2.3.2
- xorg-kbproto=1.0.7
- xorg-libice=1.0.10
- xorg-libsm=1.2.3
- xorg-libx11=1.7.2
- xorg-libxau=1.0.9
- xorg-libice=1.1.1
- xorg-libsm=1.2.4
- xorg-libx11=1.8.6
- xorg-libxau=1.0.11
- xorg-libxdmcp=1.1.3
- xorg-libxext=1.3.4
- xorg-libxfixes=5.0.3
- xorg-libxi=1.7.10
- xorg-libxrender=0.9.10
- xorg-libxrender=0.9.11
- xorg-libxtst=1.2.3
- xorg-recordproto=1.14.2
- xorg-renderproto=0.11.1
- xorg-xextproto=7.3.0
- xorg-xf86vidmodeproto=2.3.1
- xorg-xproto=7.0.31
- xyzservices=2022.9.0
- xyzservices=2023.7.0
- xz=5.2.6
- yaml=0.2.5
- yte=1.5.1
- zict=2.2.0
- zipp=3.13.0
- zeromq=4.3.4
- zict=3.0.0
- zipp=3.16.2
- zlib=1.2.13
- zlib-ng=2.0.7
- zstd=1.5.2
- pip:
- countrycode==0.2
- highspy==1.5.0.dev0
- pybind11==2.10.3
- tsam==2.2.2
- gurobipy==10.0.2
- linopy==0.2.2
- pypsa==0.25.1
- tsam==2.3.0
- validators==0.20.0

View File

@ -56,4 +56,4 @@ dependencies:
- pip:
- tsam>=1.1.0
- git+https://github.com/PyPSA/PyPSA.git@master
- pypsa>=0.25.1

View File

@ -602,6 +602,7 @@ def solve_network(n, config, solving, opts="", **kwargs):
min_iterations = cf_solving.get("min_iterations", 4)
max_iterations = cf_solving.get("max_iterations", 6)
transmission_losses = cf_solving.get("transmission_losses", 0)
assign_all_duals = cf_solving.get("assign_all_duals", False)
# add to network for extra_functionality
n.config = config
@ -616,6 +617,7 @@ def solve_network(n, config, solving, opts="", **kwargs):
status, condition = n.optimize(
solver_name=solver_name,
transmission_losses=transmission_losses,
assign_all_duals=assign_all_duals,
extra_functionality=extra_functionality,
**solver_options,
**kwargs,
@ -627,6 +629,7 @@ def solve_network(n, config, solving, opts="", **kwargs):
min_iterations=min_iterations,
max_iterations=max_iterations,
transmission_losses=transmission_losses,
assign_all_duals=assign_all_duals,
extra_functionality=extra_functionality,
**solver_options,
**kwargs,