storage

This module contains energy storage related functions. Symmetrical energy storage system is considered in this module. It means that the energy storage system has the same power capacity for charging and discharging.

Similar to the power discharging process, the charging power of storage technology \(e\) (\({\rm{power}}_{h,m,y,z,e}^{{c}}\)) is also limited by the existing installed capacity and technical minimum charging power (\({\underline{{\rm{POWER}}}}_{h,m,y,z,e}^{{c}}\)) as follows:

\[{\underline{{\rm{POWER}}}}_{h,m,y,z,e}^{{c}}\times {\rm{cap}}_{y,z,e}^{\rm{existingtech}}\le{\rm{power}}_{h,m,y,z,e}^{{c}} \le {\rm{cap}}_{y,z,e}^{\rm{existingtech}}\quad\forall h,m,y,z,e \in {\mathcal{STOR}}\]

The charging generation (\({\rm{charge}}_{h,m,y,z,e}\)) and \({\rm{power}}_{h,m,y,z,e}^{c}\) need to meet the following formula:

\[{\rm{charge}}_{h,m,y,z,e}={\rm{power}}_{h,m,y,z,e}^{\rm{c}}\times \Delta h{\times\eta}_{y,e}^{{\rm{in}}} \quad\forall h,m,y,z,e\in {\mathcal{STOR}}\]

Changes in stored electricity (\({\rm{storage}}_{h,m,y,z,e}^{\rm{energy}}\)) in two successive periods should be balanced by the charging (\({\rm{charge}}_{h,m,y,z,e}\)) and discharging (\({\rm{gen}}_{h,m,y,z,e}\)) processes:

\[{\rm{storage}}_{h,m,y,z,e}^{\rm{energy}}- {\rm{storage}}_{h-1,m,y,z,e}^{\rm{energy}} ={\rm{charge}}_{h,m,y,z,e}-{\rm{gen}}_{h,m,y,z,e}\]

In addition, the initial (when \(h=h_{ m{start}}\)) stored electricity (\({\rm{storage}}_{h=h_{\rm{start}},m,y,z,e}^{\rm{energy}}\)) of storage technology \(e\) in each month of each year can be calculated based on the proportion of the maximum storage capacity, as follows:

\[{\rm{storage}}_{h=h_{\rm{start}},m,y,z,e}^{\rm{energy}} ={{\rm{STORAGE}}}_{m,y,z,e}^{\rm{energy}}\times{{\rm{EP}}}_e\times {\rm{cap}}_{y,z,e}^{\rm{existingtech}}\quad\forall m,y,z,e\in {\mathcal{STOR}}\]

The instantaneous storage energy level (\({\rm{storage}}_{h,m,y,z,e}^{\rm{energy}}\)) of storage technology \(e\) should not exceed the maximum energy storage capacity, as follows:

\[{\rm{storage}}_{h,m,y,z,e}^{\rm{energy}}\le{{\rm{EP}}}_e\times {\rm{cap}}_{y,z,e}^{\rm{existingtech}} \quad\forall h,m,y,z,e\in {\mathcal{STOR}}\]
class prepshot._model.storage.AddStorageConstraints(model)[source]

Bases: object

Energy storage class.

Parameters

model (object) --

__init__(model)[source]

Initialize the class and add constraints.

Parameters

model (object) -- Model object depending on the solver.

Return type

None

charge_up_bound_rule(h, m, y, z, te)[source]

charge[h,m,y,z,te] <= cap_existing * dt.

Symmetric to gen_up_bound_rule on the discharge side. Bounds grid-side charging energy per timestep by the installed power capacity (storage is assumed symmetric: same power rating for charge and discharge, per the module docstring). Without this rule, charge is implicitly capped only by the SOC ceiling -- letting a 1 MW / 10 MWh battery draw 10 MW for one hour.

Parameters
  • h (int) --

  • m (int) --

  • y (int) --

  • z (str) --

  • te (str) --

Return type

ConstraintIndex

end_energy_storage_rule(m, y, z, te)[source]

End energy storage.

Parameters
  • m (int) -- Month.

  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

The constraint of the model.

Return type

poi.ConstraintIndex

energy_storage_balance_rule(h, m, y, z, te)[source]

Energy storage balance.

Parameters
  • h (int) -- Hour.

  • m (int) -- Month.

  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

The constraint of the model.

Return type

poi.ConstraintIndex

energy_storage_gen_rule(h, m, y, z, te)[source]

Energy storage generation.

Parameters
  • h (int) -- Hour.

  • m (int) -- Month.

  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

The constraint of the model.

Return type

poi.ConstraintIndex

energy_storage_up_bound_rule(h, m, y, z, te)[source]

Energy storage upper bound.

Parameters
  • h (int) -- Hour.

  • m (int) -- Month.

  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

The constraint of the model.

Return type

poi.ConstraintIndex

init_energy_storage_rule(m, y, z, te)[source]

Initial energy storage.

Parameters
  • m (int) -- Month.

  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

The constraint of the model.

Return type

poi.ConstraintIndex