Energy Planning Application (EPA) is a web application providing a user interface for simulation and evaluation of DER investment case studies in sector-coupled energy systems. It is developed by Intracom Telecom under the umbrella of the H2020 project E-LAND (Integrated multi-vector management system for Energy isLANDs, Grant Agreement 824388).
The EPA utilizes as its simulation engine the Multi-Vector Simulator (MVS) developed (under E-LAND project as well) by Reiner Lemoine Insitut (RLI). Hence it inherits the grid modelling and simulation features and constraints of the MVS. Neverthenless, the EPA is developed and maintained independently hence some features of the MVS might not be yet available in EPA.
The solution is licensed under MIT license.
The main features of the EPA are:
- Modelling multiple investment projects per user
- Multiple case studies (scenarios) for each project
- Drag and drop tool for modelling the energy system
- Analysis of an energy system model and optimisation of generation and storage assets (through MVS)
- Multiple user support
- Share project with another user (read-only)
- Basic user authentication
The main technologies based on which EPA is developed are the following:
- Django as the core web framework;
- MySQL v5.7 as Database Management System (DBMS);
- Bootstrap 3, JQuery, Drawflow, Selectize, PlotlyJS and JQuery-UI are the major JavaScript libraries
- Nginx as a reverse proxy and load balancer.
- Django-q as task manager;
The EPA is packaged using Docker, hence all the required dependencies and configurations are included. It can be instantiated in different ways:
- Using MVS's web API deployed from RLI
- Via locally installing the latest stable MVS API project from the relevant repo
The following commands should get everything up and running, utilzing the web based version of the MVS API.
git clone --single-branch --branch main https://github.com/isichos/epa.git
- cd inside the created folder
docker-compose up -d --build
docker-compose exec app sh setup.sh
(this will also load a default testUser account with sample scenario).- Open browser and navigate to http://localhost:80.
NOTE: If you use a proxy you will need to introduce modifications to app/epa.env to fit your needs.
The following commands should get everything up and running, using a local copy of MVS API.
You can either use the existing mvs_eland_api
folder or clone the latest stable version of the MVS API with git clone --single-branch --branch epa_stable https://github.com/rl-institut/mvs_eland_api.git
git clone --single-branch --branch main https://github.com/isichos/epa.git
- cd inside the created folder
git clone --single-branch --branch epa_stable https://github.com/rl-institut/mvs_eland_api.git
to clone the latest stable MVS API version.docker-compose -f docker-compose_with_mvs.yml up -d --build
docker-compose exec app sh setup.sh
(this will also load a default testUser account with sample scenario).- Open browser and navigate to http://localhost:80.
NOTE: Grab a cup of coffee or tea for this...
You can access a preconfigured project using the following login credentials:
testUser:ASas12,.
To remove the application (including relevant images, volumes etc.), one can use the following commands in cmd:
docker-compose down --volumes --rmi local
, ordocker-compose -f docker-compose_with_mvs.yml down --volumes --rmi local
if docker-compose_with_mvs.yml configuration was utilized.
- Docker engine should be started to run the application
- An error might occur on
setup.sh
execution. This is because of the underlying OS and the way it handles EOL. Try to execute the commands in the file sequentially instead.