Sets#

Acronyms#

Acronym

Description

aFRR

Automatic Frequency Restoration Reserve

BESS

Battery Energy Storage System

DA

Day-Ahead

ESS

Energy Storage System (includes BESS and HESS)

EV

Electric Vehicle

FCR-D

Frequency Containment Reserve – Disturbance

FCR-N

Frequency Containment Reserve – Normal

H-VPP

Hydrogen-based Virtual Power Plant

HESS

Hydrogen Energy Storage System

IB

Imbalance

ID

Intraday

mFRR

Manual Frequency Restoration Reserve

SoC

State of Charge

VRE

Variable Renewable Energy

The optimization model is built upon a series of indexed sets that define its dimensions, including time, space, and technology. These sets are used by Pyomo to create variables and constraints efficiently. Understanding these sets is crucial for interpreting the model’s structure and preparing input data.

The core sets are defined in the model object and are accessible throughout the formulation scripts (e.g., in oM_ModelFormulation.py).

Temporal Hierarchy#

The model uses a nested temporal structure to represent time, from long-term planning periods down to hourly operational timesteps.

Sets#

Symbol

Description

Pyomo Component

\(\nP\)

All periods (e.g., years in a planning horizon)

model.pp

\(\nS\)

All scenarios, representing different operational conditions within a period

model.scc

\(\nT\)

All time steps (e.g., hours or sub-hourly intervals)

model.nn

Indices#

Symbol

Description

Pyomo Component

\(\periodindex\)

Period (e.g., year.)

model.p

\(\scenarioindex\)

All scenarios, representing different operational conditions within a period

model.sc

\(\timeindex\)

Time step (e.g., hours or sub-hourly intervals)

model.n

\(ps\)

Combination of period and scenario

model.ps

\(psn\)

Combination of period, scenario, and time step

model.psn

Spatial Representation#

The spatial dimension defines the physical layout and regional aggregation of the energy system.

Sets#

Symbol

Description

Pyomo Component

\(\nB\)

Node or bus bar in the network

model.nd

\(\nC\)

Electricity connection (from node, to node, circuit)

model.cc

\(\nLE\)

Electricity arc (transmission line)

model.eln

\(\nLH\)

Hydrogen arc (pipeline)

model.hpn

\(\nZ\)

Zone or region in the network

model.zn

Indices#

Symbol

Description

Pyomo Component

\(\busindex\)

Node or bus bar in the network

nd

\(\busindexa\)

From node of a connection or arc

i

\(\busindexb\)

To node of a connection or arc

j

\(\lineindexa\)

From node of a transmission line

ijc

\(\lineindexb\)

To node of a transmission line

jic

\(\zoneindex\)

Zone or region in the network

zn

Technology and Asset Sets#

The model uses a rich set of indices to differentiate between various types of technologies and assets. There is a clear separation between the electricity and hydrogen systems.

General Technology Subsets#

Symbol

Description

Pyomo Component

\(\nGE\)

All electricity generation units

model.eg

\(\nGENR\)

Non-renewable electricity generators (subset of \(\nGE\))

model.egnr

\(\nGVRE\)

Variable Renewable Energy (VRE) generators (subset of \(\nGE\))

model.egvre

\(\nEE\)

Electricity energy storage systems (subset of \(\nGE\))

model.egs

\(\nGH\)

All hydrogen production units

model.hg

\(\nGHE\)

Units converting electricity to hydrogen (e.g., electrolyzers)

model.e2h

\(\nGEH\)

Units converting hydrogen to electricity (e.g., fuel cells)

model.h2e

\(\nEH\)

Hydrogen energy storage systems (subset of \(\nGH\))

model.hgs

Indices#

Symbol

Description

Pyomo Component

\(\genindex\)

Generation units

g

\(\storageindex\)

Energy storage systems

e

\(\traderindex\)

Retailers

r

Demand and Retail#

Symbol

Description

Pyomo Component

\(\nDE\)

All electricity demands

model.ed

\(\nDH\)

All hydrogen demands

model.hd

\(\nRE\)

All electricity retailers

model.er

\(\nRH\)

All hydrogen retailers

model.hr

\(\nKE\)

Set of peak indices for demand charge calculation

model.Peaks

Indices#

Symbol

Description

Pyomo Component

\(\demandindex\)

Consumer

d

\(\traderindex\)

Retailer

r

Node-to-Technology Mappings#

The model uses mapping sets to link specific assets to their locations in the network. For example:

  • model.n2eg: Maps which electricity generators exist at which nodes.

  • model.n2hg: Maps which hydrogen producers exist at which nodes.

  • model.n2ed: Maps electricity demands to nodes.

These sets are fundamental for building the energy balance constraints at each node. By combining temporal, spatial, and technological sets, the model can create highly specific variables, such as vEleTotalOutput[p,sc,n,eg], which represents the electricity output of generator eg at a specific time (p,sc,n).