h2integrate.storage.hydrogen.test.test_hydrogen_storage#

Functions

tech_config(max_capacity, max_charge_rate)

test_h2_storage_average_flow_rate()

Test that system_flow_rate uses the average of hydrogen_in, not the max charge rate.

test_h2_storage_capex_opex(subtests, ...)

test_h2_storage_capex_per_kg(plant_config, ...)

Test based on original test_lined_rock_storage.py with 1M kg storage capacity.

h2integrate.storage.hydrogen.test.test_hydrogen_storage.tech_config(max_capacity, max_charge_rate)#
h2integrate.storage.hydrogen.test.test_hydrogen_storage.test_h2_storage_capex_opex(subtests, plant_config, tech_config, model, n_timesteps, max_charge_rate, expected_capex, expected_opex, expected_var_opex, cost_year)#
h2integrate.storage.hydrogen.test.test_hydrogen_storage.test_h2_storage_capex_per_kg(plant_config, tech_config, model, n_timesteps, max_capacity, max_charge_rate, a, b, c)#

Test based on original test_lined_rock_storage.py with 1M kg storage capacity.

h2integrate.storage.hydrogen.test.test_hydrogen_storage.test_h2_storage_average_flow_rate()#

Test that system_flow_rate uses the average of hydrogen_in, not the max charge rate.

This test verifies the fix for the incorrect system sizing bug where the HDSAM-based cost models were using the maximum fill rate instead of the average system flow rate (per Papadias 2021 / HDSAM V4.0).

We run the same model twice: 1. With a constant hydrogen_in timeseries (mean == max) 2. With a variable hydrogen_in timeseries (mean < max)

The CapEx should be the same (depends on storage capacity, not flow rate), but the OpEx should differ because it depends on system_flow_rate (compressor sizing, labor, etc.).