h2integrate.control.control_strategies.storage.simple_openloop_controller#

Classes

SimpleStorageOpenLoopController(**kwargs)

A simple open-loop controller for storage systems.

SimpleStorageOpenLoopControllerConfig(*, ...)

Configuration class for the SimpleStorageOpenLoopController

class h2integrate.control.control_strategies.storage.simple_openloop_controller.SimpleStorageOpenLoopControllerConfig(*, commodity, commodity_rate_units, commodity_amount_units=None, set_demand_as_avg_commodity_in, demand_profile=0.0)#

Configuration class for the SimpleStorageOpenLoopController

Parameters:
  • commodity (str)

  • commodity_rate_units (str)

  • commodity_amount_units (str)

  • set_demand_as_avg_commodity_in (bool)

  • demand_profile (int | float | list)

commodity#

name of commodity

Type:

str

commodity_rate_units#

Units of the commodity (e.g., kW or kg/h).

Type:

str

set_demand_as_avg_commodity_in#

If True, assume the demand is equal to the mean input commodity. If False, uses the demand input.

Type:

bool

demand_profile#

Demand values for each timestep, in the same units as commodity_rate_units. May be a scalar for constant demand or a list/array for time-varying demand. Only used if set_demand_as_avg_commodity_in is False. Defaults to 0.

Type:

int | float | list, optional

set_demand_as_avg_commodity_in: bool#
demand_profile: int | float | list#
class h2integrate.control.control_strategies.storage.simple_openloop_controller.SimpleStorageOpenLoopController(**kwargs)#

A simple open-loop controller for storage systems.

This controller directly sets a storage control set point as the difference between the demand and the available input commodity. It is useful for testing, as a placeholder for more complex storage controllers, and for maintaining consistency between controlled and uncontrolled frameworks.

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

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)#

Simple controller that outputs commodity_set_point, the dispatch set-points for each timestep in commodity_rate_units. Negative values command charging, positive values command discharging.