Skip to content

rl-institut/WAM_APP_FRED

Repository files navigation

WAM_APP_FRED

The WAM_APP_FRED is developed as an open-source web-application to visualize data that was collected or created within the project open_FRED. All data sources which are used within this web-application are open-source. The goal is to create an easily accessible and platform-independent web-application that can be used via the internet (using a web-browser). The main functionality the web-application provides is to visualize data on a map or additionally as graph. The app provides options for the user to interact with the visualized data. The web-application also provides functionality to get the data in a non proprietary format (like .csv). The source data is divided into 3 main categories : : Weather-Data, powerplant asset register and feedin-time-series. Each of these categories basically have there own source data. The data is provided within the open-energy-platform. Further explanation is given in the section source data.

To achieve these requirements we use proven and open-source technologies. We use Django as Web-Framework. The base structure for this app is the Web Applications&Maps (WAM) project. Django WAM_APP_FRED is a Django App which is part of the WAM project.

Overview

The aim of this app is to display the content of the Open Energy Database of the Open Energy Platform (OEP) in an interactive way.

First steps

Prerequisite

  • First, clone WAM core project
git clone https://github.com/rl-institut/WAM.git

Installation

  1. Clone the WAM_FRED_APP repository into the main directory of the WAM core project:

    - <WAM core>
        |
         - <WAM_APP_FRED>
        |
         - ...
    
  2. Make sure you have added WAM_APP_FRED to the list of applications in the environment variable WAM_APPS which was created during the setup of WAM core project. You can check the value of WAM_APPS with the command

echo $WAM_APPS

which return value should contain at least ẀAM_APP_FRED.

  1. The database used in this project is the OEDB database which is a external database that is not managed by Django. For this reason we use SQLAlchemy to access the data. This is set in the .config/config.cfg file of the WAM core project as follow:
[DATABASES]
   [[DEFAULT]]
       ENGINE = django.contrib.gis.db.backends.postgis
       USER = <username>
       PASSWORD = <password>
       HOST = oe2.iks.cs.ovgu.de
       PORT = 5432
       NAME = oedb
   [[OEP_LOCAL]]
       ENGINE = django.contrib.gis.db.backends.postgis
       NAME = oedb
       USER = <username>
       PASSWORD = <password>
       HOST = localhost
       PORT = 54321
   [[OEP]]
       ENGINE = postgresql+psycopg2
       USER = <username>
       PASSWORD = <password>
       HOST = oe2.iks.cs.ovgu.de
       PORT = 5432
       NAME = oedb
   [[OEP_DIALECT]]
       ENGINE = postgresql+oedialect
       USER = <username>
       TOKEN = <password>
       HOST = openenergy-platform.org
       PORT = 5432
       NAME = oep

Enter your OEP credentials instead of <username> and <password>.

  1. Add LOCAL_TESTING (True=1|False=0) parameter in your config. This is set in the WAM_APP_FRED/config/fred_app.cfg:
[WAM_APP_FRED]
   ...
   LOCAL_TESTING=(1|0)

When this parameter is set to 0 (False), the query are sent to the database. Otherwise test datasets are used. This is useful to test new functionalities.

  1. Run the local Django server from the main directory of the WAM core project.
python manage.py runserver

If you have some depencency issues. Manually update your dependencies in your WAM environment (in the WAM_APP_FRED folder):

pip install -r requirements.txt

Usage

Choose which type of data you would like to explore

Explore weather data

The weather data from OEDB are available at a spatial resolution of 6 x 6 km with a time step of 15min.

First choose which weather data you would like to enquiry in the menu on the left.

Then, click on the map and a popup with the closest weather data point information will appear on the map.

Explore wind turbines informations and timeseries

TDB

Explore feedin time series data

The feedin time series data needs to be uploaded to the OEDB. Once this is finished it will be possible to present the data as graph within the WAM_APP_FRED.

Get data as .CSV file

The displayed data can be downloaded as csv file. The file contains all the weather data for a single point selected on the map.

Source database

Introducing the Open-Energy-Database

The database which is used as main data-source for all of the categories is the open-energy-database (OEDB). The OEDB is a PostgreSQL database that was developed within the open_eGo project.

Introducing the Open-Energy-Platform

The OEDB is managed within the openenergy-platform (OEP). The OEP is the presentation layer for the OEDB. The OEP provides the Open-Energy Dialect (OED) which is a RESTful API. Using the OED one can query the OEDB. The OEP provides the open-energy-dialect (OED) which is the main RestFul-API to query the OEDB. The data must be provided as a non-proprietary format like json or GEOJSON.

In order to use the OED, one has to provide user credential. The credentials are represented by USER-NAME and TOKEN. One can get these credentials by signing-up to the OEP.

  • OEP can be found here

Access data from OEP

TBD

Source data

The following is an overview of the data sources used within the WAM_APP_FRED and provides where to find and how to access them.

Category 1.
Category_name weather-data (open_FRED)
Description available in OEDB
Schema.Tablename
  • model_draft.openfred_series
Relation (As FK)
  • model_draft.openfred_flags
  • model_draft.openfred_locations
  • model_draft.openfred_timespan
  • model_draft.openfred_variables
Category 2
Category_name power-plant facility register (open_eGo)
Description available in OEDB, conventional energy:conv; renewable energy:res; mview´s are created for 3 scenarios
Schema.Tablename
  • supply.ego_dp_res_powerplant
Category 3
Category_name feedin-time-series ()
Description Currently available as python based pandas data-frames; OEDB upload will be in progress soon
Schema.Tablename soon
Relation (As FK) soon

??? = Not known at the moment, soon = Will be provided soon