Skip to content

Add storage lifecycle counting to the pyomo dispatch #496

@genevievestarke

Description

@genevievestarke

Add storage lifecycle counting to the pyomo dispatch

The ability to count storage (battery) life cycles and add them into the pyomo optimization problem was a capability that existed in HOPP, but does not exist yet in H2I.

Proposed solution

It would need to be integrated throughout the pyomo dispatch structure: inputs, through to the objective function, and added as a variable in the PyomoRuleStorageMinOperatingCosts class.
Some of the code used in HOPP to achieve this is below:

        # TODO: implement and test lifecycle counting
        # if self.config.include_lifecycle_count:
        #     self.lifecycle_cost = (
        #         self.options.lifecycle_cost_per_kWh_cycle
        #         * self._system_model.value("nominal_energy")
        #     )

        # self.cost_per_charge = self._financial_model.value("om_batt_variable_cost")[
        #     0
        # ]  # [$/MWh]
        # self.cost_per_discharge = self._financial_model.value("om_batt_variable_cost")[
        #     0
        # ]  # [$/MWh]

Alternatives considered

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    dispatchrelated to dispatch and control

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions