---
jupytext:
text_representation:
extension: .md
format_name: myst
format_version: 0.13
jupytext_version: 1.10.3
kernelspec:
display_name: Python 3
language: python
name: python3
---
Asset production (MW)
=================
*indexed by: asset, asset type, energy, node, technology and test case*
### Description
This indicator displays optimization results and information that characterise the energy production of each one of
the realization’s assets. It makes available both optimization results linked to assets production (production,
started capacity, starting capacity) and calculated values to help understanding the constraints over these optimization
variables.
The following timeseries are displayed:
- Production
- Production capacity
- Available production capacity
- Minimal generation
- Non-reserved generation (for reserve participating assets)
- Started capacity (for unit and cluster assets only)
- Ramping-up capacity (for unit and cluster assets only)
Every energy production asset is included in this indicator. It is, however, completed by a CO2 specific indicator :
[CO2 Asset Production](co2_asset_production.md) that contains the same information for CO2 and CO2 captured producing
assets.
### Calculation
All the equations below are valid for any realization and are therefore implicitly indexed by test case.
Let $x_{a, n, e, data\_type}$ be the timeseries returned by this KPI for a given $data\_type$, each possible data type is
computed as follows :
#### Production
The KPI value labelled with a *Production* index is directly the optimized production variables associated to an asset.
$$
x_{a, e, n, Production}(t) = p_{a, e, n}(t)
$$
#### Production capacity
The KPI value labelled with a *Production capacity* index for an asset $a$ is its associated maximum theoretical energy
production capacity.
If the energy considered is the main produced energy of asset $a$ we directly have :
$$
x_{a, e_a^p, n, Production \text{ } capacity}(t) = p\_max_{a, e_a^p}
$$
For heat production capacity of assets with behaviour *FUEL* active we have :
$$
x_{a, heat, n, Production \text{ } capacity}(t) = p\_max_{a, e_a^p} \cdot \frac{fuel\_yield\_heat_a}{fuel\_yield_a}
$$
For heat production capacity of assets with behaviour *FUEL* not active we have :
$$
x_{a, heat, n, Production \text{ } capacity}(t) = p\_max_{a, e_a^p} \cdot heat\_over\_elec\_ratio_a
$$
Where $e_a^p$ is the main energy produced by asset $a$ and $n$ is the node to which this energy is produced.
#### Available production capacity
The KPI value labelled with an *Available production capacity* index for an asset $a$ is computed as its maximum
theoretical energy production capacity such as returned by previous data type multiplied by its availability parameter.
$$
x_{a, e_a^p, n, Available \text{ } production \text{ } capacity}(t) = x_{a, e_a^p, n, Production \text{ } capacity}(t) \cdot av_a(t)
$$
$av_a$ parameter can be either a timeseries of a constant value regarding on how asset $a$ is configured.
#### Minimal generation
The KPI value labelled with a *Minimal generation* index for an asset $a$ corresponds to its minimal energy production.
This value depends on asset's parametrization.
For assets with behaviour *CLUSTER* or *UNIT* active we have:
$$
x_{a, e_a^p, n, Minimal \text{ } generation}(t) = x_{a, n, e_a^p, Available \text{ } production \text{ } capacity}(t) \cdot running\_capacity\_min\_load_a
$$
For all other assets we have:
$$
x_{a, e_a^p, n, Minimal \text{ } generation}(t) = x_{a, n, e_a^p, Available \text{ } production \text{ } capacity}(t) \cdot min\_load_a
$$
#### Non-reserved generation
The KPI value labelled with a *Non-reserved generation* index for an asset $a$ is computed as its main energy production
to which is subtracted its downward MFRR production and its synchronized down reserve production.
$$
x_{a, e_a^p, n, Non-reserved \text{ } generation}(t) = p_{a, e_a^p, n}(t) - p_{a, downward \text{ } MFRR, n}(t) - p_{a, sync \text{ } reserve \text{ } down, n}(t)
$$
#### Started capacity
The KPI value labelled with a *Started capacity* index only concerns assets with a behaviour *UNIT* or *CLUSTER*
active. For these assets, their started capacity is modelled explicitly and can therefore be obtained as an indicator.
For an asset $a$ with behaviour *UNIT* active we have:
$$
x_{a, e, n, Started \text{ } capacity}(t) = x_{a, n, e_a^p, Available \text{ } production \text{ } capacity} \cdot ON\_state_a(t)
$$
Where $ON\_state_a(t)$ is directly the optimized state ON binary variable associated to asset $a$.
For assets with behaviour *CLUSTER* active we directly take the optimization variable associated to the started capacity
from the results.
#### Ramping up capacity
The KPI value labelled with a *Ramping-up capacity* index only concerns assets with a behaviour *UNIT* active.
For these assets, as long as their started capacity is modelled explicitly, we can compute their starting capacity timeseries.
For such an asset $a$ we can retrieve the starting timeseries from the optimization results:
$$
switch_{a, e_a^p, n}(t) = \begin{cases}
\quad 1 \text{ if asset } a \text{ has switch from state OFF to state OFF during timestep } t; \\
\quad 0 \text{ otherwise}
\end{cases}
$$
We can then multiply this binary timeseries by the available capacity timeseries of this asset to have a switched on
capacity timeseries :
$$
switch\_capa_{a, e_a^p, n}(t) = x_{a, e_a^p, n, Available \text{ } production \text{ } capacity}(t) \cdot switch_{a, e_a^p, n}(t)
$$
This Dirac-like timeseries is finally processed to represent the ramping-up process that occurs before the capacity is
available for energy production. This is done by considering a linear ramping up capacity during the start-up time of
considered asset that is not available for energy production before each peak of this $switch\_capa$ timeseries.
*Global variables and parameters notations definitions can be consulted [here](../notations.md).*