lucarammel / AntaresInvest

Dynamic investment tool for Antares Simulator from actor's POV

Home Page:https://antares-simulator.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AntaresInvest antareslogo

AntaresInvest is an extension of Antares Simulator optimization solution provided by Rte to model the european power system. Antares is a unit commitment tool and makes the dispatch over the EU power system whereas AntaresInvest works as the multi-year investment simulation model. AntaresInvest computes revenues of the energy-only market based on Antares Simulation. Then, other market architectures are implemented such as capacity remuneration mechanism or service system for example. Investors make decisions to retire or invest based on economic assumptions and revenues computation. Powerfleet is updated based on these decisions and time moves on. Iterations over the same year are made. Powerfleet is adapted following rules implemented.

Table of contents

  1. Architecture of the model
  2. Quick start!
  3. Project's architecture
  4. Parameters description
  5. Scripts description
  6. Data format description
  7. Make outputs of the model
  8. Interact with AntaresWeb through API
  9. Modelling elements
  10. Authors and contributions

Architecture of the model

Dynamic functioning of the model Data organization & pipeline
Résumé

Investment decisions

  • Investment decisions is made if following conditions are filled for a capacity c on year t:
$$NPV = \sum_{t = 1}^{timeHorizon} \gamma (energy_{t,c} + crm_{t,c} + ss_{t,c} - OC_{c}) - IC_{c} > 0$$
  • Retirement is assumed if :
$$totalNetRevenues_{t,c} < \alpha$$ $$expectedNetProfit = \sum_{t = 1}^{midTermHorizon} \gamma (energy_{t,c} + crm_{t,c} + ss_{t,c} - OC_{c}) < 0$$
  • Limit of investment & retirement for each country and year :
$$\sum_{c \in I_{y}} K_{c} < limitInvestment_{area}$$ $$\sum_{c \in I_{y}} K_{c} < limitRetirement_{area}$$
  • For adaptative power increment option, the new power increment is computed as :
$$powerIncrement_{area,t} = powerIncrement_{area} | \frac{LOLD_{t,area} - RS_{area}}{RS_{area}} |$$
  • For the 25% remaining iteration,
$$powerIncrement_{area,t} = min(powerIncrement_{area,t}, minIncrement)$$

where :

  • energy : energy revenues
  • crm : capacity remuneration mechanism revenues
  • ss : service system revenues
  • OC : maintenance & operational costs
  • γ : discount rate
  • α : threshold to consider revenues as negative
  • IC : investement costs
  • LOLD : Loss of load duration
  • RS : Reliability standard

Quick start

Here find examples and insights to get started with AntaresInvest.

Project's architecture

Here is the project's architecture :

Parameters description

The package has different parameters config yaml file. YAML is a structured text file easy to load in R and keeps the data structure. Here are the different config files :

Find here a full description.

Scripts description

Find here a full description.

Data format description

In the model, the data format mainly used to keep data organised and tracked are the R lists (eg. dictionnaries for Python addict). There are 5 main variables to do so.

Find here a full description.

Make outputs of the model

Here find examples of how to complete make_outputs() functions. To build such graphics and output excel files :

Interact with AntaresWeb through API

Here find examples to get to know how to handle API of AntaresWeb with R.

Modelling elements

Here find modelling choices.

Contributions & contributors

AntaresInvest is licensed under the open source MIT License.

Copyright 2022 - Now Rte - AntaresInvest developpers.

To contribute, follow the guidelines.

About

Dynamic investment tool for Antares Simulator from actor's POV

https://antares-simulator.org/

License:MIT License


Languages

Language:R 100.0%