Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

split toolbox.py and other improvements #1886

Merged
merged 48 commits into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
f86e1c3
add missing )
SteffenMeinecke Feb 13, 2023
73cf205
rename functions: drop_from_group() -> detach_from_group(), append_to…
SteffenMeinecke Feb 14, 2023
740759e
fix circular imports
SteffenMeinecke Feb 14, 2023
b23887a
tiny fix
SteffenMeinecke Feb 15, 2023
86cac63
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into r…
SteffenMeinecke Feb 15, 2023
1317018
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into d…
SteffenMeinecke Feb 15, 2023
b4e06a2
Merge branch 'develop' into rename_group_fct
SteffenMeinecke Feb 15, 2023
9aab6e5
Merge branch 'develop' into rename_group_fct
SteffenMeinecke Feb 22, 2023
1ece451
reindex_elements() avoid changing index name of line_geodata
SteffenMeinecke Feb 23, 2023
304f416
tiny fix
SteffenMeinecke Feb 23, 2023
577d1d1
Merge branch 'rename_group_fct' into develop
SteffenMeinecke Feb 24, 2023
f77a6c9
rei_generation: enable handling nullable pd.Int
SteffenMeinecke Feb 24, 2023
93dac84
* split toolbox.py -> better overview, avoiding circular imports
SteffenMeinecke Feb 24, 2023
f929de9
rename check_unique_group_names() -> check_unique_group_rows()
SteffenMeinecke Feb 24, 2023
23c3024
Merge branch 'rename_group_fct' of https://github.com/SteffenMeinecke…
SteffenMeinecke Feb 24, 2023
cce6e47
Merge branch 'rename_group_fct' into develop
SteffenMeinecke Feb 24, 2023
a713d1a
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into d…
SteffenMeinecke Feb 24, 2023
ffa279d
changelog
SteffenMeinecke Feb 24, 2023
cbd5d0d
changelog
SteffenMeinecke Feb 24, 2023
10a3f29
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into r…
SteffenMeinecke Feb 24, 2023
f94a1f0
Merge branch 'rename_group_fct' into develop
SteffenMeinecke Feb 24, 2023
d5a7e23
move log_to_level()
SteffenMeinecke Feb 27, 2023
d6c6f12
fix imports
SteffenMeinecke Feb 27, 2023
966b948
small improvement of _replace_group_member_element_type()
SteffenMeinecke Feb 27, 2023
e460328
tiny fix
SteffenMeinecke Feb 27, 2023
589121b
some improvements for rei
ZhengLiu1119 Feb 27, 2023
bb4e0c9
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into d…
ZhengLiu1119 Feb 27, 2023
21c5655
version modification
ZhengLiu1119 Feb 27, 2023
2bb5c7b
Merge branch 'develop' into develop
SteffenMeinecke Feb 28, 2023
0912f7a
new group function 'element_associated_groups' and group consideratio…
SteffenMeinecke Feb 28, 2023
cb5cccc
tiny logging change
SteffenMeinecke Feb 28, 2023
d329885
- fix element_associated_groups() for variable reference_column
SteffenMeinecke Feb 28, 2023
e0cfe75
- pp.count_elements()
SteffenMeinecke Mar 1, 2023
d9af352
adapt changelog
SteffenMeinecke Mar 1, 2023
37a7dc0
fix replace_xward_by_internal_elements() and append corresponding test
SteffenMeinecke Mar 1, 2023
e1dcc29
add drop_elements()
SteffenMeinecke Mar 2, 2023
93270c5
Merge branch 'develop' into develop
SteffenMeinecke Mar 2, 2023
4561eb4
get_equivalent(): restore gen_slacks lost in add_ext_grids_to_boundar…
SteffenMeinecke Mar 2, 2023
c8ea99f
Merge branch 'develop_zheng' into develop
SteffenMeinecke Mar 2, 2023
cba8035
fix
SteffenMeinecke Mar 2, 2023
d1ed984
further order toolbox
SteffenMeinecke Mar 2, 2023
4b68194
fix
SteffenMeinecke Mar 2, 2023
a0a6278
aim for toolbox parameter name consistency: element_types, element_i…
SteffenMeinecke Mar 2, 2023
fe26f7f
add group_res_power_per_bus
SteffenMeinecke Mar 2, 2023
e0c6ca9
- added group_index()
SteffenMeinecke Mar 3, 2023
8d77783
improve docstrings
SteffenMeinecke Mar 3, 2023
4792cf6
tiny fix
SteffenMeinecke Mar 3, 2023
74084f9
extend docstring
SteffenMeinecke Mar 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,23 @@ Change Log
- [ADDED] several 'marker size legends' sizes + a spec. color can be passed to weighted_marker_traces
- [CHANGED] changed default optimization method in the estimation module from OptAlgorithm to "Newton-CG"
- [CHANGED] cim2pp converter documentation fixes
- [CHANGED] make legend item size constant in `simple_plotly`
- [CHANGED] make legend item size constant in :code:`simple_plotly`
- [FIXED] add (nan) field "coords" to bus geodata in create_cigre_network_hv to avoid fatal error when exporting to Excel
- [FIXED] documentation of powerfactory converter
- [FIXED] create.py: if optional arguments are None or nan, the optional columns will not be added
- [FIXED] add tap_dependent_impedance attributes to trafo3w instead of trafo, in create.create_transformer3w and create.create_transformer3w_from_parameters
- [CHANGED] renamed functions: drop_from_group() -> detach_from_group(), append_to_group() -> attach_to_group(), check_unique_group_names() -> check_unique_group_rows()
- [CHANGED] attach_to_group(): enable handling of different reference_column passed than existing
- [ADDED] toolbox function :code:`count_elements`, :code:`drop_elements`, :code:`res_power_columns`
- [ADDED] new group functions :code:`element_associated_groups`, :code:`attach_to_groups`, :code:`group_res_power_per_bus`, :code:`group_index`
- [CHANGED] __repr__ (used by print(net)) now considers groups appropriately
- [ADDED] documentation of DeprecationWarning process
- [ADDED] add TDPF parameters as optional parameters for create line functions in create.py
- [CHANGED] remove support for Python 3.7 and add Python 3.11
- [CHANGED] split toolbox.py -> better overview, avoiding circular imports
- [CHANGED] aim for toolbox parameter name consistency: element_types, element_index (changes to mandatory parameters only)
- [CHANGED] output type of toolbox function :code:`element_bus_tuples`: set -> list
- [ADDED] group consideration in toolbox replace element functionality
- [ADDED] implementation of the "recycle" functionality for DC power flow and timeseries with run=pp.rundcpp

[2.11.1] - 2023-01-02
Expand Down Expand Up @@ -156,7 +165,7 @@ Change Log
- [ADDED] documentation on how to install Gurobi as a PowerModels.jl solver.
- [ADDED] the voltage set point of external grids can now be optimized by the OPF by setting net.ext_grid.controllable to True.
- [ADDED] the Powermodels AC OPF can now be used with line loading constraints formulated with respect to the maximum current net.line.max_i_ka by using pp.runpm_ac_opf(net, opf_flow_lim="I").
- [ADDED] for easier debugging of the Powermodels interface, you can now save your .json file and specify the file name by using pp.runpm(net, delete_buffer_file=False, pm_file_path="filename.json".
- [ADDED] for easier debugging of the Powermodels interface, you can now save your .json file and specify the file name by using pp.runpm(net, delete_buffer_file=False, pm_file_path="filename.json").
- [CHANGED] The create-module now contains some functions for standardized checks and procedures in all create functions.
- [CHANGED] all controllers and output writers do not have net as attribute any more.
- [CHANGED] due to multi net implementations in pandapipes, time series functions have been adapted drastically in order to minimize duplicated code.
Expand Down
16 changes: 12 additions & 4 deletions doc/group.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,28 @@ Create and delete groups
Adapt group members
====================================

.. autofunction:: pandapower.append_to_group
.. autofunction:: pandapower.attach_to_group

.. autofunction:: pandapower.drop_from_group
.. autofunction:: pandapower.attach_to_groups

.. autofunction:: pandapower.drop_from_groups
.. autofunction:: pandapower.detach_from_group

.. autofunction:: pandapower.detach_from_groups

=================================================
Access group data and evaluate membership
=================================================

.. autofunction:: pandapower.group_name

.. autofunction:: pandapower.group_index

.. autofunction:: pandapower.group_element_index

.. autofunction:: pandapower.group_row

.. autofunction:: pandapower.element_associated_groups

.. autofunction:: pandapower.isin_group

.. autofunction:: pandapower.count_group_elements
Expand All @@ -58,7 +64,7 @@ Compare groups
Fix group data
=================================================

.. autofunction:: pandapower.check_unique_group_names
.. autofunction:: pandapower.check_unique_group_rows

.. autofunction:: pandapower.remove_not_existing_group_members

Expand All @@ -80,6 +86,8 @@ Further group functions

.. autofunction:: pandapower.group_res_q_mvar

.. autofunction:: pandapower.group_res_power_per_bus

.. autofunction:: pandapower.set_group_reference_column

.. autofunction:: pandapower.return_group_as_net
127 changes: 75 additions & 52 deletions doc/toolbox.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ interesting to other users as well and do not fit into one of the specialized pa
contribution. To improve overview functions are loosely grouped by functionality, please adhere to this notion when
adding your own functions and feel free to open new groups as needed.

.. note::
If you implement a function that might be useful for others, it is mandatory to add a short docstring to make browsing
the toolbox practical. Ideally further comments if appropriate and a reference of authorship should be added as well.

====================================
General Issues
====================================
Expand All @@ -23,6 +19,8 @@ General Issues

.. autofunction:: pandapower.branch_element_bus_dict

.. autofunction:: pandapower.count_elements

.. autofunction:: pandapower.signing_system_value

.. autofunction:: pandapower.pq_from_cosphi
Expand All @@ -33,8 +31,16 @@ General Issues

.. autofunction:: pandapower.compare_arrays

.. autofunction:: pandapower.nets_equal

.. function from other files than toolbox_general_issues.py:

.. autofunction:: pandapower.ensure_iterability

.. autofunction:: pandapower.read_from_net

.. autofunction:: pandapower.write_to_net

====================================
Result Information
====================================
Expand All @@ -49,12 +55,36 @@ Result Information

.. autofunction:: pandapower.violated_buses

.. autofunction:: pandapower.nets_equal

.. autofunction:: pandapower.clear_result_tables

====================================
Simulation Setup and Preparation
Item/Element Selection
====================================

.. autofunction:: pandapower.get_element_index

.. autofunction:: pandapower.get_element_indices

.. autofunction:: pandapower.next_bus

.. autofunction:: pandapower.get_connected_elements

.. autofunction:: pandapower.get_connected_buses

.. autofunction:: pandapower.get_connected_buses_at_element

.. autofunction:: pandapower.get_connected_switches

.. autofunction:: pandapower.false_elm_links

.. autofunction:: pandapower.false_elm_links_loop

.. function from other files than toolbox_elm_selection.py:

.. autofunction:: pandapower.get_inner_branches

====================================
Data Modification
====================================

.. autofunction:: pandapower.add_column_from_node_to_elements
Expand All @@ -73,57 +103,71 @@ Simulation Setup and Preparation

.. autofunction:: pandapower.set_scaling_by_type

#.. autofunction:: pandapower.convert_format

.. autofunction:: pandapower.set_data_type_of_columns_to_default

.. autofunction:: pandapower.get_connecting_branches

.. function from other files than toolbox_data_modification.py:

.. autofunction:: pandapower.convert_format

====================================
Topology Modification
Electric Grid Modification
====================================

.. autofunction:: pandapower.select_subnet

.. autofunction:: pandapower.merge_nets

.. autofunction:: pandapower.set_element_status

.. autofunction:: pandapower.set_isolated_areas_out_of_service

.. autofunction:: pandapower.repl_to_line

.. autofunction:: pandapower.merge_parallel_line

.. autofunction:: pandapower.merge_same_bus_generation_plants

.. autofunction:: pandapower.close_switch_at_line_with_two_open_switches

.. autofunction:: pandapower.fuse_buses

.. autofunction:: pandapower.drop_buses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dropping Elements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autofunction:: pandapower.drop_switches_at_buses
.. autofunction:: pandapower.drop_elements

.. autofunction:: pandapower.drop_elements_at_buses
.. autofunction:: pandapower.drop_elements_simple

.. autofunction:: pandapower.drop_buses

.. autofunction:: pandapower.drop_trafos

.. autofunction:: pandapower.drop_lines

.. autofunction:: pandapower.drop_measurements_at_elements

.. autofunction:: pandapower.drop_duplicated_measurements
.. autofunction:: pandapower.drop_elements_at_buses

.. autofunction:: pandapower.get_connecting_branches
.. autofunction:: pandapower.drop_switches_at_buses

.. autofunction:: pandapower.get_inner_branches
.. autofunction:: pandapower.drop_measurements_at_elements

.. autofunction:: pandapower.drop_inner_branches
.. autofunction:: pandapower.drop_controllers_at_elements

.. autofunction:: pandapower.set_element_status
.. autofunction:: pandapower.drop_controllers_at_buses

.. autofunction:: pandapower.set_isolated_areas_out_of_service
.. autofunction:: pandapower.drop_duplicated_measurements

.. autofunction:: pandapower.drop_elements_simple
.. autofunction:: pandapower.drop_inner_branches

.. autofunction:: pandapower.drop_out_of_service_elements

.. autofunction:: pandapower.drop_inactive_elements

.. autofunction:: pandapower.select_subnet

.. autofunction:: pandapower.merge_nets

.. autofunction:: pandapower.repl_to_line

.. autofunction:: pandapower.merge_parallel_line

.. autofunction:: pandapower.merge_same_bus_generation_plants
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Replacing Elements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autofunction:: pandapower.create_replacement_switch_for_branch

Expand All @@ -146,24 +190,3 @@ Topology Modification
.. autofunction:: pandapower.replace_ward_by_internal_elements

.. autofunction:: pandapower.replace_xward_by_internal_elements


====================================
Item/Element Selection
====================================

.. autofunction:: pandapower.get_element_index

.. autofunction:: pandapower.get_element_indices

.. autofunction:: pandapower.next_bus

.. autofunction:: pandapower.get_connected_elements

.. autofunction:: pandapower.get_connected_buses

.. autofunction:: pandapower.get_connected_buses_at_element

.. autofunction:: pandapower.get_connected_switches

.. autofunction:: pandapower.get_connected_elements_dict
23 changes: 13 additions & 10 deletions pandapower/__init__.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
__version__ = "2.11.1"
__format_version__ = "2.10.1.post1"

import os
pp_dir = os.path.dirname(os.path.realpath(__file__))

from pandapower._version import __version__, __format_version__
from pandapower.auxiliary import *
from pandapower.convert_format import *
from pandapower.std_types import *
from pandapower.create import *
from pandapower.diagnostic import *
from pandapower.convert_format import *
from pandapower.file_io import *
from pandapower.sql_io import to_postgresql, from_postgresql, delete_postgresql_net, to_sqlite, from_sqlite
from pandapower.run import *
from pandapower.runpm import *
from pandapower.toolbox import *
from pandapower.powerflow import *
from pandapower.opf import *
from pandapower.optimal_powerflow import OPFNotConverged
from pandapower.pf.runpp_3ph import runpp_3ph
from pandapower.run import *
from pandapower.opf import *
from pandapower.toolbox_general_issues import *
from pandapower.toolbox_info import *
from pandapower.toolbox_elm_selection import *
from pandapower.toolbox_data_modification import *
from pandapower.groups import *
from pandapower.toolbox_grid_modification import *
from pandapower.diagnostic import *
from pandapower.runpm import *
from pandapower.pf.runpp_3ph import runpp_3ph

import pandas as pd
pd.options.mode.chained_assignment = None # default='warn'
2 changes: 2 additions & 0 deletions pandapower/_version.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
__version__ = "2.11.1"
__format_version__ = "2.10.1.post1"
Loading