PowerModelsInterface.jl is a Julia package for accessing routines from PowerModels.jl with data contained in PowerSystems.jl.
This package is under development and is a work in progress. The 0.1.0 tag is being used in the development of PowerSimulations.jl and it is subject to change. Current features will remain supported, and if new features are particularly useful, please open an issue. As always, PRs are welcome.
julia> ]
(v1.6) pkg> add PowerModelsInterface
PowerModelsInterface.jl
allows users to translate PowerSystems.jl data into PowerModels.jl
format and provides interfaces to key PowerModels.jl
modeling functions. In particular, PowerModelsInterface.jl
has three main capabilities:
Translate a PowerSystems.jl System
into a PowerModels.jl data model Dict
using PowerSystems, PowerModelsInterface, Dates
using PowerSystemCaseBuilder # data library
sys = build_system(PSITestSystems, "c_sys5") # example dataset
pm_data = get_pm_data(sys)
Apply time series from a PowerSystems.jl System
to populate a PowerModels.jl Dict
or a multi-network Dict
pm_data = get_pm_data(sys, start_time = DateTime("2024-01-02T00:00:00"), period = 4) #applies data from the 4th period of the 2nd forecast to pm_data
mn_data = get_pm_data(sys, start_time = DateTime("2024-01-02T00:00:00"), time_periods = 1:4) #applies data from the 4th period of the 2nd forecast to pm_data
using Ipopt
run_ac_opf(sys, Ipopt.Optimizer)
run_opf(
sys,
ACPPowerModel,
Ipopt.Optimizer,
start_time = DateTime("2024-01-02T00:00:00"),
period = 4,
)
run_mn_opf(
sys,
ACPPowerModel,
Ipopt.Optimizer,
start_time = DateTime("2024-01-02T00:00:00"),
time_periods = 1:24,
)
Contributions to the development and enahancement of PowerSimulations is welcome. Please see CONTRIBUTING.md for code contribution guidelines.
PowerSimulations is released under a BSD license. PowerSimulations has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL)