System
library management with PowerSystemCaseBuilder.jl
¶Originally Contributed by: Clayton Barrows
PowerSystemCaseBuilder.jl provides a utility to manage a library of System
s.
The package has utilities to list the available system data and to create instances of each system. By keeping track of which systems
have been constructed locally, it makes the re-instantiation of systems efficient by utilizing the serialization features and avoiding
the parsing process for systems that have been previously constructed.
using PowerSystemCaseBuilder
show_systems()
Category: MatPowerTestSystems ┌──────────────────────────────┬───────────────────────────────────┐ │ Name │ Descriptor │ ├──────────────────────────────┼───────────────────────────────────┤ │ matpower_ACTIVSg10k_sys │ ACTIVSg10k Test system │ │ matpower_ACTIVSg2000_sys │ MATPOWER ACTIVSg2000 Test system │ │ matpower_RTS_GMLC_sys │ Matpower RTS-GMLC Test system │ │ matpower_case14_sys │ Matpower Test system │ │ matpower_case24_sys │ Matpower Test system │ │ matpower_case2_sys │ Matpower Test system │ │ matpower_case30_sys │ Matpower Test system │ │ matpower_case3_tnep_sys │ Matpower Test system │ │ matpower_case5_asym_sys │ Matpower Test system │ │ matpower_case5_dc_sys │ Matpower Test system │ │ matpower_case5_gap_sys │ Matpower Test system │ │ matpower_case5_pwlc_sys │ Matpower Test system │ │ matpower_case5_re_intid_sys │ Matpower Test system │ │ matpower_case5_re_sys │ Matpower Test system │ │ matpower_case5_re_uc_pwl_sys │ Matpower Test system │ │ matpower_case5_re_uc_sys │ Matpower Test system │ │ matpower_case5_strg_sys │ Matpower Test system │ │ matpower_case5_sys │ Matpower Test system │ │ matpower_case5_th_intid_sys │ Matpower Test system │ │ matpower_case5_tnep_sys │ Matpower Test system │ │ matpower_case6_sys │ Matpower Test system │ │ matpower_case7_tplgy_sys │ Matpower Test system │ │ matpower_frankenstein_00_sys │ Matpower Frankenstein Test system │ └──────────────────────────────┴───────────────────────────────────┘ Category: PSITestSystems ┌───────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Name │ Descriptor │ ├───────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ RTS_GMLC_sys │ RTS-GMLC Full system from git repo for day-ahead simulations │ │ batt_test_case_b_sys │ test system for Storage Energy Target formulation(case-b) │ │ batt_test_case_c_sys │ test system for Storage Energy Target formulation(case-c) │ │ batt_test_case_d_sys │ test system for Storage Energy Target formulation(case-d) │ │ batt_test_case_e_sys │ test system for Storage Energy Target formulation(case-e) │ │ batt_test_case_f_sys │ test system for Storage Energy Target formulation(case-f) │ │ c_duration_test │ 1 Bus for duration testing │ │ c_linear_pwl_test │ 1 Bus lineal PWL linear testing │ │ c_market_bid_cost │ 1 bus system with MarketBidCost Model │ │ c_ramp_test │ 1-bus for ramp testing │ │ c_sos_pwl_test │ 1 Bus lineal PWL sos testing │ │ c_sys14 │ 14-bus system │ │ c_sys14_dc │ 14-bus system with DC line │ │ c_sys5 │ 5-bus system │ │ c_sys5_bat │ 5-bus system with Storage Device │ │ c_sys5_bat_ems │ 5-bus system with Storage Device with EMS │ │ c_sys5_dc │ Systems with HVDC data in the branches │ │ c_sys5_ed │ 5-bus System for Economic Dispatch Simulations │ │ c_sys5_hy │ 5-bus system with HydroDispatch │ │ c_sys5_hy_ed │ 5-bus system with Hydro-Power for Economic Dispatch Simulations │ │ c_sys5_hy_ems_ed │ 5-bus system with Hydro-Power for Economic Dispatch Simulations │ │ c_sys5_hy_ems_uc │ 5-bus system with Hydro-Power for Unit Commitment Simulations │ │ c_sys5_hy_uc │ 5-bus system with Hydro-Power for Unit Commitment Simulations │ │ c_sys5_hybrid │ 5-bus system with Hybrid devices │ │ c_sys5_hybrid_ed │ 5-bus system with Hybrid devices and thermal devices for ED. │ │ c_sys5_hybrid_uc │ 5-bus system with Hybrid devices and thermal UC devices │ │ c_sys5_hyd │ 5-bus system with Hydro Energy Reservoir │ │ c_sys5_hyd_ems │ 5-bus system with Hydro Energy Reservoir │ │ c_sys5_il │ System with Interruptible Load │ │ c_sys5_ml │ │ │ c_sys5_pglib │ 5-bus with ThermalMultiStart │ │ c_sys5_pglib_sim │ 5-bus with ThermalMultiStart for simulation │ │ c_sys5_phes_ed │ 5-bus system with Hydro Pumped Energy Storage for Economic Dispatch Simulations │ │ c_sys5_pwl_ed │ 5-bus with pwl cost function │ │ c_sys5_pwl_ed_nonconvex │ 5-bus with SOS cost function for Economic Dispatch Simulations │ │ c_sys5_pwl_uc │ 5-bus with SOS cost function for Unit Commitment Simulations │ │ c_sys5_re │ 5-bus system with Renewable Energy │ │ c_sys5_re_only │ 5-bus system with only Renewable Energy │ │ c_sys5_reg │ 5-bus with regulation devices and AGC │ │ c_sys5_uc │ 5-bus system for Unit Commitment Simulations │ │ c_sys5_uc_non_spin │ 5-bus system for Unit Commitment with Non-Spinning Reserve Simulations │ │ c_sys5_uc_re │ 5-bus system for Unit Commitment Simulations with Renewable Units │ │ hydro_test_case_b_sys │ test system for HydroGen Energy Target formulation(case-b) │ │ hydro_test_case_c_sys │ test system for HydroGen Energy Target formulation(case-c) │ │ hydro_test_case_d_sys │ test system for HydroGen Energy Target formulation(case-d) │ │ hydro_test_case_e_sys │ test system for HydroGen Energy Target formulation(case-e) │ │ hydro_test_case_f_sys │ test system for HydroGen Energy Target formulation(case-f) │ │ modified_RTS_GMLC_DA_sys │ Modified RTS-GMLC Full system for day-ahead simulations\n with modifications to reserve definitions to improve feasibility │ │ modified_RTS_GMLC_RT_sys │ Modified RTS-GMLC Full system for real-time simulations\n with modifications to reserve definitions to improve feasibility │ │ modified_RTS_GMLC_realization_sys │ Modified RTS-GMLC Full system for real-time simulations\n with modifications to reserve definitions to improve feasibility │ │ modified_tamu_ercot_da_system │ Modified tamu ercot day ahead system │ │ test_RTS_GMLC_sys │ RTS-GMLC test system with day-ahead forecast │ └───────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ Category: PSSETestSystems ┌─────────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────┐ │ Name │ Descriptor │ ├─────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────┤ │ psse_240_case_renewable_sys │ PSSE 240 Bus Case system with Renewables https://www.nrel.gov/grid/test-case-repository.html │ │ psse_3bus_SEXS_sys │ PSSE 3-bus Test system with SEXS │ │ psse_3bus_gen_cls_sys │ PSSE 3-bus Test system with CLS │ │ psse_3bus_no_cls_sys │ PSSE 3-bus Test system without CLS │ │ psse_ACTIVSg2000_sys │ PSSE ACTIVSg2000 Test system │ │ psse_Benchmark_4ger_33_2015_sys │ PSSE Benchmark system │ │ psse_OMIB_sys │ PSSE OMIB Test system │ │ psse_RTS_GMLC_sys │ PSSE .raw RTS-GMLC system │ │ psse_renewable_parsing_1 │ PSSE 3-bus Test system with REPCA, REECB and REGCA │ │ pti_case14_sys │ PSSE 14-bus Test system │ │ pti_case24_sys │ PSSE 24-bus Test system │ │ pti_case30_sys │ PSSE 30-bus Test system │ │ pti_case3_sys │ PSSE 3-bus Test system │ │ pti_case5_alc_sys │ PSSE 5-bus alc Test system │ │ pti_case5_sys │ PSSE 5-bus Test system │ │ pti_case73_sys │ PSSE 73-bus Test system │ │ pti_case7_tplgy_sys │ PSSE 7-bus Test system │ │ pti_frankenstein_00_2_sys │ PSSE frankenstein Test system │ │ pti_frankenstein_00_sys │ PSSE frankenstein Test system │ │ pti_frankenstein_20_sys │ PSSE frankenstein Test system │ │ pti_frankenstein_70_sys │ PSSE frankenstein Test system │ │ pti_parser_test_a_sys │ PSSE Test system │ │ pti_three_winding_mag_test_sys │ PSSE Test system │ │ pti_three_winding_test_2_sys │ PSSE Test system │ │ pti_three_winding_test_sys │ PSSE Test system │ │ pti_two_terminal_hvdc_test_sys │ PSSE Test system │ │ pti_two_winding_mag_test_sys │ PSSE Test system │ │ pti_vsc_hvdc_test_sys │ PSSE Test system │ └─────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────┘ Category: PSYTestSystems ┌──────────────────────┬──────────────────────────────────┐ │ Name │ Descriptor │ ├──────────────────────┼──────────────────────────────────┤ │ dynamic_inverter_sys │ PSY test dynamic inverter system │ │ tamu_ACTIVSg2000_sys │ TAMU ACTIVSg2000 Test system │ └──────────────────────┴──────────────────────────────────┘ Category: SIIPExampleSystems ┌─────────────────────────────────┬────────────────────────────────────────────────────────────┐ │ Name │ Descriptor │ ├─────────────────────────────────┼────────────────────────────────────────────────────────────┤ │ 5_bus_hydro_ed_sys │ 5-bus hydro economic dispatch data │ │ 5_bus_hydro_ed_sys_with_targets │ 5-bus hydro economic dispatch data with energy targets │ │ 5_bus_hydro_uc_sys │ 5-bus hydro unit commitment data │ │ 5_bus_hydro_uc_sys_with_targets │ 5-bus hydro unit commitment data with energy targets │ │ 5_bus_hydro_wk_sys │ 5-bus hydro system for weekly dispatch │ │ 5_bus_hydro_wk_sys_with_targets │ 5-bus hydro system for weekly dispatch with energy targets │ │ 5_bus_matpower_AGC │ matpower 5-bus system with AGC time series │ │ 5_bus_matpower_DA │ matpower 5-bus system with DA time series │ │ 5_bus_matpower_RT │ matpower 5-bus system with RT time series │ └─────────────────────────────────┴────────────────────────────────────────────────────────────┘
the available categories can be displayed with:
show_categories()
MatPowerTestSystems PSITestSystems PSSETestSystems PSYTestSystems SIIPExampleSystems
the available systems can be displayed with:
show_systems(SIIPExampleSystems)
┌─────────────────────────────────┬────────────────────────────────────────────────────────────┐ │ Name │ Descriptor │ ├─────────────────────────────────┼────────────────────────────────────────────────────────────┤ │ 5_bus_hydro_ed_sys │ 5-bus hydro economic dispatch data │ │ 5_bus_hydro_ed_sys_with_targets │ 5-bus hydro economic dispatch data with energy targets │ │ 5_bus_hydro_uc_sys │ 5-bus hydro unit commitment data │ │ 5_bus_hydro_uc_sys_with_targets │ 5-bus hydro unit commitment data with energy targets │ │ 5_bus_hydro_wk_sys │ 5-bus hydro system for weekly dispatch │ │ 5_bus_hydro_wk_sys_with_targets │ 5-bus hydro system for weekly dispatch with energy targets │ │ 5_bus_matpower_AGC │ matpower 5-bus system with AGC time series │ │ 5_bus_matpower_DA │ matpower 5-bus system with DA time series │ │ 5_bus_matpower_RT │ matpower 5-bus system with RT time series │ └─────────────────────────────────┴────────────────────────────────────────────────────────────┘
System
¶The first time this is run, it will parse csv data. Subsequent executions will rely on serialized data and will execute much faster
sys = build_system(SIIPExampleSystems, "5_bus_hydro_ed_sys")
┌ Info: Building new system 5_bus_hydro_ed_sys from raw data └ sys_descriptor.raw_data = "/home/runner/.julia/packages/PowerSystemCaseBuilder/RYBMw/data" [ Info: Parsing csv data in Hydro_Upstream_Input.csv ... [ Info: Successfully parsed Hydro_Upstream_Input.csv [ Info: Parsing csv data in branch.csv ... [ Info: Successfully parsed branch.csv [ Info: Parsing csv data in bus.csv ... [ Info: Successfully parsed bus.csv [ Info: Parsing csv data in gen.csv ... [ Info: Successfully parsed gen.csv [ Info: Parsing csv data in reserves.csv ... [ Info: Successfully parsed reserves.csv [ Info: Parsing csv data in storage.csv ... [ Info: Successfully parsed storage.csv [ Info: Unit System changed to InfrastructureSystems.UnitSystemModule.UnitSystem.DEVICE_BASE = 1 ┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.DC_BRANCH = 3 data. └ @ PowerSystems ~/.julia/packages/PowerSystems/gGFFl/src/parsers/power_system_table_data.jl:213 ┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.LOAD = 5 data. └ @ PowerSystems ~/.julia/packages/PowerSystems/gGFFl/src/parsers/power_system_table_data.jl:213 ┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.DC_BRANCH = 3 data. └ @ PowerSystems ~/.julia/packages/PowerSystems/gGFFl/src/parsers/power_system_table_data.jl:213 ┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.LOAD = 5 data. └ @ PowerSystems ~/.julia/packages/PowerSystems/gGFFl/src/parsers/power_system_table_data.jl:213 [ Info: Adding contributing generators for REG1 by category ┌ Warning: no component category=PowerSystems.Generator name=SolarBusC └ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/Z74ym/src/system_data.jl:541 ┌ Warning: no component category=PowerSystems.Generator name=WindBusA └ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/Z74ym/src/system_data.jl:541 [ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/RYBMw/data/serialized_system/ForecastOnly/5_bus_hydro_ed_sys_time_series_storage.h5. [ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/RYBMw/data/serialized_system/ForecastOnly/5_bus_hydro_ed_sys.json
Property | Value |
---|---|
System Units Base | DEVICE_BASE |
Base Power | 100.0 |
Base Frequency | 60.0 |
Num Components | 35 |
Type | Count | Has Static Time Series | Has Forecasts |
---|---|---|---|
Arc | 6 | false | false |
Area | 2 | false | false |
Bus | 5 | false | false |
HydroDispatch | 1 | true | true |
HydroEnergyReservoir | 2 | true | true |
HydroPumpedStorage | 1 | false | false |
Line | 5 | false | false |
LoadZone | 2 | false | false |
PowerLoad | 3 | true | true |
TapTransformer | 2 | false | false |
ThermalStandard | 5 | false | false |
VariableReserve{PowerSystems.ReserveUp} | 1 | false | false |
Property | Value |
---|---|
Components with time series data | 6 |
Total StaticTimeSeries | 12 |
Total Forecasts | 12 |
Resolution | 60 minutes |
First initial time | 2020-01-01T00:00:00 |
Last initial time | 2020-03-24T12:00:00 |
Horizon | 12 |
Interval | 60 minutes |
Forecast window count | 2005 |
This notebook was generated using Literate.jl.