Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Confirmed.

Page info
infoTypeModified date
prefixLast modified on
typeFlat

Info
iconfalse
titleTable of Contents

Table of Contents
maxLevel4

Easy Heading Macro
navigationExpandOptioncollapse-all-but-headings-1-2

Introduction

The Atmosphere Data Store (ADS) is the cornerstone infrastructure which supports the implementation of the Copernicus Atmosphere Monitoring Service (CAMS). It is built on the same infrastructure as the Climate Data Store (CDS). It enables the provision of reliable data and expertise related to air quality, solar energy, and the role atmospheric gases and particles play in climate change.

...

Note

Please make sure that you select all the mandatory fields before submit a request.

Image Modified

The user can then currently choose between two options:

...

These are shown in the following figures:

Image Modified

Image Modified

Figure 1 Web interfaceFigure 2 Request options on the web interface

                      

2) The CDS API is a service providing programmatic access in Python to ADS data. CDS API example queries can be conveniently constructed by using the ADS web interface and clicking on the "Show API request" button. For a description and some useful examples, please see How to use the CDS API. Users need to have a CDS account to use it with their related CDS API credentials. For a full description and some useful examples, please see How to use the CDS API

If users have more than one ADS API key (e.g. you also have a Climate Data Store (CDS) account), you have to pass credentials in explicitly and the following method can be used:

Code Block
languagepy
import cdsapi
import yaml

with open('/path/to/ads/cdsapirc', 'r') as f:
        credentials = yaml.safe_load(f)
c = cdsapi.Client(url=credentials['url'], key=credentials['key'])

c.retrieve("dataset-short-name", 
           {... sub-selection request ...}, 
           "target-file")

We strongly suggest to construct CDS API requests by using the web interface of the relevant dataset and using the 'Show API request' button to get the code.

Image Added

For non-Python users, please note that the CDS API is REST-based so it can be wrapped by any programming language. Please see this example with the R package: Download CDS ERA5 data using R.

Users can also set the PROXY within the CDS API script:

Code Block
languagepy
import requests
import cdsapi


session = requests.Session()

session.proxies = {
   'http': 'http://10.10.10.10:8000',
   'https': 'http://10.10.10.10:8000',
}

client = cdsapi.Client(session=session)


Note

Please note:  Currently, all ADS datasets are covered by Copernicus Products Licence, and users have to accept it in order to be able to download datasets (whether through the web interface, or the CDS API). If the licence has not been accepted, the error message below will shown by the CDS API:

At the time this article was written, the acceptance of the licence can only be carried out through the ADS web interface for the relevant dataset, by forming a request on the "Download data" page. The user will then be prompted to accept the licence. Once that is done, the CDS API request can be successfully submitted to the ADS.

...

Expand
titleTable 1: per-user, global and system limits (last reviewed on 05 Nov 2020)


Per-user

Limit on simultaneous tasks/requests
Any request (web interface and API together)12
Requests that access the ECMWF archive1
Requests that access the online ADS data40
Global
Requests that can access archived regional forecast data1
Requests that can access latest regional forecast data1
Requests that access the ECMWF archive30
Requests that access the online ADS data180
System
Tasks of type 'adaptor'36
Tasks of type 'cdscompute'96


Also, ADS data requests have limits in terms of number of fields and volume size, which are different for each dataset (see the "Datasets" Table 2 below). These values are dependent on each dataset's structure and where the dataset is actually stored. Again, these restrictions are introduced to help the system maintain good performance and minimise the queuing time for all users.

For example, when a user ADS web request exceeds the number of fields limit, an information message appears at the bottom of the web interface page (Figure 3). Please note, that these limits are also enforced for requests sent via the CDS API.

Image Removed

Figure 3 Information message when a user ADS web request exceeds the number of fields limit.

Datasets

...

Table 2 Summary of the number of fields limits, as well as the major features of all ADS datasets (last reviewed on

...

26 April 2023)

DatasetNumber of fields limitVolume size limit

Adaptor

(indicates where the data are stored; see "Efficiency Tips" below)

Notes
10000175 GB for GRIB files, 30 GB for netCDF filesMARS Internal/external

Those variables listed as fast-access are readily available from ADS disks.

Those variables listed as slow-access and data older than 30 days are stored in ECMWF MARS tape archive.

CAMS global reanalysis (EAC4)

100000175 GB for GRIB files, 30 GB for netCDF filesMARS Internal/external

Those variables listed as fast-access are readily available from ADS disks.

Those variables listed as slow-access are stored in ECMWF MARS tape archive.

CAMS global reanalysis (EAC4) monthly averaged fields

100000175 GB for GRIB files, 30 GB for netCDF filesMARS InternalN/A

CAMS global inversion-optimised greenhouse gas fluxes and concentrations

500N/Aadaptor.urlStored locally on ADS disks

CAMS global greenhouse gas reanalysis (EGG4)

100000175 GB for GRIB files, 30 GB for netCDF filesMARS external

Data are stored in ECMWF MARS tape archive

CAMS global greenhouse gas reanalysis (EGG4) monthly averaged fields

100000175 GB for GRIB files, 30 GB for netCDF filesMARS externalData are stored in ECMWF MARS tape archive

CAMS solar radiation time-series

10000N/Aadaptor.cams_solar_rad2.retrieveThis data is calculated on demand by a service jointly provided by DLR, Armines, and Transvalor. The ADS forwards requests to this service and returns the data from it.

CAMS European air quality forecasts

5000N/Aadaptor.cams_regional_fc.retrieve

There are three classes of speed at which these requests will be processed:

  1. Surface ensemble stored on ADS disks: fast-access
  2. Recent forecasts and analyses for other models/levels stored by third party: slow-access
  3. All other data are stored in a third party archive system:  access to this data is in general much slower than 1. and 2.
1000N/Aadaptor.urlCheck the documentation for data availability
1000N/Aadaptor.url2.retrieveN/A
1000N/Aadaptor.url
1000N/Aadaptor.url

Efficiency tips

  1. Where the data are actually stored can make a significant difference in the speed at which a request is processed. ADS data hosted in 'MARS internal' is stored on ADS disks, and so is faster to retrieve. The 'MARS external' datasets are stored in the ECMWF MARS (tape) archive, and in this case it is important to request as much data as possible from the same tape file in your ADS request.
  2. It is better to submit small requests rather than very large requests. This will ensure your requests are not given a lower priority in the ADS request queue.
  3. When using the CDS API, it is strongly recommended that users take as a starting point the example API request script shown at the bottom of the ADS web  'Download data' page for the dataset of interest, and use this as the basis for your request.

...

Code Block
languagepy
titleCDS API request example
linenumberstrue
collapsetrue
import cdsapi

c = cdsapi.Client()

c.retrieve(
    'cams-global-reanalysis-eac4',
    {
        'variable': 'sulphate_aerosol_optical_depth_550nm',
        'date': '2004-01-18/2004-01-18',
        'time': '00:00',
        'format': 'netcdf',
    },
    'download.nc')



Info
iconfalse

This document has been produced in the context of theCopernicus

Atmosphere

Atmosphere Monitoring Service (CAMS).

The activities leading to these results have been contracted by the European Centre for Medium-Range Weather Forecasts, operator of CAMS on behalf of the European Union (Delegation Agreement signed on 11/11/2014 and Contribution Agreement signed on 22/07/2021). All information in this document is provided "as is" and no guarantee or warranty is given that the information is fit for any particular purpose.

The

user

users thereof

uses

use the information at

its

their sole risk and liability. For the avoidance of all

doubts

doubt , the European Commission and the European Centre for Medium - Range Weather Forecasts

has

have no liability in respect of this document, which is merely representing the

authors

author's view.

Content by Label
showLabelsfalse
max5
spacesCKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("cams","ads","cds-api") and type = "page" and space = "CKB"
labels cams

...