2020-05-29 07:50:55 +00:00
..
2023-02-16 10:50:55 +00:00
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
2020-05-29 07:50:55 +00:00
SPDX-License-Identifier: CC-BY-4.0
2019-06-07 08:34:36 +00:00
##########################################
Release Notes
##########################################
2022-06-09 18:33:13 +00:00
Upcoming Release
================
2022-04-04 17:03:09 +00:00
2023-02-16 10:50:55 +00:00
* Fix EQ constraint for the case no hydro inflow is available.
* Bugfix in the reserve constraint will increase demand related reserve requirements.
* Configuration defaults to new `` technology-data `` version 0.5.0.
* Updated documentation.
* Added control for resolution of land eligibility analysis.
2022-12-16 11:06:36 +00:00
2022-12-16 10:58:24 +00:00
2022-09-26 10:33:13 +00:00
**New Features**
2022-09-20 06:42:45 +00:00
* Carriers of generators can now be excluded from aggregation in clustering network and simplify network.
2022-03-04 20:15:35 +00:00
**Breaking Changes**
* The config entry `` snapshots["closed"] `` was renamed to `` snapshots["inclusive"] `` to address the upstream deprecation with `` pandas=1.4 `` .
2022-03-04 20:21:49 +00:00
The previous setting `` None `` is no longer supported and replaced by `` both `` , see the `pandas documentation <https://pandas.pydata.org/docs/reference/api/pandas.date_range.html> `_ .
2022-03-04 20:15:35 +00:00
Minimum `` pandas `` version now required is `>= 1.4` .
2020-06-08 18:43:35 +00:00
2023-02-16 10:50:55 +00:00
* The configuration setting `` summary_dir `` was removed.
2020-06-08 18:43:35 +00:00
2022-09-20 16:33:21 +00:00
PyPSA-Eur 0.6.1 (20th September 2022)
=====================================
* Individual commits are now tested against pre-commit hooks. This includes
black style formatting, sorting of package imports, Snakefile formatting and
others. Installation instructions can for the pre-commit can be found `here
<https://pre-commit.com/>`_.
2022-09-16 13:03:22 +00:00
* Pre-commit CI is now part of the repository's CI.
2021-09-14 14:15:25 +00:00
2022-09-20 16:33:21 +00:00
* The software now supports running the workflow with different settings within
the same directory. A new config section `` run `` was created that specifies
under which scenario `` name `` the created resources, networks and results
should be stored. If `` name `` is not specified, the workflow uses the default
paths. The entry `` shared_cutouts `` specifies whether the run should use
cutouts from the default root directory or use run-specific cutouts.
2021-10-05 10:21:45 +00:00
2022-09-20 16:33:21 +00:00
* The heuristic distribution of today's renewable capacity installations is now
enabled by default.
2022-01-13 14:42:48 +00:00
2022-09-20 16:33:21 +00:00
* The marginal costs of conventional generators are now taking the plant-specific
efficiency into account where available.
2022-01-27 20:04:50 +00:00
2022-09-10 13:31:43 +00:00
PyPSA-Eur 0.6.0 (10th September 2022)
=====================================
* Functionality to consider shipping routes when calculating the available area
for offshore technologies were added. Data for the shipping density comes from
the `Global Shipping Traffic Density dataset
<https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density>`_.
* When transforming all transmission lines to a unified voltage level of 380kV,
the workflow now preserves the transmission capacity rather than electrical
impedance and reactance.
* Memory resources are now specified for all rules.
* Filtering of power plant data was adjusted to new versions of
`` powerplantmatching `` .
* The resolution of land exclusion calculation is now a configurable option. See
setting `` excluder_resolution `` .
2022-06-09 18:33:13 +00:00
2022-09-05 10:51:30 +00:00
2022-07-27 09:49:30 +00:00
PyPSA-Eur 0.5.0 (27th July 2022)
2022-07-26 13:30:07 +00:00
=====================================
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
**New Features**
2022-02-10 15:07:31 +00:00
2022-03-03 16:16:23 +00:00
* New network topology extracted from the ENTSO-E interactive map.
2022-07-26 13:30:07 +00:00
* Added existing renewable capacities for all countries based on IRENA
statistics (IRENASTAT) using new `` powerplantmatching `` version:
2023-02-16 11:37:30 +00:00
* The corresponding `` config `` entries changed from `` estimate_renewable_capacities_from_capacity_stats `` to `` estimate_renewable_capacities `` .
* The estimation is endabled by setting the subkey `` enable `` to `` True `` .
* Configuration of reference year for capacities can be configured (default: `` 2020 `` )
* The list of renewables provided by the OPSD database can be used as a basis, using the tag `` from_opsd: True `` . This adds the renewables from the database and fills up the missing capacities with the heuristic distribution.
* Uniform expansion limit of renewable build-up based on existing capacities
can be configured using `` expansion_limit `` option (default: `` false `` ;
limited to determined renewable potentials)
* Distribution of country-level capacities proportional to maximum annual
energy yield for each bus region
* The config key `` renewable_capacities_from_OPSD `` is deprecated and was moved
under the section, `` estimate_renewable_capacities `` . To enable it, set
`` from_opsd `` to `` True `` .
2022-07-26 13:30:07 +00:00
* Add operational reserve margin constraint analogous to `GenX implementation
<https://genxproject.github.io/GenX/dev/core/#Reserves>`_. Can be activated
with config setting `` electricity: operational_reserve: `` .
* Implement country-specific Energy Availability Factors (EAFs) for nuclear
power plants based on IAEA 2018-2020 reported country averages. These are
specified `` data/nuclear_p_max_pu.csv `` and translate to static `` p_max_pu ``
values.
* Add function to add global constraint on use of gas in :mod: `prepare_network` .
This can be activated by including the keyword `` CH4L `` in the `` {opts} ``
wildcard which enforces the limit set in `` electricity: gaslimit: `` given in
2022-07-27 09:58:23 +00:00
MWh thermal. Alternatively, it is possible to append a number in the `` {opts} ``
wildcard, e.g. `` CH4L200 `` which limits the gas use to 200 TWh thermal.
2022-07-26 13:30:07 +00:00
2022-07-27 09:58:23 +00:00
* Add option to alter marginal costs of a carrier through `` {opts} `` wildcard:
`` <carrier>+m<factor> `` , e.g. `` gas+m2.5 `` , will multiply the default marginal
2022-07-26 13:30:07 +00:00
cost for gas by factor 2.5.
* Hierarchical clustering was introduced. Distance metric is calculated from
2022-07-27 09:58:23 +00:00
renewable potentials on hourly (feature entry ends with `` -time `` ) or annual
(feature entry in config end with `` -cap `` ) values.
2022-09-16 13:04:04 +00:00
2022-07-27 07:04:39 +00:00
* Greedy modularity clustering was introduced. Distance metric is based on electrical distance taking into account the impedance of all transmission lines of the network.
2022-04-04 17:03:09 +00:00
2022-07-26 13:30:07 +00:00
* Techno-economic parameters of technologies (e.g. costs and efficiencies) will
now be retrieved from a separate repository `PyPSA/technology-data
<https://github.com/pypsa/technology-data>`_ that collects assumptions from a
variety of sources. It is activated by default with `` enable:
retrieve_cost_data: true`` and controlled with ` ` costs: year: `` and `` costs:
version:`` . The location of this data changed from ` ` data/costs.csv `` to
`` resources/costs.csv `` [`#184
<https://github.com/PyPSA/pypsa-eur/pull/184>`_].
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* A new section `` conventional `` was added to the config file. This section
contains configurations for conventional carriers.
2022-04-07 12:39:34 +00:00
2022-07-26 13:30:07 +00:00
* Add configuration option to implement arbitrary generator attributes for
conventional generation technologies.
2022-04-08 13:41:23 +00:00
2022-07-27 09:58:23 +00:00
* Add option to set CO2 emission prices through `` {opts} `` wildcard: `` Ep<number> `` ,
e.g. `` Ep180 `` , will set the EUR/tCO2 price.
2022-04-04 17:03:09 +00:00
2022-07-26 13:30:07 +00:00
**Changes**
2022-06-27 15:35:19 +00:00
2022-07-26 13:30:07 +00:00
* Add an efficiency factor of 88.55% to offshore wind capacity factors as a
proxy for wake losses. More rigorous modelling is `planned
<https://github.com/PyPSA/pypsa-eur/issues/153>`_ [` #277
<https://github.com/PyPSA/pypsa-eur/pull/277>`_].
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Following discussion in `#285
<https://github.com/PyPSA/pypsa-eur/issues/285>`_ we have disabled the
correction factor for solar PV capacity factors by default while satellite
data is used. A correction factor of 0.854337 is recommended if reanalysis
data like ERA5 is used.
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* The default deployment density of AC- and DC-connected offshore wind capacity
is reduced from 3 MW/sqkm to a more conservative estimate of 2 MW/sqkm [`#280
<https://github.com/PyPSA/pypsa-eur/pull/280>`_].
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* The inclusion of renewable carriers is now specified in the config entry
`` renewable_carriers `` . Before this was done by commenting/uncommenting
2022-07-27 09:58:23 +00:00
sub-sections in the `` renewable `` config section.
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Now, all carriers that should be extendable have to be listed in the config
entry `` extendable_carriers `` . Before, renewable carriers were always set to
be extendable. For backwards compatibility, the workflow is still looking at
the listed carriers under the `` renewable `` key. In the future, all of them
have to be listed under `` extendable_carriers `` .
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* It is now possible to set conventional power plants as extendable by adding
them to the list of extendable `` Generator `` carriers in the config.
2022-06-09 22:33:09 +00:00
2022-07-26 13:30:07 +00:00
* Listing conventional carriers in `` extendable_carriers `` but not in
`` conventional_carriers `` , sets the corresponding conventional power plants as
extendable without a lower capacity bound of today's capacities.
2022-06-09 22:33:09 +00:00
* Now, conventional carriers have an assigned capital cost by default.
2022-07-26 13:30:07 +00:00
* The `` build_year `` and `` lifetime `` column are now defined for conventional
power plants.
2022-04-08 13:41:23 +00:00
2022-07-26 13:30:07 +00:00
* Use updated SARAH-2 and ERA5 cutouts with slightly wider scope to east and
additional variables.
2022-04-04 17:03:09 +00:00
2022-07-26 13:30:07 +00:00
* Resource definitions for memory usage now follow `Snakemake standard resource
definition
<https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#standard-resources>`_
`` mem_mb `` rather than `` mem `` .
2022-06-27 15:35:19 +00:00
2022-07-26 13:30:07 +00:00
* The powerplants that have been shut down by 2021 are filtered out.
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Updated historical `EIA hydro generation data <https://www.eia.gov/international/data/world> `_ .
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Network building is made deterministic by supplying a fixed random state to
network clustering routines.
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Clustering strategies for generator and bus attributes can now be specified directly in the `` config.yaml `` .
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* Iterative solving with impedance updates is skipped if there are no expandable
lines.
2022-06-09 18:33:13 +00:00
2022-07-26 13:30:07 +00:00
* The unused argument `` simple_hvdc_costs `` in :mod: `add_electricity` was
removed.
2022-06-09 22:33:09 +00:00
2022-07-26 13:30:07 +00:00
* Switch from Germany to Belgium for continuous integration and tutorial to save
resources.
2022-06-09 22:33:09 +00:00
2022-07-26 13:30:07 +00:00
* It is now possible to skip the progressbar for land eligibility calculations for additional speedup.
2022-06-09 22:33:09 +00:00
2022-07-26 13:30:07 +00:00
**Bugs and Compatibility**
2022-06-09 18:33:13 +00:00
2022-06-09 18:36:35 +00:00
* Fix crs bug. Change crs 4236 to 4326.
2022-07-26 13:30:07 +00:00
* `` powerplantmatching>=0.5.1 `` is now required for `` IRENASTATS `` .
2022-06-09 18:36:35 +00:00
2022-07-26 13:30:07 +00:00
* Update rasterio version to correctly calculate exclusion raster.
2022-06-27 06:58:37 +00:00
2022-07-26 13:30:07 +00:00
* It is now possible to run the workflow with only landlocked countries.
2022-06-27 06:58:37 +00:00
2022-07-26 13:30:07 +00:00
* Bugfixes for manual load adjustments across years.
2022-06-27 06:58:37 +00:00
2022-07-26 13:30:07 +00:00
* Enable parallel computing with new dask version.
2022-06-09 18:33:13 +00:00
2022-09-16 11:33:38 +00:00
* Restore compatibility of `` mock_snakemake `` with latest Snakemake versions.
2022-03-25 12:46:46 +00:00
2022-07-26 13:30:07 +00:00
* Script `` build_bus_regions `` : move voronoi partition from vresutils to script.
2022-03-25 12:46:46 +00:00
2022-07-26 13:30:07 +00:00
* Script `` add_electricity `` : remove `` vresutils.costdata.annuity `` dependency.
2022-07-26 12:04:56 +00:00
2022-07-26 13:30:07 +00:00
* Fix the plot_network snakemake rule.
2022-03-25 12:46:46 +00:00
2022-07-26 13:30:07 +00:00
* Compatibility with pandas 1.4. Address deprecations.
2022-07-13 13:39:46 +00:00
2022-07-26 13:30:07 +00:00
* Restore Windows compatibility by using `` shutil.move `` rather than `` mv `` .
2020-08-24 09:04:54 +00:00
2022-06-28 06:09:39 +00:00
2022-03-17 17:19:06 +00:00
Synchronisation Release - Ukraine and Moldova (17th March 2022)
===============================================================
On March 16, 2022, the transmission networks of Ukraine and Moldova have
successfully been `synchronised with the continental European grid <https://www.entsoe.eu/news/2022/03/16/continental-europe-successful-synchronisation-with-ukraine-and-moldova-power-systems/> `_ . We have taken
this as an opportunity to add the power systems of Ukraine and Moldova to
PyPSA-Eur. This includes:
.. image :: img/synchronisation.png
:width: 500
* the transmission network topology from the `ENTSO-E interactive map <https://www.entsoe.eu/data/map/> `_ .
* existing power plants (incl. nuclear, coal, gas and hydro) from the `powerplantmatching <https://github.com/fresna/powerplantmatching> `_ tool
* country-level load time series from ENTSO-E through the `OPSD platform <https://data.open-power-system-data.org/time_series/2020-10-06> `_ , which are then distributed heuristically to substations by GDP and population density.
* wind and solar profiles based on ERA5 and SARAH-2 weather data
* hydro profiles based on historical `EIA generation data <https://www.eia.gov/international/data/world> `_
* a simplified calculation of wind and solar potentials based on the `Copernicus Land Cover dataset <https://land.copernicus.eu/global/products/lc> `_ .
* electrical characteristics of 750 kV transmission lines
The Crimean power system is currently disconnected from the main Ukrainian grid and, hence, not included.
This release is not on the `` master `` branch. It can be used with
.. code-block :: bash
git clone https://github.com/pypsa/pypsa-eur
git checkout synchronisation-release
2021-09-14 14:15:25 +00:00
2021-09-22 14:46:23 +00:00
PyPSA-Eur 0.4.0 (22th September 2021)
2021-09-14 14:15:25 +00:00
=====================================
**New Features and Changes**
2021-09-14 14:38:48 +00:00
* With this release, we change the license from copyleft GPLv3 to the more
2021-09-22 14:46:23 +00:00
liberal MIT license with the consent of all contributors
[`#276 <https://github.com/PyPSA/pypsa-eur/pull/276> `_ ].
2021-09-14 14:15:25 +00:00
* Switch to the new major `` atlite `` release v0.2. The version upgrade comes
along with significant speed up for the rule `` build_renewable_profiles.py ``
(~factor 2). A lot of the code which calculated the land-use availability is now
outsourced and does not rely on `` glaes `` , `` geokit `` anymore. This facilitates
the environment building and version compatibility of `` gdal `` , `` libgdal `` with
other packages [`#224 <https://github.com/PyPSA/pypsa-eur/pull/224> `_ ].
* Implemented changes to `` n.snapshot_weightings `` in new PyPSA version v0.18
(cf. `PyPSA/PyPSA/#227 <https://github.com/PyPSA/PyPSA/pull/227> `_ )
[`#259 <https://github.com/PyPSA/pypsa-eur/pull/259> `_ ].
* Add option to pre-aggregate nodes without power injections (positive or
negative, i.e. generation or demand) to electrically closest nodes or neighbors
in `` simplify_network `` . Defaults to `` False `` . This affects nodes that are no
substations or have no offshore connection.
* In :mod: `simplify_network` , bus columns with no longer correct entries are
removed (symbol, tags, under_construction, substation_lv, substation_off)
[`#219 <https://github.com/PyPSA/pypsa-eur/pull/219> `_ ]
* Add option to include marginal costs of links representing fuel cells,
electrolysis, and battery inverters
2021-04-27 12:36:34 +00:00
[`#232 <https://github.com/PyPSA/pypsa-eur/pull/232> `_ ].
2021-09-14 14:15:25 +00:00
* The rule and script `` build_country_flh `` are removed as they are no longer
used or maintained.
* The connection cost of generators in :mod: `simplify_network` are now reported
in `` resources/connection_costs_s{simpl}.csv ``
[`#261 <https://github.com/PyPSA/pypsa-eur/pull/261> `_ ].
* The tutorial cutout was renamed from `` cutouts/europe-2013-era5.nc `` to
2022-09-16 11:33:38 +00:00
`` cutouts/be-03-2013-era5.nc `` to accommodate tutorial and productive
2021-09-14 14:15:25 +00:00
cutouts side-by-side.
* The flag `` keep_all_available_areas `` in the configuration for renewable
potentials was deprecated and now defaults to `` True `` .
* Update dependencies in `` envs/environment.yaml ``
[`#257 <https://github.com/PyPSA/pypsa-eur/pull/257> `_ ]
* Continuous integration testing switches to Github Actions from Travis CI
[`#252 <https://github.com/PyPSA/pypsa-eur/pull/252> `_ ].
* Documentation on readthedocs.io is now built with `` pip `` only and no longer
requires `` conda `` [`#267 <https://github.com/PyPSA/pypsa-eur/pull/267> `_ ].
* Use `` Citation.cff `` [`#273 <https://github.com/PyPSA/pypsa-eur/pull/273> `_ ].
**Bugs and Compatibility**
* Support for PyPSA v0.18 [`#268 <https://github.com/PyPSA/pypsa-eur/pull/268> `_ ].
* Minimum Python version set to `` 3.8 `` .
* Removed `` six `` dependency [`#245 <https://github.com/PyPSA/pypsa-eur/pull/245> `_ ].
* Update :mod: `plot_network` and :mod: `make_summary` rules to latest PyPSA
versions [`#270 <https://github.com/PyPSA/pypsa-eur/pull/270> `_ ].
2021-09-22 14:46:23 +00:00
* Keep converter links to store components when using the `` ATK ``
2021-09-14 14:15:25 +00:00
wildcard and only remove DC links [`#214 <https://github.com/PyPSA/pypsa-eur/pull/214> `_ ].
2021-09-22 14:46:23 +00:00
* Value for `` co2base `` in `` config.yaml `` adjusted to 1.487e9 t CO2-eq
2021-09-14 14:15:25 +00:00
(from 3.1e9 t CO2-eq). The new value represents emissions related to the
electricity sector for EU+UK+Balkan. The old value was too high and used when
the emissions wildcard in `` {opts} `` was used
[`#233 <https://github.com/PyPSA/pypsa-eur/pull/233> `_ ].
2021-09-22 14:46:23 +00:00
* Add escape in :mod: `base_network` if all TYNDP links are already
2021-09-14 14:15:25 +00:00
contained in the network
[`#246 <https://github.com/PyPSA/pypsa-eur/pull/246> `_ ].
2021-09-22 14:46:23 +00:00
* In :mod: `solve_operations_network` the optimised capacities are now
2021-09-14 14:15:25 +00:00
fixed for all extendable links, not only HVDC links
[`#244 <https://github.com/PyPSA/pypsa-eur/pull/244> `_ ].
2021-09-22 14:46:23 +00:00
* The `` focus_weights `` are now also considered when pre-clustering in
2021-09-14 14:15:25 +00:00
the :mod: `simplify_network` rule
[`#241 <https://github.com/PyPSA/pypsa-eur/pull/241> `_ ].
2021-09-22 14:46:23 +00:00
* in :mod: `build_renewable_profile` where offshore wind profiles could
2021-09-14 14:15:25 +00:00
no longer be created [`#249 <https://github.com/PyPSA/pypsa-eur/pull/249> `_ ].
2021-09-22 14:46:23 +00:00
* Lower expansion limit of extendable carriers is now set to the
2021-09-14 14:15:25 +00:00
existing capacity, i.e. `` p_nom_min = p_nom `` (0 before). Simultaneously, the
upper limit (`` p_nom_max `` ) is now the maximum of the installed capacity
(`` p_nom `` ) and the previous estimate based on land availability (`` p_nom_max `` )
[`#260 <https://github.com/PyPSA/pypsa-eur/pull/260> `_ ].
2021-09-22 14:46:23 +00:00
* Solving an operations network now includes optimized store capacities
2021-09-14 14:15:25 +00:00
as well. Before only lines, links, generators and storage units were considered
[`#269 <https://github.com/PyPSA/pypsa-eur/pull/269> `_ ].
2021-09-22 14:46:23 +00:00
* With `` load_shedding: true `` in the solving options of `` config.yaml ``
2021-09-14 14:15:25 +00:00
load shedding generators are only added at the AC buses, excluding buses for H2
and battery stores [`#269 <https://github.com/PyPSA/pypsa-eur/pull/269> `_ ].
2021-09-22 14:46:23 +00:00
* Delete duplicated capital costs at battery discharge link
2021-09-14 14:15:25 +00:00
[`#240 <https://github.com/PyPSA/pypsa-eur/pull/240> `_ ].
2021-09-22 14:46:23 +00:00
* Propagate the solver log file name to the solver. Previously, the
2021-09-14 14:15:25 +00:00
PyPSA network solving functions were not told about the solver logfile specified
in the Snakemake file [`#247 <https://github.com/PyPSA/pypsa-eur/pull/247> `_ ]
2020-12-05 16:54:50 +00:00
PyPSA-Eur 0.3.0 (7th December 2020)
2021-08-27 10:30:29 +00:00
===================================
2020-12-05 16:54:50 +00:00
**New Features**
Using the `` {opts} `` wildcard for scenarios:
2020-09-26 11:10:50 +00:00
* An option is introduced which adds constraints such that each country or node produces on average a minimal share of its total consumption itself.
For example `` EQ0.5c `` set in the `` {opts} `` wildcard requires each country to produce on average at least 50% of its consumption. Additionally,
the option `` ATK `` requires autarky at each node and removes all means of power transmission through lines and links. `` ATKc `` only removes
2020-12-05 16:54:50 +00:00
cross-border transfer capacities.
[`#166 <https://github.com/PyPSA/pypsa-eur/pull/166> `_ ].
2020-09-26 11:10:50 +00:00
2020-11-26 16:25:14 +00:00
* Added an option to alter the capital cost (`` c `` ) or installable potentials (`` p `` ) of carriers by a factor via `` carrier+{c,p}factor `` in the `` {opts} `` wildcard.
This can be useful for exploring uncertain cost parameters.
Example: `` solar+c0.5 `` reduces the capital cost of solar to 50% of original values
2020-12-05 16:54:50 +00:00
[`#167 <https://github.com/PyPSA/pypsa-eur/pull/167> `_ , `#207 <https://github.com/PyPSA/pypsa-eur/pull/207> `_ ].
* Added an option to the `` {opts} `` wildcard that applies a time series segmentation algorithm based on renewables, hydro inflow and load time series
to produce a given total number of adjacent snapshots of varying lengths.
This feature is an alternative to downsampling the temporal resolution by simply averaging and
uses the `tsam <https://tsam.readthedocs.io/en/latest/index.html> `_ package
[`#186 <https://github.com/PyPSA/pypsa-eur/pull/186> `_ ].
2021-05-21 13:31:50 +00:00
2020-12-05 16:54:50 +00:00
More OPSD integration:
* Add renewable power plants from `OPSD <https://data.open-power-system-data.org/renewable_power_plants/2020-08-25> `_ to the network for specified technologies.
This will overwrite the capacities calculated from the heuristic approach in :func: `estimate_renewable_capacities()`
[`#212 <https://github.com/PyPSA/pypsa-eur/pull/212> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
* Electricity consumption data is now retrieved directly from the `OPSD website <https://data.open-power-system-data.org/time_series/2019-06-05> `_ using the rule :mod: `build_load_data` .
The user can decide whether to take the ENTSO-E power statistics data (default) or the ENTSO-E transparency data
[`#211 <https://github.com/PyPSA/pypsa-eur/pull/211> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
Other:
2020-08-24 09:04:54 +00:00
2020-12-05 16:54:50 +00:00
* Added an option to use custom busmaps in rule :mod: `cluster_network` . To use this feature set `` enable: custom_busmap: true `` .
Then, the rule looks for custom busmaps at `` data/custom_busmap_elec_s{simpl}_{clusters}.csv `` ,
which should have the same format as `` resources/busmap_elec_s{simpl}_{clusters}.csv `` .
i.e. the index should contain the buses of `` networks/elec_s{simpl}.nc ``
[`#193 <https://github.com/PyPSA/pypsa-eur/pull/193> `_ ].
2020-08-24 08:33:46 +00:00
2020-12-05 16:54:50 +00:00
* Line and link capacities can be capped in the `` config.yaml `` at `` lines: s_nom_max: `` and `` links: p_nom_max `` :
[`#166 <https://github.com/PyPSA/pypsa-eur/pull/166> `_ ].
2020-08-24 12:38:49 +00:00
2020-12-05 16:54:50 +00:00
* Added Google Cloud Platform tutorial (for Windows users)
[`#177 <https://github.com/PyPSA/pypsa-eur/pull/177> `_ ].
2020-08-25 10:12:00 +00:00
2020-12-05 16:54:50 +00:00
**Changes**
2020-08-24 09:04:54 +00:00
2020-12-05 16:54:50 +00:00
* Don't remove capital costs from lines and links, when imposing a line volume limit (`` lv `` ) or a line cost limit (`` lc `` ).
Previously, these were removed to move the expansion in direction of the limit
[`#183 <https://github.com/PyPSA/pypsa-eur/pull/183> `_ ].
2020-12-03 22:13:41 +00:00
2020-12-05 16:54:50 +00:00
* The mappings for clustered lines and buses produced by the :mod: `simplify_network` and :mod: `cluster_network` rules
changed from Hierarchical Data Format (`` .h5 `` ) to Comma-Separated Values format (`` .csv `` ) for ease of use.
[`#198 <https://github.com/PyPSA/pypsa-eur/pull/198> `_ ]
2020-09-24 08:13:13 +00:00
2020-12-05 16:54:50 +00:00
* The N-1 security margin for transmission lines is now fixed to a provided value in `` config.yaml `` ,
removing an undocumented linear interpolation between 0.5 and 0.7 in the range between 37 and 200 nodes.
[`#199 <https://github.com/PyPSA/pypsa-eur/pull/199> `_ ].
2020-09-25 12:08:46 +00:00
2020-12-05 16:54:50 +00:00
* Modelling hydrogen and battery storage with Store and Link components is now the default,
rather than using StorageUnit components with fixed power-to-energy ratio
[`#205 <https://github.com/PyPSA/pypsa-eur/pull/205> `_ ].
2020-10-02 13:55:22 +00:00
2020-12-05 16:54:50 +00:00
* Use `` mamba `` (https://github.com/mamba-org/mamba) for faster Travis CI builds
[`#196 <https://github.com/PyPSA/pypsa-eur/pull/196> `_ ].
2020-10-02 13:55:22 +00:00
2020-12-03 18:50:53 +00:00
* Multiple smaller changes: Removed unused `` {network} `` wildcard, moved environment files to dedicated `` envs `` folder,
2020-12-05 16:54:50 +00:00
removed sector-coupling components from configuration files, updated documentation colors, minor refactoring and code cleaning
[`#190 <https://github.com/PyPSA/pypsa-eur/pull 190> `_ ].
2020-12-03 18:50:53 +00:00
2020-12-05 16:54:50 +00:00
**Bugs and Compatibility**
* Add compatibility for pyomo 5.7.0 in :mod: `cluster_network` and :mod: `simplify_network`
[`#172 <https://github.com/PyPSA/pypsa-eur/pull/172> `_ ].
2020-12-03 14:17:16 +00:00
2020-12-03 09:02:23 +00:00
* Fixed a bug for storage units such that individual store and dispatch efficiencies are correctly taken account of rather than only their round-trip efficiencies.
2020-12-05 16:54:50 +00:00
In the cost database (`` data/costs.csv `` ) the efficiency of battery inverters should be stated as per discharge/charge rather than per roundtrip
[`#202 <https://github.com/PyPSA/pypsa-eur/pull/202> `_ ].
2020-12-03 09:02:23 +00:00
2020-12-05 16:54:50 +00:00
* Corrected exogenous emission price setting (in `` config: cost: emission price: `` ),
which now correctly accounts for the efficiency and effective emission of the generators
[`#171 <https://github.com/PyPSA/pypsa-eur/pull/171> `_ ].
2020-11-26 16:20:48 +00:00
2020-12-05 16:54:50 +00:00
* Corrected HVDC link connections (a) between Norway and Denmark and (b) mainland Italy, Corsica (FR) and Sardinia (IT)
as well as for East-Western and Anglo-Scottish interconnectors
[`#181 <https://github.com/PyPSA/pypsa-eur/pull/181> `_ , `#206 <https://github.com/PyPSA/pypsa-eur/pull/206> `_ ].
2020-11-25 12:18:30 +00:00
2020-12-05 16:54:50 +00:00
* Fix bug of clustering `` offwind-{ac,dc} `` generators in the option of high-resolution generators for renewables.
Now, there are more sites for `` offwind-{ac,dc} `` available than network nodes.
Before, they were clustered to the resolution of the network (`` elec_s1024_37m.nc `` : 37 network nodes, 1024 generators)
[`#191 <https://github.com/PyPSA/pypsa-eur/pull/191> `_ ].
* Raise a warning if `` tech_colors `` in the config are not defined for all carriers
[`#178 <https://github.com/PyPSA/pypsa-eur/pull/178> `_ ].
2020-12-03 11:49:04 +00:00
2020-12-03 15:02:21 +00:00
2020-06-08 18:43:35 +00:00
PyPSA-Eur 0.2.0 (8th June 2020)
==================================
2020-12-05 16:54:50 +00:00
* The optimization is now performed using the `` pyomo=False `` setting in the :func: `pypsa.lopf.network_lopf` . This speeds up the solving process significantly and consumes much less memory. The inclusion of additional constraints were adjusted to the new implementation. They are all passed to the :func: `network_lopf` function via the `` extra_functionality `` argument. The rule `` trace_solve_network `` was integrated into the rule :mod: `solve_network` and can be activated via configuration with `` solving: options: track_iterations: true `` . The charging and discharging capacities of batteries modelled as store-link combination are now coupled [`#116 <https://github.com/PyPSA/pypsa-eur/pull/116> `_ ].
2020-02-10 11:06:43 +00:00
2020-12-05 16:54:50 +00:00
* An updated extract of the `ENTSO-E Transmission System Map <https://www.entsoe.eu/data/map/> `_ (including Malta) was added to the repository using the `GridKit <https://github.com/PyPSA/GridKit> `_ tool. This tool has been updated to retrieve up-to-date map extracts using a single `script <https://github.com/PyPSA/GridKit/blob/master/entsoe/runall_in_docker.sh> `_ . The update extract features 5322 buses, 6574 lines, 46 links. [`#118 <https://github.com/PyPSA/pypsa-eur/pull/118> `_ ].
2020-06-08 16:29:15 +00:00
2020-12-05 16:54:50 +00:00
* Added `FSFE REUSE <https://reuse.software> `_ compliant license information. Documentation now licensed under CC-BY-4.0 [`#160 <https://github.com/PyPSA/pypsa-eur/pull/160> `_ ].
2020-06-08 18:43:35 +00:00
* Added a 30 minute `video introduction <https://pypsa-eur.readthedocs.io/en/latest/introduction.html> `_ and a 20 minute `video tutorial <https://pypsa-eur.readthedocs.io/en/latest/tutorial.html> `_
* Networks now store a color and a nicely formatted name for each carrier, accessible via `` n.carrier['color'] `` and `` n.carrier['nice_name'] ` ` (networks after ` ` elec.nc `` ).
* Added an option to skip iterative solving usually performed to update the line impedances of expanded lines at `` solving: options: skip_iterations: `` .
2020-03-17 08:50:38 +00:00
2020-12-05 16:54:50 +00:00
* `` snakemake `` rules for retrieving cutouts and the natura raster can now be disabled independently from their respective rules to build them; via `` config.*yaml `` [`#136 <https://github.com/PyPSA/pypsa-eur/pull/136> `_ ].
2020-03-16 14:51:47 +00:00
2020-12-05 16:54:50 +00:00
* Removed the `` id `` column for custom power plants in `` data/custom_powerplants.csv `` to avoid custom power plants with conflicting ids getting attached to the wrong bus [`#131 <https://github.com/PyPSA/pypsa-eur/pull/131> `_ ].
2020-06-08 18:43:35 +00:00
2022-09-16 11:33:38 +00:00
* Add option `` renewables: {carrier}: keep_all_available_areas: `` to use all available weather cells for renewable profile and potential generation. The default ignores weather cells where only less than 1 MW can be installed [`#150 <https://github.com/PyPSA/pypsa-eur/pull/150> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
* Added a function `` _helpers.load_network() `` which loads a network with overridden components specified in `` snakemake.config['override_components'] `` [`#128 <https://github.com/PyPSA/pypsa-eur/pull/128> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
* Bugfix in :mod: `base_network` which now finds all closest links, not only the first entry [`#143 <https://github.com/PyPSA/pypsa-eur/pull/143> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
* Bugfix in :mod: `cluster_network` which now skips recalculation of link parameters if there are no links [`#149 <https://github.com/PyPSA/pypsa-eur/pull/149> `_ ].
2020-06-08 18:43:35 +00:00
2020-12-05 16:54:50 +00:00
* Added information on pull requests to contribution guidelines [`#151 <https://github.com/PyPSA/pypsa-eur/pull/151> `_ ].
2020-06-08 18:43:35 +00:00
* Improved documentation on open-source solver setup and added usage warnings.
* Updated `` conda `` environment regarding `` pypsa `` , `` pyproj `` , `` gurobi `` , `` lxml `` . This release requires PyPSA v0.17.0.
2020-06-08 16:29:15 +00:00
2020-01-09 13:09:28 +00:00
PyPSA-Eur 0.1.0 (9th January 2020)
==================================
2019-06-07 08:34:36 +00:00
2020-01-09 13:09:28 +00:00
This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include:
2019-08-11 20:34:18 +00:00
2020-12-05 16:54:50 +00:00
* Documentation on installation, workflows and configuration settings is now available online at `pypsa-eur.readthedocs.io <pypsa-eur.readthedocs.io> `_ [`#65 <https://github.com/PyPSA/pypsa-eur/pull/65> `_ ].
2019-10-29 15:48:15 +00:00
2020-12-05 16:54:50 +00:00
* The `` conda `` environment files were updated and extended [`#81 <https://github.com/PyPSA/pypsa-eur/pull/81> `_ ].
2019-10-29 15:48:15 +00:00
2020-12-05 16:54:50 +00:00
* The power plant database was updated with extensive filtering options via `` pandas.query `` functionality [`#84 <https://github.com/PyPSA/pypsa-eur/pull/84> `_ and `#94 <https://github.com/PyPSA/pypsa-eur/pull/94> `_ ].
2019-10-29 15:48:15 +00:00
2020-12-05 16:54:50 +00:00
* Continuous integration testing with `Travis CI <https://travis-ci.org> `_ is now included for Linux, Mac and Windows [`#82 <https://github.com/PyPSA/pypsa-eur/pull/82> `_ ].
2019-10-29 15:48:15 +00:00
2020-12-05 16:54:50 +00:00
* Data dependencies were moved to `zenodo <https://zenodo.org/> `_ and are now versioned [`#60 <https://github.com/PyPSA/pypsa-eur/issues/60> `_ ].
2019-11-06 16:53:38 +00:00
2020-12-05 16:54:50 +00:00
* Data dependencies are now retrieved directly from within the snakemake workflow [`#86 <https://github.com/PyPSA/pypsa-eur/pull/86> `_ ].
2019-11-19 18:36:28 +00:00
2020-12-05 16:54:50 +00:00
* Emission prices can be added to marginal costs of generators through the keyworks `` Ep `` in the `` {opts} `` wildcard [`#100 <https://github.com/PyPSA/pypsa-eur/pull/100> `_ ].
2019-11-19 18:36:28 +00:00
2020-12-05 16:54:50 +00:00
* An option is introduced to add extendable nuclear power plants to the network [`#98 <https://github.com/PyPSA/pypsa-eur/pull/98> `_ ].
2019-11-19 18:36:28 +00:00
2020-12-05 16:54:50 +00:00
* Focus weights can now be specified for particular countries for the network clustering, which allows to set a proportion of the total number of clusters for particular countries [`#87 <https://github.com/PyPSA/pypsa-eur/pull/87> `_ ].
2019-11-19 18:36:28 +00:00
2020-12-05 16:54:50 +00:00
* A new rule :mod: `add_extra_components` allows to add additional components to the network only after clustering. It is thereby possible to model storage units (e.g. battery and hydrogen) in more detail via a combination of `` Store `` , `` Link `` and `` Bus `` elements [`#97 <https://github.com/PyPSA/pypsa-eur/pull/97> `_ ].
2019-12-22 17:38:01 +00:00
2020-12-05 16:54:50 +00:00
* Hydrogen pipelines (including cost assumptions) can now be added alongside clustered network connections in the rule :mod: `add_extra_components` . Set `` electricity: extendable_carriers: Link: [H2 pipeline] `` and ensure hydrogen storage is modelled as a `` Store `` . This is a first simplified stage [`#108 <https://github.com/PyPSA/pypsa-eur/pull/108> `_ ].
2019-12-22 17:38:01 +00:00
2020-12-05 16:54:50 +00:00
* Logfiles for all rules of the `` snakemake `` workflow are now written in the folder `` log/ `` [`#102 <https://github.com/PyPSA/pypsa-eur/pull/102> `_ ].
2019-12-22 17:38:01 +00:00
2020-12-05 16:54:50 +00:00
* The new function `` _helpers.mock_snakemake `` creates a `` snakemake `` object which mimics the actual `` snakemake `` object produced by workflow by parsing the `` Snakefile `` and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling `` python <script-name> `` ) and thereby facilitates developing and debugging scripts significantly [`#107 <https://github.com/PyPSA/pypsa-eur/pull/107> `_ ].
2020-01-09 13:09:28 +00:00
Release Process
===============
* Checkout a new release branch `` git checkout -b release-v0.x.x `` .
* Finalise release notes at `` doc/release_notes.rst `` .
2020-12-03 18:50:53 +00:00
* Update `` envs/environment.fixed.yaml `` via
`` conda env export -n pypsa-eur -f envs/environment.fixed.yaml --no-builds ``
2023-02-16 11:37:30 +00:00
from an up-to-date `` pypsa-eur `` environment.
2020-01-09 13:09:28 +00:00
2022-07-27 11:12:52 +00:00
* Update version number in `` doc/conf.py `` , `` CITATION.cff `` and `` *config.*.yaml `` .
2020-01-09 13:09:28 +00:00
* Open, review and merge pull request for branch `` release-v0.x.x `` .
Make sure to close issues and PRs or the release milestone with it (e.g. closes #X).
* Tag a release on Github via `` git tag v0.x.x `` , `` git push `` , `` git push --tags `` . Include release notes in the tag message.
2021-09-14 14:37:41 +00:00
* Upload code to `zenodo code repository <https://doi.org/10.5281/zenodo.3520874> `_ with `MIT license <https://opensource.org/licenses/MIT> `_ .
2020-01-09 13:09:28 +00:00
2023-02-16 11:37:30 +00:00
* Create pre-built networks for `` config.default.yaml `` by running `` snakemake -call extra_components_all_networks `` .
2020-01-09 13:09:28 +00:00
2020-12-07 08:43:17 +00:00
* Upload pre-built networks to `zenodo data repository <https://doi.org/10.5281/zenodo.3601881> `_ with `CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/> `_ license.
2020-01-09 13:09:28 +00:00
* Send announcement on the `PyPSA and PyPSA-Eur mailing list <https://groups.google.com/forum/#!forum/pypsa> `_ .