sort by:
Revision Author Date Message Commit Date
4d6ae97 PyPSA Version 0.17.1 Hyperlinked release notes can be found here: https://pypsa.readthedocs.io/en/latest/release_notes.html#pypsa-0-17-1-15th-july-2020 15 July 2020, 12:40:08 UTC
d2c2843 networkclustering: add s_max_pu to aggregation (#192) * networkclustering: add s_max_pu to aggregation * add release notes 09 July 2020, 19:58:02 UTC
b3b9800 add compatibility with pyomo 5.7.0 (#190) * add compatibility with pyomo 5.7.0 * add release notes * remove workaround for pandas < 0.18.0 * drop support for pyomo<5.7 * move _build_sum_expression out of try-catch 09 July 2020, 19:27:07 UTC
8f7c015 setup: add python 3 requirement (#194) 09 July 2020, 19:26:33 UTC
008e7f6 networkclustering: handle optional dependencies (#193) * networkclustering: handle optional dependencies * add release notes 09 July 2020, 19:26:12 UTC
a7c98a3 contingency: handle removed ptdf_tolerance argument for pyomo=False 07 July 2020, 12:13:00 UTC
da1a045 fix assignment of dual variables in lv_limit for final lopf (#188) * fix assignment of dual variables in lv_limit for final lopf * add release notes * push changes to fix lv_limit duals into save_capacities and only if track_iterations=true * remove changes for last iteration Co-authored-by: martha.frysztacki <eb5194@iai-esm003.iai.kit.edu> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 07 July 2020, 11:08:51 UTC
3da1081 Enable retrieving shadow prices for all dispatch variables (#191) * linopf: - define variables for fix components - remove unused arguments in lopf function linopt: - better handling of references for static variables * add release note * Update doc/release_notes.rst Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> * linopt: reinsert skip_pre argument, add line break Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 07 July 2020, 09:56:36 UTC
649d157 search for gurobipy not gurobi (#189) 06 July 2020, 17:08:01 UTC
b7fc4b5 SCLOPF for pyomo=False and ease of import (#178) * contingency: add nomopyomo variant of sclopf and move up add_contingency_constraints(n,s) as well as add_contingency_constraints_lowmem(n,s) for import by other modules * test: add nomopyomo to sclopf tests * contingency: update list of authors * contingency: fix accessing subsets of dataframes - was using reindex before in order to ignore missing values which could have occured in a previous implementation - this is now much more straightforward * contingency: default to consider all branch outages directly in * contingency: fix syntax error * Update pypsa/contingency.py Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> * Update pypsa/contingency.py Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> * contingency: apply style remarks of code review * contingency: glpk requires at least one variable on lhs * doc: add release notes Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> 06 July 2020, 17:07:27 UTC
fa63e72 Support for the FICO Xpress solver (#184) * wrote Xpress file-interface, added xpress to list of supported solvers * fix typos * Modifications to Xpress interface * Added Xpress solver and URL to list in documentation * Added release note * spelling * Update doc/release_notes.rst Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> * Suggestion to catch specific exception (for getDual) * correct module name Co-authored-by: Pietro Belotti <pietrobelotti@fico.com> Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> 17 June 2020, 12:17:32 UTC
8ac706d Catch error from missing basis with CPLEX (#183) * linopt: catch missing basis error (closes #182) * doc: add release notes 04 June 2020, 08:57:00 UTC
d48f78d doc: update solver installation instructions [skip travis] 28 May 2020, 17:47:01 UTC
0ec4f5e Handle cbc asterisk (#181) * replace ** before read_csv * update release note Co-authored-by: Greta Yu <gretayu@Gretas-MacBook-Pro.local> 27 May 2020, 08:01:43 UTC
f21b81d Merge pull request #179 from nworbmot/master linopf.py: Fix bug: multi-link outputs set when not multi-link 13 May 2020, 11:21:52 UTC
3af8f7e linopf: Fix long line Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> 13 May 2020, 11:21:31 UTC
2ac1bc0 doc: Document bug fix to multi-link outputs for LOPF pyomo=False 13 May 2020, 10:34:38 UTC
f484adc linopf.py: Fix bug: multi-link outputs set when not multi-link There can be mixed situations where some links have multiple outputs to bus2, bus3, etc, but we still have some links with single outputs to bus1 and no other outputs bus2 = "" and bus3 = "". However, the LOPF with pyomo=False was setting non-zero outputs for p2 and p3 also for the links with single outputs. Now, if bus2 and bus3 etc are empty, the p2 and p3 is set to the default, just like pyomo=True. 13 May 2020, 10:20:13 UTC
7ece53e Fix paths in example notebooks (#172) * example notebooks: fix paths * update binder bagde 30 March 2020, 12:26:34 UTC
5b84b5d linopf: assign p0/p1 only for attr s (#170) * linopf: assign p0/p1 only for attr s * linopf: expand fix to links 23 March 2020, 17:08:52 UTC
fdcc817 PyPSA Version 0.17.0 Hyperlinked release notes can be found here: https://pypsa.readthedocs.io/en/latest/release_notes.html#pypsa-0-17-0-23rd-march-2020 23 March 2020, 13:14:07 UTC
3e17630 LOPF: Warn that shunt impedances are ignored. 23 March 2020, 12:51:23 UTC
0d3fe3a raise error if flow argument not passed correctly (#169) 23 March 2020, 11:18:59 UTC
887de30 Merge pull request #166 from PyPSA/plot_branches Plot branches with new arguments 23 March 2020, 09:40:22 UTC
e89e064 linopt: cplex to allow layered parameter (#168) * e.g. solver_options={barrier.convergetol: 1e-4} 20 March 2020, 10:46:45 UTC
939fdac doc: bump up level of pf api [skip travis] 20 March 2020, 08:51:30 UTC
8506c3b doc: append linopf module api [skip travis] 20 March 2020, 08:49:44 UTC
ae2968f doc: extend api reference (#167) 19 March 2020, 18:02:27 UTC
dc652ca Apply suggestions from code review Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> 19 March 2020, 18:00:00 UTC
1625f69 Update pypsa/plot.py Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> 19 March 2020, 17:59:00 UTC
5f6b32e add release notes 17 March 2020, 23:07:52 UTC
b1484d3 Merge branch 'plot_branches' of github.com:PyPSA/PyPSA into plot_branches 17 March 2020, 23:03:10 UTC
5af70dd iplot: mirror changes and arguments 17 March 2020, 23:02:38 UTC
795859d Update doc/release_notes.rst Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> 17 March 2020, 20:53:44 UTC
282767d add release notes 17 March 2020, 15:36:14 UTC
05621c7 further adjustment 17 March 2020, 14:42:35 UTC
a0c6a95 rearrange directed_flow function, separate plotting of branch_components properly 17 March 2020, 14:26:37 UTC
c7d9635 add cplex support (#164) * add cplex support * update release notes * Update doc/release_notes.rst Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> * Apply suggestions from code review Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> * consistency, clean up * raise error if solver interface package is missing Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 17 March 2020, 13:35:14 UTC
374a484 steady state, from now on try separate line, link, transf. 17 March 2020, 12:48:24 UTC
06eac7f add docstring; fix cmap 16 March 2020, 22:52:44 UTC
c561d57 plot: add new arguments 16 March 2020, 21:43:00 UTC
2229348 Track objective constant in n.objective_constant (#165) * add n.objective_constant * add release notes * remove unneeded dir 16 March 2020, 14:34:46 UTC
570a9d1 Small code cleanup (#162) * remove unused imports * remove unused variables * remove unidiomatic type checks * remove reimports * fix misc code style issues * remove __future__ imports * example: fix import for interactive plot Co-authored-by: Fabian <fab.hof@gmx.de> 16 March 2020, 14:31:01 UTC
d5b3bf0 remove dconf [skip travis] 16 March 2020, 14:16:27 UTC
b92c578 small rearrangement of notebooks 16 March 2020, 13:34:59 UTC
1df3a60 opf: request status only if commitable (closes #159) (#161) 16 March 2020, 09:25:20 UTC
b7c7c35 doc: add warning regarding upcoming release notes [skip travis] 15 March 2020, 10:34:42 UTC
f21a172 components: check for np.inf values in max/min_pu (closes #152) (#154) 14 March 2020, 11:03:15 UTC
f28e005 README, doc, website: Remove outdated "future functionality" 03 March 2020, 17:57:55 UTC
3eafc43 doc: extend release notes II [skip travis] 03 March 2020, 15:33:46 UTC
9213048 doc: extend release notes 03 March 2020, 15:31:13 UTC
1ebdca6 plot: fix multiindex for new pandas version 03 March 2020, 14:03:42 UTC
b96c442 README add badge for binder 28 February 2020, 17:20:59 UTC
e63c468 Mybinder (#150) * add jupyter notebooks to examples add binder folder * added jupyter notebooks 28 February 2020, 16:05:14 UTC
8d527e2 linopf: fix kirchhoff constraint with radial network (#149) * linopf: fix kirchhoff constraint with radial network * doc: add release notes 27 February 2020, 17:16:26 UTC
252b49d solves #147 (#148) 20 February 2020, 13:01:48 UTC
9621e04 components: fix for #145 reg. copying snapshot weightings without time 18 February 2020, 15:06:48 UTC
06056e1 Network deepcopy with timeslice (#145) * components: deepcopy with subset of snapshots * doc: add release notes * components: catch nan error 17 February 2020, 08:54:23 UTC
a077e40 Parse shadow price of non-extenable passive branch capacities (#142) * solves #119 linopt: add return value to define_variables, etc * Update doc/release_notes.rst Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 14 February 2020, 12:04:05 UTC
a29b035 Add alpha channel for buses (#141) * Add alpha channel to buses (bus_alpha) * add description for bus_alpha * Update pypsa/plot.py Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 14 February 2020, 10:22:51 UTC
c49698f plot: consistency between MultiIndex and Index bus sizes (closes #132) (#140) * plot: consistency between MultiIndex and Index bus sizes (closes #132) * doc: add release notes 13 February 2020, 16:13:43 UTC
f1c8ec6 Remove basemap support (#139) * solves #130 plot: rename 'network' -> 'n' * add docstring 13 February 2020, 13:21:36 UTC
61159e1 io: fix incomplete transition to pandapower 2.x (#138) * io: fix incomplete transition to pandapower 2.x * doc: add release notes 13 February 2020, 10:57:06 UTC
cab1b9c small follow-up of #135 11 February 2020, 13:47:04 UTC
011033f linopf: small fix for snapshots != n.snapshots small fix for empty n.links 11 February 2020, 13:29:08 UTC
cba8ba7 ilopf: set warmstart in last iteration to false 09 February 2020, 23:06:40 UTC
841116b Make Import tolerant of non-predefined series (#135) * solves #120 * add small release note * Update doc/release_notes.rst Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 07 February 2020, 15:58:43 UTC
a3c0991 Trace optimized capacities in ilopf (#136) * solves #129 * Apply suggestions from code review Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 07 February 2020, 15:57:57 UTC
6179a74 - fix groupby for pandas v1.0.0 (#134) - minor: fix deprecation for logger 04 February 2020, 10:44:36 UTC
aa187f8 Merge pull request #133 from PyPSA/fix_emissions_nomopyomo linopf: Fix bug whereby snapshot_weightings name is missing 03 February 2020, 21:47:05 UTC
7e1dbbb linopf: Fix bug whereby snapshot_weightings name is missing The old code relied on snapshot_weightings.name being "weightings". However, this is only the case when it has been exported to a netcdf file (when it's given this name) and reimported. Networks created without exporting and importing break at this point with emissions constraints. Minimum breaking model is provided in the pull request. 03 February 2020, 20:14:46 UTC
346de27 Carrier colors (#131) * solves #103 * update release notes 29 January 2020, 20:35:19 UTC
22f7ac6 fix committable generator constraint if min_up_time exceeds len(snapshots) (#128) * fixes #124 * rearrange, add warning 26 January 2020, 15:25:50 UTC
257495e tiny fix for glpk solver with large objective value 21 January 2020, 17:03:49 UTC
1c64188 Merge pull request #126 from PyPSA/nomopyomo_objective Enable to alter the objective function 20 January 2020, 16:34:02 UTC
75b5bcb Apply suggestions from code review Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> 20 January 2020, 16:25:23 UTC
49addc3 Delete settings.json 20 January 2020, 16:22:11 UTC
e407946 add doc string 20 January 2020, 14:03:42 UTC
5b24e0a closes #121 20 January 2020, 13:44:02 UTC
7a918e8 Merge pull request #125 from PyPSA/style rename length into size 20 January 2020, 13:19:22 UTC
7bc5028 rename length into size 18 January 2020, 18:27:56 UTC
43029d5 PyPSA Version 0.16.1 Hyperlinked release notes can be found here: https://pypsa.readthedocs.io/en/latest/release_notes.html#pypsa-0-16-1-10th-january-2020 This release contains a few minor bux fixes from the introduction of nomopyomo in the previous release, as well as a few minor features. * When using the nomopyomo formulation of the LOPF with network.lopf(pyomo=False), PyPSA was not correcting the bus marginal prices by dividing by the network.snapshot_weightings, as is done in the pyomo formulation. This correction is now applied in the nomopyomo formulation to be consistent with the pyomo formulation. (The reason this correction is applied is so that the prices have a clear currency/MWh definition regardless of the snapshot weighting. It also makes them stay roughly the same when snapshots are aggregated: e.g. if hourly simulations are sampled every n-hours, and the snapshot weighting is n.) * The status, termination_condition that the network.lopf returns is now consistent between the nomopyomo and pyomo formulations. The possible return values are documented in the LOPF docstring, see also the documentation. Furthermore in the nomopyomo formulation, the solution is still returned when gurobi finds a suboptimal solution, since this solution is usually close to optimal. In this case the LOPF returns a status of warning and a termination_condition of suboptimal. * For plotting with network.plot() you can override the bus coordinates by passing it a layouter function from networkx. See the docstring for more information. This is particularly useful for networks with no defined coordinates. * For plotting with network.iplot() a background from mapbox can now be integrated. Please note that we are still aware of one implementation difference between nomopyomo and pyomo, namely that nomopyomo doesn’t read out shadow prices for non-extendable branches, see the github issue. 10 January 2020, 15:46:59 UTC
905c33d Merge pull request #116 from PyPSA/nomopyomo_mp_sw linopf: Correct marginal prices by snapshot weightings 10 January 2020, 15:04:47 UTC
2c42aa2 Merge pull request #115 from PyPSA/nomopyomo_status Harmonise nomopyomo, pyomo LOPF status and termination_condition 10 January 2020, 15:03:16 UTC
879a479 components: Document lopf status and termination_condition return 10 January 2020, 15:01:50 UTC
bcfa1a5 linopf: Also read out shadow prices for Transformer, Link This makes it compatible with the Pyomo formulation. 10 January 2020, 14:43:09 UTC
f29e3be plot.py: fix networkx import 07 January 2020, 11:56:15 UTC
fdd845f enable using open mapbox styles (#118) * enable using open mapbox styles * Apply suggestions from code review Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de> * fix indentation Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de> 07 January 2020, 09:20:26 UTC
dbdea2a linopf: Correct marginal prices by snapshot weightings This is then consistent with the marginal prices in the Pyomo LOPF. It also means the prices have a clear EUR/MWh definition, and makes them stay roughly the same when snapshots are aggregated. 02 January 2020, 18:34:25 UTC
b76798d plot: add autogenerated coordinates (#113) * plot: add autogenerated coordinates * Update pypsa/plot.py Co-Authored-By: FabianHofmann <hofmann@fias.uni-frankfurt.de> * Update pypsa/plot.py * Update pypsa/plot.py Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> 02 January 2020, 14:37:01 UTC
fcc4ad1 plot: add mapbox option (#90) 02 January 2020, 13:48:52 UTC
f38c516 linopt: For MILP unit commitment GPLK should return "optimal" Not "integer optimal". This is consistent with pyomo output. 31 December 2019, 13:18:51 UTC
9ebd7a0 Harmonise nomopyomo, pyomo LOPF status and termination_condition Make nomopyomo LOPF status and termination_condition consistent with pyomo LOPF. Status, termination_condition is either: ok, optimal or: warning, infeasible For gurobi there are two additional options: If gurobi is using the barrier method and has a sub-optimal solution, nomopyomo will still read the solution and return: warning, suboptimal If gurobi is using the barrier method, sometimes it cannot distinguish between an infeasible and an unbounded problem, so returns: warning, infeasible or unbounded 31 December 2019, 12:09:19 UTC
54d16de .github: add issue/PR templates [skip travis] 23 December 2019, 14:15:18 UTC
0e4fb5f PyPSA Version 0.16.0 Hyperlinked release notes can be found here: https://pypsa.readthedocs.io/en/latest/release_notes.html#pypsa-0-16-0-20th-december-2019 This release contains major new features. It is also the first release to drop support for Python 2.7. Only Python 3.6 and 3.7 are supported going forward. Python 3.8 will be supported as soon as the gurobipy package in conda is updated. * A new version of the linear optimal power flow (LOPF) has been introduced that uses a custom optimization framework rather than Pyomo. The new framework, based on nomoypomo, uses barely any memory and is much faster than Pyomo. As a result the total memory usage of PyPSA processing and gurobi is less than a third what it is with Pyomo for large problems with millions of variables that take several gigabytes of memory (see this graphical comparison for a large network optimization). The new framework is not enabled by default. To enable it, use network.lopf(pyomo=False). Almost all features of the regular network.lopf are implemented with the exception of minimum down/up time and start up/shut down costs for unit commitment. If you use the extra_functionality argument for network.lopf you will need to update your code for the new syntax. There is documentation for the new syntax as well as a Jupyter notebook of examples. * Distributed active power slack is now implemented for the full non-linear power flow. If you pass network.pf() the argument distribute_slack=True, it will distribute the slack power across generators proportional to generator dispatch by default, or according to the distribution scheme provided in the argument slack_weights. If distribute_slack=False only the slack generator takes up the slack. There is further documentation. * Unit testing is now performed on all of GNU/Linux, Windows and MacOS. * NB: You may need to update your version of the package six. Special thanks for this release to Fabian Hofmann for implementing the nomopyomo framework in PyPSA and Fabian Neumann for providing the customizable distributed slack. 20 December 2019, 13:29:42 UTC
672da91 Merge pull request #108 from PyPSA/dist-slack-custom-weights pf: distributed slack with custom weights and weights by capacity 20 December 2019, 12:33:39 UTC
a1bac77 travis: omit python 3.8 due to missing gurobi version for conda (#112) 20 December 2019, 10:15:18 UTC
fbf6491 pf: fix with get_switchable_as_dense 20 December 2019, 09:36:48 UTC
fba867d doc: Drop support for Python 2.7, include 3.8 19 December 2019, 17:41:43 UTC
5b84f74 Merge pull request #99 from PyPSA/nomopyomo Introduce nomopyomo 19 December 2019, 17:15:49 UTC
back to top