This is a recipe for first time users of ERA5 data and ECMWF's data server.
1. Learn about ERA5 data
- Read What is ERA5.
- Browse the ERA5 catalogue and make sure the data you are interested in is available in ERA5. A demonstration is available as part of the video tutorial below:
Full Transcript (pdf)
- Read the ERA5 data documentation and take note of the parameters (fields) you want to use, and of the corresponding values for data type, stream, level type (surface, pressure levels, model levels, etc) base time and forecast steps.
2. User account and License agreement
- The ERA5 data is hosted at ECMWF. To access the ERA5 data you need a user account with ECMWF, so if you do not have a account, register a ECMWF account now.
- Read the Copernicus license agreement and accept the agreement at the bottom the page. This is necessary so we have a record of you accepting the license agreement.
3. Technical prerequisites
- A computer with a *nix operating system is highly recommended. Microsoft Windows is known to work too, but is unsupported, see here for details.
- The Python programming language. If you do not have it installed yet, install Python now.
4. Set up your computer
This is to configure your computer to programmatically retrieve data from ECMWF. You only need to do this once, and only if you have never retrieved ECMWF data using Python before. For more information refer to Access ECMWF Public Datasets of ECMWF WebAPI.
1. Install the ECMWF WebAPI client library by running:
2. Get and install an ECMWF API key:
Go to https://apps.ecmwf.int/auth/login/ to verify you are logged in. If you are not, log in with your ECMWF account details (as registered in step 2).
Go to https://api.ecmwf.int/v1/key/ . You will see something like below:
3. Copy the bit with the curly brackets as shown above into a text file and save the file as $HOME/.ecmwfapirc (on Unix/Linux) or %USERPROFILE%\.ecmwfapirc (on Windows)
5. Run a test
This is to verify that your computer is set up correctly.
1. Copy the following Python script to a text file and save it, for example as 'my_ERA5_test_script.py'
2. Run the script. On most computers you would do this by opening a command prompt and typing
The test request will download data from ECMWF and save as file 'my_ERA5_test_file.grb' in the directory you issued the command from.
Note that the data retrieval is not designed to be instant. The test request above usually takes a few minutes to complete, but depending on demand can take longer.
If you get an error message or the output is not as specified in to the Python script, most likely your computer setup is wrong, or you did not accept the ERA5 license, so please go back to the previous steps.
6. Create your data retrieval script
- Browse the ERA5 catalogue for the data you are interested in, and in the last step make a selection in all boxes and click 'View the MARS request'. This shows a template Python script with your selected options.
- Copy the Python script to a text file and save it, for example as 'my_ERA5_script_v1.py'.
- If you specify "format" as "netcdf", then you will need to set "grid". Otherwise, GRIB to netCDF conversion will fail.
- Adapt the Python script to your requirements,e.g. change date, time and grid. Here is some guidance:
For available "keyword":"value" combinations please browse the ERA5 catalogue for the data you are interested in, and in the last step make a selection in all boxes and click 'View the MARS request'. This shows a template Python script with your selected options. For ERA5 ensemble data, the 'number' field identifies the 10 ensemble members.
- You can have a maximum of three active requests at a time.
- The maximum data volume is 20GB per request.
- The maximum number of fields to be retrieved is 600,000 fields per request.
Note that the data retrieval is not designed to be instant. A larger request can take hours and even days to complete.
To retrieve data efficiently (and get your data quicker!) you should retrieve all the data you need from one tape, then from the next tape, and so on. In most cases this means retrieving all the data you need for one month, then for the next month, and so on. See ERA5 retrieval efficiency.
7. Run your data retrieval script
On most computers you would do this by opening a command prompt and typing
This will retrieve the data as specified and download it as a single file to your computer into the current directory (or whichever "target" directory you specified).
For long running processes you can check the progress of your request in your job list.
8. Check results
Check that the data you downloaded meets your requirements.
To report an issue or bug please contact Copernicus Support at ECMWF