Accessing the batch service
To access ECMWF you will need an API KEY that can be optained at https://api.ecmwf.int/v1/key/.
Configuration file
Content $HOME/.ecmwfapirc
{ "url" : "https://api.ecmwf.int/v1", "key" : "XXXXXXXXXXXXXXXXXXXXXX", "email" : "john.smith@example.com" }
Environment varibables
Name | |
---|---|
ECMWF_API_KEY | https://api.ecmwf.int/v1 |
ECMWF_API_URL | XXXXXXXXXXXXXXXXXXXXXX |
ECMWF_API_EMAIL | john.smith@example.com |
Arguments
ECMWFDataServer( 'https://api.ecmwf.int/v1', 'XXXXXXXXXXXXXXXXXXXXXX', 'john.smith@example.com' )
Python client
#!/usr/bin/env python from ecmwf import ECMWFDataServer server = ECMWFDataServer( 'https://api.ecmwf.int/v1', 'XXXXXXXXXXXXXXXXXXXXXX', 'john.smith@example.com' ) 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 client
#!/usr/bin/env perl BEGIN { $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 } use ECMWF::DataServer; my $client = ECMWF::DataServer->new( # url => 'http://api.ecmwf.int/v1', # key => '52829175f2bb19a944e327ade8830737', # email => 'baudouin.raoult@ecmwf.int', ); $client->retrieve( dataset => "tigge", step => "24", number => "all", levtype => "sl", date => "20071001", time => "00/12", origin => "all", type => "pf", param => "tp", area => "70/-130/30/-60", grid => "2/2", target => "data.grib", );
Datasets
MARS language
http://www.ecmwf.int/publications/manuals/mars/guide/index.html
Proxies
SSL
git clone http://software.ecmwf.int/stash/scm/WEBAPI/
Learning more
A full description of the ECMWF WEB API can be found at { "ECMWF" : "API", "version" : 1 }.