h2integrate.storage.generic_storage_cost#

Classes

GenericStorageCostConfig(*, cost_year, ...)

Configuration class for the GenericStorageCostModel with costs based on storage capacity and charge rate for any commodity.

GenericStorageCostModel(**kwargs)

Generic storage cost model for any commodity (electricity, hydrogen, etc.).

class h2integrate.storage.generic_storage_cost.GenericStorageCostConfig(*, cost_year, capacity_capex, charge_capex, opex_fraction, max_capacity, max_charge_rate, commodity_rate_units, commodity_amount_units=None)#

Configuration class for the GenericStorageCostModel with costs based on storage capacity and charge rate for any commodity.

Note

This could be expanded to allow for different types of commodity units in the future. Currently only supports electrical, mass, and some thermal units.

Fields include capacity_capex, charge_capex, opex_fraction, max_capacity, max_charge_rate, and commodity_rate_units. The cost_year field is inherited from CostModelBaseConfig.

Parameters:
  • cost_year (int)

  • capacity_capex (float | int)

  • charge_capex (float | int)

  • opex_fraction (float)

  • max_capacity (float)

  • max_charge_rate (float)

  • commodity_rate_units (str)

  • commodity_amount_units (str)

capacity_capex: float | int#
charge_capex: float | int#
opex_fraction: float#
max_capacity: float#
max_charge_rate: float#
commodity_rate_units: str#
commodity_amount_units: str#
class h2integrate.storage.generic_storage_cost.GenericStorageCostModel(**kwargs)#

Generic storage cost model for any commodity (electricity, hydrogen, etc.).

This model calculates costs based on storage capacity and charge/discharge rate.

Total_CapEx = capacity_capex * Storage_Hours + charge_capex

  • Total_CapEx: Total System Cost (USD/charge_units)

  • Storage_Hours: Storage Duration (hr)

  • capacity_capex: Storage Capacity Cost (USD/capacity_units)

  • charge_capex: Storage Charge Cost (USD/charge_units)

_time_step_bounds = (3600, 3600)#
setup()#

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs, discrete_inputs, discrete_outputs)#

Computation for the OM component.

For a template class this is not implement and raises an error.