63b40c5 | Tom Brown | 21 March 2016, 18:55:20 UTC | Version 0.4.0 Bump version with released notes. | 21 March 2016, 18:55:20 UTC |
5c6b051 | Tom Brown | 21 March 2016, 18:28:00 UTC | Update SciGRID-based model of Germany Several changes made: i) Buses split by voltage and transformers inserted between 220 kV and 380 kV ii) Close buses < 850 m apart are connected, since some OSM relations missing iii) Some missing lines added iv) EEG data update to include units not validated v) Better representation of capacity of wind and solar units | 21 March 2016, 18:28:00 UTC |
71feeea | Tom Brown | 21 March 2016, 15:55:51 UTC | Add module pypsa.geo for manipulating geographic data Includes functionality for computing distances between points in longitude/latitude and for computing areas of shapely Polygons which use longitude/latitude. | 21 March 2016, 15:55:51 UTC |
b546d2c | Tom Brown | 19 March 2016, 12:14:16 UTC | Use sparse matrix sub_network.T for spanning tree Instead of ad hoc storage of tree structure on objects. | 19 March 2016, 12:14:16 UTC |
54cc9dc | Tom Brown | 19 March 2016, 11:58:32 UTC | Move cycle matrix C back from network to sub_network It makes more sense to have .C on a connected sub-network, along with sub_network.K and sub_network.B etc. Can always construct network version from the sub_network versions. | 19 March 2016, 11:58:32 UTC |
d8f0c4c | Tom Brown | 19 March 2016, 11:33:21 UTC | Use a matrix network.C for cycle basis network.C is a sparse B x C matrix, which replaces the ad hoc construction of cycles from before. It is defined on network rather than sub_network. In addition it include 2-edge cycles resulting from multiple branches between the same buses. The C columns span the kernel of the network.K (the block-diagonal combination of sub_network.K). | 19 March 2016, 11:33:21 UTC |
ced3228 | Tom Brown | 19 March 2016, 10:00:50 UTC | Update documentation with Contigency Analysis module | 19 March 2016, 10:00:50 UTC |
e4529bc | Tom Brown | 18 March 2016, 16:23:00 UTC | Add Security-Constrained LOPF Example included in examples/scigrid-de. Renamed folder examples/opf-scigrid-de to examples/scigrid-de, since it includes examples other than OPF. | 18 March 2016, 16:23:00 UTC |
ab6d03e | Tom Brown | 18 March 2016, 15:14:23 UTC | Change LODF to BODF (Branch Outage Distribution Factor) Reasoning: can also do BODF for other passive branches such as transformers. | 18 March 2016, 15:14:23 UTC |
fb2012a | Tom Brown | 18 March 2016, 11:12:10 UTC | Add first version of the contingency module pypsa.contingency includes a function to calculate the Line Outage Distribution Factor (LODF) and do a contingency analysis with linear power flow using the LODF. | 18 March 2016, 11:12:10 UTC |
52f2243 | Tom Brown | 17 March 2016, 14:01:41 UTC | Calculate incidence matrix sub_network.K with B and H Use convection that the incidence matrix K is an NxL matrix and acts like the homology operator. | 17 March 2016, 14:01:41 UTC |
2c99cc5 | Tom Brown | 17 March 2016, 13:08:34 UTC | Include direct formulation of LOPF using Kirchoff's Laws | 17 March 2016, 13:08:34 UTC |
6edd830 | Tom Brown | 11 March 2016, 16:35:15 UTC | Force unit testing to use GLPK Gurobi can give slightly different results, which doesn't mean that the code has failed. | 11 March 2016, 16:35:15 UTC |
d900f9e | Tom Brown | 11 March 2016, 13:19:53 UTC | Angles and PTDF formulation use separate flow variable Now the LExpression network._flow has been abolished. | 11 March 2016, 14:43:07 UTC |
fcff3df | Tom Brown | 11 March 2016, 12:11:24 UTC | Use auxilliary variables for the flow in cycle formulation | 11 March 2016, 14:43:01 UTC |
1ba53bc | Tom Brown | 11 March 2016, 13:40:22 UTC | Use model.passive_branch_p to set flows in results of LOPF | 11 March 2016, 14:41:05 UTC |
ada8a0a | Tom Brown | 11 March 2016, 11:30:50 UTC | Fix l_constraint docstring | 11 March 2016, 11:30:50 UTC |
d6d1b0b | Tom Brown | 11 March 2016, 11:22:47 UTC | Fix bug in network line aggregation networkx uses graph.adj now instead of graph.edge. | 11 March 2016, 11:22:47 UTC |
726a752 | Tom Brown | 11 March 2016, 09:17:05 UTC | Rewrite objective to use LExpression | 11 March 2016, 09:17:05 UTC |
d4a87fa | Tom Brown | 10 March 2016, 11:15:25 UTC | Simplify LExpression manipulation by overriding __add__ and __mul__ | 10 March 2016, 11:15:25 UTC |
2c0b78a | Tom Brown | 10 March 2016, 10:39:00 UTC | Fix cycle flow formulation | 10 March 2016, 10:39:00 UTC |
699438c | Tom Brown | 10 March 2016, 09:29:54 UTC | Reformulate opf.LConstraint as lhs sense rhs This allows more flexibility when definining constraints. | 10 March 2016, 09:29:54 UTC |
9bc74e2 | Tom Brown | 09 March 2016, 20:32:52 UTC | Define new LExpression and LConstraint objects; fix PTDF formulation Define new affine expression and constraint objects in opt.py; this should replace the use of heterogeneous lists [variables, sense, constraint] which was ugly. Also transfered over the PTDF and cycles formulations; the PTDF works, the cycles formulation needs to be fixed. | 09 March 2016, 20:32:52 UTC |
9fc3471 | Tom Brown | 09 March 2016, 17:18:55 UTC | Introduce new formulations of LOPF Lay the ground for including, in addition to the standard angle-based formulation, one based on the PTDF and one based on cycle flows. This is essentially updating the branch "ptdf" to the new LOPF code. | 09 March 2016, 17:18:55 UTC |
ba66c27 | Tom Brown | 09 March 2016, 16:41:10 UTC | Merge pull request #2 from jdedecca/master find_slack_bus verbose passage | 09 March 2016, 16:41:10 UTC |
81e9774 | jdedecca | 09 March 2016, 11:29:55 UTC | find_slack_bus verbose passage Verbose variable not passed before to find_slack_bus() | 09 March 2016, 11:29:55 UTC |
d68eb7a | Tom Brown | 08 March 2016, 13:47:55 UTC | Add pandas version requirement and warn in documentation Users are advised to use the latest versions of packages. | 08 March 2016, 13:47:55 UTC |
138f558 | Tom Brown | 07 March 2016, 21:51:20 UTC | Minor fixes to documentation Also allow kwargs to be passed to kmeans network clustering. | 07 March 2016, 21:51:20 UTC |
98def58 | Tom Brown | 04 March 2016, 13:29:09 UTC | Correct Google Group URL | 04 March 2016, 13:29:09 UTC |
6a7397d | Tom Brown | 04 March 2016, 13:26:52 UTC | Do not average coordinates during stub reduction Also add mailing list to documentation/README. | 04 March 2016, 13:26:52 UTC |
9821694 | Tom Brown | 03 March 2016, 17:08:42 UTC | Add new method Network.copy() for a deep copy of the network | 03 March 2016, 17:08:42 UTC |
4300f8c | Tom Brown | 03 March 2016, 16:45:45 UTC | Add stub/dead-end reduction method to networkclustering | 03 March 2016, 16:45:45 UTC |
4de115f | Tom Brown | 02 March 2016, 14:01:26 UTC | Bug fixes for importing from pypower Make sure booleans get set as booleans when reading in components from DataFrames; probably should do this for all types. Also read in p_max as p_nom. | 02 March 2016, 14:01:26 UTC |
202185f | Tom Brown | 02 March 2016, 13:52:59 UTC | Allow multiplication by a line length factor when aggregating lines This multiplies the crow-flies distance between aggregated buses to represent the fact that lines are usually longer than the direct distance. | 02 March 2016, 13:52:59 UTC |
ad5736b | Tom Brown | 29 February 2016, 17:23:36 UTC | Version 0.3.3 Improved documentation of network.lpf(snapshots) and included comparison to PYPOWER. | 29 February 2016, 17:23:36 UTC |
94378c0 | Tom Brown | 22 February 2016, 16:50:20 UTC | Merge remote-tracking branch 'vp/master' | 22 February 2016, 16:50:20 UTC |
83944ae | Jonas Hoersch | 22 February 2016, 12:24:16 UTC | pf: Use matrix capabilities of spsolve instead of loops | 22 February 2016, 12:24:16 UTC |
cbeea13 | Jonas Hoersch | 22 February 2016, 12:23:54 UTC | pf: pass network into _as_snapshots function | 22 February 2016, 12:23:54 UTC |
5a6a05a | Jonas Hoersch | 20 February 2016, 14:30:08 UTC | pf: Fix docs and snapshots arguments | 20 February 2016, 14:34:17 UTC |
89ce9bb | Jonas Hoersch | 20 February 2016, 11:58:32 UTC | components: introduce iterate_components functions to Network and SubNetwork demonstrate use in lpf, lopf (extract_optimisation). | 20 February 2016, 14:20:48 UTC |
6cbdba9 | Jonas Hoersch | 20 February 2016, 07:55:17 UTC | test: Add tests for multi-snapshot lpf | 20 February 2016, 07:55:17 UTC |
0009f13 | Jonas Hoersch | 20 February 2016, 07:41:54 UTC | pf: Save memory and time by only keeping indices instead of full copies | 20 February 2016, 07:55:11 UTC |
c0559bc | Jonas Hoersch | 20 February 2016, 07:21:18 UTC | pf: lpf support for snapshot batches | 20 February 2016, 07:21:18 UTC |
1b6c8c2 | Jonas Hoersch | 20 February 2016, 07:19:11 UTC | rewrite simple pd.merge patterns to use .map | 20 February 2016, 07:19:11 UTC |
4630031 | Tom Brown | 19 February 2016, 17:28:26 UTC | Include example with transformers in SciGRID Example splits SciGRID buses according to the line voltages attached, then inserts transformers between. Fixed bug whereby tranformers and shunt impedances were not being imported or exported correctly. | 19 February 2016, 17:28:26 UTC |
cbdb7d2 | Jonas Hoersch | 19 February 2016, 14:42:41 UTC | io: clean up pypower import | 19 February 2016, 14:42:41 UTC |
f270cce | Jonas Hoersch | 19 February 2016, 13:19:54 UTC | test: correct spelling mistake | 19 February 2016, 13:20:23 UTC |
a673f88 | Jonas Hoersch | 19 February 2016, 12:51:01 UTC | pf: Fix lpf regression | 19 February 2016, 13:19:08 UTC |
60db510 | Tom Brown | 19 February 2016, 09:37:42 UTC | Warnings on SciGRID dataset added Given the interest in the SciGRID dataset with load and generation attached, it seemed responsible to put health warnings on the dataset, given known issues with the dataset. | 19 February 2016, 09:37:42 UTC |
14b23df | Jonas Hoersch | 18 February 2016, 11:05:38 UTC | pf: make lpf code more concise | 18 February 2016, 11:06:07 UTC |
f27b9b4 | Tom Brown | 18 February 2016, 10:38:35 UTC | Merge branch 'master' of https://github.com/FRESNA/PyPSA | 18 February 2016, 10:38:35 UTC |
fa5b4a2 | Tom Brown | 18 February 2016, 10:31:01 UTC | Add curtailment to SciGRID example Also improve description of variable and flexible generators in doc/components.rst. | 18 February 2016, 10:38:05 UTC |
381aab4 | Tom Brown | 18 February 2016, 10:31:01 UTC | Add curtailment to SciGRID example Also improve description of variable and flexible generators in doc/components.rst. | 18 February 2016, 10:31:01 UTC |
d02f101 | Jonas Hoersch | 18 February 2016, 09:16:27 UTC | networkclustering: Refactoring. Loads and Generators are already assembled to new buses | 18 February 2016, 09:17:46 UTC |
4a62e28 | Tom Brown | 18 February 2016, 08:39:03 UTC | Improve documentation again Also remove num_phases and frequency from SubNetwork - this information is currently unnecessary for any calculations and should anyway be inherited from the buses in the sub network, like current_type. | 18 February 2016, 08:39:03 UTC |
8a3f763 | Tom Brown | 17 February 2016, 17:21:04 UTC | Separate network clustering linemap into positive and negative parts This is necessary to keep track of the directedness of the aggregated lines. | 17 February 2016, 17:21:04 UTC |
4c2c3f4 | Tom Brown | 17 February 2016, 11:56:49 UTC | Small changes to documentation and examples | 17 February 2016, 11:56:49 UTC |
b182962 | Tom Brown | 17 February 2016, 11:05:44 UTC | Merge remote-tracking branch 'vp/master' Include fix for OrderedGraph | 17 February 2016, 11:05:44 UTC |
4ddaf30 | Tom Brown | 17 February 2016, 11:03:14 UTC | Small API changes; bump version to 0.3.2 Moved network.nr_x_tol and network.opf_keep_files to the relevant functions as arguments (see release_notes.rst). Add to documentation and improved SciGRID example. | 17 February 2016, 11:03:14 UTC |
da93277 | Jonas Hoersch | 15 February 2016, 17:18:04 UTC | descriptors: Fix OrderedGraph Work around networkx bug fixed in commit e10ecc4c, which will hopefully be released as part of networkx 1.12 . | 15 February 2016, 17:18:04 UTC |
ec831b0 | Tom Brown | 10 February 2016, 16:19:49 UTC | Bump version to 0.3.1 | 10 February 2016, 16:19:49 UTC |
2f19ec1 | Tom Brown | 10 February 2016, 16:03:58 UTC | Small corrections/additions to documentation | 10 February 2016, 16:03:58 UTC |
fd45639 | Tom Brown | 08 February 2016, 19:51:00 UTC | Add new sections to documentation | 08 February 2016, 19:51:00 UTC |
4c427e6 | Tom Brown | 08 February 2016, 19:03:54 UTC | Speed up construction of objective function by over-riding pyomo In same spirit as over-ride of constraint. | 08 February 2016, 19:03:54 UTC |
0fe938d | Tom Brown | 08 February 2016, 17:25:04 UTC | Remove support for v_mag_min/max in clustering These properties are no longer supported, since all v_mag is now per unit. | 08 February 2016, 17:25:04 UTC |
80234a3 | Tom Brown | 08 February 2016, 17:12:01 UTC | Correct SciGRID load distribution error The load was being allocated to the wrong places because the graph nodes were not ordered correctly - damn you networkx OrderedGraph implementation! | 08 February 2016, 17:12:01 UTC |
808b083 | Tom Brown | 08 February 2016, 16:18:00 UTC | Change concatenation of Panel indices from union to append Append respects order and adds to the end of the index; the union with | doesn't. Example: i = pd.Index(["1","2","3"]) j = pd.Index(["100"]) print(i|j) Index([u'1', u'100', u'2', u'3'], dtype='object') | 08 February 2016, 16:18:00 UTC |
81f4444 | Tom Brown | 08 February 2016, 09:29:49 UTC | Add all nodes to network.graph For the case that some nodes are completely isolated and not linked by branches | 08 February 2016, 09:29:49 UTC |
86bc7c9 | Tom Brown | 07 February 2016, 21:06:51 UTC | Fix _opt in documentation | 07 February 2016, 21:06:51 UTC |
5262fb9 | Tom Brown | 07 February 2016, 21:02:28 UTC | Change OPF for controllable branches to use p_min/max_pu of s_nom Instead of absolute limits. This allows s_nom to be expanded while e.g. ensuring link is unidirectional. This is also then consistent with generators and storage units. | 07 February 2016, 21:02:28 UTC |
441db8f | Tom Brown | 07 February 2016, 20:21:48 UTC | Document inputs and outputs of PF and OPF Also Change the OPF output to store the optimised capacities in {p,s}_nom_opt instead of over-writing {p,s}_nom. | 07 February 2016, 20:21:48 UTC |
6d82e45 | Tom Brown | 07 February 2016, 19:26:58 UTC | Change API to always use cls_name when removing/adding Change network.remove and io.import_series_from_dataframe to use cls_name, just like network.add. | 07 February 2016, 19:26:58 UTC |
f04828d | Tom Brown | 07 February 2016, 18:39:46 UTC | Remove boolean switches for "already done stuff" I.e. network.topology_determined and network.dependent_values_calculated. These were too hard to maintain reliably. Switched to scheme were advanced users can call functions with "skip_pre" to avoid recalculating the topology and dependent values, etc. This puts onus on user to avoid repeatedly doing the same thing and avoids confusion. | 07 February 2016, 18:39:46 UTC |
b1806d0 | Tom Brown | 07 February 2016, 15:54:39 UTC | Eliminate for loops sums in favour of pandas groupby Speeds up power flow considerably. Also dealt with remaining TODO in "extract optimisation results". | 07 February 2016, 15:54:39 UTC |
5c1c765 | Tom Brown | 04 February 2016, 15:47:22 UTC | Merge branch 'master' of fias.uni-frankfurt.de:scm/pypsa | 04 February 2016, 15:47:22 UTC |
18ff4b6 | Tom Brown | 04 February 2016, 15:40:55 UTC | Small bug fixes in components | 04 February 2016, 15:40:55 UTC |
46ee748 | David Schlachtberger | 03 February 2016, 22:19:06 UTC | add documentation for solver_options | 03 February 2016, 22:19:06 UTC |
1268fe7 | David Schlachtberger | 28 January 2016, 21:29:03 UTC | Allow extra solver options for LOPF | 03 February 2016, 21:42:14 UTC |
c90eed3 | Jonas Hoersch | 03 February 2016, 19:57:38 UTC | networkclustering: Cleanup k-means clustering | 03 February 2016, 19:57:38 UTC |
22be5bf | Tom Brown | 03 February 2016, 17:11:48 UTC | Add k-means network clustering algorithm | 03 February 2016, 17:11:48 UTC |
f5fd625 | Tom Brown | 03 February 2016, 13:26:33 UTC | Add better docstrings Move attachment of functions to components.Network from other sub-modules to the class definition and out of __init__.py. | 03 February 2016, 13:26:33 UTC |
7afd1fc | Tom Brown | 01 February 2016, 09:44:16 UTC | Correct bug with P,Q of shunt impedance Also other fixes to documentation. | 01 February 2016, 09:44:16 UTC |
7a0af86 | Tom Brown | 31 January 2016, 10:38:33 UTC | Change name v_mag to v_mag_pu and tidy TODO.rst Use per unit voltage everywhere. Fix bug in OPF results for DC networks where v_ang was set instead of v_mag_pu. Tidy up TODO to reflect current status. | 31 January 2016, 10:38:33 UTC |
04f1371 | Tom Brown | 28 January 2016, 17:05:10 UTC | Allow extra functionality for LOPF | 28 January 2016, 17:05:10 UTC |
26ff067 | Tom Brown | 28 January 2016, 16:57:16 UTC | Improve Examples and Quickstart Also fixed small bug with s_nom assignment after LOPF when there are no extendable lines. | 28 January 2016, 16:57:16 UTC |
662a019 | Tom Brown | 28 January 2016, 13:40:51 UTC | Merge remote-tracking branch 'vp/master' | 28 January 2016, 13:40:51 UTC |
bf2850e | Tom Brown | 28 January 2016, 13:39:29 UTC | Remove @property and replace with functions E.g. you must now call network.branches() instead of network.branches, and bus.generators(), not bus.generators. The reason is to make the user aware that this call costs time and also that what is returned is a COPY not the original data. | 28 January 2016, 13:39:29 UTC |
eb98ea6 | Jonas Hoersch | 28 January 2016, 13:29:07 UTC | networkclustering: Add copyright header | 28 January 2016, 13:29:23 UTC |
7f9ef46 | Jonas Hoersch | 28 January 2016, 12:46:49 UTC | networkclustering: fix nameclash | 28 January 2016, 12:47:46 UTC |
99f6bfd | Tom Brown | 28 January 2016, 11:54:43 UTC | Merge branch 'spill' | 28 January 2016, 11:54:43 UTC |
baa1d01 | Tom Brown | 28 January 2016, 11:41:36 UTC | Merge remote-tracking branch 'vp/master' | 28 January 2016, 11:41:36 UTC |
2b3f7f2 | Tom Brown | 28 January 2016, 11:40:25 UTC | Document attributes for all components Attributes and their properties are listed in CSV tables, which are read in by sphinx. | 28 January 2016, 11:40:25 UTC |
9e52625 | Jonas Hoersch | 28 January 2016, 00:37:57 UTC | networkclustering: First version of a networkclustering module length-based clustering, louvain clustering and spectral clustering | 28 January 2016, 00:50:41 UTC |
78528aa | David Schlachtberger | 27 January 2016, 21:53:41 UTC | Add spilling to storage units with inflow | 27 January 2016, 21:56:50 UTC |
ed838b5 | Tom Brown | 27 January 2016, 17:20:58 UTC | Merge remote-tracking branch 'vp/master' | 27 January 2016, 17:20:58 UTC |
4995fd7 | Tom Brown | 27 January 2016, 17:20:29 UTC | Add plotting functionality for networks in pypsa/plot.py | 27 January 2016, 17:20:29 UTC |
0cb284a | Tom Brown | 27 January 2016, 16:32:41 UTC | Add function to aggregate lines between same buses Code replaces them with a single line. | 27 January 2016, 16:32:41 UTC |
86254d4 | David Schlachtberger | 27 January 2016, 13:45:28 UTC | components: [FIX] fixed the pandas DatetimeIndex bug for panels | 27 January 2016, 14:22:53 UTC |
a24fe0c | Tom Brown | 27 January 2016, 13:41:50 UTC | Merge remote-tracking branch 'vp/master' Fixed conflicts | 27 January 2016, 13:41:50 UTC |
6f21433 | Tom Brown | 27 January 2016, 13:34:30 UTC | Bump version to 0.3 and tidy up copyright info | 27 January 2016, 13:34:30 UTC |