Skip to end of metadata
Go to start of metadata

(warning) Before proceeding with the steps below, users must be ECMWF registered and have their computer set up as described on How to download data via the ECMWF WebAPI (steps 1-4).

1. Learn about CAMS Reanalysis data

  1. Read the CAMS Reanalysis data documentation and get familiar with the dataset.
  2. Browse the CAMS Reanalysis catalogue and make sure the data you are interested in is available in CAMS Reanalysis catalogue.

2. Copernicus License agreement

Read the Copernicus data license and accept it at the bottom of the page.

3. Run a CAMS Reanalysis test retrieval script

This is to verify that your computer is set up correctly.

  1. Copy the Python script below to a text file and save it, for example as ""

    #!/usr/bin/env python
    from ecmwfapi import ECMWFDataServer
    server = ECMWFDataServer()
        "class": "mc",
        "dataset": "cams_reanalysis",
        "expver": "eac4",
        "stream": "oper",
        "type": "an",
        "levtype": "sfc",
        "param": "167.128",
        "date": "2003-12-01",
        "time": "00:00:00/03:00:00",
        "grid": "1.0/1.0",
        "area": "75/-20/10/60",
        "format": "netcdf",
        "target": ""
  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 "" in the directory you issued the command from. The file should be around 23 KB.

(warning) If you get an error message, most likely your computer setup is wrong, or you did not accept the data license, please go back to the previous set-up steps.

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 it can take longer.

If it all worked fine, you are now ready to retrieve the data you need by following the instructions below.

4. Create your custom CAMS Reanalysis data retrieval script

  1. As a starting point, browse the CAMS Reanalysis 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" and make sure the Python Script tab is displayed. This shows a template Python script with your selected options.
  2. Copy the template Python script to a text file and save it, for example as "".
  3. Adapt the template Python script to your requirements, taking the following remarks into account:
    1. In most cases, you will have to add lat/lon "grid" in your script, e.g., "grid": "1.0/1.0". This will enable you to download data on a regular lat/lon grid. And this is necessary if you download the data in NetCDF format.
    2. For an output in NetCDF format, add "format": "netcdf" in your script. By default, output will be in GRIB format. Notice if you retrieve forecast data in NetCDF, please be aware of this potential issue.
    3. If you specify "grid", the horizontal resolution is in decimal degrees. For more details, see this link. If not set, the archived grid as specified in the data documentation is used.
    4. If you do not want global data, you can add "area" as N/W/S/E in lat/lon degrees. Southern latitudes and western longitudes must be given as negative numbers, e.g., "area": "75/-20/10/60". If you set "area", you should also add a lat/lon grid, e.g., "grid": "1.0/1.0", as shown in c. For more details about "area", see this link.
    5. If you are retrieving forecast data ("type":"fc"), make sure that "steps" are specified. Note that if "type" is set to "fc", then "time" is the time of the forecast.
    6. Change the "target": "CHANGEME", to the desired output path and file name, e.g.  "" or "./data/data1.grib". The default path is the current working directory.

Please read!

(warning) Limits: There are limits of the number and size of downloads.

(lightbulb) Data tapes and retrieval efficiency:

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. To find out what data is available on each tape, browse the CAMS Reanalysis catalogue and make your way until the bottom of the tree archive (where parameters are listed). Once you will have reached that level of the archive, what you see is what you can find on one single tape. See Retrieval efficiency page for more details and additional CAMS Reanalysis script examples (e.g. daily and monthly means).

5. 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).

Note that the data retrieval is not designed to be instant. A larger request can take hours and even days to complete.

For long running processes you can check the progress of your request in your job list.

To report an issue or bug please contact Copernicus Support at ECMWF.