Skip to content

Commit

Permalink
Merge pull request #270 from PowerGridModel/feature/jupyter-black-pre…
Browse files Browse the repository at this point in the history
…commit

Black jupyter precommit
  • Loading branch information
nitbharambe authored Aug 23, 2024
2 parents a7a60b1 + 5ea3864 commit 11e5326
Show file tree
Hide file tree
Showing 5 changed files with 147 additions and 47 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/check-code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Install and run black
run: |
pip install black
pip install black[jupyter]
black .
- name: Install and run mypy
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repos:
- repo: https://github.com/psf/black
rev: 22.10.0
hooks:
- id: black
- id: black-jupyter
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.2.0
hooks:
Expand Down
34 changes: 30 additions & 4 deletions docs/examples/arrow_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,21 @@
" pa.array([4.1e-05, 5.4e-05], type=pa.float64()), # c0\n",
" pa.array([0.4, 0.1], type=pa.float64()), # tan0\n",
" ],\n",
" names=(\"id\", \"from_node\", \"to_node\", \"from_status\", \"to_status\", \"r1\", \"x1\", \"c1\", \"tan1\", \"r0\", \"x0\", \"c0\", \"tan0\"),\n",
" names=(\n",
" \"id\",\n",
" \"from_node\",\n",
" \"to_node\",\n",
" \"from_status\",\n",
" \"to_status\",\n",
" \"r1\",\n",
" \"x1\",\n",
" \"c1\",\n",
" \"tan1\",\n",
" \"r0\",\n",
" \"x0\",\n",
" \"c0\",\n",
" \"tan0\",\n",
" ),\n",
")\n",
"sources = pa.table(\n",
" [\n",
Expand Down Expand Up @@ -511,7 +525,18 @@
" pa.array([1.5e3, 2.5], type=pa.float64()), # q_specified_b\n",
" pa.array([0.1, 1.5e3], type=pa.float64()), # q_specified_c\n",
" ],\n",
" names=(\"id\", \"node\", \"status\", \"type\", \"p_specified_a\", \"p_specified_b\", \"p_specified_c\", \"q_specified_a\", \"q_specified_b\", \"q_specified_c\"),\n",
" names=(\n",
" \"id\",\n",
" \"node\",\n",
" \"status\",\n",
" \"type\",\n",
" \"p_specified_a\",\n",
" \"p_specified_b\",\n",
" \"p_specified_c\",\n",
" \"q_specified_a\",\n",
" \"q_specified_b\",\n",
" \"q_specified_c\",\n",
" ),\n",
")\n",
"\n",
"asym_loads"
Expand All @@ -538,7 +563,7 @@
"source": [
"def arrow_to_numpy_asym(data: pa.lib.Table, data_type: str, component: str) -> np.ndarray:\n",
" \"\"\"Convert asymmetric Arrow data to NumPy data.\n",
" \n",
"\n",
" This function is similar to the arrow_to_numpy function, but also supports asymmetric data.\"\"\"\n",
" result = initialize_array(data_type, component, len(data))\n",
" phases = (\"a\", \"b\", \"c\")\n",
Expand All @@ -557,9 +582,10 @@
"\n",
" return result\n",
"\n",
"\n",
"asym_load_input = arrow_to_numpy_asym(asym_loads, \"input\", \"asym_load\")\n",
"\n",
"asym_load_input\n"
"asym_load_input"
]
},
{
Expand Down
141 changes: 111 additions & 30 deletions docs/examples/pandapower_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@
"import warnings\n",
"import pandapower as pp\n",
"\n",
"warnings.filterwarnings(\"ignore\", module=\"pandapower\", category=FutureWarning) # Hide warnings related to pandas\n",
"warnings.filterwarnings(\"ignore\", module=\"pandapower\", category=FutureWarning) # Hide warnings related to pandas\n",
"\n",
"\n",
"def pandapower_simple_grid():\n",
" net = pp.create_empty_network(f_hz=50)\n",
Expand All @@ -55,19 +56,80 @@
" pp.create_bus(net, index=105, vn_kv=60)\n",
" pp.create_bus(net, index=106, vn_kv=110)\n",
" pp.create_ext_grid(net, index=1, in_service=True, bus=101, vm_pu=1, s_sc_max_mva=1e10, rx_max=0, va_degree=0)\n",
" pp.create_transformer_from_parameters(net,index=101,hv_bus=101,lv_bus=102,i0_percent=3.0,pfe_kw=11.6,vkr_percent=10.22,sn_mva=40,vn_lv_kv=20.0,vn_hv_kv=110.0,vk_percent=17.8,vector_group=\"Dyn\",shift_degree=30,tap_side=\"hv\",tap_pos=2,tap_min=-1,tap_max=3,tap_step_percent=2,tap_neutral=1,parallel=2,)\n",
" pp.create_line(net, index=101, from_bus=103, to_bus=102, length_km=1.23, parallel=2, df=0.2, std_type=\"NAYY 4x150 SE\")\n",
" pp.create_load(net, index=101, bus=103, p_mw=2.5, q_mvar=0.24, const_i_percent=26.0, const_z_percent=51.0, cos_phi=2)\n",
" pp.create_transformer_from_parameters(\n",
" net,\n",
" index=101,\n",
" hv_bus=101,\n",
" lv_bus=102,\n",
" i0_percent=3.0,\n",
" pfe_kw=11.6,\n",
" vkr_percent=10.22,\n",
" sn_mva=40,\n",
" vn_lv_kv=20.0,\n",
" vn_hv_kv=110.0,\n",
" vk_percent=17.8,\n",
" vector_group=\"Dyn\",\n",
" shift_degree=30,\n",
" tap_side=\"hv\",\n",
" tap_pos=2,\n",
" tap_min=-1,\n",
" tap_max=3,\n",
" tap_step_percent=2,\n",
" tap_neutral=1,\n",
" parallel=2,\n",
" )\n",
" pp.create_line(\n",
" net, index=101, from_bus=103, to_bus=102, length_km=1.23, parallel=2, df=0.2, std_type=\"NAYY 4x150 SE\"\n",
" )\n",
" pp.create_load(\n",
" net, index=101, bus=103, p_mw=2.5, q_mvar=0.24, const_i_percent=26.0, const_z_percent=51.0, cos_phi=2\n",
" )\n",
" pp.create_switch(net, index=101, et=\"l\", bus=103, element=101, closed=True)\n",
" pp.create_switch(net, index=3021, et=\"b\", bus=101, element=106, closed=True)\n",
" pp.create_switch(net, index=321, et=\"t\", bus=101, element=101, closed=True)\n",
" pp.create_shunt(net, index=1201, in_service=True, bus=104, p_mw=0.1, q_mvar=0.55, step=3)\n",
" pp.create_sgen(net, index=31, bus=105, p_mw=1.21, q_mvar=0.81)\n",
" pp.create_asymmetric_sgen(net, index=32, bus=105, p_a_mw=0.1, p_b_mw=0.2, p_c_mw=3, q_a_mvar=0.01, q_b_mvar=0.01, q_c_mvar=0.01)\n",
" pp.create_asymmetric_load(net, index=33, bus=105, p_a_mw=0.1, p_b_mw=0.2, p_c_mw=3, q_a_mvar=0.01, q_b_mvar=0.01, q_c_mvar=0.01)\n",
" pp.create_asymmetric_sgen(\n",
" net, index=32, bus=105, p_a_mw=0.1, p_b_mw=0.2, p_c_mw=3, q_a_mvar=0.01, q_b_mvar=0.01, q_c_mvar=0.01\n",
" )\n",
" pp.create_asymmetric_load(\n",
" net, index=33, bus=105, p_a_mw=0.1, p_b_mw=0.2, p_c_mw=3, q_a_mvar=0.01, q_b_mvar=0.01, q_c_mvar=0.01\n",
" )\n",
" pp.create_ward(net, index=34, bus=105, ps_mw=0.1, qs_mvar=0.1, pz_mw=0.1, qz_mvar=0.1)\n",
" pp.create_motor(net, bus=105, index=12, pn_mech_mw=0.1, cos_phi=0.9, loading_percent=80, efficiency_percent=90, scaling=0.8)\n",
" pp.create_transformer3w_from_parameters(net,index=102,hv_bus=103,mv_bus=105,lv_bus=104,in_service=True,vn_hv_kv=20.0,vn_mv_kv=60.0,vn_lv_kv=30.1,sn_hv_mva=40,sn_mv_mva=100,sn_lv_mva=50,vk_hv_percent=10,vk_mv_percent=11,vk_lv_percent=12,vkr_hv_percent=1,vkr_mv_percent=2,vkr_lv_percent=4,i0_percent=0.1,pfe_kw=10,vector_group=\"Dyny\",shift_mv_degree=30,shift_lv_degree=30,tap_side=\"lv\",tap_pos=2,tap_min=1,tap_max=3,tap_step_percent=3,tap_neutral=2)\n",
" pp.create_motor(\n",
" net, bus=105, index=12, pn_mech_mw=0.1, cos_phi=0.9, loading_percent=80, efficiency_percent=90, scaling=0.8\n",
" )\n",
" pp.create_transformer3w_from_parameters(\n",
" net,\n",
" index=102,\n",
" hv_bus=103,\n",
" mv_bus=105,\n",
" lv_bus=104,\n",
" in_service=True,\n",
" vn_hv_kv=20.0,\n",
" vn_mv_kv=60.0,\n",
" vn_lv_kv=30.1,\n",
" sn_hv_mva=40,\n",
" sn_mv_mva=100,\n",
" sn_lv_mva=50,\n",
" vk_hv_percent=10,\n",
" vk_mv_percent=11,\n",
" vk_lv_percent=12,\n",
" vkr_hv_percent=1,\n",
" vkr_mv_percent=2,\n",
" vkr_lv_percent=4,\n",
" i0_percent=0.1,\n",
" pfe_kw=10,\n",
" vector_group=\"Dyny\",\n",
" shift_mv_degree=30,\n",
" shift_lv_degree=30,\n",
" tap_side=\"lv\",\n",
" tap_pos=2,\n",
" tap_min=1,\n",
" tap_max=3,\n",
" tap_step_percent=3,\n",
" tap_neutral=2,\n",
" )\n",
" return net"
]
},
Expand Down Expand Up @@ -133,7 +195,7 @@
"source": [
"import pandas as pd\n",
"\n",
"pd.set_option('future.no_silent_downcasting', True) # enable behaviour of pandas 3.x\n",
"pd.set_option(\"future.no_silent_downcasting\", True) # enable behaviour of pandas 3.x\n",
"\n",
"# The node data is stored as a numpy structured array in input_data[\"line\"]\n",
"display(input_data[\"line\"])\n",
Expand Down Expand Up @@ -162,7 +224,7 @@
"from power_grid_model import CalculationType\n",
"from power_grid_model.validation import assert_valid_input_data\n",
"\n",
"assert_valid_input_data(input_data, calculation_type=CalculationType.power_flow, symmetric=True)\n"
"assert_valid_input_data(input_data, calculation_type=CalculationType.power_flow, symmetric=True)"
]
},
{
Expand Down Expand Up @@ -348,7 +410,7 @@
"outputs": [],
"source": [
"from power_grid_model_io.converters import PgmJsonConverter\n",
" \n",
"\n",
"input_file = \"data/pandapower/example_simple_input.json\"\n",
"output_file = \"data/pandapower/example_simple_output.json\"\n",
"\n",
Expand Down Expand Up @@ -464,7 +526,7 @@
}
],
"source": [
"pp.runpp(pp_net, trafo_model='pi', trafo_loading='power', calculate_voltage_angles=True, numba=False)\n",
"pp.runpp(pp_net, trafo_model=\"pi\", trafo_loading=\"power\", calculate_voltage_angles=True, numba=False)\n",
"display(pp_net.res_bus)"
]
},
Expand Down Expand Up @@ -613,23 +675,42 @@
"source": [
"def pandapower_simple_asym_grid():\n",
" net = pp.create_empty_network()\n",
" b1 = pp.create_bus(net, 20.0)\n",
" b2 = pp.create_bus(net, 0.4)\n",
" b3 = pp.create_bus(net, 0.4)\n",
" pp.create_ext_grid(net, b1, s_sc_max_mva=1000, rx_max=0.1, x0x_max=1.0,\n",
" r0x0_max=0.1)\n",
" pp.create_transformer_from_parameters(net, b1, b2, sn_mva=0.63,\n",
" vn_hv_kv=20., vn_lv_kv=0.4,\n",
" vkr_percent=0.1, vk_percent=6,\n",
" vk0_percent=6, vkr0_percent=0.78125,\n",
" mag0_percent=100, mag0_rx=0.,\n",
" pfe_kw=0.1, i0_percent=0.1,\n",
" vector_group=\"Dyn\", shift_degree=150,\n",
" si0_hv_partial=0.9)\n",
" pp.create_line_from_parameters(net, b2, b3, length_km=0.1, r0_ohm_per_km=0.0848,\n",
" x0_ohm_per_km=0.4649556, c0_nf_per_km=230.6,\n",
" max_i_ka=0.963, r_ohm_per_km=0.0212,\n",
" x_ohm_per_km=0.1162389, c_nf_per_km= 230)\n",
" b1 = pp.create_bus(net, 20.0)\n",
" b2 = pp.create_bus(net, 0.4)\n",
" b3 = pp.create_bus(net, 0.4)\n",
" pp.create_ext_grid(net, b1, s_sc_max_mva=1000, rx_max=0.1, x0x_max=1.0, r0x0_max=0.1)\n",
" pp.create_transformer_from_parameters(\n",
" net,\n",
" b1,\n",
" b2,\n",
" sn_mva=0.63,\n",
" vn_hv_kv=20.0,\n",
" vn_lv_kv=0.4,\n",
" vkr_percent=0.1,\n",
" vk_percent=6,\n",
" vk0_percent=6,\n",
" vkr0_percent=0.78125,\n",
" mag0_percent=100,\n",
" mag0_rx=0.0,\n",
" pfe_kw=0.1,\n",
" i0_percent=0.1,\n",
" vector_group=\"Dyn\",\n",
" shift_degree=150,\n",
" si0_hv_partial=0.9,\n",
" )\n",
" pp.create_line_from_parameters(\n",
" net,\n",
" b2,\n",
" b3,\n",
" length_km=0.1,\n",
" r0_ohm_per_km=0.0848,\n",
" x0_ohm_per_km=0.4649556,\n",
" c0_nf_per_km=230.6,\n",
" max_i_ka=0.963,\n",
" r_ohm_per_km=0.0212,\n",
" x_ohm_per_km=0.1162389,\n",
" c_nf_per_km=230,\n",
" )\n",
" pp.create_asymmetric_load(net, b3, p_a_mw=0.25, p_b_mw=0.18, p_c_mw=0.20, type=\"wye\")\n",
" return net"
]
Expand Down Expand Up @@ -657,7 +738,7 @@
}
],
"source": [
"pp_net_3ph = pandapower_simple_asym_grid()\n",
"pp_net_3ph = pandapower_simple_asym_grid()\n",
"asym_input_data, asym_extra_info = converter.load_input_data(pp_net_3ph)\n",
"asym_pgm = PowerGridModel(input_data=asym_input_data)\n",
"asym_output_data = asym_pgm.calculate_power_flow(symmetric=False)\n",
Expand Down
15 changes: 4 additions & 11 deletions docs/examples/vision_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -317,24 +317,17 @@
"print(\"PGM object #7:\", converter.lookup_id(7))\n",
"print(\"PGM object #9:\", converter.lookup_id(9))\n",
"\n",
"print(\n",
" \"Node with Number=1:\",\n",
" converter.get_node_id(number=1)\n",
")\n",
"print(\"Node with Number=1:\", converter.get_node_id(number=1))\n",
"\n",
"print(\n",
" \"Cables with Number=6:\",\n",
" converter.get_branch_id(table=\"Cables\", number=6)\n",
")\n",
"print(\"Cables with Number=6:\", converter.get_branch_id(table=\"Cables\", number=6))\n",
"\n",
"print(\n",
" \"Source with Node.Number=1 and Subnumber=1:\",\n",
" converter.get_appliance_id(table=\"Sources\", node_number=1, sub_number=1)\n",
" converter.get_appliance_id(table=\"Sources\", node_number=1, sub_number=1),\n",
")\n",
"\n",
"print(\n",
" \"Loads with Node.Number=4 and Subnumber=1:\",\n",
" converter.get_appliance_id(table=\"Loads\", node_number=4, sub_number=1)\n",
" \"Loads with Node.Number=4 and Subnumber=1:\", converter.get_appliance_id(table=\"Loads\", node_number=4, sub_number=1)\n",
")"
]
},
Expand Down

0 comments on commit 11e5326

Please sign in to comment.