open-plan-tool / gui

Energy Planning Application
Other
8 stars 4 forks source link
energy-system gui gui-application oemof simulation

Welcome to the open_plan gui repository

open_plan_logo (10X1)

Learn more about the open_plan project on our website.

Credits

This code is based from previous open-source work done building a user interface to the multi-vector-simulator tool in the Horizon2020 ELAND project. In open_plan project's scope a new design and more features are added, based on feedback collected in workshops held with stakeholders.

Basic structure

This repository contains the code for the user interface. The simulations are performed by multi-vector-simulator on a dedicated server (see the open-plan-tool/simulation-server repository). Once a simulation is over the results are sent back to the user interface were one can analyse them.

open-plan structure

Getting Started

Deploy locally using and using our open plan MVS server

Prior to be able to develop locally, you might need to install postgres, simply google install postgres followed by your os name (linux/mac/windows)

  1. Create a virtual environment
  2. Activate your virtual environment
  3. Move to the app folder with cd app
  4. Install local development dependencies with pip install -r requirements/local.txt
  5. Create environment variables (only replace content surrounded by <>)
    SQL_ENGINE=django.db.backends.postgresql
    SQL_DATABASE=<your db name>
    SQL_USER=<your user name>
    SQL_PASSWORD=<your password>
    SQL_HOST=localhost
    SQL_PORT=5432
    DEBUG=(True|False)
  6. Add an environment variable MVS_HOST_API and set the url of the simulation server you wish to use for your models
  7. Execute the local_setup.sh file (. local_setup.sh on linux/mac bash local_setup.sh on windows) you might have to make it executable first. Answer yes to the question
  8. Start the local server with python manage.py runserver
  9. You can then login with testUser and ASas12,. or create your own account

Deploy using Docker Compose

The following commands should get everything up and running, using the web based version of the MVS API.

You need to be able to run docker-compose inside your terminal. If you can't you should install Docker desktop first.

Next you can either provide the following commands inside a terminal (with ubuntu you might have to prepend sudo)

Or you can run a python script with the following command

Finally

Proxy settings (optional)

If you use a proxy you will need to set USE_PROXY=True and edit PROXY_ADDRESS=http://proxy_address:port with your proxy settings in .envs/epa.postgres.

NOTE: If you wish to use mysql instead of postgres, simply replace postgres by mysql and app_pg by app in the above commands or filenames


NOTE: Grab a cup of coffee or tea for this...


NOTE: Grab a cup of coffee or tea for this...


Test Account

You can access a preconfigured project using the following login credentials: testUser:ASas12,.


Tear down (uninstall) docker containers

To remove the application (including relevant images, volumes etc.), one can use the following commands in terminal:

docker-compose down --file=docker-compose-postgres.yml -v

you can add --rmi local if you wish to also remove the images (this will take you a long time to rebuild the docker containers from scratch if you want to redeploy the app later then)

Or you can run a python script with the following command

python deploy.py -db postgres --down