This code will help you simulate your own european electric system. It is written in Python, using library PyPSA to build Unit Commitment models, and it relies on the dataset ERAA (European Resource Adaquacy Assessment).
- A Github account: If not the case, go https://github.com/ and sign up
- Enroll the classroom as a student: go enroll

- Click to accept the assignment
Start your Codespace (an online vscode running in github infrastructures)

Your Codespace is configuring... Please wait

Your Codespace is ready, you can open the python file example and run it

Help me, I really really want to run it locally
Are you sure you want to choose the red pill over the blue pill?
Yes, I'm sure
You have to install Python and VSCode.
Install a compatible Python version 3.10
On windows
Either:
winget install Python.Python.3.10
or download and install https://www.python.org/ftp/python/3.10.10/python-3.10.10-amd64.exe
On a mac
If you have Homebrew installed:
brew install python@3.10
or download and install https://www.python.org/ftp/python/3.10.10/python-3.10.10-macos11.pkg
On linux
Hopefully if you use a linux machine, it means you're autonomous
Download and install https://code.visualstudio.com/download
In VSCode terminal, create a python environment and activate it :
python -m venv uc-env
. uc-env/Scripts/activate
install requirements
pip install -r requirements.txt
run the code, here for example the European Unit Commitment simulation
python .\my_little_europe_lt_uc.py
Details
- Connect to the university wifi or maybe eduroam wifi
- Go and register here with you student email: https://portal.gurobi.com/iam/register

- Register as a student

- Set a password!
- Request a 'WLS license' on this page: https://portal.gurobi.com/iam/licenses/request

- Go and download your license file. It should be a gurobi.lic file: https://license.gurobi.com/manager/licenses

- Put your gurobi license at the root of your git project using drag and drop

Adapt input/long_term_uc/solver_params.json indicating your solver ('gurobi') and license file (normally 'gurobi.lic') names.
-
Main entry point :
my_little_europe_lt_uc.py -
Parameter files you can play with :
- Long-term Unit Commitment (UC) parameters :
input/long_term_uc/elec-europe_params_to-be-modif.jsonandinput/long_term_uc/countries/{country}.jsonwith "country" the name of your considered country
- Long-term Unit Commitment (UC) parameters :
-
See tutorials for more details :
doc/long_term_uc/
- Source code for European UC :
code - Input data (ERAA data) :
data - Input parameters for European mode :
input/long_term_uc/ - Toy model parameters :
input/toy_model_params/ - Outputs (figures and files) :
output
-
Branch main : light version for students => european mode only (no toy model nor data analysis)
-
Branch main-full : complete version with all use cases (european mode, toy model, data analysis)
-
Contains documentation for teachers (TODO, etc) in doc/teachers
-
choose this branch for new developments
-
