Skip to content

Commit

Permalink
Merge pull request #107 from NREL-Sienna/rh/add_reserves_5bus_ed
Browse files Browse the repository at this point in the history
add reserves to 5bus ED
  • Loading branch information
jd-lara authored Sep 9, 2024
2 parents b4eeca9 + ad8bad1 commit b771de2
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 1 deletion.
40 changes: 39 additions & 1 deletion src/library/psitest_library.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1436,7 +1436,7 @@ function build_c_sys5_pwl_uc(; raw_data, kwargs...)
return c_sys5_uc
end

function build_c_sys5_ed(; add_forecasts, kwargs...)
function build_c_sys5_ed(; add_forecasts, add_reserves, kwargs...)
sys_kwargs = filter_kwargs(; kwargs...)
nodes = nodes5()
c_sys5_ed = PSY.System(
Expand Down Expand Up @@ -1501,6 +1501,44 @@ function build_c_sys5_ed(; add_forecasts, kwargs...)
)
end
end
if add_reserves
reserve_ed = reserve5(PSY.get_components(PSY.ThermalStandard, c_sys5_ed))
PSY.add_service!(
c_sys5_ed,
reserve_ed[1],
PSY.get_components(PSY.ThermalStandard, c_sys5_ed),
)
PSY.add_service!(
c_sys5_ed,
reserve_ed[2],
[collect(PSY.get_components(PSY.ThermalStandard, c_sys5_ed))[end]],
)
PSY.add_service!(
c_sys5_ed,
reserve_ed[3],
PSY.get_components(PSY.ThermalStandard, c_sys5_ed),
)
for serv in PSY.get_components(PSY.VariableReserve, c_sys5_ed)
forecast_data = SortedDict{Dates.DateTime, TimeSeries.TimeArray}()
for t in 1:2 # loop over days
ta_DA = Reserve_ts[t]
data_5min = repeat(values(ta_DA); inner = 12)
reserve_timeseries_RT =
TimeSeries.TimeArray(RealTime + Day(t - 1), data_5min)
# loop over hours
for ini_time in timestamp(ta_DA) #get the initial hour
# Construct TimeSeries
data = when(reserve_timeseries_RT, hour, hour(ini_time)) # get the subset ts for that hour
forecast_data[ini_time] = data
end
end
PSY.add_time_series!(
c_sys5_ed,
serv,
PSY.Deterministic("max_active_power", forecast_data),
)
end
end
return c_sys5_ed
end

Expand Down
5 changes: 5 additions & 0 deletions src/system_descriptor_data.jl
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,11 @@ const SYSTEM_CATALOG = [
default = true,
allowed_values = Set([true, false]),
),
SystemArgument(;
name = :add_reserves,
default = false,
allowed_values = Set([true, false]),
),
],
),
SystemDescriptor(;
Expand Down

0 comments on commit b771de2

Please sign in to comment.