ESA EO Framework (EOF) – CSC – Common Entity Definition Document
ESA UNCLASSIFIED - For ESA Official Use Only
1 Introduction
1.1 Purpose and Scope
The purpose of this document is to provide a common definition for basic entities managed by Copernicus Space Component Ground Segment service elements. These definitions are used to derive the RESTful Application Programming Interfaces (API) of the GS elements through which production, archival and distribution of Copernicus Sentinel mission data products may be coordinated.
This specification drives the definition of the OData v4 standard for RESTful APIs for the GS elements, evolving from the v2 standard successfully adopted within the Copernicus Sentinel Data Distribution Service (DHuS) put in place by ESA for the initial missions operations. OData entities and enumerations are detailed, including applicability to GS elements and commonalities. In addition, a generic Reporting interface is described, intended for the collection of reporting parameters which are expected from each GS element.
The document is intended to compliment the lower-level ‘per-GS element’ ICDs, which describe in more detail the specifics of the OData APIs as applicable to each GS element and any intended sequencing expected to achieve the API objectives. This document is intended to capture the common definition for the basic entities, and is presented as a guideline for the evolution of the lower level ICDs. In case the APIs within the lower-level ICDs are considered to be further evolved the definitions in this document should be preferred in order to ensure a harmonised approach in the overall GS management avoid any ad-hoc implementation of the interfacing between GS elements.
1.2 Structure of the Document
This document is structured as follows:
-Section 1 (this section): Introduction, providing document structure, reference documents and definitions/acronyms
-Section 2 describes the Copernicus GS Data Access context and elements and introduces the OData API. Additional common factors, including priority/quota and authorisation/authentication are described.
-Section 3 provides a generic OData interface description, including details of the entities and enumerations, and applicability to each GS element.
-Section 4 describes the generic reporting interface.
-Section 5 lists the OData enumerations, the entities to which they are applicable and the available list of values.
-Section 6 describes the Interface Delivery Point domain naming.
-Appendix A provides a summary of the interface delivery points’ conformance approach.
1.3 Applicable Documents
[AD-1] CSC Sentinel-1 Product Unit Definition and Metadata ICD [ESA-EOPG-EOPGC-SP-]
[AD-2] CSC Sentinel-2 Product Unit Definition and Metadata ICD [ESA-EOPG-EOPGC-SP-2]
[AD-3] CSC Sentinel-3 Product Unit Definition and Metadata ICD [ESA-EOPG-EOPGC-SP-3]
[AD-4] CSC Sentinel-5P Product Unit Definition and Metadata ICD [ESA-EOPG-EOPGC-SP-4]
[AD-5] CSC POD Product Unit Definition and Metadata ICD [ESA-EOPG-EOPGC-SP-5]
1.4 Reference Documents
[RD-1] CSC Operations – ESA Framework – Ground Segment Architecture [ESA-EOPG-EOPGC-TN-7]
[RD-2] CSC Operations – ESA Framework - Master Interface Control Document [ESA-EOPG-EOPGC-IF-6]
[RD-3] Long Term Archive (LTA) Interface Control Document [ESA-EOPG-EOPGC-IF-2]
[RD-4] Production Interface Delivery Point (PRIP) Interface Control Document [ESA-EOPG-EOPGC-IF-3]
[RD-5] Data Distribution Interface Control Document, [ESA-EOPG-EOPGC-IF-4]
[RD-6] Auxiliary Data Interface Delivery Point Specification [ESA-EOPG-EOPGC-IF-10]
[RD-7] OData Documentation – OData – the Best Way to REST – v4.01 ISO standard
http://www.odata.org/documentation/
[RD-8] OData Protocol
http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html
[RD-9] OData JSON Format Version 4.01
https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html
1.5 Definitions
API – Application Programming Interface – a set of routines, protocols, and tools for building software applications.
Batch Order – A client request to trigger the delivery of products making up a particular Batch (resulting from a Bulk), making them available for download by the requesting user.
Bulk Request – A client request to trigger the creation of a Bulk, defined by a list of products or query filter parameters and a Batch size. The GS element breaks the Bulk into Batches, based on the Batch size provided and the most efficient ordering of products.
Client – any HTTP client performing HTTP/OData requests to the LTA
Order – A client request for a data product to be retrieved by the GS element and made available for download by the requesting user.
Product – Packaged set of data files corresponding to EO or auxiliary product format specification
Quota – Refers to the maximum number of requests per user to be processed in parallel.
Subscription – A client request for notification of future products entering the GS element which fulfil particular query filter parameters.
1.6 List of Acronyms
AD – Applicable Document
ADG – Auxiliary Data Gathering
AIP – Archive Interface delivery Point
API – Application Programming Interface
AUX – Auxiliary
AUXIP – Auxiliary Interface Delivery Point
CSC – Copernicus Space Component
DA – Data Access Service
DHuS – ESA Data Distribution Service
E2E – End-to-End
EO – Earth Observation
ESA – European Space Agency
FIFO – First In, First Out
GS – Ground Segment
HTTP(S) – Hypertext Transfer Protocol (Secure)
ID – Identifier
ICD – Interface Control Document
JSON – JavaScript Object Notation
LTA – Long Term Archive
OData – Open Data Protocol
ODP – On Demand Production system
POD – Precise Orbit Determination
PRIP – PRoduction Interface delivery Point
RD – Reference Document
REST – Representational State Transfer
TBD – To Be Defined
TBW – To Be Written
URI – Uniform Resource Identifier
UTC – Coordinated Universal Time
UUID – Universally Unique Identifier
2 CSC Ground Segment and OData API Overview
2.1 Ground Segment Context
To meet its objectives, the CSC Ground Segment architecture [RD-1] includes the following main functionalities:
Data Acquisition
Mission Planning, including the definition of the instrument sensing and downlink plan
Systematic and on-demand production
Data preservation
User products access
Precise orbit determination
User products calibration and validation and algorithms and processors maintenance
Production quality verification and maintenance
Operations performance monitoring
Spacecraft operations and control, including in particular:
oMission Control System operations (including mission scheduling)
oTelemetry, telecommand and tracking operations within the S-band frequency
oSatellite orbit maintenance, debris monitoring.
Satellite Platform and Instrument(s) performance monitoring
Satellite post launch maintenance activities
Some of these functions are common to all Sentinel missions while other are specifically implemented and operated for each Sentinel mission. In the specific case of Sentinel-3, spacecraft operations have been handed over to EUMETSAT.
The functions composing the Ground Segment architecture are implemented in the form of operational services, complying to a set of applicable input and output interfaces and to the corresponding operational performance requirements.
Data flow interfaces, for systematic data transfer between services, are based on the concept of small data cache areas, referred to as data “interface delivery points” (IP) hereafter. Each function or service generating a systematic or routine data flow to be further managed by one or more services, is making the output data available in an interface delivery point located on a cloud-based environment, which is logically considered as part of, and under the responsibility of, the data source service.
The high level architectural decomposition is provided in the figure below, including whenever necessary multiple instances of the same service to follow the principles indicated earlier. The number of instances illustrated for each service in the figure is not intended to represent a precise number of instances but the fact that multiple instances are present for the same service or function.
Figure 1: High level decomposition of the ESA Copernicus Ground Segment Architecture
The components composing the Ground Segment architecture listed below:
•Mission planning (MP)
•Data Acquisition (ACQ)
•Systematic Processing and routine quality control (PR)
•On-Demand Production (ODP)
•Auxiliary Data Gathering (ADG)
•Precise Orbit Determination (POD)
•Data Preservation (Long Term data Archiving (LTA))
•Data Access, including Data Access (DA)
•E2E Operations performance monitoring
•Flight Operations Services (FOS)
•Instrument data processing algorithm and operational processor maintenance
•Instrument and products calibration and validation
•Security Monitoring
•E2E Operations coordination
•Satellite Post Launch Support services
The interfaces between the GS elements are traced within the Master Interface Control Document [RD-2]
The CSC Ground Segment Architecture aims to harmonise the interfaces between the “interface delivery points” (IP) and avoid ad-hoc implementation of interfaces so that the GS elements may be independently operated and interchanged with minimum configuration. To this end a common model that allows a standard definition of the data, instructions and monitoring information exchanged between elements is pursued through the various interface control documents applicable to the Services [RD-3][RD-4][RD-5][RD-6].
2.2 OData API Overview
The common model chosen to be applied across the GS elements is following the OData Standard [RD-7].
The OData protocol [RD-8] defines a standard framework for describing HTTP RESTful interfaces towards a referenced data model (entities, relationships, entity sets, actions, and functions). The protocol supports describing the service interface model ($metadata) and allows this model to be encoding in standard patterns ($format). The model provides query capabilities ($filter), paging capabilities ($top, $skip etc.), as well as common patterns for functions, actions, media download ($value), etc.
In line with the scope of the document, this Common Definition does not attempt to further define the needed filter capabilities etc. to be supported for each Entity. These details are left to the ‘per-GS element’ ICDs and the compliance test suites (Appendix A). This document provides instead a common / high level view of the common Entities that are necessarily supported by the various GS elements.
All examples are provided in the JSON encoding [RD-9], which is the mandatory encoding for inter GS element interactions. Additional encodings are in general only relevant for the Data Access element, providing backwards compatibility towards the initial operations.
3 Generic OData Interface Description
OData entities and enumerations adopted by each GS element are described in this section, including the applicability to each element. For specific examples of each property and details of the operations which may be executed on each entity (e.g. ordering), the specific lower level per-element ICDs should be referred to (RD-3 – RD6).
3.1 Overall OData Entities to GS Elements Mapping
The table below lists all OData Entities and their applicability to each Ground Segment: the Production Interface Delivery Point (PRIP), which encompasses Systematic Production (PR) and On-Demand Processing (ODP), the Data Access (DA), the Long-Term Data Archiving (LTA) and the Auxiliary Data Interface Delivery Point (AUXIP).
OData Entity | Ground Segment Element | |||
Production Interface (PRIP) | Data Access (DA) | Long-Term Data Archiving (LTA) | Auxiliary Interface (AUXIP) | |
Product | X | X | X | X |
Attributes | X | X | X | X |
Collections |
| X |
|
|
Nodes/Components |
| TBD |
|
|
Deleted Product |
| X |
|
|
Order |
| X | X |
|
ProductionOrder | X | X |
|
|
Workflow | X |
|
|
|
WorkflowOptions | X |
|
|
|
ProductionOrder Notification | X |
|
|
|
Bulk |
|
| X |
|
BatchOrder |
|
| X |
|
Subscription | X |
| X | X |
Notification | X |
| X | X |
System & User-Related |
|
|
|
|
System | X | X | X | X |
User | X | X | X | X |
SystemRole | X | X | X | X |
Restriction |
| X |
|
|
Monitoring-Related |
|
|
|
|
Event | X | X | X |
|
Metric | X | X | X | X |
Table 1 – CSC GS Applicability of OData Entities
3.2 OData Entities Description
The following sections provide a description of the properties of each OData element, including the type and the mapping to each GS element. Descriptions are on a generic level; for further details on the specific description for each element, requisiteness of each property and examples, the lower level element-specific ICDs should be referred to.
3.3 Product
In the context of the Copernicus GS, a Product is a packaged set of data files corresponding to a well-defined EO or auxiliary product format specification. The OData definition of the Product entity provides the basic elements to describe the product and facilitate the download and the check of integrity during the circulation between GS elements and basic reporting for the handling of the product. The Product definition includes footprint and sensing date that enables the basics for an EO related temporal spatial query directly on this element. The Product definition avoids to bundle all EO metadata in the basic element definition, preferring a generic approach using the Attributes entity allowing a high degree of flexibility in defining any relevant query condition without creating complex associations to groupings of attributes.
Products Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the product instance within the GS element. | X | X | X | X |
Name | String | Data file name (according to the Sentinel file naming conventions) plus the file extension | X | X | X | X |
ContentType | String | The Mime type of the product | X | X | X | X |
ContentLength | Int64 | Actual size in bytes (B) of the downloadable product package | X | X | X | X |
OriginDate | DateTimeOffset | Date and time of the product at the source (e.g. Publication date time on the PRIP). Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ. This element is used to calculate the latency in publication of the GS element. | X | X | X | X |
PublicationDate | DateTimeOffset | Publication date and time of the product (time at which the product becomes accessible for retrieval to the client within the interface delivery point). Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X | X |
ModificationDate | DateTimeOffset | Date when the product metadata was last modified. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X | X |
|
Online | Boolean | Indication of current online presence. Default: false |
| X | X |
|
EvictionDate | DateTimeOffset | Date when the data file will be removed from the Archive delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
Only provided if Online = true | X | X | X | X |
Checksum (Algorithm, Value and ChecksumDate) | Checksum[] | Represents the known checksums for the product’s physical data, providing a unique value for supporting download integrity check as well as the associated Algorithm (string format). At least the MD5 checksum is mandatory. Each checksum also includes the ChecksumDate when it was calculated, in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ.
Example:
"Checksum": [ { "Algorithm":"MD5", "Value":"e8a303bf3d85200 514f727db60e7db65" "ChecksumDate":"2018-01-22T18:00:00.000Z", } ] | X | X | X | X |
ContentDate | TimeRange | The sensing range period. Compound property with start and end times in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ:
"ContentDate": { "Start": "YYYY-MM-DDThh:mm:ss.sssZ", "End": "YYYY-MM-DDThh:mm:ss.sssZ" } | X | X | X | X |
ProductionType | ProductionType Enum | ProductionType values: -systematic_production -on-demand default -on-demand non-default
Where: - systematic_production means that standard systematic production has been applied - on-demand default means that the production is the result of an on-demand processing request with default workflow options applied. - on-demand non-default means that the production is the result of an on-demand processing request with non-default workflow options applied.
NB: while ‘on-demand non-default’ signifies that options have been applied, it does not indicate precisely which options. The selected options will, however, be reflected within the attributes of the product. | X |
|
|
|
Footprint | Geography | Footprint of the product | X | X | X |
|
GeoFootprint | Geography | Mandatory for georeferenced products, following the definition in [RFC7946 ], with the following modification, according to [OData JSON Format Version 4.01 – Section 7.1]: -Keys should be ordered with type first, then coordinates, then any other keys
Example: "type": "Polygon", "coordinates": [ [ [-59.3169, 2.6367], [-63.105, -14.0539], [-60.8506, -14.4245], [-57.1309, 2.3269], [-59.3169, 2.6367] ] ] } | X | X | X |
|
Table 2 – Product Entity Properties and GS Applicability
3.4 Attributes
The Attributes entity provides the model for any other Product metadata. To assure a harmonized approach across all GS elements a precise mapping of each metadata attribute to the product format specification is performed. This is described in a series of documents dedicated to each mission, see section 1.3.
Attributes Property | Type | Description | GS Element Applicability | ||||
PRIP | DA | LTA | AUXIP | ||||
Name | String | String name of the attribute | X | X | X | X | |
ValueType | String | The type of attribute. This shall correspond to the following: - String - Integer - DateTimeOffset - Double - Boolean | X | X | X | X | |
Value | Depends on ValueType | The value of the attribute, depending on the ValueType | X | X | X | X |
Table 3 – Attributes Entity Properties and GS Applicability
3.5 Collection
In the context of the Copernicus GS, a Collection is a grouping of Products that may correspond to defined criteria, e.g. instrument, product types, data timeliness etc. Collections may be used as part of standard catalogue queries, and users may be authorized to access only specific Collections.
Collections Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Name | String | Collection name |
| X |
|
|
Description | String | Collection textual description |
| X |
|
|
Scope | Enum | Public Private |
| X |
|
|
CreationDate | DateTimeOffset | Date of collection creation |
| X |
|
|
Table 4 – Collection Entity Properties and GS Applicability
3.6 Nodes/Components
Supporting the capability to inspect / download components from the product package. This definition is due for further detailing.
3.7 Deleted Product
The DeletedProduct Entity is provided in the Data Access element to provide a reference to data which have been deleted from the GS due to a quality issue or GS anomaly. The Entity allows clients to be routinely informed of any deletion and data and thus align any external catalogue or system.
DeletedProduct Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id the identifier initially used to publish the product instance within the GS element. |
| X |
|
|
Name | String | Data file name (according to the Sentinel file naming conventions) plus the file extension) |
| X |
|
|
PublicationDate | DateTimeOffset | Publication date and time of the product (time at which the product originally become accessible for retrieval to the client within the LTA). Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X |
|
|
DeletionDate | DateTimeOffset | Date and time of the product deletion from the Ground Segment element. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X |
|
|
DeletionCause | String | Reason for the deletion |
| X |
|
|
Checksum (Algorithm, Value and ChecksumDate) | Checksum[] | Represents the known checksums for the product’s physical date, providing a unique value for supporting download integrity check. At least MD5 checksum is mandatory. Each checksum also includes the ChecksumDate when it was calculated, in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X |
|
|
ContentDate | TimeRange | The sensing range period. Start and end times are in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X |
|
|
Footprint | Geography | Footprint of the product |
| X |
|
|
GeoFootprint | Geography | Footprint of the product following the GeoJSON format |
|
|
|
|
Table 5 – DeletedProduct Entity Properties and GS Applicability
3.8 Order
In the context of the Copernicus GS, an Order is a client request for an offline data product to be retrieved by the GS element and made available for download by the requesting user.
Order Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the Order instance within the element, assigned upon Order creation. |
| X | X |
|
Status | JobStatus enumeration | JobStatus value: - in_progress |
| X | X |
|
StatusMessage | String | Text message providing additional information on the returned status, e.g. the reason for a failure. |
| X | X |
|
OrderSize | Int64 | Actual size in bytes (B) of the data composing the Order (which would be the ProductSize unless any transformation is performed, e.g. band extraction) |
| X | X |
|
SubmissionDate | DateTimeOffset | Date and time at which the order was received by the element. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X | X |
|
EstimatedDate | DateTimeOffset | Estimated date and time when the product will be available for download from the Archive delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X | X |
|
Origin Date | DateTimeOffset | Date and time when the product was available for download from the delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
Only provided if the order is in status completed |
| X |
|
|
CompletedDate | DateTimeOffset | Date and time when the product was available for download by the ordering client. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sss |
| X | X |
|
EvictionDate | DateTimeOffset | Date when the Product related to the Order will be removed from the Archive delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
| X | X |
|
Priority | Int64 | Priority of the order. It is an integer from 1-100, where 100 is the highest priority. |
| X | X |
|
NotificationEndpoint | String | URI used by the LTA for product download readiness notifications, should these be required. If not provided, no notifications will be sent. |
|
| X |
|
NotificationEpUsername | String | The username associated with the Endpoint URI provided.
Mandatory if Endpoint is provided, and requires authentication. |
|
| X |
|
NotificationEpPassword | String | The password associated with the Endpoint URI provided.
Shall be suitably secured to not be disclosed in subsequent queries via the OData interfaces. |
|
| X |
|
Table 6 – Order Entity Properties and GS Applicability
3.9 Bulk
A Bulk is an entity created following a client request to trigger bulk retrieval of a set of data, defined by a query filter parameters and a Batch size. The GS element breaks the Bulk into Batches, based on the Batch size provided and the most efficient ordering of products.
Bulk Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the Bulk instance within the element, assigned upon Bulk creation. |
|
| X |
|
Status | JobStatus enumeration | JobStatus value: - cancelled |
|
| X |
|
StatusMessage | String | Text message providing additional information on the returned status, e.g. the reason for a failure. Example values are:
If status = ‘created’ ‘Bulk has been created but no BatchOrders have been triggered’
If status = ‘in_progress’ ‘One or more BatchOrders are under processing’
If status = ‘completed’: ‘requested products of all BatchOrders comprising the Bulk are in status ‘completed’’
If status = ‘failed’: ‘at least one product retrieval has failed’ ‘at least one product currently unavailable’ ‘at least one product not found on LTA’
If status = cancelled: ‘Bulk cancelled by user’ |
|
| X |
|
FilterParam | String | The filter parameters of the Bulk request (refers to the $filter= parameter of any Products? query) |
|
| X |
|
OrderbyParam | String | Optional specification of the sorting order for the products within the batches. This would override any ordering from the element and could result in a less efficient Bulk extraction, so should be used only if critical for the organisation of the Bulk (refers to the $orderby= parameter of any Products? query) |
|
| X |
|
BatchsizeProducts | Int64 | The maximum number of products making up each child BatchOrder making up the Bulk. If this number causes the BatchsizeVolume to be exceeded then the number is limited to that which make up the BatchsizeVolume. The BatchsizeProducts serves as an optional information of the client to the service. The service shall be eligible to overwrite the value specified by the client.
|
|
| X |
|
BatchsizeVolume | Int64 | The maximum volume of each child BatchOrder making up the Bulk, in GiB. This value takes precedence of the BatchsizeProducts value.
If the value exceeds a configurable default maximum LTA BatchsizeVolume value, then the BatchsizeVolume is limited to this maximum value. |
|
| X |
|
SubmissionDate | DateTimeOffset | Date and time at which the Bulk request was received by the element. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
|
| X |
|
CompletedDate | DateTimeOffset | Date and time when all child BatchOrders were in status completed. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
|
| X |
|
NotificationEndpoint | String | URI used by the element for product download readiness notifications, should these be required. If not provided, no notifications will be sent. |
|
| X |
|
NotificationEpUsername | String | The username associated with the EndPoint URI provided |
|
| X |
|
NotificationEpPassword | String | The password associated with the EndPoint URI provided |
|
| X |
|
Table 7 – Bulk Entity Properties and GS Applicability
3.10 BatchOrder
A BatchOrder entity is a client request to trigger the delivery of products making up a particular Batch (resulting from a Bulk), making them available for download by the requesting user.
BatchOrder Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the BatchOrder instance within the element, assigned upon BatchOrder creation. |
|
| X |
|
Status | JobStatus enumeration | JobStatus value:
Where: - queued means the BatchOrder is queued and has not yet been triggered - in_progress means that the products making up the BatchOrder are being retrieved and disseminated to the AIP - completed means that all products making up the BatchOrder were successfully disseminated to the AIP and are available for download - failed means the retrieval and dissemination of one or more products making up the BatchOrder has failed - cancelled means that the BatchOrder has been cancelled by the user (while in status queued or in_progress) |
|
| X |
|
StatusMessage | String | Text message providing additional information on the returned status, e.g. the reason for a failure. Example values are:
If status = ‘queued’: ‘BatchOrder request is queued’
If status = ‘in_progress’: ‘BatchOrder is under processing’
If status = ‘completed’: ‘requested products of BatchOrder are available’
If status = ‘failed’: ‘at least one product retrieval has failed’ ‘at least one product currently unavailable’ ‘at least one product not found on LTA’
If status = cancelled: ‘BatchOrder cancelled by user’ |
|
| X |
|
OrderSize | Int64 | Sum of actual size in bytes (B) of the data of all products making up the BatchOrder. |
|
| X |
|
SubmissionDate | DateTimeOffset | Date and time at which the BatchOrder was triggered (i.e. changed from status created to status in_progress). No SubmissionDate is provide when the BatchOrder is in status created, or in status cancelled should the BatchOrder have been cancelled before it was triggered. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
|
| X |
|
EstimatedDate | DateTimeOffset | Estimated date and time when the products making up the BatchOrder will be available for download from the Archive delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
|
| X |
|
CompletedDate | DateTimeOffset | Date and time when the products composing the BatchOrder were all available for download from the Archive delivery Interface Point. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ |
|
| X |
|
Priority | Int64 | Priority of the BatchOrder. It is an integer from 1-100, where 100 is the highest priority. |
|
| X |
|
Table 8 – BatchOrder Entity Properties and GS Applicability
3.11 Workflow
The workflow entity is applicable to the On-Demand Processing, as part of a ProductionOrder. Following the initial identification of an input product to which on-demand processing is to be applied, the On-Demand PRIP (ODPRIP) Client may query the ODPRIP Service for relevant Workflows to apply.
Workflow Properties | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | The Id is a local unique identifier for the Workflow instance within the ODPRIP, assigned upon Workflow creation. | X | X |
|
|
Name | String | Short name of the workflow | X | X |
|
|
Description | String | Textual description of the workflow, including details of the processor version and configuration applicable | X | X |
|
|
InputProductType | String | Product Type of the Input Product | X | X |
|
|
OutputProductType | String | Product Type of the Output Product | X | X |
|
|
WorkflowVersion | String | Version number applicable to the workflow | X | X |
|
|
Table 9 – Workflow Entity Properties
3.12 WorkflowOptions
The WorkflowOptions refer to the options that a Client can select as part of a ProductionOrder workflow. Each Workflow may include zero or more client-selectable WorkflowOptions.
WorkflowOptions Properties | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Name | String | The name of the option | X | X |
|
|
Description | String | Textual description of the option | X | X |
|
|
Type | String | Type of the option | X | X |
|
|
Default | String | The default value of the option, if there is one | X | X |
|
|
Value
| Value[] | Array representing all possible values of the option: -Option 1 -Option 2 -Option 3 -etc. | X | X |
|
|
Table 10 – WorkflowOptions Entity Properties
3.13 ProductionOrder
The On-Demand Processing API allows a user to request the on-the-fly processing of a parent (input) product into a higher level (output) product. This is achieved by creating a ProductionOrder entity which specifies the product to be used as input, the workflow to apply, and the options, if any, for customising the workflow.
ProductionOrder Properties | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | The Id is a local unique identifier for the ProductionOrder instance within the ODPRIP, assigned upon ProductionOrder creation. | X | X |
|
|
Status | JobStatus enumeration | JobStatus value: -queued -in_progress -completed -failed -cancelled
Where: - queued means that the ordered production request is in the queue to be performed - in_progress means that the ordered production request is being performed - completed means that that the ordered output product has been produced is available for download - failed means the production of the ordered output product has failed - cancelled means that the ProductionOrder has been cancelled by the user (while in status in_progress) | X | X |
|
|
StatusMessage | String | Text message providing additional information on the returned status, e.g. the reason for a failure. Example values are:
If status = ‘queued’: ‘request is queued for processing’
If status = ‘in_progress’: ‘request is under processing’
If status = ‘completed’: ‘requested output product is available’
If status = ‘failed’: ‘production has failed’ ‘input product currently unavailable’ ‘input product not found on LTA’
If status = cancelled: ‘request cancelled by user’ | X | X |
|
|
OrderOutputSize | Int64 | Actual size in bytes (B) of the output Product composing the Order.
Only provided if the ProductionOrder is in status completed | X | X |
|
|
SubmissionDate | DateTime | Date and time at which the ProductionOrder was received by the ODPRIP. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X |
|
|
EstimatedDate | DateTime | Estimated date and time when the product will be available for download from the ODPRIP. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
The EstimatedDate is assigned upon initial ProductionOrder response and is not subsequently updated. The EstimatedDate is assigned on the basis of the queue when the ProductionOrder is processed (the actual CompletedDate could be impacted by subsequent incoming higher priority orders) | X | X |
|
|
CompletedDate | DateTime | Date and time when the product was available for download from the ODPRIP. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
Only provided if the ProductionOrder is in status completed | X | X |
|
|
EvictionDate | DateTime | Date when the Product related to the order will be removed from the ODPRIP. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
Only provided if the ProductionOrder is in status completed | X | X |
|
|
Priority | Int64 | Priority of the ProductionOrder. It is an integer from 1-100, where 100 is the highest priority.
There is always a priority associated to a ProductionOrder: if it is not set within the ProductionOrder Request, then it is automatically set to the default priority assigned to the user. If the ProductionOrder Request sets a priority higher than the highest priority assigned to the user then it is automatically set at the highest priority assigned. | X | X |
|
|
InputProductReference (Reference, ContentDate) | InputProductReference | Complex type used to unambiguously identify the input product. It contains: -Reference (String): Identifier of the product, typically the product file name or other similar value -ContentDate (TimeRange): The sensing range period. S Start and end times are in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
At least one of the Reference or the ContentDate must be included.
The optionality and precise definition of the InputProductReference should be described in an explicit tailoring, see for example Annex A. | X | X |
|
|
WorkflowId | Guid | The Id is a local unique identifier for the Workflow instance within the ODPRIP which is applicable to the ProductionOrder
Maps to Workflow.Id | X | X |
|
|
WorkflowName | String | Short name of the workflow
Maps to Workflow.Name | X | X |
|
|
WorkflowOptions (Name, Value) | WorkflowOptions[] | Selection of applicable options from the Workflow. Each option is provided in the format (taken from the WorkflowOptions entity):
Name:Value
If no options are selected, the default value is applied in each case. | X | X |
|
|
NotificationEndpoint | String | URI used by the ODPRIP for product download readiness notifications, should these be required. If not provided, no notifications will be sent. | X |
|
|
|
NotificationEpUsername | String | The username associated with the EndPoint URI provided.
Mandatory if NotificationEndpoint requires authentication | X |
|
|
|
NotificationEpPassword | String | The password associated with the EndPoint URI provided.
Mandatory if NotificationEndpoint requires authentication
Shall be suitably secured to not be disclosed in subsequent queries via the OData interfaces. | X |
|
|
|
Table 11 – ProductionOrder Entity Properties
3.14 ProductionOrder Notification
The ProductionOrder Notification entity is a notification to users concerning products processed on-demand, for which they have requested to be notified.
ProductionOrder Notification Properties | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
ProductId | Guid | The unique identifier of the product being notified. Maps to Product.Id | X |
|
|
|
ProductName | String | The data file name of the product being notified. Maps to Product.Name | X |
|
|
|
ProductionOrderId | Guid | The identifier of the ProductionOrder being notified. Maps to ProductionOrder.Id
| X |
|
|
|
NotifictionDate | DateTimeOffset | Date and time at which the notification was generated. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
| X |
|
|
|
Table 12 – ProductionOrder Notification Entity Properties and GS Applicability
3.15 Subscription
The Subscription entity refers to a client request for notification of future products entering the GS element which fulfil particular query filter parameters. A Subscription can optionally request for such products to be automatically Ordered by the GS element, thus made available for download.
Subscription Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the Subscription instance within the element, assigned upon Subscription creation. | X |
| X | X |
Status | SubscriptionStatus enumeration | SubscriptionStatus value: | X |
| X | X |
SubscriptionEvent | SubscriptionEvent enumeration | The subscription event to be monitored and for which notification is provided, from: |
|
| X |
|
FilterParam | String | The filter parameters of the Subscription (refers to the $filter= parameter of any Products? query) | X |
| X | X |
SubmissionDate | DateTimeOffset | Date and time at which the subscription was received by the element. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X |
| X | X |
LastNotificationDate | DateTimeOffset | Date and time corresponding to the last the time the Subscription was queried. Used by the element to limit the next query from the LastNotificationDate to the current date. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X |
| X | X |
StageOrder | Boolean | Automatically orders the staging of products fulfilling the subscription filter parameters |
|
| X |
|
Priority | Int64 | Priority of the created orders resulting from the subscription. It is an integer from 1-100, where 100 is the highest priority.
|
|
| X |
|
NotificationEndpoint | String | URI used by the element for subscription notifications | X |
| X | X |
NotificationEpUsername | String | The username associated with the EndPoint URI provided | X |
| X | X |
NotificationEpPassword | String | The password associated with the EndPoint URI provided | X |
| X | X |
Table 13 – Subscription Entity Properties and GS Applicability
3.16 Notification
The Notification entity is a notification to users concerning products which they have requested to be notified on, either which are now available on the GS element, specifically available for download, or deleted.
Notification Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
ProductId | Guid | The universally unique identifier (UUID) of the product being notified. Maps to Product.Id | X |
| X | X |
ProductName | String | The data file name of the product being notified. Maps to Product.Name | X |
| X | X |
SubscriptionId | Guid | The UUID of the Subscription being notified. Maps to Subscription.Id | X |
| X | X |
OrderId | Guid | The UUID of the order being notified. Maps to Order.Id |
|
| X |
|
BatchOrderId | Guid | The UUID of the BatchOrder being notified. Maps to BatchOrder Id |
|
| X |
|
SubscriptionEvent | SubscriptionEvent | The subscription event set in the parent Subscription to be monitored and for which notification is provided, from: |
|
| X |
|
NotificationDate | DateTimeOffset | Date and time at which the notification was generated. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X |
| X | X |
Table 14 – Notification Entity Properties and GS Applicability
3.17 GS Element (or Service)
System Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | String | Unique string identifier of the GS Element | X | X | X | X |
Organisation | String | Organisation responsible for GS Element | X | X | X | X |
Logo | String | Logo of the System Element | X | X | X | X |
Location |
| Coordinates of the System Element | X | X | X | X |
Description | String | Description of the System | X | X | X | X |
Available to the reporting user
3.18 User
The User entity is a read-write entity that allows to define details of the user the system role of the user within the GS element. It is identified by the key property Username.
User Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Username | String | Unique string identifier of the User | X | X | X | X |
String | Email of the User | X | X | X | X | |
ServiceAlias | String | Generic string to describe the client | X | X | X | X |
Country | String | Country of the user |
| X |
|
|
Domain | String | Domain of the User, selected from: -Atmosphere -Climate -Emergency -Land -Marine -Security -Other |
| X |
|
|
SubDomain | String | -SubDomain if Domain is Other |
| X |
|
|
Usage |
| Usage of the User, selected from: -Commercial -Education -Research -Other |
| X |
|
|
SubUsage | String | -SubUsage if Usage is Other |
| X |
|
|
Created | DateTimeOffset | Date/time of user creation. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X | X |
DefaultPriority | Int64 | The default order priority assigned to the User. It is an integer from 1-100 (TBC), where 100 is the highest priority. | X |
| X |
|
MaxPriority | Int64 | The maximum priority which can be assigned to an order by the User. It is an integer from 1-100 (TBC), where 100 is the highest priority. | X |
| X |
|
OrderQuota | Int64 | Refers to the maximum number of orders for allowed to be processed in parallel (i.e. in status in_progress) which a user may have ongoing at a particular time. | X | X | X |
|
DownloadQuota | Int64 | Refers to the maximum number of downloads that may be performed in parallel by the user. | X | X | X | X |
BatchOrderQuota | Int64 |
|
|
| X |
|
OrderTimeQuota (Quota, Interval) | OrderTimeQuota | Refers to the maximum number of Orders (as Int64) allowed to be submitted by a user in a given time period (e.g. 1 hour or 1 day – defined in seconds (as Int64)). |
| X |
|
|
ProductionOrderQuota | Int64 | Refers to the maximum number of On-Demand Production Orders allowed to be processed in parallel (i.e. in status in_progress) which a user may have ongoing at a particular time. |
| X |
|
|
ProductionOrderTimeQuota (Quota, Interval) | ProductionOrderTimeQuota
| Refers to the maximum number of On-Demand Production Orders (as Int64) allowed to be submitted by a user in a given time period (e.g. 1 hour or 1 day – defined in seconds (as Int64)) |
| X |
|
|
Table 15 – User Entity Properties and GS Applicability
3.19 SystemRole
The SystemRole entity describes the rights and capabilities granted to a user.
SystemRole Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Name | SystemRole enumeration | Unique string identifier of the Role, defining which functions may be accessed | X | X | X | X |
Description | String | Textual description of the Role | X | X | X | X |
Table 16 – SystemRole Entity Properties and GS Applicability
3.20 Restriction
The Restriction entity describes any restriction which may apply to a user’s account.
SystemRole Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | The unique identifier of the restriction. |
| X |
|
|
RestrictionType | RestrictionType enumeration | Any of: -LockedAccessRestriction -TmpUserLockedAccessRestriction -TBD |
| X |
|
|
Reason | String | Message explaining what caused the restriction on the user |
| X |
|
|
Table 17 – Restriction Entity Properties and GS Applicability
4 Generic Reporting Interface
This section describes the reporting statistics to be provided on a routine basis by all GS elements. This is largely concerned metrics for summary reporting and monitoring. For additional reporting at the specific element level, the lower level ICDs should be referred to.
4.1 Metrics Reporting Model
Metrics Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Name | String | Name of metric according to a standard naming convention TBW | X | X | X | X |
Timestamp | DateTimeOffset | Date/time of metric reporting. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X | X |
MetricType | Enum | Gauge or Counter | X | X | X | X |
Gauge | String | Value of Gauge at reporting timestamp (mandatory if MetricType=Gauge) | X | X | X | X |
Counter | Int64 | Value of Counter at reporting timestamp (mandatory if MetricType=Counter) | X | X | X | X |
Example metrics are described below.
Metric | Description | Type |
Archived.<productType>.<platformShortName>.<platformSerialIdentifier>.size | Cumulative volume of <productType> of mission <platformShortName>.<platformSerialIdentifier> in archive in Bytes | Counter |
Archived.<productType>.<platformShortName>.<platformSerialIdentifier>.count | Cumulative number of <productType> of mission <platformShortName>.<platformSerialIdentifier> in archive | Counter |
Archived.<platformShortName>.<platformSerialIdentifier>.size | Total cumulative volume of data in archive for <platformShortName> <platformSerialIdentifier>. | Counter |
Archived.<platformShortName>.<platformSerialIdentifier>.count | Total cumulative number of products in archive for <platformShortName> <platformSerialIdentifier>. | Counter |
Retrieved.<productType>.<platformShortName>.<platformSerialIdentifier>.size | Cumulative volume of <productType> of mission <platformShortName>.<platformSerialIdentifier> ordered and delivered to archive interface point in Bytes | Counter |
Retrieved.<productType>.<platformShortName>.<platformSerialIdentifier>.completed | Cumulative number of <productType> of mission <platformShortName>.<platformSerialIdentifier> ordered and delivered to archive interface point | Counter |
Retrieved.<productType>.<platformShortName>.<platformSerialIdentifier>.failed | Cumulative number of <productType> of mission <platformShortName>.<platformSerialIdentifier> ordered and failed to be delivered to archive interface point | Counter |
Download.<productType>.<platformShortName>.<platformSerialIdentifier>.<ServiceAlias>.completed | Cumulative number of <productType> of mission <platformShortName>.<platformSerialIdentifier> downloads completed (by <ServiceAlias>) | Counter |
Download.<productType>.<platformShortName>.<platformSerialIdentifier>.<ServiceAlias>.failed | Cumulative number of <productType> of mission <platformShortName>.<platformSerialIdentifier> downloads failed (by <ServiceAlias>) | Counter |
Download.<productType>.<platformShortName>.<platformSerialIdentifier>.<SerivceAlias>.size | Cumulative size of <productType> of mission <platformShortName>.<platformSerialIdentifier> downloaded (by <ServiceAlias>) in Bytes | Counter |
OriginToPublication.Daily.min.time.<productType>.<platformShortName>.<platformSerialIdentifier> | Daily minimum time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of 24 hours) | Gauge |
OriginToPublication.Daily.max.time.<productType>.<platformShortName>.<platformSerialIdentifier> | Daily maximum time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of 24 hours) | Gauge |
OriginToPublication.Daily.avg.time.<productType>.<platformShortName>.<platformSerialIdentifier> | Daily average time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of 24 hours) | Gauge |
OriginToPublication.Monthly.min.time.<productType>.<platformShortName>.<platformSerialIdentifier> | Monthly minimum time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of last month) | Gauge |
OriginToPublication.Monthly.max.time.<productType>.<platformShortName>.<platformSerialIdentifier>
| Monthly maximum time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of last month) | Gauge |
OriginToPublication.Monthly.avg.time.<productType>.<platformShortName>.<platformSerialIdentifier> | Monthly average time difference in seconds between PRIP PublicationDate and LTA PublicationDate of <productType> of mission <platformShortName>.<platformSerialIdentifier> (sliding window of last month) | Gauge |
SubmissionToCompletion.Daily.min.time | Minimum time from order submission to delivery on archive interface point (sliding window of 24 hours) | Gauge |
SubmissionToCompletion.Daily.max.time | Maximum time from order submission to delivery on archive interface point (sliding window of 24 hours) | Gauge |
SubmissionToCompletion.Daily.avg.time | Average time from order submission to delivery on archive interface point (sliding window of 24 hours) | Gauge |
SubmissionToCompletion.Monthly.min.time | Minimum time from order submission to delivery on archive interface point (sliding window of last month) | Gauge |
SubmissionToCompletion.Monthly.max.time | Maximum time from order submission to delivery on archive interface point (sliding window of last month) | Gauge |
SubmissionToCompletion.Monthly.avg.time | Aveage time from order submission to delivery on archive interface point (sliding window of last month) | Gauge |
Service.<KPI>.value | KPI value | Gauge |
4.2 Event Reporting Model
The Event entity records information on events concerning a GS element which have taken place or are planned to take place in the future. Events include, for example, planned unavailabilities due to service or infrastructure maintenance and unplanned availabilities due to e.g. network issues.
Event Property | Type | Description | GS Element Applicability | |||
PRIP | DA | LTA | AUXIP | |||
Id | Guid | It is a universally unique identifier (UUID). The Id is a local identifier for the Event instance within the element, assigned upon creation of the Event. | X | X | X |
|
Title | String | Title of the Event (concise summary) | X | X | X |
|
Description | String | Description of the Event | X | X | X |
|
EventCategory | Category enumeration | Chosen from a predefined list of categories (single selection available): -Service Maintenance -Infrastructure -Maintenance -Network -AIP -PRIP -TBC | X | X | X |
|
EventDate (start and stop) | TimeRange | The Event range period. Times are in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X |
|
PublicationDate | DateTimeOffset | Publication date and time of the Event entity. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X |
|
ModificationDate | DateTimeOffset | Last modificaion date and time of the Event entity. Time is in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ | X | X | X |
|
MissionTag | MissionTag enumeration | Chosen from a predefined list of missions (multiple selection available): | X | X |
|
|
InstrumentTag | InstrumentTag enumeration | Chosen from a predefined list of instruments (multiple selection available): | X | X |
|
|
LocalEvent | Boolean | TBD |
| X |
|
|
PublicEvent | Boolean | TBD |
| X |
|
|
DistributionScope | DistributionScope enumeration | This field is relevant only for events concerning the Service availability. Chosen from a predefined list of Data Access entities (multiple selection available): | X | X | X |
|
InformationUrl | String | External link to the information within anomaly tracking. | X | X | X |
|
Service | Boolean | Event service calendar flag: |
| X |
|
|
Table 18 – Event Entity Properties and GS Applicability
5 OData Enumerations
The list of OData enumerations, the entities to which they are applicable and available list of values, are provided in the table below.
Enumeration | List of Values | Applicable Entities |
EventCategory | Service Maintenance Infrastructure Maintenance Network AIP TBC | Event |
DistributionScope | Data Access – Open Access Data Access – Collaborative Access Long Term Archive On-Demand Processing Systematic Processing | Event |
Domain | Atmosphere Climate Emergency Land Marine Security Other | User |
InstrumentTag | SAR Optic SRAL OLCI SLSTR Synergy | Event |
JobStatus | queued created in_progress completed failed cancelled | Order Bulk BatchOrder ProductionOrder |
MissionTag | Sentinel-1 Sentinel-2 Sentinel-3 Sentinel-5p | Event |
ProductionType | systematic_production on-demand default on-demand non-default | Product (PRIP) |
RestrictionType | ExpiredAccessRestriction LockedAccessRestriction TmpUserLockedAccessRestriction | Restriction |
SubscriptionEvent | created deleted | Subscription Notification |
SubscriptionStatus | running paused cancelled | Subscription
|
SystemRoles | Search Download Order Bulk Reporting UserAdmin | SystemRole |
Usage | Commercial Education Research Other | User |
MetricType | Gauge Counter | Metric |
6 Interface Delivery Point Naming
Each interface delivery point within the CSC ESA Ground Segment Operations Framework shall apply a common naming schema.
The domain name for the interface delivery point should in general follow the schema below:
csc-<ele>-<name>.copernicus.eu
This defines the service-root-uri at which the interface delivery point may be addressed, and where <ele> describes the Ground Segment Element according to:
xbi | X-Band Service |
pro | Production Service |
lta | Long Term Archive Service |
adg | Auxiliary Data Gathering Service |
pod | Precise Orbit Determination |
mpc | Mission Performance Cluster |
and where <name> is a 4 letter acronym uniquely indicating the service provider within that service domain
Requests for DNS naming can be made through “ICF Next” (exact contact point to be specified at a later stage), specifying the IP address to which the domain shall be associated.
When making such a request the ESA Technical Officer of the relevant contract shall be copied and the request to “ICF Next” shall specify “This DNS naming request is for the purposes of the EU Copernicus Sentinels Operations as a service under contract to the European Space Agency”.
Appendix A Interface Delivery Point Conformance Approach
The present annex provides an overview of the Interface Delivery Points conformance approach.
ESA provides a freely available compliance test suite that may be used by each GS element service to run independent tests on their IDP. The test suite is provided as a Postman Collection JSON file consisting of a set of (OData) requests to be sent to the IDP as well as a series of test scripts for verifying the received responses.
The Ground Segment Interface Delivery Point test suite is available at: https://github.com/SercoSPA/CSC-Ground-Segment-Interface-Delivery-Point-Test-Suite
The test suite uses automatically generated Ground Segment interface tests in Postman. The Collection is based on the specifications of [AD-1] to [AD-5], as well as those described in [RD-3], [RD-4], [RD-5] and [RD-6].
Figure 2: Overview of the GS IDP Test Suite Preparation
The Postman Test Suite Collection is divided into logical folders:
-Mission Specific folders, containing tests based on [AD-1] to [AD-5], and divided by IDP subfolders: PR (=PRIP), DA, LTA, POD
-Filters folder, containing tests for the Product and Attributes entities
-Entity Specific folders, focusing on testing the main entities of each GS element: Orders, Bulk and Batch Orders, Subscriptions, Metrics