Skip to content

Main Functionalities

CADIP

The CADU Interface delivery Point (CADIP) is a pick-up point for Sentinel CADU data. The CADIP allows clients to straightforwardly discover and retrieve available data files through a standard OData RESTful API. The following endpoints have been implemented in RS-Server to interact with CADIP RESTful API

Search Endpoint

This endpoint retrieves a list of CADUs from a specified station within a given time range and returns a response compatible with the SpatioTemporal Asset Catalog (STAC) format.

The response from the data pickup-point is in OData format, which is then transformed into the STAC format within RS-Server using a configurable mapping between OData and STAC. The mapping file can be viewed to understand how the conversion is performed and to customize it if needed. The mapping file can be viewed here.

API Reference

/cadip/{station}/cadu/search

Parameters

  • station (str): Identifier for the CADIP station (e.g., MTI, SGS, MPU, INU, etc).

  • datetime (str): Specifies a date interval for time series filtering, with the start and end dates separated by a slash ('/'). The format follows ISO 8601 standards. (format: "YYYY-MM-DDThh:mm:sssZ/YYYY-MM-DDThh:mm:sssZ").

  • session_id (str): Session from which file belong. Can be a single value or a comma-separated list. (?session_id=S1A_20231120061537234567) or (?session_id=S1A_20231120061537234567, S2B_20231117033237234567) to search files comming from multiple acquisition sessions.

  • limit (int, optional): Maximum number of products to return, default set to 1000.

  • sortby (str, optional): Sorting criteria. +/-fieldName indicates ascending/descending order and field name (e.g. sortby=+created) Default no sorting is applied.

Request example

GET /cadip/station123/cadu/search?datetime=2023-01-01T00:00:00Z/2023-01-02T23:59:59Z&limit=50&sortby=-created

Return

{
    "stac_version": "1.0.0",
    "stac_extensions": ["https://stac-extensions.github.io/file/v2.1.0/schema.json"],
    "type": "Feature",
    "id": "DCS_01_S1A_20170501121534062343_ch1_DSDB_00001.raw",
    "geometry": null,
    "properties": {
        "datetime": "2019-02-16T12:00:00.000Z",
        "eviction_datetime": "2019-12-16T12:00:00.000Z",
        "cadip:id": "2b17b57d-fff4-4645-b539-91f305c27c69",
        "cadip:retransfer": false,
        "cadip:final_block": true,
        "cadip:block_number": 1,
        "cadip:channel": 2,
        "cadip:session_id": "S1A_20170501121534062343",
    },
    "links": [],
    "assets": {
        "file": {
            "file:size": 32553
        }
    },
}

Session search Endpoint

This endpoint retrieves a list of sessions from the CADU system for a specified station within a given parameter and/or time range and return a STAC compatible FeatureCollection response.

API Reference

/cadip/{station}/session

Parameters

  • station (str): Identifier for the CADIP station (e.g., MTI, SGS, MPU, INU, etc).

  • id (str, list[str], optional): DSIB SessionId value. Can be used with coma-separated values (e.g., id=S1A_20170501121534062343 or id=S1A_20170501121534062343,S1A_20241212111534094212).

  • platform (str, list[str], optional): Platform / Satellite identifier. Can be used with coma-separated values (e.g: platform = S1A or platform=S1A, S2B).

  • start_date (str, optional): Start time of session (PublicationTime). (format: YYYY-MM-DDThh:mm:sssZ).

  • stop_date (str, optional): Stop time of session (PublicationTime). (format: YYYY-MM-DDThh:mm:sssZ).

Note

A valid session search request must contain at least a value for either id or platform or time interval (start_date and stop_date correctly defined).

Request example

GET /cadip/station123/session?id=S1A_20170501121534062343,S1A_20240328185208053186

GET /cadip/station123/session?start_date=2020-02-16T12:00:00Z&stop_date=2023-02-16T12:00:00Z&platform=S1A

Return

{
    "type": "FeatureCollection",
    "numberMatched": 3,
    "numberReturned": 3,
    "features": [
        {
            "stac_version": "1.0.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "type": "Feature",
            "id": "S1A_20240328185208053186",
            "geometry": null,
            "properties": {
                "start_datetime": "2024-03-28T18:52:08.000Z",
                "datetime": "2024-03-28T18:52:08.000Z",
                "end_datetime": "2024-03-28T19:00:52.000Z",
                "published": "2024-03-28T18:52:26Z",
                "platform": "S1A",
                "cadip:id": "726f387b-ad2d-3538-8834-95e3cf8894c6",
                "cadip:num_channels": 2,
                "cadip:station_unit_id": "01",
                "cadip:downlink_orbit": 53186,
                "cadip:acquisition_id": 531861,
                "cadip:antenna_id": "MSP21",
                "cadip:front_end_id": "01",
                "cadip:retransfer": false,
                "cadip:antenna_status_ok": true,
                "cadip:front_end_status_ok": true,
                "cadip:planned_data_start": "2024-03-28T18:52:08.336Z",
                "cadip:planned_data_stop": "2024-03-28T19:00:51.075Z",
                "cadip:downlink_status_ok": true,
                "cadip:delivery_push_ok": true
            },
            "links": [],
            "assets": {}
        },
        {
            "stac_version": "1.0.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "type": "Feature",
            "id": "S1A_20240328185208053186",
            "geometry": null,
            "properties": {
                "start_datetime": "2024-03-28T18:52:08.000Z",
                "datetime": "2024-03-28T18:52:08.000Z",
                "end_datetime": "2024-03-28T19:00:52.000Z",
                "published": "2024-03-28T18:52:26Z",
                "platform": "S1A",
                "cadip:id": "726f387b-ad2d-3538-8834-95e3cf8894c6",
                "cadip:num_channels": 2,
                "cadip:station_unit_id": "01",
                "cadip:downlink_orbit": 53186,
                "cadip:acquisition_id": 531861,
                "cadip:antenna_id": "MSP21",
                "cadip:front_end_id": "01",
                "cadip:retransfer": false,
                "cadip:antenna_status_ok": true,
                "cadip:front_end_status_ok": true,
                "cadip:planned_data_start": "2024-03-28T18:52:08.336Z",
                "cadip:planned_data_stop": "2024-03-28T19:00:51.075Z",
                "cadip:downlink_status_ok": true,
                "cadip:delivery_push_ok": true
            },
            "links": [],
            "assets": {}
        },
        {
            "stac_version": "1.0.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "type": "Feature",
            "id": "S1A_20240329083700053194",
            "geometry": null,
            "properties": {
                "start_datetime": "2024-03-28T18:52:08.000Z",
                "datetime": "2024-03-28T18:52:08.000Z",
                "end_datetime": "2024-03-28T19:00:52.000Z",
                "published": "2024-03-29T08:37:22Z",
                "platform": "S2B",
                "cadip:id": "726f387b-ad2d-3538-8834-95e3cf8894c6",
                "cadip:num_channels": 2,
                "cadip:station_unit_id": "01",
                "cadip:downlink_orbit": 53186,
                "cadip:acquisition_id": 531861,
                "cadip:antenna_id": "MSP21",
                "cadip:front_end_id": "01",
                "cadip:retransfer": false,
                "cadip:antenna_status_ok": true,
                "cadip:front_end_status_ok": true,
                "cadip:planned_data_start": "2024-03-28T18:52:08.336Z",
                "cadip:planned_data_stop": "2024-03-28T19:00:51.075Z",
                "cadip:downlink_status_ok": true,
                "cadip:delivery_push_ok": true
            },
            "links": [],
            "assets": {}
        }
    ]
}

Download Endpoint

This endpoint initiates an asynchronous download process for a CADU file using EODAG. If specific parameters are provided, endpoint also upload the file to an S3 bucket.

API Reference

/cadip/{station}/cadu

Parameters

  • station (str): The EODAG station identifier (e.g., MTI, SGS, MPU, INU, etc).

  • name (str): The name of the CADU file to be downloaded.

  • local (str, optional): The local path where the CADU file will be downloaded.

  • obs (str, optional): S3 storage path where the CADU file will be uploaded. (e.g. s3://bucket/path/to/file.raw). Connection to S3 bucket is required, and should be written in the environmental variables, S3_ACCESSKEY, S3_SECRETKEY, S3_ENDPOINT and S3_REGION.

Returns

  • dict: A dictionary indicating whether the download process has started.

Request example

GET /cadip/station123/cadu?name=DCS_04_S1A_20231121072204051312_ch1_DSDB_00001.raw

GET /cadip/station123/cadu?name=DCS_04_S1A_20231121072204051312_ch1_DSDB_00001.raw&local=/tmp/file.raw

GET /cadip/station123/cadu?name=DCS_04_S1A_20231121072204051312_ch1_DSDB_00001.raw&local=/tmp/file.raw&obs=s3://bucket/path/to/file.raw

Response

{
  "started": "true"
}

Status Endpoint

This endpoint is used to query the download status of an CADU file.

API Reference

/cadip/{station}/cadu/status

Parameters

  • station (str): The EODAG station identifier (e.g., MTI, SGS, MPU, INU, etc).

  • name (str): The name of the CADU file to be queried from database.

Request

GET /cadip/{station}/cadu/status?name=DCS_04_S1A_20231121072204051312_ch1_DSDB_00001.raw

Response

{
  "product_id": "2b17b57d-fff4-4645-b539-91f305c27c69",
  "name": "DCS_04_S1A_20231121072204051312_ch1_DSDB_00001.raw",
  "available_at_station": "2019-02-16T12:00:00.000Z",
  "db_id": 1,
  "download_start": "2023-02-16T12:00:00.000Z",
  "download_stop": null,
  "status": "IN_PROGRESS",
  "status_fail_message": null
}

ADGS

The Auxiliary Data Gathering Service (ADGS) is a pick-up point for Sentinel auxiliary files. This service allows clients to discover and retrieve available auxiliary data files through a standard OData RESTful API. The following endpoints have been implemented in RS-Server to interact with ADGS RESTful API.

The data pickup-point response is a OData formatted content which is then converted to STAC format inside rs-server using a configurable mapping between OData and STAC. The mapping file can be viewed here.

Search Endpoint

This endpoint handles the search for products in the AUX station within a specified time interval and return a STAC compatible FeatureCollection response.

API Reference

/adgs/aux/search

Parameters

  • datetime (str): Specifies a date interval for time series filtering, with the start and end dates separated by a slash ('/'). The format follows ISO 8601 standards. (format: "YYYY-MM-DDThh:mm:sssZ/YYYY-MM-DDThh:mm:sssZ").

  • limit (int, optional): Maximum number of products to return, default set to 1000.

  • sortby (str, optional): Sorting criteria. +/-fieldName indicates ascending/descending order and field name (e.g. sortby=+created) Default no sorting is applied.

Request Example

GET /adgs/aux/search?datetime=2018-01-01T00:00:00Z/2023-01-02T23:59:59Z&limit=10&sortby=+properties.adgs:id

Response

{
    "stac_version": "1.0.0",
    "stac_extensions": ["https://stac-extensions.github.io/file/v2.1.0/schema.json"],
    "type": "Feature",
    "id": "DCS_01_S1A_20170501121534062343_ch1_DSDB_00001.raw",
    "geometry": null,
    "properties": {
        "adgs:id": "2b17b57d-fff4-4645-b539-91f305c27c69",
        "datetime": "2019-02-16T12:00:00.000Z",
        "start_datetime": "2019-02-16T11:59:58.000Z",
        "end_datetime": "2019-02-16T12:00:00.000Z",
    },
    "links": [],
    "assets": {
        "file": {
            "file:size": 29301
        }
    }
}

Download Endpoint

This endpoint initiates an asynchronous download process for an AUX product using EODAG. If specific parameters are provided, endpoint also upload the file to an S3 bucket.

API Reference

/adgs/aux

Parameters

  • name (str): The name of the AUX product to be downloaded

  • local (str, optional): The local path where the AUX product will be downloaded.

  • obs (str, optional): S3 storage path where the AUX file will be uploaded. (e.g. s3://bucket/path/to/file.tgz). Connection to S3 bucket is required, and should be written in the environmental variables, S3_ACCESSKEY, S3_SECRETKEY, S3_ENDPOINT and S3_REGION.

Returns

  • dict: A dictionary indicating whether the download process has started.

Request Example

GET /adgs/aux?name=S2__OPER_AUX_ECMWFD_PDMC_20190216T120000_V20190217T090000_20190217T210000.TGZ

GET /adgs/aux?name=S2__OPER_AUX_ECMWFD_PDMC_20190216T120000_V20190217T090000_20190217T210000.TGZ&local=/tmp/aux.tar.gz

GET /adgs/aux?name=S2__OPER_AUX_ECMWFD_PDMC_20190216T120000_V20190217T090000_20190217T210000.TGZ&local=/tmp/aux.tar.gz&obs=s3://bucket/path/to/aux.tar.gz

Response

{
  "started": "true"
}

Status Endpoint

This endpoint is used to query the download status of an AUX file.

Endpoint

/adgs/aux/status

Parameters

  • name (str): The name of the AUX file to be queried from database.

Request Example

GET /adgs/aux/status?name=S2__OPER_AUX_ECMWFD_PDMC_20200216T120000_V20190217T090000_20190217T210000.TGZ

Response

{
  "product_id": "id2",
  "name": "S2__OPER_AUX_ECMWFD_PDMC_20200216T120000_V20190217T090000_20190217T210000.TGZ",
  "available_at_station": "2020-02-16T12:00:00",
  "db_id": 2,
  "download_start": "2023-02-16T12:00:00",
  "download_stop": "2023-02-16T12:01:00",
  "status": "DONE",
  "status_fail_message": null
}