@@ -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