Python for Power System Analysis (PyPSA) Version 0.9.0
- 1. Frankfurt Institute for Advanced Studies (FIAS)
Description
Python for Power System Analysis (PyPSA) is a free software toolbox for simulating and optimising modern power systems that include features such as variable wind and solar generation, storage units, sector coupling and mixed alternating and direct current networks. PyPSA is designed to scale well with large networks and long time series. Find out more at:
https://pypsa.org/
and
http://github.com/FRESNA/PyPSA
This is release 0.9.0 of PyPSA. Please see https://pypsa.org/doc/release_notes.html#pypsa-0-9-0-29th-april-2017 for a hyper-linked version of these release notes. This release mostly contains new features with a few minor API changes.
- Unit commitment as a MILP problem is now available for generators in the Linear Optimal Power Flow (LOPF). If you set committable == True for the generator, an addition binary online/offline status is created. Minimum part loads, minimum up times, minimum down times, start up costs and shut down costs are implemented. See the documentation at Generator unit commitment constraints and the unit commitment example. Note that a generator cannot currently have both unit commitment and capacity expansion optimisation.
- Generator ramping limits have also been implemented for all generators. See the documentation at Generator ramping constraints and the unit commitment example.
- Different mathematically-equivalent formulations for the Linear Optimal Power Flow (LOPF) are now documented in Passive branch flow formulations and the arXiv preprint paper Linear Optimal Power Flow Using Cycle Flows. The new formulations can solve up to 20 times faster than the standard angle-based formulation.
- You can pass the network.lopf function the solver_io argument for pyomo.
- There are some improvements to network clustering and graphing.
- API change: The attribute network.now has been removed since it was unnecessary. Now, if you do not pass a snapshots argument to network.pf() or network.lpf(), these functions will default to network.snapshots rather than network.now.
- API change: When reading in network data from CSV files, PyPSA will parse snapshot dates as proper datetimes rather than text strings.
João Gorenstein Dedecca has also implemented a MILP version of the transmission expansion, see https://github.com/jdedecca/MILP_PyPSA, which properly takes account of the impedance with a disjunctive relaxation. This will be pulled into the main PyPSA code base soon.
Files
PyPSA-8bf3acf07906348b82d667db7c97219d6d5fc644.zip
Files
(579.4 kB)
Name | Size | Download all |
---|---|---|
md5:569f9b7c505b3d7d112724702c555647
|
579.4 kB | Preview Download |
Additional details
Related works
- Is identical to
- https://github.com/FRESNA/PyPSA/releases/tag/v0.9.0 (URL)
- https://pypi.python.org/pypi/pypsa/0.9.0 (URL)