some default

Lucas Gautheron 89924eed8d rte -> rte 2050 1 year ago
.datalad dbb2c3c11e [DATALAD] new dataset 1 year ago
data b4d55e65b5 revamp 1 year ago
mix_simul 1e1cc04112 scenarios custom 1 year ago
output 23ab9cac99 5 year simulation 1 year ago
scenarios 89924eed8d rte -> rte 2050 1 year ago
.gitattributes 3f7a885dc2 git png files 1 year ago
.gitignore 6c26e3299c cleanup 1 year ago
README.md 081e89c62c README improvements 1 year ago
generate_load_factors.py b4d55e65b5 revamp 1 year ago
requirements.txt 6d99122f82 moving output 1 year ago
run.py 89924eed8d rte -> rte 2050 1 year ago

README.md

Simulations mix énergétiques

Ce code implémente une simulation simpliste de mix énergétiques, avec une modélisation (grossière) des sources intermittentes, du nucléaire, des sources pilotables, des moyens de stockage, et de la flexibilité de la demande.

Ce code est l'étape 0 d'un projet qui vise à comprendre les vulnérabilités des différents scénarios de mix énergétiques envisagés pour la France. La modélisation proposée est très simpliste et sous-optimale de plusieurs points de vue.

Méthodologie

Les facteurs de charge des sources intermittentes sont tirés des valeurs de renewables.ninja pour les années 1985 à 2015.

Les sources pilotables sont modélisées via deux paramètres par type de source : puissance maximale et production annuelle maximale.

Le stockage est modélisé par la charge (maximale permise) de chaque type de stockage (selon un ordre de priorité) en cas de surplus de production et leur décharge (maximale permise) en cas de déficit de production (selon le même ordre de priorité).

La flexibilité de la demande est modélisée par un report de demande optimal pour diminuer le déficit de production. Le modèle possède pour l'instant deux paramètres : la puissance maximale reportable et le temps sur lequel elle peut-être reportée (par défaut, 8 heures).

La consommation est modélisée par un fit des composantes de fourier capturant les variations saisonnières, hebdomadaires et diurnes ajusté aux données de consommation 2012--2021 et normalisées pour obtenir la demande annuelle totale des différents scénarios. D'autres modèles seront proposés, par exemple une modélisation basée sur les températures.

Pour l'instant, le nucléaire est modélisé comme une source non pilotable de facteur de charge constant égal à 0,7. Le modèle sera ajusté pour tenir compte des variations saisonnières de disponibilité du nucléaire, optimisées au regard des variations saisonnières de demande.

Installation

Installation de DataLad

Pour récupérer les données, DataLad est nécessaire. Il s'agit d'une extension de git capable de gérer de gros fichiers.

Sous Linux :

apt install datalad

Sous MacOS :

brew install datalad

Consulter les instructions pour Windows ou concernant tout éventuel problème impliquant l'installation de DataLad sur n'importe quel système, reportez-vous aux instructions officielles.

Installation du répertoire et des données

datalad install git@github.com:lucasgautheron/scenarios-rte-simulation.git
cd scenarios-rte-simulation
datalad get .

Installation des dépendances

Pour installer les dépendances, l'instruction suivante devrait fonctionner (depuis le répertoire) :

pip install -r requirements.txt

Usage du code

Exécution

Pour exécuter le code, il suffit d'exécuter le script `run.py'.

$ python run.py --help
usage: run.py [-h] --begin BEGIN --end END [--flexibility] [--scenarios SCENARIOS]

optional arguments:
  -h, --help            show this help message and exit
  --begin BEGIN         begin date (YYYY-MM-DD), between 1985-01-01 and 2015-01-01
  --end END             end date (YYYY-MM-DD), between 1985-01-01 and 2015-01-01
  --flexibility         enable load flexibility modeling
  --scenarios SCENARIOS
                        path to scenarios parameters yml file

Par exemple, pour les scénarios RTE sans flexibilité à partir des facteurs de charge éolien/PV de 2012--2015:

python run.py --begin 2012-01-01 --end 2015-01-01

Output

TODO

  • Optimisation de disponibilité du nucléaire (actuellement un facteur de charge constant est assumé, ce qui pénalise les modèles avec nucléaire)
  • Meilleure modélisation des flexibilités
  • Documentation des sources de données
  • Documentation du code