Skip to content

Commit 0e0132d

Browse files
committed
Update cost-informed dispatch test for h2
1 parent a8b92b1 commit 0e0132d

1 file changed

Lines changed: 10 additions & 27 deletions

File tree

test/runtests.jl

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3824,7 +3824,7 @@ else # run HiGHS tests
38243824

38253825
d["Electrolyzer"]["require_compression"] = false
38263826

3827-
# Compressor is still built, but constraints fix production to zero
3827+
# TO-DO? Compressor is still built, but constraints fix production to zero
38283828
s = Scenario(d)
38293829
inputs = REoptInputs(s)
38303830
m = Model(optimizer_with_attributes(HiGHS.Optimizer, "output_flag" => false, "log_to_console" => false))
@@ -3878,47 +3878,30 @@ else # run HiGHS tests
38783878
@test fuel_cell_greater_than_zero_min >= results["FuelCell"]["size_kw"] * d["FuelCell"]["min_turn_down_fraction"]
38793879
end
38803880

3881-
@testset "Cost-influenced Dispatch" begin
3881+
@testset "Cost-Informed Dispatch" begin
38823882
d = JSON.parsefile("./scenarios/hydrogen_techs.json")
38833883

38843884
flat_h2_load_kg = 100.0
38853885
flat_elec_load_kw = 500.0
38863886
d["ElectricLoad"]["loads_kw"] = repeat([flat_elec_load_kw], 8760)
38873887
d["HydrogenLoad"]["loads_kg"] = repeat([flat_h2_load_kg], 8760)
3888-
d["PV"] = Dict{String, Any}()
38893888
d["FuelCell"] = Dict{String, Any}()
38903889
d["ElectricTariff"] = Dict{String, Any}()
3891-
d["ElectricTariff"]["tou_energy_rates_per_kwh"] = repeat([0.25], 8760)
3892-
d["ElectricTariff"]["tou_energy_rates_per_kwh"][101:105] .= 0.01
3893-
d["ElectricTariff"]["tou_energy_rates_per_kwh"][106:110] .= 100.0
3890+
d["ElectricTariff"]["tou_energy_rates_per_kwh"] = [isodd(i) ? 0.01 : 0.99 for i in 1:8760]
38943891
d["ElectricTariff"]["blended_annual_demand_rate"] = 0.0
38953892

38963893
s = Scenario(d)
38973894
inputs = REoptInputs(s)
38983895
m = Model(optimizer_with_attributes(HiGHS.Optimizer, "mip_rel_gap" => 0.01, "output_flag" => false, "log_to_console" => false))
38993896
results = run_reopt(m, inputs)
3900-
3901-
# print("\n\n\n")
3902-
# println("PV size_kw: ", results["PV"]["size_kw"])
3903-
# println("Electrolyzer size_kw: ", results["Electrolyzer"]["size_kw"])
3904-
# println("Compressor size_kw: ", results["Compressor"]["size_kw"])
3905-
# println("HydrogenStorage size_kg: ", results["HydrogenStorage"]["size_kg"])
3906-
# println("FuelCell size_kw: ", results["FuelCell"]["size_kw"])
3907-
# println("FuelCell max output: ", maximum(results["FuelCell"]["electric_to_load_series_kw"]))
3908-
# println("rates: ", d["ElectricTariff"]["tou_energy_rates_per_kwh"][95:115])
3909-
# println("electrolyzer: ", results["Electrolyzer"]["electricity_consumed_series_kw"][95:115])
3910-
# println("compressor: ", results["Compressor"]["electricity_consumed_series_kw"][95:115])
3911-
# println("fuel cell: ", results["FuelCell"]["electric_to_load_series_kw"][95:115])
3912-
# println("h2 storage soc: ", results["HydrogenStorage"]["soc_series_fraction"][95:115])
3913-
# print("\n\n\n")
3914-
3915-
@test sum(results["Electrolyzer"]["electricity_consumed_series_kw"][101:105]) results["Electrolyzer"]["size_kw"] * 5 atol=1
3916-
@test sum(results["Compressor"]["electricity_consumed_series_kw"][101:105]) results["Compressor"]["size_kw"] * 5 atol=1
3917-
@test sum(results["FuelCell"]["electric_to_load_series_kw"][101:105]) 0 atol=1
39183897

3919-
@test sum(results["Electrolyzer"]["electricity_consumed_series_kw"][106:110]) 0 atol=1
3920-
@test sum(results["Compressor"]["electricity_consumed_series_kw"][106:110]) 0 atol=1
3921-
@test sum(results["FuelCell"]["electric_to_load_series_kw"][106:110]) results["FuelCell"]["size_kw"] * 5 atol=1
3898+
@test sum(results["Electrolyzer"]["electricity_consumed_series_kw"][2:2:end]) 0 atol=1
3899+
@test sum(results["Compressor"]["electricity_consumed_series_kw"][2:2:end]) 0 atol=1
3900+
@test sum(results["FuelCell"]["electric_to_load_series_kw"][1:2:end]) 0 atol=1
3901+
3902+
@test sum(results["Electrolyzer"]["electricity_consumed_series_kw"][1:2:end]) round(results["Electrolyzer"]["size_kw"], digits=3) * (8760/2) atol=1
3903+
@test sum(results["Compressor"]["electricity_consumed_series_kw"][1:2:end]) round(results["Compressor"]["size_kw"], digits=3) * (8760/2) atol=1
3904+
@test sum(results["FuelCell"]["electric_to_load_series_kw"][2:2:end]) flat_elec_load_kw * (8760/2) atol=1
39223905
end
39233906
end
39243907

0 commit comments

Comments
 (0)