Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Download EarthCARE Level 2 products from the ESA MAAP catalog using earthcarekit.

Prerequisites:

Setup

import earthcarekit as eck

# earthcarekit reads config from ~/.config/earthcarekit/default_config.toml
# If your config file is elsewhere, point to it:
# eck.set_config("/path/to/your/config.toml")

# First time setup:
# 1. eck.create_example_config()
# 2. Get a MAAP token from https://portal.maap.eo.esa.int/earthcare/
#    [TOOLS] -> [Generate Data Access Token] (valid 90 days)
# 3. eck.set_config_maap_token("your_token_here")
#    eck.set_config_to_maap()

Browse available product types

from pystac_client import Client

CATALOG_URL = "https://catalog.maap.eo.esa.int/catalogue"
COLLECTION_ID = "EarthCAREL2Validated"

catalog = Client.open(CATALOG_URL)
search = catalog.search(collections=[COLLECTION_ID], max_items=200)
items = list(search.items())

product_types = {}
for item in items:
    pt = item.properties.get("product:type", "unknown")
    instruments = item.properties.get("instruments", ["unknown"])
    instrument = instruments[0] if isinstance(instruments, list) else instruments
    geom_type = item.geometry["type"]
    if pt not in product_types:
        product_types[pt] = {"instrument": instrument, "geometry": geom_type, "count": 0}
    product_types[pt]["count"] += 1

print(f"Found {len(product_types)} product types:\n")
for pt, info in sorted(product_types.items()):
    print(f"  {pt:15s}  instrument={info['instrument']:10s}  geometry={info['geometry']:12s}  count={info['count']}")
Found 18 product types:

  AC__TC__2B       instrument=SYNERGETIC  geometry=LineString    count=10
  AM__ACD_2B       instrument=SYNERGETIC  geometry=LineString    count=11
  AM__CTH_2B       instrument=SYNERGETIC  geometry=LineString    count=10
  ATL_AER_2A       instrument=ATLID       geometry=LineString    count=14
  ATL_ALD_2A       instrument=ATLID       geometry=LineString    count=13
  ATL_CTH_2A       instrument=ATLID       geometry=LineString    count=10
  ATL_EBD_2A       instrument=ATLID       geometry=LineString    count=9
  ATL_FM__2A       instrument=ATLID       geometry=LineString    count=9
  ATL_ICE_2A       instrument=ATLID       geometry=LineString    count=10
  ATL_TC__2A       instrument=ATLID       geometry=LineString    count=17
  BM__RAD_2B       instrument=SYNERGETIC  geometry=Polygon       count=15
  CPR_CD__2A       instrument=CPR         geometry=LineString    count=10
  CPR_CLD_2A       instrument=CPR         geometry=LineString    count=12
  CPR_FMR_2A       instrument=CPR         geometry=LineString    count=5
  CPR_TC__2A       instrument=CPR         geometry=LineString    count=10
  MSI_AOT_2A       instrument=MSI         geometry=Polygon       count=15
  MSI_CM__2A       instrument=MSI         geometry=Polygon       count=9
  MSI_COP_2A       instrument=MSI         geometry=Polygon       count=11

Download orbit 6109D over Norway

Orbit 6109D crosses the Norwegian coast (lon -1 to 19E, lat 22-68N). We download MSI (2D swath) and ATLID (profile) products.

ORBIT = "06109D"

download_types = [
    "MSI_CM__2A",   # Cloud mask (2D swath)
    "MSI_COP_2A",   # Cloud optical properties (2D swath)
    "MSI_AOT_2A",   # Aerosol optical thickness (2D swath)
    "ATL_AER_2A",   # ATLID aerosol profiles
]

for file_type in download_types:
    print(f"\n--- {file_type} orbit {ORBIT} ---")
    try:
        eck.ecdownload(file_type=file_type, orbit_and_frame=ORBIT)
        print("  OK")
    except Exception as e:
        print(f"  Error: {e}")

--- MSI_CM__2A orbit 06109D ---
#======================================================================#
#                       EarthCARE Download Tool                        #
#                         earthcarekit 0.15.2                          #
#======================================================================#
# Settings
# - is_download=True
# - is_overwrite=False
# - is_unzip=True
# - is_delete=True
# - is_create_subdirs=True
# - is_log=False
# - is_debug=False
# - is_export_results=False
# - idx_selected_input=None
# - config_filepath=</Users/annef/.config/earthcarekit/default_config.toml>
# - data_dirpath=<data>

+----------------------------------------------------------------------+
| STEP 1/2 - Search products                       2026-04-05 17:27:03 |
+----------------------------------------------------------------------+

*[1/1] Search request: MSI_CM__2A, frame=D, orbits=[6109]
 [1/1] Files found in collection 'EarthCAREL2Validated_MAAP': 1

List of files found (total number 1):
 [1]  ECA_EXBA_MSI_CM__2A_20250625T135845Z_20250929T143920Z_06109D
Note: To export this list use the option --export_results
Note: To select only one specific file use the option -i/--select_file_at_index

+----------------------------------------------------------------------+
| STEP 2/2 - Download products                     2026-04-05 17:27:04 |
+----------------------------------------------------------------------+

*[1/1] Starting: ECA_EXBA_MSI_CM__2A_20250625T135845Z_20250929T143920Z_06109D
 [1/1] Skip file download.
 [1/1] Skip file unzip. (see </Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_CM__2A/2025/06/25/BA/ECA_EXBA_MSI_CM__2A_20250625T135845Z_20250929T143920Z_06109D>)

+----------------------------------------------------------------------+
| EXECUTION SUMMARY                                2026-04-05 17:27:04 |
+----------------------------------------------------------------------+
| Time taken          00:00:02                                         |
| API search requests 1                                                |
| Remote files found  1                                                |
| Files downloaded    0 (0.00 MB at ~0.00 MB/s)                        |
| Files unzipped      0                                                |
| Errors occured      0                                                |
+----------------------------------------------------------------------+
  OK

--- MSI_COP_2A orbit 06109D ---
#======================================================================#
#                       EarthCARE Download Tool                        #
#                         earthcarekit 0.15.2                          #
#======================================================================#
# Settings
# - is_download=True
# - is_overwrite=False
# - is_unzip=True
# - is_delete=True
# - is_create_subdirs=True
# - is_log=False
# - is_debug=False
# - is_export_results=False
# - idx_selected_input=None
# - config_filepath=</Users/annef/.config/earthcarekit/default_config.toml>
# - data_dirpath=<data>

+----------------------------------------------------------------------+
| STEP 1/2 - Search products                       2026-04-05 17:27:05 |
+----------------------------------------------------------------------+

*[1/1] Search request: MSI_COP_2A, frame=D, orbits=[6109]
 [1/1] Files found in collection 'EarthCAREL2Validated_MAAP': 1

List of files found (total number 1):
 [1]  ECA_EXBA_MSI_COP_2A_20250625T135845Z_20250929T143920Z_06109D
Note: To export this list use the option --export_results
Note: To select only one specific file use the option -i/--select_file_at_index

+----------------------------------------------------------------------+
| STEP 2/2 - Download products                     2026-04-05 17:27:05 |
+----------------------------------------------------------------------+

*[1/1] Starting: ECA_EXBA_MSI_COP_2A_20250625T135845Z_20250929T143920Z_06109D
 [1/1] Skip file download.
 [1/1] Skip file unzip. (see </Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_COP_2A/2025/06/25/BA/ECA_EXBA_MSI_COP_2A_20250625T135845Z_20250929T143920Z_06109D>)

+----------------------------------------------------------------------+
| EXECUTION SUMMARY                                2026-04-05 17:27:06 |
+----------------------------------------------------------------------+
| Time taken          00:00:02                                         |
| API search requests 1                                                |
| Remote files found  1                                                |
| Files downloaded    0 (0.00 MB at ~0.00 MB/s)                        |
| Files unzipped      0                                                |
| Errors occured      0                                                |
+----------------------------------------------------------------------+
  OK

--- MSI_AOT_2A orbit 06109D ---
#======================================================================#
#                       EarthCARE Download Tool                        #
#                         earthcarekit 0.15.2                          #
#======================================================================#
# Settings
# - is_download=True
# - is_overwrite=False
# - is_unzip=True
# - is_delete=True
# - is_create_subdirs=True
# - is_log=False
# - is_debug=False
# - is_export_results=False
# - idx_selected_input=None
# - config_filepath=</Users/annef/.config/earthcarekit/default_config.toml>
# - data_dirpath=<data>

+----------------------------------------------------------------------+
| STEP 1/2 - Search products                       2026-04-05 17:27:06 |
+----------------------------------------------------------------------+

*[1/1] Search request: MSI_AOT_2A, frame=D, orbits=[6109]
 [1/1] Files found in collection 'EarthCAREL2Validated_MAAP': 1

List of files found (total number 1):
 [1]  ECA_EXBA_MSI_AOT_2A_20250625T135845Z_20250929T212718Z_06109D
Note: To export this list use the option --export_results
Note: To select only one specific file use the option -i/--select_file_at_index

+----------------------------------------------------------------------+
| STEP 2/2 - Download products                     2026-04-05 17:27:07 |
+----------------------------------------------------------------------+

*[1/1] Starting: ECA_EXBA_MSI_AOT_2A_20250625T135845Z_20250929T212718Z_06109D
 [1/1] Skip file download.
 [1/1] Skip file unzip. (see </Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_AOT_2A/2025/06/25/BA/ECA_EXBA_MSI_AOT_2A_20250625T135845Z_20250929T212718Z_06109D>)

+----------------------------------------------------------------------+
| EXECUTION SUMMARY                                2026-04-05 17:27:07 |
+----------------------------------------------------------------------+
| Time taken          00:00:01                                         |
| API search requests 1                                                |
| Remote files found  1                                                |
| Files downloaded    0 (0.00 MB at ~0.00 MB/s)                        |
| Files unzipped      0                                                |
| Errors occured      0                                                |
+----------------------------------------------------------------------+
  OK

--- ATL_AER_2A orbit 06109D ---
#======================================================================#
#                       EarthCARE Download Tool                        #
#                         earthcarekit 0.15.2                          #
#======================================================================#
# Settings
# - is_download=True
# - is_overwrite=False
# - is_unzip=True
# - is_delete=True
# - is_create_subdirs=True
# - is_log=False
# - is_debug=False
# - is_export_results=False
# - idx_selected_input=None
# - config_filepath=</Users/annef/.config/earthcarekit/default_config.toml>
# - data_dirpath=<data>

+----------------------------------------------------------------------+
| STEP 1/2 - Search products                       2026-04-05 17:27:07 |
+----------------------------------------------------------------------+

*[1/1] Search request: ATL_AER_2A, frame=D, orbits=[6109]
 [1/1] Files found in collection 'EarthCAREL2Validated_MAAP': 1

List of files found (total number 1):
 [1]  ECA_EXBA_ATL_AER_2A_20250625T135845Z_20250929T172314Z_06109D
Note: To export this list use the option --export_results
Note: To select only one specific file use the option -i/--select_file_at_index

+----------------------------------------------------------------------+
| STEP 2/2 - Download products                     2026-04-05 17:27:08 |
+----------------------------------------------------------------------+

*[1/1] Starting: ECA_EXBA_ATL_AER_2A_20250625T135845Z_20250929T172314Z_06109D
 [1/1] Skip file download.
 [1/1] Skip file unzip. (see </Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/ATL_AER_2A/2025/06/25/BA/ECA_EXBA_ATL_AER_2A_20250625T135845Z_20250929T172314Z_06109D>)

+----------------------------------------------------------------------+
| EXECUTION SUMMARY                                2026-04-05 17:27:08 |
+----------------------------------------------------------------------+
| Time taken          00:00:01                                         |
| API search requests 1                                                |
| Remote files found  1                                                |
| Files downloaded    0 (0.00 MB at ~0.00 MB/s)                        |
| Files unzipped      0                                                |
| Errors occured      0                                                |
+----------------------------------------------------------------------+
  OK

Verify downloads

for file_type in download_types:
    try:
        result = eck.search_product(file_type=file_type, orbit_and_frame=ORBIT)
        print(f"{file_type}: {result.filepath[0]}")
    except Exception as e:
        print(f"{file_type}: NOT FOUND ({e})")
MSI_CM__2A: /Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_CM__2A/2025/06/25/BA/ECA_EXBA_MSI_CM__2A_20250625T135845Z_20250929T143920Z_06109D/ECA_EXBA_MSI_CM__2A_20250625T135845Z_20250929T143920Z_06109D.h5
MSI_COP_2A: /Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_COP_2A/2025/06/25/BA/ECA_EXBA_MSI_COP_2A_20250625T135845Z_20250929T143920Z_06109D/ECA_EXBA_MSI_COP_2A_20250625T135845Z_20250929T143920Z_06109D.h5
MSI_AOT_2A: /Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/MSI_AOT_2A/2025/06/25/BA/ECA_EXBA_MSI_AOT_2A_20250625T135845Z_20250929T212718Z_06109D/ECA_EXBA_MSI_AOT_2A_20250625T135845Z_20250929T212718Z_06109D.h5
ATL_AER_2A: /Users/annef/Documents/FAIR2Adapt/DGGS/earthcare-dggs/notebooks/data/level2a/ATL_AER_2A/2025/06/25/BA/ECA_EXBA_ATL_AER_2A_20250625T135845Z_20250929T172314Z_06109D/ECA_EXBA_ATL_AER_2A_20250625T135845Z_20250929T172314Z_06109D.h5