Skip to end of metadata
Go to start of metadata

The CAMS Regional (European) service is accessible programmatically through multiple APIs.

Example API calls: http://www.regional.atmosphere.copernicus.eu/index.php?category=data_access&subensemble=api_catalogue


Please note: the CAMS regional data is not available on the ECMWF MARS system.

OGC web services

  • WMS (Web Map Service): This services returns a map as bitmap image in PNG format

  • OGC WCS (Web Coverage Service): This services returns a data file in GRIB2 format.

The OGC services provide data from the past five days.

For more information please see CAMS Regional Service: Guidelines: INSPIRE web services. A gentle introduction.

Usage tips:

  1. The OGC web services allow the user to use the services in a GIS tool (see "How can I request the WMS services via a GIS tool?" in the FAQ or directly this tutorial: http://www.regional.atmosphere.copernicus.eu/tuto/services/GIS/Web)
  2. The web services are INSPIRE compliant.
  3. Both OGC web services allow the user to extract data for a specific geographical area and/or level:
    1. In the WMS service use the "BBOX" and "ELEVATION" parameters. See this document for details: http://www.regional.atmosphere.copernicus.eu/doc/USER_GUIDE_INSPIRE_WebSERVICES.pdf, chapter 7.4.2.
    2. In the WCS service use the "subset=lat()", "subset=long()" and "subset=height()" parameters. See this document for details: http://www.regional.atmosphere.copernicus.eu/doc/USER_GUIDE_INSPIRE_WebSERVICES.pdf, chapter 8 'GetCoverage'. 
  4. Test the HTTP return code for each request in your code (see Error codes below)
  5. Use particularly the 502 and 503 error codes in your script to resend the same request since it has not succeeded

Data download service ('package download API')

This service is more suitable for larger numbers of data files. It gives access to both Near Real Time (NRT) and archive data, both covering the whole European domain. The download API returns 'packages' of data, meaning predefined datasets for each forecast or analysis day.

For more information please see the CAMS Regional Service: Guidelines: Numerical Data CAMS (section 4 and 5).

To script downloads, use this script as template:

sample curl script (retreive_regional.sh)
#!/bin/sh
SERVER_URL=https://download.regional.atmosphere.copernicus.eu/services/CAMS50
FORMAT=GRIB2
DATE=20180110
params="NO2 CO O3 PM10 PM25 SO2"

date_str=$(date -d $DATE '+%Y-%m-%d')
for param in $params; do
    URL="${SERVER_URL}?token=__M0bChV6QsoOFqHz31VRqnpr4GhWPtcpaRy3oeZjBNSg__&grid=0.1&model=ENSEMBLE&package=FORECAST_${param}_SURFACE&time=25H48H&referencetime=${date_str}T00:00:00Z&FORMAT=${FORMAT}&licence=yes"
    curl -o "outfile_"$date_str"_"$param"_"$FORMAT --insecure $URL
    # or, if your curl implementation supports the -J option (use the server-specified filename): curl -O -J -L --insecure $URL
    sleep 35s
done

Usage tips:

  1. This service does not allow you to extract data for a specific geographical area and/or level.
  2. If you use both NRT and archive data from this service you will notice that accessing the archive is much slower than the NRT system. This is not an error and only due to the archive and NRT using different backends.
  3. The archive system has a limited capacity for request treatment (globally: 1 request per second), in order to protect the backend system.
  4. Don't parallelize your requests but send them sequentially: only send a new one after the previous has ended.
  5. Test the HTTP return code for each request in your code (see Error codes below)
  6. Use particularly the 502 and 503 error codes in your script to resend the same request since it has not succeeded
  7. Use a sleep time of 35 seconds between 2 requests sending to reduce the number of 503 error codes (the limit of 1 request per second is ideal, not realistic, since many people may be accessing simultaneously the archive)
  8. Avoid the time period between 17H - 19H UTC each day (the archive system is daily overloaded during this time)

Error codes:

The 404 error code is a Data Not Found response triggered when data is missing. Under any circumstances, the data you are requesting is not present and so you should stop requesting this data in your script. Please check CAMS Regional Service: Guidelines: Numerical Data CAMS before reporting the error to Copernicus User Support.

The 500 error code is an Internal server error which is triggered when an unexpected condition was encountered and no more specific message is suitable.

The 502 error code is a Bad Gateway response meaning timeout and this is because our archive backend didn't respond in the granted delay.

The 503 error code is a Service Unavailable response, meaning that the archive system is overloaded - try again later.

Additional error codes are explained in CAMS Regional Service: Guidelines: Numerical Data CAMS (section 5).


Please see also the CAMS Regional documentation.