Difference between revisions of "EMD-API - Climate Data Access"

From Wiki-WindPRO
Jump to navigation Jump to search
Line 5: Line 5:
 
* '''40+ climate datasets''': EMDAPI provides access more than 40 of the best climate datasets and allows access to more than 1Pb of data.  
 
* '''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.  
 
* '''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''': The EMDAPI builds upon the trusted data-bases and data-sources that have been used through the [http://help.emd.dk/mediawiki/index.php?title=Main_Page online-data services] in windPRO for more than a decade.  
+
* '''Trusted datasets''': EMDAPI builds upon the trusted data-bases and data-sources that have been used through the [http://help.emd.dk/mediawiki/index.php?title=Main_Page online-data services] in windPRO for more than a decade.  
* '''Built on open standards''': he EMDAPI is a [https://en.wikipedia.org/wiki/Representational_state_transfer REST] based service that implements the [https://swagger.io/specification/ OpenAPI] standard].  
+
* '''Built on open standards''': EMDAPI is a [https://en.wikipedia.org/wiki/Representational_state_transfer REST] based service that implements the [https://swagger.io/specification/ 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.
 
* '''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.
  

Revision as of 08:52, 7 September 2020

Origin and Purpose

EMDAPI 451x303.jpg

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

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.