Changelog for each release.
Release date: November 10, 2022
added pre-commit hooks (flake8, black, isort, pyupgrade) #229
added issue and pull request templates #220
added Windows installation yml and documentation
added automatic testing for Windows #317
dropped support for python 3.7
added functionality to set up different loggers with individual logging levels and where to write output #295
added integrity checks of eDisGo object #231
added functionality to save to and load from zip archive #216
added option to not raise error in case power flow did not converge #207
added pyplot #214
added functionality to create geopandas dataframes #224
added functionality to resample time series #269
major refactoring of loads and time series
restructured time series module to allow more options on how to set component time series #236
added charging points to Topology.loads_df to make eDisGo more flexible when further new load types are added
peak_load in Topology.loads_df is renamed to p_nom #242
renamed all occurences of feedin in config files to feed-in
added simultaneity factors for heat pumps and electric vehicles
grid reinforcement now considers separate simultaneity factors for dimensioning of LV and MV #252
added interface to electromobility data from tools SimBEV and TracBEV (SimBEV provides data on standing times, charging demand, etc. per vehicle, whereas TracBEV provides potential charging point locations) #174 and #191
Release date: July 22, 2022
This release comes with some minor additions and bug fixes.
Added a pull request and issue template
Fix readthecods API doc
Consider parallel lines in calculation of x, r and s_nom
Bug fix calculation of x and r of new lines
Bug fix of getting a list of all weather cells within grid district
Release date: July 26, 2021
This release comes with some major refactoring. The internal data structure of the network topologies was changed from a networkx graph structure to a pandas dataframe structure based on the PyPSA data structure. This comes along with major API changes. Not all functionality of the previous eDisGo release 0.0.10 is yet refactored (e.g. the heuristics for grid supportive storage integration and generator curtailment), but we are working on it and the upcoming releases will have the full functionality again.
Besides the refactoring we added extensive tests along with automatic testing with GitHub Actions and coveralls tool to track test coverage.
Further, from now on python 3.6 is not supported anymore. Supported python versions are 3.7, 3.8 and 3.9.
Major refactoring #159
Added support for Python 3.7, 3.8 and 3.9 #181
Added GitHub Actions for testing and coverage #180
Adapted to new ding0 release #184 - loads and generators in the same building are now connected to the same bus instead of separate buses and loads and generators in aggregated load areas are connected via a MV/LV station instead of directly to the HV/MV station)
Added charging points as new components along with a methodology to integrate them into the grid
Added multiperiod optimal power flow based on julia package PowerModels.jl optimizing storage positioning and/or operation as well as generator dispatch with regard to minimizing grid expansion costs
Release date: October 18, 2019
Release date: December 3, 2018
bug fix in determining voltage deviation in LV stations and LV grid
Release date: October 29, 2018
added tolerance for curtailment targets slightly higher than generator availability to allow small rounding errors
Release date: October 23, 2018
This release mainly focuses on new plotting functionalities and making reimporting saved results to further analyze and visualize them more comfortable.
new plotting methods in the EDisGo API class (plottings of the MV grid topology showing line loadings, grid expansion costs, voltages and/or integrated storages and histograms for voltages and relative line loadings)
new classes EDisGoReimport, NetworkReimport and ResultsReimport to reimport saved results and enable all analysis and plotting functionalities offered by the original classes
Release date: September 6, 2018
This release comes with a bunch of new features such as results output and visualization, speed-up options, a new storage integration methodology and an option to provide separate allowed voltage deviations for calculation of grid expansion needs. See list of changes below for more details.
A methodolgy to integrate storages in the MV grid to reduce grid expansion costs was added that takes a given storage capacity and operation and allocates it to multiple smaller storages. This methodology is mainly to be used together with the eTraGo tool where an optimization of the HV and EHV levels is conducted to calculate optiomal storage size and operation at each HV/MV substation.
The voltage-based curtailment methodolgy was adapted to take into account allowed voltage deviations and curtail generators with voltages that exceed the allowed voltage deviation more than generators with voltages that do not exceed the allowed voltage deviation.
When conducting grid reinforcement it is now possible to apply separate allowed voltage deviations for different voltage levels (#108). Furthermore, an additional check was added at the end of the grid expansion methodology if the 10%-criterion was observed.
To speed up calculations functions to update the pypsa representation of the edisgo graph after generator import, storage integration and time series update, e.g. after curtailment, were added.
Also as a means to speed up calculations an option to calculate grid expansion costs for the two worst time steps, characterized by highest and lowest residual load at the HV/MV substation, was added.
For the newly added storage integration methodology it was necessary to calculate grid expansion costs without changing the topology of the graph in order to identify feeders with high grid expansion needs. Therefore, the option to conduct grid reinforcement on a copy of the graph was added to the grid expansion function.
So far loads and generators always provided or consumed inductive reactive power with the specified power factor. It is now possible to specify whether loads and generators should behave as inductors or capacitors and to provide a concrete reactive power time series(#131).
The Results class was extended by outputs for storages, grid losses and active and reactive power at the HV/MV substation (#138) as well as by a function to save all results to csv files.
A plotting function to plot line loading in the MV grid was added.
Update ding0 version to v0.1.8 and include data processing v0.4.5 data
Release date: July 19, 2018
Most important changes in this release are some major bug fixes, a differentiation of line load factors and allowed voltage deviations for load and feed-in case in the grid reinforcement and a possibility to update time series in the pypsa representation.
Release date: July 6 2018
New features have been included in this release. Major changes being the use of the weather_cell_id and the inclusion of new methods for distributing the curtailment to be more suitable to network operations.
As part of the solution to github issues #86, #98, Weather cell information was of importance due to the changes in the source of data. The table ego_renewable_feedin_v031 is now used to provide this feedin time series indexed using the weather cell id’s. Changes were made to ego.io and ding0 to correspondingly allow the use of this table by eDisGo.
A new curtailment method have been included based on the voltages at the nodes with GeneratorFluctuating objects. The method is called curtail_voltage and its objective is to increase curtailment at locations where voltages are very high, thereby alleviating over-voltage issues and also reducing the need for network reinforcement.
Add parallelization for custon functions #130
Update ding0 version to v0.1.6 and include data processing v.4.2 data
Release date: March 15 2018
The code was heavily revised. Now, eDisGo provides the top-level API class
EDisGo for user interaction. See below for details and
other small changes.
Switch disconnector/ disconnecting points are now relocated by eDisGo #99. Before, locations determined by Ding0 were used. Relocation is conducted according to minimal load differences in both parts of the ring.
Switch disconnectors are always located in LV stations #23
Made all round speed improvements as mentioned in the issues #43
The structure of eDisGo and its input data has been extensively revised in order to make it more consistent and easier to use. We introduced a top-level API class called
EDisGothrough which all user input and measures are now handled. The EDisGo class thereby replaces the former Scenario class and parts of the Network class. See A minimum working example for a quick overview of how to use the EDisGo class or Usage details for a more comprehensive introduction to the edisgo structure and usage.
We introduce a CLI script to use basic functionality of eDisGo including parallelization. CLI uses higher level functions to run eDisGo. Consult
edisgo_runfor further details. #93.