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_units)#

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.

Parameters:
  • cost_year (int)

  • capacity_capex (float | int)

  • charge_capex (float | int)

  • opex_fraction (float)

  • max_capacity (float)

  • max_charge_rate (float)

  • commodity_units (str)

capacity_capex#

storage energy capital cost in $/capacity_units

Type:

float|int

charge_capex#

storage power capital cost in $/charge_units/h

Type:

float|int

opex_fraction#

annual operating cost as a fraction of the total system cost.

Type:

float

cost_year#

dollar year corresponding to input costs

Type:

int

max_capacity#

Maximum storage capacity (in non-rate units, e.g., "kW*h" if commodity_units is "kW").

Type:

float

max_charge_rate#

Maximum rate at which storage can be charged (in units per time step, e.g., "kW/time step").

Type:

float

commodity_units#

Units of the storage resource used to define the charge rate. max_capacity and max_charge_rate. Must have a base of Watts ('W') or grams ('g/h') or heat ('MMBtu/h')

Type:

str

capacity_capex: float | int#
charge_capex: float | int#
opex_fraction: float#
max_capacity: float#
max_charge_rate: float#
commodity_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)

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.