Installing the client library
Python
You can install the ecmwfapi
python library by running:
...
If you cannot run the sudo
or pip
commands, just download the ecmwf-api-client-python.tgz, extract its content and copy the module ecmwfapi
to a directory pointed by the environment variable PYTHONPATH
.
Perl
You need to download ecmwf-api-client-perl.tgz, extract its content and to a directory pointed by the environment variable PERL5LIB
. This code relies on the JSON perl module, as well as libwww-perl and Crypt::SSLeay.
Installing your API key
To access ECMWF you will need an API key. For that you first need to login at https://apps.ecmwf.int/auth/login/ and then retrieve you key at https://api.ecmwf.int/v1/key/. For this, you will need to have an account on ECMWF web site. Copy the information in this page and paste it in the file $HOME/.ecmwfapirc.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "url" : "https://api.ecmwf.int/v1", "key" : "XXXXXXXXXXXXXXXXXXXXXX", "email" : "john.smith@example.com" } |
Sample scripts
Python
...
Below is a simple Python script making use of the ecmwfapi
library:
Code Block | ||||
---|---|---|---|---|
| ||||
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({
'dataset' : "tigge",
'step' : "24/to/120/by/24",
'number' : "all",
'levtype' : "sl",
'date' : "20071001/to/20071003",
'time' : "00/12",
'origin' : "all",
'type' : "pf",
'param' : "tp",
'area' : "70/-130/30/-60",
'grid' : "2/2",
'target' : "data.grib"
}) |
Perl
Below is a simple Perl script making use of the ECMWF::DataServer module
:
Code Block | ||||
---|---|---|---|---|
| ||||
#!/usr/bin/env perl use ECMWF::DataServer; my $server = ECMWF::DataServer->new(); $server.retrieve({ 'dataset' : "tigge", 'step' : "24/to/120/by/24", 'number' : "all", 'levtype' : "sl", 'date' : "20071001/to/20071003", 'time' : "00/12", 'origin' : "all", 'type' : "pf", 'param' : "tp", 'area' : "70/-130/30/-60", 'grid' : "2/2", 'target' : "data.grib" }) |
The "dataset
" parameter is one of:
HTML |
---|
<table id="datasets_table"></table>
<script src="https://api.ecmwf.int/static/api/build_dataset_table.js"></script>
<script>
build_dataset_table($("#datasets_table"));
</script>
|
To access these dataset, you need to agree on the the corresponding terms and conditions that can be found under the "Licence" link in the table above. See http://apps.ecmwf.int/datasets/ for the content of the datasets. The other parameters are described at: http://www.ecmwf.int/publications/manuals/mars/guide/index.html
Proxies
This tool is based on the python module urllib2, and therefore use the http_proxy
and https_proxy
environment variables if they are set. You should set these variables in your Unix shell if your organisation runs an outgoing proxy.
The "dataset
" parameter is one of:
...
To access these dataset, you need to agree on the the corresponding terms and conditions that can be found under the "Licence" link in the table above. See http://apps.ecmwf.int/datasets/ for the content of the datasets. The other parameters are described at: http://www.ecmwf.int/publications/manuals/mars/guide/index.html
Proxies
This tool is based on the python module urllib2, and therefore use the http_proxy
and https_proxy
environment variables if they are set. You should set these variables in your Unix shell if your organisation runs an outgoing proxy.