STAC ICD for PRIP v1.0 can be downloaded from this link.

STAC ICD for PRIP v1.1-RC1 includes corrections to address comments, and can be downloaded from this link (and the pdf version here)

Below table is available to collect the comments on version 1.0 of the document. Comments in green have led to somes changes in the document.

Id.AuthorSection/Page numberTitleStatus (Open / Fixed / Closed)Initial CommentDiscussion
1m-mohrp. 7

EOPF_SPECIFICATION

FixedMissing link, there's a <tbd> instead.Link to EOPF STAC extension already listed in "Reference Documents and Resources".
The "TBD" refers to EOPF specification. A Web link has been added for it. 

2

CloudFerrop. 21REQ-0050

Fixed

timestamp precision should be defined to avoid differences between PRIP implementations

Proposal to keep the same precision as for CDSE (second or µs ?)

REQ-0050 augmented in v1.1 (page 20)

3CloudFerrop. 25REQ-0085Closedthumbnail size and resolution must be defined to create consistency between product types. if no thumbnail is generated by PS then this asset should be empty or removed. whatever is included in the products  and does not fit the requirements should be listed as asset type (role) "preview" (overview) or similar.See higher level document : STAC Requirements and Recommendations for EOF Services
4CloudFerrop. 25 REQ-0090Closedthere are various media types within ZARR, so setting mime type of all objects to "application/vnd-zarr" may cause some strange behaviour of standard client libsZarr assets most of the time → one mime type only
5CloudFerrop. 28REQ-0207Fixedit is not needed for PRIP to enable searching by any common attribute, limited subset will suffice. PRIP API is not for end-users and used only for systematic downloads

specify the set of queryables in tailored ICDs

Added in v1.1 : add column "queryable" into "common attributes" table

6.CloudFerrop. 29REQ-0305, REQ-0410

Fixed

multipart uploads to object storage may affect the object checksum so in some cases it may be unreliable (TBC) with multipart upload single-part upload md5 != multipart-download md5

It's up to client's implementation and should be adressed by "tailored ICD"

Added in v1.1 (REQ-0410 & REQ-0305): Only single part upload supported in case of Zarr files

7CloudFerrop. 31 REQ-0391Closedno relation between accounts in central identity and s3 credentials make the management of access prone to errors and delays in provisioning of access. s3 credentials should be self-managed and reflect access roles (similar to CF S3 keys manager).

No known standard to include s3 credentials into IAM → out of scope of this ICD. It must be described by infrastructure provider.

Should go into tailored ICDs 

8CloudFerrop. 31REQ-0400

Closed

regarding: "

PRIP client point of view, retrieving an asset needs to:

List all S3 objects sharing the prefix provided by the asset link, leveraging the ListObjectsV2 S3 operation

"
prefix listing is time consuming and might be expensive (and will raise the maintenance cost of the PRIP) for multiple requests and will affect timeliness. compressed product recommended.

Question already discussed with ESA, and submitted to its arbitration.
In which way it can raise the maintenance cost ? 

Precision added in STAC-PRIP-API-REQ-0400 (use of .zmetadata file to discover the content)

Final discussion: no needed changes for the moment (no checksum info in .zmetadata) 

9. CloudFerro
STAC-PRIP-API-REQ-0210ClosedAccess control to the STAC Catalogue is implemented at the (STAC ?) Collection level while CDSE manages it on the product_type level. How collection and product types will be joined ?

One collection corresponds to a unique product_type at PRIP level.

10.CloudFerro
STAC-PRIP-API-REQ-0340FixedQuota Management expressed as n terra bytes per month <- what if a reprocessing campaign is published. Should every time the quota should be adjusted ?

Quota adjustement should be managed at operations level and arbitrated by ESA.

Not to describe in the ICD

Correction in 1.1 : Requirement on "Quota management" removed

11. CloudFerro

Fixed

lack of requirement regarding the maximum allowable number of items returned from a STAC query

We propose to add an additional requirement on the maximum number of returned items as configurable, but not less than 100 items (lower limit).

New requirement added in v1.1 : STAC-PRIP-API-REQ-0203 – STAC API limit parameter

12.CloudFerrop. 22

Closed

publication date - Timestamp of the availability of the current Item in the PRIP instance Catalogue.
update date - If STAC Item properties have been updated, timestamp of the last update.

Regarding the change of the modification date it is not clear if the LTA/CDSE should re-download the file.

Not to describe in the ICD

For the moment, an existing product shouldn't be updated on PRIP


13CloudFerro

OpenFile extension should be if the zipped/concatenated product is to be exposed. The file:size and file:checksum https://github.com/stac-extensions/file

Zarr item is provided in extended form (folders & sub-folders) → neither file extension nor checksum are relevant here

Open point / to have discussion internally (ESA) : which concatenation format to require ? (zip or tar)

no enforcing at prip level ?

14CloudFerroSection 3.4.3.4Downloading ZARR content

Closed

More info needed regarding "Note:  It  is  assumed  that  the  AWS  CLI  is  configured  with  the  expected  S3  API  endpoint  and authentication credentials."

It is not clear how to the authentification will look like. Sample AWS CLI config file would be appreciated. Are the short-term credentials to be used or the long-term ( https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html )? Are the https://docs.unified-streaming.com/documentation/vod/cloud/amazon/aws_s3_authentication.html#aws-security-tokens to be used?

Should depend on the provider → not candidate for the ICD. rather provided in tailored ICD

should S3 key for each downloading client (entity)

Not ICD related

15Cloudferro
Bulk download via a single zipped file without compressions.Closed
(related to 13)
Downloading multiple small zarr chunk files will generate huge overload regarding number of network requests and md5/checksums checks. Maybe we could suggest to adapt chunks size for storage usage, in order to reduce the number of objects : better to have a concatenated file (see comment 13)
16DLR1.1, 2.1, 2.2, ff. Abbreviations

Fixed

It is sufficient to explain abbreviations only once (e.g., STAC, PRIP, API). On the other hand, abbreviations must be explained at the first time they are mentioned in the text (e.g. EOF, EOPF, JSON). A list of abbreviations at the beginning of the document would also be helpful.

We will add a list of abbreviations at the beginning of the document.

Table added in page 4 (v1.1)

17DLR

2.2/page 9

ff.

Small grammar corrections

Fixed

A PRIP instance manages product for a given Sentinel Mission. → A PRIP instance manages products for a given Sentinel mission.

Compared to the formal PRIP ICD, current document does not currently address following PRIP functions: → Compared to the formal PRIP ICD, the current document does not address the following PRIP functions:

The entire document should be thoroughly reviewed for grammar in general and uppercase and lowercase lettering more specifically.

Corrections included in v1.1

18DLR

STAC-PRIP-ITEM-REQ-0090 STAC Asset properties, page 25

File extension .zarr in Local Folder path

Fixed

The example for the Local Folder path should include the .zarr file extension, since the <product_id> does not contain it.

<product_id>.zarr/...


Corrections included in v1.1

19DLR

STAC-PRIP-ITEM-REQ-0100 STAC Asset href, page 26

File extension .zarr in product path

Fixed

The <product_path> should include the .zarr file extension.

<product_path>=<product_id>.zarr/<folder>/...

20DLR

STAC-PRIP-ITEM-REQ-0101 Bucket naming convention, page 26

Example bucket names and path

Fixed

The bucket name in the text does not match the bucket name of the URLs in the table.

Also, the URL of the 10m Band 2 of a S02MSIL2A product would be .../measurements/reflectance/r10m/b02. This also applies to various places in the Use case examples section, page 31 ff.

The bucket name in the table is : prip-sentinel-2-l2a
Thus it's compliant with pattern "prip-<mission>-<productType>" (maybe rename mission to constellation ?)

Band 2 URL : Corrections included in v1.1

21DLR

3.4.3.2/page 34 ff.

Assets and item_assets in examples

Fixed

Maybe leave out the assets and item_assets from the examples since they are not defined finally for the EOPF products?

It's about presenting the exemples : put ....... instead of asset products !!

Need for Jolyon's arbitration 

Corrections included in v1.1:assets removed in examples

22DLR

3.4.3.3/page 36

Example URL

Fixed

The example is referring to https://pgstac.demo.cloudferro.com/. Maybe use an anonymous URL like in the other examples.

Corrections included in v1.1

23DLR

2.1/page 8

On-demand processing

Fixed

The PRIP API specifies not only the access to newly published Sentinel data products, it also supports the on-demand processing of (user level) data products, as defined in the  PRIP ICD ESA-EOPG-EOPGC-IF-3 section 2.1. "ODPRIP" is an extension of "PRIP" and its data structures and functions (section 4 of the PRIP ICD) should also be supported in the new STAC-based ICD.

The restricted scope of the document is described on page 9. It was agreed with Jolyon.

Besides, is ODPRIP really used until now ?
(for processing use case)

Discussion to have with Jolyon on how to implement processing API ?
→ organize tech. meeting on this topic

To make in a second step → put empty section (placeholder) in this version

24Werum

STAC-PRIP-ITEM-REQ101 Bucket naming convention 3.3.3/page 26

Bucket naming uniqueness

Fixed

Depending on the chosen cloud provider the naming of prip-<mission>-<productType> is not possible for multiple service providers. E.g. on several CloudFerro data centers and OVHcloud the bucket names need to be unique throughout the data center or across all data centers. (see https://docs.cloudferro.com/en/latest/s3/How-to-use-Object-Storage-on-CloudFerro-Cloud.html, https://help.ovhcloud.com/csm/en-ie-public-cloud-storage-s3-limitations?id=kb_article_view&sysparm_article=KB0047379)
As such, it would not be possible to have to service providers in parallel at the same cloud provider. Even hand-over activities would not work without violation of this requirement. To reach uniqueness the service provider could be added to the naming convention.

To discuss during next STAC API Catchup (10 th February

Change : prip-<provider>-<mission>-<productType>

Corrections included in v1.1 (page 26)

25Spacebel (YC)

§3.4.3.3


Fixed

Two curl examples in this section should use Accept: application/geo+json instead of Accept: application/json.  

Corrections included in v1.1
26Spacebel (YC)

response on page 33


Fixed

Example response contains two identical sections with http://www.opengis.net/def/rel/ogc/1.0/queryables.  
Remove one of both (e.g. the one with method=get"

Corrections included in v1.1 (pages 17 & 33)
27ADS

STAC-PRIP-API-REQ-0340

Duplicate requirement identifier

Fixed

STAC-PRIP-API-REQ-0340 is defined two times for two distinct requirements

Corrections included in v1.1 (page 30)

rename to STAC-PRIP-API-REQ-0345 – STAC compliance

  • No labels
Write a comment…