EMD-API - Climate Data Access

From Wiki-WindPRO
Jump to navigation Jump to search

Origin and Purpose

EMDAPI is a software library by EMD delivering a unified interface to a wide range of climate data. EMDAPI helps consultants, analysts and scientists working with high-resolution climate data in achieving their goals in an efficient way, it has the following key-features:

  • Instant data delivery: All datasets within the EMDAPI are ready processed and requests are served within seconds or minutes
  • 40+ climate datasets: EMDAPI provides access more than 40 of the best climate datasets and allows access to more than 1Pb of data.
  • Unified interface: The unified interface which allows for integration to internal processes and tools - and also very efficient uncertainty analysis with gigabytes of data easily accessed.
  • Trusted datasets: EMDAPI builds upon the trusted data-bases and data-sources that have been used through the online-data services in windPRO for more than a decade.
  • Built on open standards: EMDAPI is a REST based service that implements the OpenAPI standard].
  • Available from any development tool: Access to the climate databases is available from your preferred development platform - C#, R, python, html, java, php, scala and swift. Just use the OpenAPI tools to generate the client software for your preferred platform.

Access

The API is currently (August 2020) in beta-release. To see more documentation and to access the data-services, please visit the API through the following URL:

Python - Installation and Test

Data nodes near the Egmond Aan Zee Offhore

The simplest way to use the EMDAPI with python is to install the client software in a virtual environment. If you are using CONDA or MINICONDA, we recommend that you create a new virtual environment and use a recent 3.x version of python. When the virtual environment is created, then activate the environment.

conda create -n emdapi python=3.8
conda activate emdapi

Install the required packages needed in order to do data-science and use the examples provided within the jupyter notebooks:

conda install pandas numpy matplotlib basemap basemap-data-hires jupyter 

Download the zipped-file holding the OpenAPI python client. Unpack the file and install it within your virtual environment:

python setup.py install

Ensure that the python-kernel is available from the jupyter-notebook:

python -m ipykernel install --user --name=emdapi

Download and unpack a few jupyter notebook examples here and then give the installation a test-drive using the jupyter notebooks provided

jupyter notebook

Client Software Other Languages and Tools

A list of client software generated from the swagger editor is found below.

  1. Python
  2. CSharp
  3. HTML2
  4. Dynamic HTML
  5. R
  6. Java
  7. Scala
  8. PHP
  9. Swift5

If you want to generate the client libries yourself - or use other tool than mentioned above - one possible process is to:

  1. Download the OpenAPI (openapi.yaml) description file - here
  2. Load it into the swagger editor - here
  3. Choose to "Generate Client" from the drop-down menu within the swagger editor.