GridCalEngine 5.1.5__tar.gz → 5.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/investment.py +6 -1
  2. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/line_locations.py +1 -1
  3. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/base_diagram.py +2 -1
  4. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/graphic_location.py +8 -4
  5. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/multi_circuit.py +1 -1
  6. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +1 -1
  7. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +44 -27
  8. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/file_handler.py +1 -1
  9. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/excel_interface.py +17 -24
  10. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/pack_unpack.py +1 -1
  11. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +41 -23
  12. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +7 -1
  13. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/__version__.py +1 -1
  14. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/PKG-INFO +1 -1
  15. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/__init__.py +0 -0
  16. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
  17. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/circuit_to_data.py +0 -0
  18. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/circuit_to_newton_pa.py +0 -0
  19. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
  20. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
  21. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/__init__.py +0 -0
  22. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/battery_data.py +0 -0
  23. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/branch_data.py +0 -0
  24. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/bus_data.py +0 -0
  25. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
  26. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
  27. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
  28. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
  29. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
  30. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/generator_data.py +0 -0
  31. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
  32. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/load_data.py +0 -0
  33. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
  34. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/DataStructures/shunt_data.py +0 -0
  35. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/__init__.py +0 -0
  36. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/area.py +0 -0
  37. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
  38. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/community.py +0 -0
  39. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
  40. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
  41. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/country.py +0 -0
  42. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/emission_gas.py +0 -0
  43. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/fuel.py +0 -0
  44. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
  45. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
  46. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
  47. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/region.py +0 -0
  48. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/technology.py +0 -0
  49. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
  50. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Associations/__init__.py +0 -0
  51. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Associations/generator_emission.py +0 -0
  52. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Associations/generator_fuel.py +0 -0
  53. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Associations/generator_technology.py +0 -0
  54. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/__init__.py +0 -0
  55. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/branch.py +0 -0
  56. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
  57. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/hvdc_line.py +0 -0
  58. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/line.py +0 -0
  59. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
  60. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
  61. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
  62. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/switch.py +0 -0
  63. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/tap_changer.py +0 -0
  64. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/transformer.py +0 -0
  65. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
  66. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
  67. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
  68. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/upfc.py +0 -0
  69. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/vsc.py +0 -0
  70. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/winding.py +0 -0
  71. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Branches/wire.py +0 -0
  72. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
  73. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
  74. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
  75. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
  76. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
  77. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
  78. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
  79. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
  80. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
  81. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
  82. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
  83. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/__init__.py +0 -0
  84. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/battery.py +0 -0
  85. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
  86. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
  87. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
  88. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/generator.py +0 -0
  89. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
  90. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/load.py +0 -0
  91. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/shunt.py +0 -0
  92. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
  93. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/__init__.py +0 -0
  94. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
  95. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
  96. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/editable_device.py +0 -0
  97. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
  98. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
  99. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
  100. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
  101. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/__init__.py +0 -0
  102. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/bus.py +0 -0
  103. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/busbar.py +0 -0
  104. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
  105. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/substation.py +0 -0
  106. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
  107. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/__init__.py +0 -0
  108. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/measurement.py +0 -0
  109. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/profile.py +0 -0
  110. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/sparse_array.py +0 -0
  111. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Devices/types.py +0 -0
  112. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/__init__.py +0 -0
  113. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/base/__init__.py +0 -0
  114. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/base/base_circuit.py +0 -0
  115. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/base/base_device.py +0 -0
  116. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/base/base_property.py +0 -0
  117. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/base/units.py +0 -0
  118. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/__init__.py +0 -0
  119. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
  120. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
  121. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
  122. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +0 -0
  123. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
  124. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
  125. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
  126. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +0 -0
  127. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
  128. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
  129. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
  130. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
  131. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
  132. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
  133. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
  134. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
  135. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
  136. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
  137. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
  138. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
  139. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
  140. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
  141. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
  142. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
  143. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
  144. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
  145. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
  146. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
  147. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
  148. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
  149. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
  150. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
  151. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
  152. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
  153. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
  154. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
  155. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
  156. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
  157. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
  158. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
  159. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
  160. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
  161. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
  162. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
  163. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
  164. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
  165. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
  166. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
  167. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
  168. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
  169. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
  170. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
  171. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
  172. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
  173. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
  174. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
  175. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
  176. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
  177. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
  178. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
  179. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
  180. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
  181. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
  182. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
  183. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
  184. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
  185. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
  186. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
  187. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
  188. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
  189. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
  190. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
  191. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
  192. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
  193. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
  194. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
  195. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
  196. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
  197. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
  198. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
  199. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
  200. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
  201. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
  202. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
  203. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
  204. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
  205. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
  206. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
  207. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
  208. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
  209. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
  210. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
  211. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
  212. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
  213. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
  214. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
  215. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
  216. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
  217. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
  218. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
  219. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
  220. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
  221. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
  222. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
  223. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
  224. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
  225. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
  226. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
  227. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
  228. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
  229. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
  230. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
  231. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
  232. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
  233. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
  234. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
  235. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
  236. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
  237. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
  238. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
  239. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
  240. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
  241. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
  242. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
  243. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
  244. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
  245. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
  246. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
  247. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
  248. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
  249. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
  250. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
  251. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
  252. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
  253. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
  254. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
  255. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
  256. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
  257. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
  258. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
  259. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
  260. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
  261. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
  262. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
  263. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
  264. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
  265. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
  266. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
  267. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
  268. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
  269. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
  270. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
  271. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
  272. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
  273. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
  274. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
  275. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
  276. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
  277. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
  278. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
  279. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
  280. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
  281. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
  282. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
  283. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
  284. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
  285. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
  286. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
  287. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
  288. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
  289. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
  290. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
  291. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
  292. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
  293. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
  294. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
  295. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
  296. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
  297. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
  298. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
  299. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
  300. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
  301. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
  302. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
  303. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
  304. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
  305. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
  306. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
  307. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
  308. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
  309. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
  310. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
  311. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
  312. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
  313. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
  314. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
  315. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
  316. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
  317. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
  318. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
  319. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
  320. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
  321. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
  322. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
  323. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
  324. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
  325. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
  326. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
  327. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
  328. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
  329. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
  330. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
  331. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
  332. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
  333. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
  334. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
  335. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
  336. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
  337. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
  338. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
  339. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
  340. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
  341. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
  342. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
  343. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
  344. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
  345. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
  346. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
  347. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
  348. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
  349. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
  350. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
  351. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
  352. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
  353. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
  354. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
  355. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
  356. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
  357. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
  358. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
  359. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
  360. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
  361. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
  362. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
  363. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
  364. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
  365. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
  366. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
  367. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
  368. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
  369. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
  370. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
  371. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
  372. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
  373. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
  374. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
  375. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
  376. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
  377. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
  378. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
  379. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
  380. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
  381. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
  382. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
  383. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
  384. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
  385. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
  386. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
  387. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
  388. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
  389. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
  390. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
  391. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
  392. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
  393. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
  394. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
  395. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
  396. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
  397. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
  398. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
  399. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
  400. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
  401. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
  402. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
  403. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
  404. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
  405. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
  406. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
  407. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
  408. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
  409. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
  410. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
  411. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
  412. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
  413. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
  414. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
  415. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
  416. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
  417. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
  418. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
  419. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
  420. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
  421. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
  422. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
  423. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
  424. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
  425. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
  426. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
  427. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
  428. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
  429. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
  430. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
  431. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
  432. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
  433. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
  434. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
  435. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
  436. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
  437. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
  438. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
  439. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
  440. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
  441. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
  442. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
  443. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
  444. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
  445. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
  446. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  447. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  448. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  449. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  450. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  451. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  452. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  453. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  454. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  455. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  456. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  457. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  458. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/dgs/__init__.py +0 -0
  459. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  460. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/epc/__init__.py +0 -0
  461. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  462. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/file_system.py +0 -0
  463. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  464. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  465. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  466. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  467. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  468. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  469. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/gridcal/zip_interface.py +0 -0
  470. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/__init__.py +0 -0
  471. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  472. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  473. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  474. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  475. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  476. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/others/__init__.py +0 -0
  477. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  478. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  479. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/others/plx_parser.py +0 -0
  480. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  481. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/__init__.py +0 -0
  482. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  483. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/area.py +0 -0
  484. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  485. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  486. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  487. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  488. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  489. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  490. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  491. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  492. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/load.py +0 -0
  493. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/node.py +0 -0
  494. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  495. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  496. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  497. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  498. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  499. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  500. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  501. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  502. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  503. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
  504. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  505. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
  506. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  507. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
  508. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
  509. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
  510. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
  511. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  512. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/LICENSE.txt +0 -0
  513. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  514. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
  515. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -0
  516. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  517. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  518. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
  519. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  520. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  521. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
  522. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
  523. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
  524. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
  525. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
  526. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +0 -0
  527. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
  528. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
  529. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  530. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  531. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  532. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -0
  533. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  534. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  535. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  536. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  537. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
  538. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  539. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  540. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  541. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  542. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  543. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  544. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  545. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  546. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_pareto.py +0 -0
  547. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_scaled.py +0 -0
  548. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_original.py +0 -0
  549. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/__init__.py +0 -0
  550. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/stop_crits.py +0 -0
  551. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  552. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  553. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
  554. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  555. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  556. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  557. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
  558. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  559. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  560. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  561. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  562. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  563. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
  564. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
  565. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
  566. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
  567. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
  568. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
  569. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
  570. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +0 -0
  571. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
  572. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
  573. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
  574. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +0 -0
  575. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/opf_driver.py +0 -0
  576. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
  577. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
  578. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  579. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  580. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  581. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -0
  582. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -0
  583. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  584. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -0
  585. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  586. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  587. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  588. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  589. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  590. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -0
  591. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -0
  592. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  593. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -0
  594. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -0
  595. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -0
  596. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -0
  597. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -0
  598. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  599. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
  600. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  601. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
  602. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  603. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +0 -0
  604. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  605. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  606. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
  607. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  608. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  609. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
  610. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  611. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  612. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  613. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  614. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  615. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  616. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  617. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
  618. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
  619. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  620. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  621. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
  622. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
  623. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  624. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  625. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  626. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
  627. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
  628. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
  629. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/__init__.py +0 -0
  630. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/driver_template.py +0 -0
  631. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/driver_types.py +0 -0
  632. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/results_table.py +0 -0
  633. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Simulations/results_template.py +0 -0
  634. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/__init__.py +0 -0
  635. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/admittance_matrices.py +0 -0
  636. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/detect_substations.py +0 -0
  637. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/simulation_indices.py +0 -0
  638. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/topology.py +0 -0
  639. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Topology/topology_substation_reduction.py +0 -0
  640. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
  641. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
  642. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
  643. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
  644. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
  645. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
  646. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
  647. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
  648. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
  649. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/__init__.py +0 -0
  650. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/ortools_interface.py +0 -0
  651. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
  652. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
  653. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
  654. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
  655. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
  656. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/ips.py +0 -0
  657. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
  658. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
  659. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
  660. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
  661. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
  662. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
  663. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
  664. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  665. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  666. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  667. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  668. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  669. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  670. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
  671. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/Utils/__init__.py +0 -0
  672. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/__init__.py +0 -0
  673. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/api.py +0 -0
  674. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/basic_structures.py +0 -0
  675. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/data_logger.py +0 -0
  676. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/GridCalEngine/enumerations.py +0 -0
  677. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/setup.cfg +0 -0
  678. {GridCalEngine-5.1.5 → GridCalEngine-5.1.6}/setup.py +0 -0
@@ -32,15 +32,17 @@ class Investment(EditableDevice):
32
32
  code='',
33
33
  CAPEX=0.0,
34
34
  OPEX=0.0,
35
+ status: bool = True,
35
36
  group: InvestmentsGroup = None,
36
37
  comment: str = ""):
37
38
  """
38
- Contingency
39
+ Investment
39
40
  :param idtag: String. Element unique identifier
40
41
  :param name: String. Contingency name
41
42
  :param code: String. Contingency code name
42
43
  :param CAPEX: Float. Capital expenditures
43
44
  :param OPEX: Float. Operating expenditures
45
+ :param status: If true the investment activates when applied, otherwise is deactivated
44
46
  :param group: ContingencyGroup. Contingency group
45
47
  :param comment: Comment
46
48
  """
@@ -57,12 +59,15 @@ class Investment(EditableDevice):
57
59
  self.CAPEX = CAPEX
58
60
  self.OPEX = OPEX
59
61
  self._group: InvestmentsGroup = group
62
+ self.status: bool = status
60
63
 
61
64
  self.register(key='device_idtag', units='', tpe=str, definition='Unique ID')
62
65
  self.register(key='CAPEX', units='Me', tpe=float,
63
66
  definition='Capital expenditures. This is the initial investment.')
64
67
  self.register(key='OPEX', units='Me', tpe=float,
65
68
  definition='Operation expenditures. Maintenance costs among other recurrent costs.')
69
+ self.register(key='status', units='', tpe=bool,
70
+ definition='If true the investment activates when applied, otherwise is deactivated.')
66
71
  self.register(key='group', units='', tpe=DeviceType.InvestmentsGroupDevice, definition='Investment group')
67
72
 
68
73
  @property
@@ -116,7 +116,7 @@ class LineLocations(EditableDevice):
116
116
  values = np.array(data)
117
117
  self.set(data=values)
118
118
  else:
119
- self.data = np.zeros((0, 4))
119
+ self.data = list()
120
120
 
121
121
  def set(self, data: np.ndarray):
122
122
  """
@@ -82,7 +82,7 @@ class PointsGroup:
82
82
  return points
83
83
 
84
84
  def parse_data(self,
85
- data: Dict[str, Dict[str, Union[int, float, List[Tuple[float, float]]]]],
85
+ data: Dict[str, Dict[str, Union[int, float, bool, List[Tuple[float, float]]]]],
86
86
  obj_dict: Dict[str, ALL_DEV_TYPES],
87
87
  logger: Logger,
88
88
  category: str = "") -> None:
@@ -111,6 +111,7 @@ class PointsGroup:
111
111
  w=location['w'],
112
112
  h=location['h'],
113
113
  r=location['r'],
114
+ draw_labels=location.get('draw_labels', True),
114
115
  api_object=api_object)
115
116
  if 'latitude' in location:
116
117
  self.locations[idtag] = MapLocation(latitude=location['latitude'],
@@ -15,7 +15,7 @@
15
15
  # along with this program; if not, write to the Free Software Foundation,
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
  from typing import Dict, List, Tuple, Union
18
- from GridCalEngine.Devices.Parents.editable_device import EditableDevice
18
+ from GridCalEngine.Devices.types import ALL_DEV_TYPES
19
19
 
20
20
 
21
21
  class GraphicLocation:
@@ -29,8 +29,9 @@ class GraphicLocation:
29
29
  h: int = 80,
30
30
  w: int = 80,
31
31
  r: float = 0,
32
- poly_line: List[Tuple[int, int]] = list(),
33
- api_object: EditableDevice = None):
32
+ poly_line: Union[None, List[Tuple[int, int]]] = None,
33
+ draw_labels: bool = True,
34
+ api_object: ALL_DEV_TYPES = None):
34
35
  """
35
36
  GraphicLocation
36
37
  :param x: x position (px)
@@ -39,6 +40,7 @@ class GraphicLocation:
39
40
  :param w: width (px)
40
41
  :param r: rotation (deg)
41
42
  :param poly_line: List of poits to represent a polyline, if this object is to use one
43
+ :param draw_labels: Draw labels?
42
44
  :param api_object: object to be linked to this representation
43
45
  """
44
46
  self.x = x
@@ -46,7 +48,8 @@ class GraphicLocation:
46
48
  self.h = h
47
49
  self.w = w
48
50
  self.r = r
49
- self.poly_line = poly_line
51
+ self.poly_line = list() if poly_line is None else poly_line
52
+ self.draw_labels = draw_labels
50
53
  self.api_object = api_object
51
54
 
52
55
  def get_properties_dict(self) -> Dict[str, Union[int, str]]:
@@ -60,4 +63,5 @@ class GraphicLocation:
60
63
  'w': self.w,
61
64
  'r': self.r,
62
65
  'poly_line': self.poly_line,
66
+ 'draw_labels': self.draw_labels,
63
67
  'api_object': self.api_object.idtag if self.api_object else ''}
@@ -2437,7 +2437,7 @@ class MultiCircuit:
2437
2437
 
2438
2438
  return data
2439
2439
 
2440
- def gat_all_elements_dict_by_type(self) -> dict[Callable[[], Any], Union[dict[str, ALL_DEV_TYPES], Any]]:
2440
+ def get_all_elements_dict_by_type(self) -> dict[Callable[[], Any], Union[dict[str, ALL_DEV_TYPES], Any]]:
2441
2441
  """
2442
2442
  Get a dictionary of all elements by type
2443
2443
  :return:
@@ -154,7 +154,7 @@ class CimExporter:
154
154
  "description": "str"}
155
155
 
156
156
  for instance in self.cgmes_circuit.FullModel_list:
157
- instance_dict = instance.parsed_properties
157
+ instance_dict = instance.__dict__
158
158
  if self.is_in_profile(instance_profiles=instance_dict.get("profile"), model_profile=profile):
159
159
  element = Et.Element("md:FullModel", {"rdf:about": "urn:uuid:" + instance.rdfid})
160
160
  for attr_name, attr_value in instance_dict.items():
@@ -1,6 +1,6 @@
1
1
  from GridCalEngine.Devices import MultiCircuit
2
2
  from GridCalEngine.Devices.Substation.bus import Bus
3
- from GridCalEngine.IO.cim.cgmes.base import get_new_rdfid, form_rdfid
3
+ from GridCalEngine.IO.cim.cgmes.base import get_new_rdfid, form_rdfid, rfid2uuid
4
4
  from GridCalEngine.IO.cim.cgmes.cgmes_circuit import CgmesCircuit
5
5
  from GridCalEngine.IO.cim.cgmes.cgmes_v2_4_15.devices.full_model import FullModel
6
6
  from GridCalEngine.IO.cim.cgmes.base import Base
@@ -38,33 +38,36 @@ class ReferenceManager:
38
38
  # pass # TODO
39
39
 
40
40
 
41
- def find_object_by_uuid(object_list, target_uuid): # TODO move to CGMES utils
41
+ def find_object_by_uuid(cgmes_model: CgmesCircuit, object_list, target_uuid): # TODO move to CGMES utils
42
42
  """
43
43
  Finds an object with the specified uuid
44
44
  in the given object_list from a CGMES Circuit.
45
45
 
46
46
  Args:
47
+ cgmes_model:
47
48
  object_list (list[MyObject]): List of MyObject instances.
48
49
  target_uuid (str): The uuid to search for.
49
50
 
50
51
  Returns:
51
52
  MyObject or None: The found object or None if not found.
52
53
  """
54
+ boundary_obj_dict = cgmes_model.all_objects_dict_boundary
55
+ if boundary_obj_dict is not None:
56
+ for k, obj in boundary_obj_dict.items():
57
+ if rfid2uuid(k) == target_uuid:
58
+ return obj
53
59
  for obj in object_list:
54
60
  if obj.uuid == target_uuid:
55
61
  return obj
56
62
  return None
57
63
 
58
64
 
59
- def find_object_by_tn_uuid(object_list: List[cgmes.VoltageLevel], target_uuid):
60
- """ for Voltage Levels.. """
61
- for obj in object_list:
62
- if obj.TopologicalNode.uuid == target_uuid:
63
- return obj
64
- return None
65
-
66
-
67
- def find_object_by_vnom(object_list: List[cgmes.BaseVoltage], target_vnom):
65
+ def find_object_by_vnom(cgmes_model: CgmesCircuit, object_list: List[cgmes.BaseVoltage], target_vnom):
66
+ boundary_obj_list = cgmes_model.elements_by_type_boundary.get("BaseVoltage")
67
+ if boundary_obj_list is not None:
68
+ for obj in boundary_obj_list:
69
+ if obj.nominalVoltage == target_vnom:
70
+ return obj
68
71
  for obj in object_list:
69
72
  if obj.nominalVoltage == target_vnom:
70
73
  return obj
@@ -174,12 +177,11 @@ def create_cgmes_headers(cgmes_model: CgmesCircuit, desc: str = "", scenariotime
174
177
 
175
178
  fm_list[0].DependentOn = [eqbd_id]
176
179
  fm_list[1].DependentOn = [fm_list[0].rdfid]
180
+ fm_list[2].DependentOn = [fm_list[0].rdfid]
177
181
  if tpbd_id != "":
178
- fm_list[2].DependentOn = [eqbd_id, tpbd_id, fm_list[0].rdfid]
179
- fm_list[3].DependentOn = [tpbd_id, fm_list[0].rdfid, fm_list[1].rdfid, fm_list[2].rdfid]
182
+ fm_list[3].DependentOn = [tpbd_id, fm_list[1].rdfid, fm_list[2].rdfid]
180
183
  else:
181
- fm_list[2].DependentOn = [eqbd_id, fm_list[0].rdfid]
182
- fm_list[3].DependentOn = [fm_list[0].rdfid, fm_list[1].rdfid, fm_list[2].rdfid]
184
+ fm_list[3].DependentOn = [fm_list[1].rdfid, fm_list[2].rdfid]
183
185
  except TypeError:
184
186
  print("Missing default boundary files")
185
187
  fm_list[1].DependentOn = [fm_list[0].rdfid]
@@ -203,6 +205,7 @@ def create_cgmes_terminal(bus: Bus,
203
205
  # term.ConductingEquipment = BusBarSection
204
206
  term.connected = True
205
207
  tn = find_object_by_uuid(
208
+ cgmes_model=cgmes_model,
206
209
  object_list=cgmes_model.TopologicalNode_list,
207
210
  target_uuid=bus.idtag
208
211
  )
@@ -327,13 +330,22 @@ def get_cgmes_subgeograpical_regions(multi_circuit_model: MultiCircuit,
327
330
  pass
328
331
 
329
332
 
333
+ def get_base_voltage_from_boundary(cgmes_model: CgmesCircuit, vnom: float):
334
+ bv_list = cgmes_model.elements_by_type_boundary.get("BaseVoltage")
335
+ if bv_list is not None:
336
+ for bv in bv_list:
337
+ if bv.nominalVoltage == vnom:
338
+ return bv
339
+ return None
340
+
341
+
330
342
  def get_cgmes_base_voltages(multi_circuit_model: MultiCircuit,
331
343
  cgmes_model: CgmesCircuit,
332
344
  logger: DataLogger) -> None:
333
345
  base_volt_set = set()
334
346
  for bus in multi_circuit_model.buses:
335
347
 
336
- if bus.Vnom not in base_volt_set:
348
+ if bus.Vnom not in base_volt_set and get_base_voltage_from_boundary(cgmes_model, vnom=bus.Vnom) is None:
337
349
  base_volt_set.add(bus.Vnom)
338
350
 
339
351
  new_rdf_id = get_new_rdfid()
@@ -352,6 +364,7 @@ def get_cgmes_substations(multi_circuit_model: MultiCircuit,
352
364
  substation = cgmes.Substation(rdfid=form_rdfid(mc_elm.idtag))
353
365
  substation.name = mc_elm.name
354
366
  substation.Region = find_object_by_uuid(
367
+ cgmes_model=cgmes_model,
355
368
  object_list=cgmes_model.SubGeographicalRegion_list,
356
369
  target_uuid=mc_elm.idtag # TODO Community.idtag!
357
370
  )
@@ -367,6 +380,7 @@ def get_cgmes_voltage_levels(multi_circuit_model: MultiCircuit,
367
380
  vl = cgmes.VoltageLevel(rdfid=form_rdfid(mc_elm.idtag))
368
381
  vl.name = mc_elm.name
369
382
  vl.BaseVoltage = find_object_by_vnom(
383
+ cgmes_model=cgmes_model,
370
384
  object_list=cgmes_model.BaseVoltage_list,
371
385
  target_vnom=mc_elm.Vnom
372
386
  )
@@ -375,6 +389,7 @@ def get_cgmes_voltage_levels(multi_circuit_model: MultiCircuit,
375
389
 
376
390
  if mc_elm.substation is not None:
377
391
  substation: cgmes.Substation = find_object_by_uuid(
392
+ cgmes_model=cgmes_model,
378
393
  object_list=cgmes_model.Substation_list,
379
394
  target_uuid=mc_elm.substation.idtag
380
395
  )
@@ -397,12 +412,14 @@ def get_cgmes_tn_nodes(multi_circuit_model: MultiCircuit,
397
412
  tn = cgmes.TopologicalNode(rdfid=bus.idtag)
398
413
  tn.name = bus.name
399
414
  tn.BaseVoltage = find_object_by_vnom(
415
+ cgmes_model=cgmes_model,
400
416
  object_list=cgmes_model.BaseVoltage_list,
401
417
  target_vnom=bus.Vnom
402
418
  )
403
419
 
404
420
  if bus.voltage_level is not None: # VoltageLevel
405
421
  vl: cgmes.VoltageLevel = find_object_by_uuid(
422
+ cgmes_model=cgmes_model,
406
423
  object_list=cgmes_model.VoltageLevel_list,
407
424
  target_uuid=bus.voltage_level.idtag
408
425
  )
@@ -426,9 +443,9 @@ def get_cgmes_cn_nodes(multi_circuit_model: MultiCircuit,
426
443
 
427
444
  cn = cgmes.ConnectivityNode(rdfid=form_rdfid(mc_elm.idtag))
428
445
  cn.name = mc_elm.name
429
- tn = None
430
446
  if mc_elm.default_bus is not None:
431
447
  tn: cgmes.TopologicalNode = find_object_by_uuid(
448
+ cgmes_model=cgmes_model,
432
449
  object_list=cgmes_model.TopologicalNode_list,
433
450
  target_uuid=mc_elm.default_bus.idtag
434
451
  )
@@ -438,12 +455,12 @@ def get_cgmes_cn_nodes(multi_circuit_model: MultiCircuit,
438
455
  tn.ConnectivityNodes = cn # link back
439
456
  else:
440
457
  logger.add_error(msg='No TopologinalNode found',
441
- device=cn,
458
+ device=cn.name,
442
459
  device_class=cn.tpe)
443
460
  else:
444
461
  logger.add_error(msg='Connectivity Node has no default bus',
445
- device=mc_elm,
446
- device_class=gcdev.ConnectivityNode)
462
+ device=mc_elm.name,
463
+ device_class=gcdev.ConnectivityNode.type_name)
447
464
  # print(f'Topological node not found for cn: {cn.name}')
448
465
 
449
466
  cgmes_model.add(cn)
@@ -535,8 +552,9 @@ def get_cgmes_equivalent_injections(multicircuit_model: MultiCircuit,
535
552
  ei.name = mc_elm.name
536
553
  ei.p = mc_elm.P
537
554
  ei.q = mc_elm.Q
538
- ei.BaseVoltage = find_object_by_attribute(cgmes_model.BaseVoltage_list, "nominalVoltage",
539
- mc_elm.bus.Vnom)
555
+ ei.BaseVoltage = find_object_by_vnom(cgmes_model=cgmes_model,
556
+ object_list=cgmes_model.BaseVoltage_list,
557
+ target_vnom=mc_elm.bus.Vnom)
540
558
 
541
559
  cgmes_model.add(ei)
542
560
 
@@ -558,11 +576,10 @@ def get_cgmes_ac_line_segments(multicircuit_model: MultiCircuit,
558
576
  line = cgmes.ACLineSegment(rdfid=form_rdfid(mc_elm.idtag))
559
577
  line.description = mc_elm.code
560
578
  line.name = mc_elm.name
561
- line.BaseVoltage = find_object_by_attribute(
562
- object_list=cgmes_model.BaseVoltage_list,
563
- target_attr_name="nominalVoltage",
564
- target_value=mc_elm.get_max_bus_nominal_voltage()
565
- ) # which Vnom we need?
579
+ line.BaseVoltage = find_object_by_vnom(cgmes_model=cgmes_model,
580
+ object_list=cgmes_model.BaseVoltage_list,
581
+ target_vnom=mc_elm.get_max_bus_nominal_voltage()
582
+ ) # which Vnom we need?
566
583
  vnom = line.BaseVoltage.nominalVoltage
567
584
 
568
585
  if vnom is not None:
@@ -125,7 +125,7 @@ class FileOpen:
125
125
  _, file_extension = os.path.splitext(f)
126
126
  if file_extension.lower() not in ['.xml', '.zip']:
127
127
  raise Exception('Loading multiple files that are not XML/Zip (xml or zip is for CIM or CGMES)')
128
- import time
128
+
129
129
  data_parser = CgmesDataParser(text_func=text_func, progress_func=progress_func, logger=self.cgmes_logger)
130
130
  data_parser.load_files(files=self.file_name)
131
131
  self.cgmes_circuit = CgmesCircuit(cgmes_version=data_parser.cgmes_version, text_func=text_func,
@@ -195,7 +195,7 @@ def load_from_xls(filename: str) -> Dict[str, pd.DataFrame]:
195
195
  # pandas does not read complex numbers right,
196
196
  # so when we expect a complex number input, parse directly
197
197
  for c in df.columns.values:
198
- df[c] = df[c].apply(lambda x: np.complex(x))
198
+ df[c] = df[c].apply(lambda x: complex(x))
199
199
 
200
200
  data[name] = df
201
201
 
@@ -246,16 +246,23 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
246
246
  attr = 'template'
247
247
 
248
248
  if hasattr(obj_, attr):
249
- conv = obj_.registered_properties[attr].tpe # get the type converter
250
- if conv is None:
251
- setattr(obj_, attr, values[a])
252
- elif conv is dev.BranchType:
253
- # cbr = BranchTypeConverter(None)
254
- setattr(obj_, attr, dev.BranchType(values[a]))
255
- elif isinstance(conv, DeviceType):
256
- pass
249
+
250
+ prop = obj_.registered_properties.get(attr, None)
251
+
252
+ if prop is not None:
253
+ conv = prop.tpe # get the type converter
254
+ if conv is None:
255
+ setattr(obj_, attr, values[a])
256
+ elif conv is dev.BranchType:
257
+ # cbr = BranchTypeConverter(None)
258
+ setattr(obj_, attr, dev.BranchType(values[a]))
259
+ elif isinstance(conv, DeviceType):
260
+ pass
261
+ else:
262
+ setattr(obj_, attr, conv(values[a]))
257
263
  else:
258
- setattr(obj_, attr, conv(values[a]))
264
+ # the property wasn't found
265
+ pass
259
266
  else:
260
267
 
261
268
  if attr in ['Y', 'Z', 'I', 'S', 'seq_resistance', 'seq_admittance', 'Zf']:
@@ -315,7 +322,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
315
322
  set_object_attributes(obj, hdr, vals[i, :])
316
323
  bus_dict[obj.name] = obj
317
324
  circuit.add_bus(obj)
318
- obj.ensure_profiles_exist(circuit.time_profile)
319
325
  else:
320
326
  circuit.logger.add_warning('No buses in the file!')
321
327
 
@@ -372,7 +378,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
372
378
  obj.name += f"{circuit.get_loads_number()} @{bus.name}"
373
379
 
374
380
  circuit.add_load(bus, api_obj=obj)
375
- obj.ensure_profiles_exist(circuit.time_profile)
376
381
  else:
377
382
  circuit.logger.add_warning('No loads in the file!')
378
383
 
@@ -414,7 +419,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
414
419
 
415
420
  obj.bus = bus
416
421
  circuit.add_generator(bus=bus, api_obj=obj)
417
- obj.ensure_profiles_exist(circuit.time_profile)
418
422
  else:
419
423
  circuit.logger.add_warning('No controlled generator in the file!')
420
424
 
@@ -454,7 +458,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
454
458
  obj.name += str(circuit.get_batteries_number() + 1) + '@' + bus.name
455
459
 
456
460
  circuit.add_battery(bus=bus, api_obj=obj)
457
- obj.ensure_profiles_exist(circuit.time_profile)
458
461
  else:
459
462
  circuit.logger.add_warning('No battery in the file!')
460
463
 
@@ -495,7 +498,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
495
498
 
496
499
  obj.bus = bus
497
500
  circuit.add_static_generator(bus=bus, api_obj=obj)
498
- obj.ensure_profiles_exist(circuit.time_profile)
499
501
  else:
500
502
  circuit.logger.add_warning('No static generator in the file!')
501
503
 
@@ -525,7 +527,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
525
527
 
526
528
  obj.bus = bus
527
529
  circuit.add_shunt(bus=bus, api_obj=obj)
528
- obj.ensure_profiles_exist(circuit.time_profile)
529
530
  else:
530
531
  circuit.logger.add_warning('No shunt in the file!')
531
532
 
@@ -635,7 +636,6 @@ def interprete_excel_v2(circuit: MultiCircuit, data):
635
636
 
636
637
  # set the branch
637
638
  circuit.add_branch(obj)
638
- obj.ensure_profiles_exist(circuit.time_profile)
639
639
 
640
640
  else:
641
641
  circuit.logger.add_warning('No Branches in the file!')
@@ -732,7 +732,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
732
732
  set_object_attributes(obj, hdr, vals[i, :])
733
733
  bus_dict[obj.name] = obj
734
734
  circuit.add_bus(obj)
735
- obj.ensure_profiles_exist(circuit.time_profile)
736
735
  else:
737
736
  circuit.logger.add_warning('No buses in the file!')
738
737
 
@@ -778,7 +777,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
778
777
 
779
778
  obj.bus = bus
780
779
  circuit.add_load(bus=bus, api_obj=obj)
781
- obj.ensure_profiles_exist(circuit.time_profile)
782
780
  else:
783
781
  circuit.logger.add_warning('No loads in the file!')
784
782
 
@@ -833,7 +831,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
833
831
 
834
832
  obj.bus = bus
835
833
  circuit.add_generator(bus=bus, api_obj=obj)
836
- obj.ensure_profiles_exist(circuit.time_profile)
837
834
  else:
838
835
  circuit.logger.add_warning('No controlled generator in the file!')
839
836
 
@@ -880,7 +877,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
880
877
 
881
878
  obj.bus = bus
882
879
  circuit.add_battery(bus=bus, api_obj=obj)
883
- obj.ensure_profiles_exist(circuit.time_profile)
884
880
  else:
885
881
  circuit.logger.add_warning('No battery in the file!')
886
882
 
@@ -931,7 +927,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
931
927
 
932
928
  obj.bus = bus
933
929
  circuit.add_static_generator(bus=bus, api_obj=obj)
934
- obj.ensure_profiles_exist(circuit.time_profile)
935
930
  else:
936
931
  circuit.logger.add_warning('No static generator in the file!')
937
932
 
@@ -982,7 +977,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
982
977
 
983
978
  obj.bus = bus
984
979
  circuit.add_shunt(bus=bus, api_obj=obj)
985
- obj.ensure_profiles_exist(circuit.time_profile)
986
980
  else:
987
981
  circuit.logger.add_warning('No shunt in the file!')
988
982
 
@@ -1099,7 +1093,6 @@ def interpret_excel_v3(circuit: MultiCircuit, data):
1099
1093
 
1100
1094
  # set the branch
1101
1095
  circuit.add_branch(obj)
1102
- obj.ensure_profiles_exist(circuit.time_profile)
1103
1096
 
1104
1097
  if 'branch_active_prof' in data.keys():
1105
1098
  val = data['branch_active_prof'].values[:, i]
@@ -1315,7 +1315,7 @@ def parse_gridcal_data(data: Dict[str, Union[str, float, Dict, pd.DataFrame, Dic
1315
1315
  if 'diagrams' in data.keys():
1316
1316
 
1317
1317
  if len(data['diagrams']):
1318
- obj_dict = circuit.gat_all_elements_dict_by_type()
1318
+ obj_dict = circuit.get_all_elements_dict_by_type()
1319
1319
 
1320
1320
  for diagram_dict in data['diagrams']:
1321
1321
 
@@ -394,7 +394,7 @@ class ContingencyResultsReport:
394
394
  default=-999999
395
395
  )
396
396
 
397
- df["Overload for reporting weighted with cluster"] = df["Overload for reporting"]*df["Probability cluster"]
397
+ df["Overload for reporting weighted with cluster"] = df["Overload for reporting"] * df["Probability cluster"]
398
398
 
399
399
  # Count the number of Hours the monitored line appears
400
400
 
@@ -402,14 +402,16 @@ class ContingencyResultsReport:
402
402
  df_monit_time_pu = pd.pivot_table(df_, values='Probability cluster', index="Monitored", aggfunc="sum")
403
403
  df_monit_time_clust = pd.pivot_table(df_, values='Probability cluster', index="Monitored", aggfunc="count")
404
404
 
405
- df['Time this line is monitored by any contingency (pu)'] = df['Monitored'].map(df_monit_time_pu['Probability cluster'])
406
- df['Number of clusters this line is monitored'] = df['Monitored'].map(df_monit_time_clust['Probability cluster'])
407
-
405
+ df['Time this line is monitored by any contingency (pu)'] = df['Monitored'].map(
406
+ df_monit_time_pu['Probability cluster'])
407
+ df['Number of clusters this line is monitored'] = df['Monitored'].map(
408
+ df_monit_time_clust['Probability cluster'])
408
409
 
409
410
  # Group de columns by Area1, Area2, Monitored, Contingency
410
411
  df_grp = df.groupby(
411
412
  ["Area 1", "Area 2", "Monitored", "Contingency", "Base rating (MW)", "Contingency rating (MW)",
412
- "SRAP rating (MW)","Time this line is monitored by any contingency (pu)","Number of clusters this line is monitored"])
413
+ "SRAP rating (MW)", "Time this line is monitored by any contingency (pu)",
414
+ "Number of clusters this line is monitored"])
413
415
 
414
416
  # Compute the columns
415
417
  ov_max = df_grp["Overload for reporting"].max()
@@ -428,10 +430,11 @@ class ContingencyResultsReport:
428
430
  else:
429
431
  ov_max_dates = ov_max_date.values
430
432
 
431
- #new, work in progress
432
- ov_avg_clust = df_grp["Overload for reporting weighted with cluster"].sum()/df_grp["Probability cluster"].sum() #checked
433
- ov_desvest_clust = df_grp["Overload for reporting weighted with cluster"].std()/df_grp["Probability cluster"].sum()
434
-
433
+ # new, work in progress
434
+ ov_avg_clust = df_grp["Overload for reporting weighted with cluster"].sum() / df_grp[
435
+ "Probability cluster"].sum() # checked
436
+ ov_desvest_clust = df_grp["Overload for reporting weighted with cluster"].std() / df_grp[
437
+ "Probability cluster"].sum()
435
438
 
436
439
  # Create the new dataframe with the columns we need
437
440
  df_summary = pd.DataFrame({
@@ -440,11 +443,10 @@ class ContingencyResultsReport:
440
443
  "Monitored": ov_max.index.get_level_values("Monitored"),
441
444
  "Contingency": ov_max.index.get_level_values("Contingency"),
442
445
 
443
- "Area 1": ov_max.index.get_level_values("Area 1"),
444
- "Area 2": ov_max.index.get_level_values("Area 2"),
445
-
446
- "Monitored": ov_max.index.get_level_values("Monitored"),
447
- "Contingency": ov_max.index.get_level_values("Contingency"),
446
+ # "Area 1": ov_max.index.get_level_values("Area 1"),
447
+ # "Area 2": ov_max.index.get_level_values("Area 2"),
448
+ # "Monitored": ov_max.index.get_level_values("Monitored"),
449
+ # "Contingency": ov_max.index.get_level_values("Contingency"),
448
450
 
449
451
  "Base rating (MW)": ov_max.index.get_level_values("Base rating (MW)"),
450
452
  "Contingency rating (MW)": ov_max.index.get_level_values("Contingency rating (MW)"),
@@ -469,11 +471,14 @@ class ContingencyResultsReport:
469
471
 
470
472
  df_summary = df_summary.sort_values(by="Contingency", ascending=False)
471
473
 
472
- cols_1dec = ["Number of clusters this line is monitored","Number of clusters with this overload (h)"]
473
- cols_2dec = ["Base rating (MW)","Contingency rating (MW)","SRAP rating (MW)"]
474
- cols_4dec = ["Overload max (pu)","Overload average weighting time (pu)","Annual time the Monitored line is overloaded by this contingency (pu)","Time this line is monitored by any contingency (pu)","Overload average for clusters(pu)","Standard deviation for clusters(pu)"]
474
+ cols_1dec = ["Number of clusters this line is monitored", "Number of clusters with this overload (h)"]
475
+ cols_2dec = ["Base rating (MW)", "Contingency rating (MW)", "SRAP rating (MW)"]
476
+ cols_4dec = ["Overload max (pu)", "Overload average weighting time (pu)",
477
+ "Annual time the Monitored line is overloaded by this contingency (pu)",
478
+ "Time this line is monitored by any contingency (pu)", "Overload average for clusters(pu)",
479
+ "Standard deviation for clusters(pu)"]
475
480
 
476
- df_summary[cols_1dec]=df_summary[cols_1dec].map(lambda x:f'{x:.1f}')
481
+ df_summary[cols_1dec] = df_summary[cols_1dec].map(lambda x: f'{x:.1f}')
477
482
  df_summary[cols_2dec] = df_summary[cols_2dec].map(lambda x: f'{x:.2f}')
478
483
  df_summary[cols_4dec] = df_summary[cols_4dec].map(lambda x: f'{x:.4f}')
479
484
 
@@ -550,13 +555,19 @@ class ContingencyResultsReport:
550
555
  if contingency_idx == 0: # only doing it once per hour
551
556
 
552
557
  for m in mon_idx:
558
+ if len(area_names):
559
+ area_from = area_names[bus_area_indices[F[m]]]
560
+ area_to = area_names[bus_area_indices[T[m]]]
561
+ else:
562
+ area_from = ""
563
+ area_to = ""
553
564
 
554
565
  if abs(base_flow[m]) > numerical_circuit.rates[m]: # only add if overloaded
555
566
 
556
567
  self.add(time_index=t if t is not None else 0,
557
- t_prob = t_prob,
558
- area_from=area_names[bus_area_indices[F[m]]],
559
- area_to=area_names[bus_area_indices[T[m]]],
568
+ t_prob=t_prob,
569
+ area_from=area_from,
570
+ area_to=area_to,
560
571
  base_name=numerical_circuit.branch_data.names[m],
561
572
  contingency_name='Base',
562
573
  base_rating=numerical_circuit.branch_data.rates[m],
@@ -576,6 +587,13 @@ class ContingencyResultsReport:
576
587
  # Now evalueting the effect of contingencies
577
588
  for m in mon_idx: # for each monitored branch ...
578
589
 
590
+ if len(area_names):
591
+ area_from = area_names[bus_area_indices[F[m]]]
592
+ area_to = area_names[bus_area_indices[T[m]]]
593
+ else:
594
+ area_from = ""
595
+ area_to = ""
596
+
579
597
  c_flow = abs(contingency_flows[m])
580
598
  b_flow = abs(base_flow[m])
581
599
 
@@ -681,8 +699,8 @@ class ContingencyResultsReport:
681
699
  if detailed_massive_report:
682
700
  self.add(time_index=t if t is not None else 0,
683
701
  t_prob=t_prob,
684
- area_from=area_names[bus_area_indices[F[m]]],
685
- area_to=area_names[bus_area_indices[T[m]]],
702
+ area_from=area_from,
703
+ area_to=area_to,
686
704
  base_name=numerical_circuit.branch_data.names[m],
687
705
  contingency_name=contingency_group.name,
688
706
  base_rating=numerical_circuit.branch_data.rates[m],
@@ -271,7 +271,13 @@ class OptimalPowerFlowTimeSeriesDriver(TimeSeriesDriverTemplate):
271
271
  while i < n and not self.__cancel__:
272
272
  start_ = groups[i - 1]
273
273
  end_ = groups[i]
274
- time_indices = np.arange(start_, end_)
274
+
275
+ # Grab the last time index in the last group
276
+ if i == n - 1:
277
+ time_indices = np.arange(start_, end_ + 1)
278
+ else:
279
+ time_indices = np.arange(start_, end_)
280
+
275
281
  # show progress message
276
282
  print(start_, ':', end_, ' [', end_ - start_, ']')
277
283
  self.report_text('Running OPF for the time group {0} '
@@ -16,7 +16,7 @@ import datetime
16
16
  _current_year_ = datetime.datetime.now().year
17
17
 
18
18
  # do not forget to keep a three-number version!!!
19
- __GridCalEngine_VERSION__ = "5.1.5"
19
+ __GridCalEngine_VERSION__ = "5.1.6"
20
20
 
21
21
  url = 'https://github.com/SanPen/GridCal'
22
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: GridCalEngine
3
- Version: 5.1.5
3
+ Version: 5.1.6
4
4
  Summary: GridCal is a Power Systems simulation program intended for professional use and research
5
5
  Home-page: https://github.com/SanPen/GridCal
6
6
  Author: Santiago Peñate Vera et. Al.