Within the Copernicus Data Space Ecosystem there are two STAC catalogues available:

1. Production catalogue available here: https://radiantearth.github.io/stac-browser/#/external/catalogue.dataspace.copernicus.eu/stac

2. Development catalogue available here: https://radiantearth.github.io/stac-browser/#/external/pgstac.demo.cloudferro.com

CLMS attributes to be discussed 2025.07.14

odata_attributesdata type
in EEA STAC templatesto be
removed
target STAC extension
STAC Counterpart
collection levelitem levelasset level
NotesOData ICD definitionSTAC definitionCLMS definitionExample STAC
Example Odata
areaOfInterestStringAttribute
Xregionnamemandatoryoptionalnacan be set as a keyword at collection levelCLMS specificA human-readable name of the relevant region.missing
global
beginningDateTimeDateTimeOffsetAttribute

STAC core attributestart_datetimenamandatory nabeginning of the interval that the data is valid. RFC beginning of interval start or end of second?CLMS specificThe first or start date and time for the resource, in UTC. It is formatted as date-time according to RFC 3339, section 5.6.missing2025-06-21T00:00:00.000000Z2025-06-21T00:00:00.000000Z
cellIDIntegerAttribute
?gridcodenaoptionalnaNew grid variants may need to be added to the extension.CLMS specificCLMS specific

Cell identifier describing the respective tile or sample.


1300000000033
ChecksumStringAttributeyes
filechecksumnanamandatory
Represents the known checksums for the product’s physical data, providing a unique value for supporting download integrity check. At least MD5 checksum is mandatory.Provides a way to specify file checksums (e.g. BLAKE2, MD5, SHA1, SHA2, SHA3). The hashes are self-identifying hashes as described in the Multihash specification and must be encoded as hexadecimal (base 16) string with lowercase letters.missing

collectionNameStringAttribute
Xnananananacan be set as a keyword at collection levelCLMS specificCLMS specific

mandatory collectionName

TO BE REMOVEDCLMS
componentStringAttribute
Xnananananacan be set as a keyword at collection levelCLMS specificCLMS specific

Component to which the dataset belongs


bio-geophysical
consolidationPeriodIntegerAttribute

producthttps://github.com/stac-extensions/product/issues/10optionaloptionalna
CLMS specificCLMS specific

Consolidation period for the collection where multiple consolidations are produced.


6
ContentDate:EndDateTimeOffsetAttributeyes
STAC core attributeend_timenamandatoryna
nominal endThe last or end date and time for the resource, in UTC. It is formatted as date-time according to RFC 3339, section 5.6.

Beginnng date of the content period of the product. For products with consolidations, this will not be the same as the sensing start date but the start date of the nominal 10daily period.

2025-06-30T23:59:59.999999Z2025-06-30T23:59:59.999999Z
ContentDate:StartDateTimeOffsetAttributeyes
STAC core attributestart_datetimenamandatoryna
nominal startThe first or start date and time for the resource, in UTC. It is formatted as date-time according to RFC 3339, section 5.6.

Beginnng date of the content period of the product. For products with consolidations, this will not be the same as the sensing start date but the start date of the nominal 10daily period.

2025-06-21T00:00:00.000000Z2025-06-21T00:00:00.000000Z
ContentLengthIntegerAttributeyes
filesizenanamandatory

Actual size in bytes (B) of the downloadable product package

The file size, specified in bytes.missing27516224122751622412
ContentTypeStringAttributeyes
STAC core attributetypenanamandatory
The Mime type of the productMedia type of the asset. See the common media types in the best practice doc for commonly used asset types.

Describes the content type of the product. 
The generic mime-type "application/octet-stream" shall be used as default.
User can not filter on this attribute butthrough the file format attribute.

image/tiff; application=geotiff; profile=cloud-optimizedapplication/netcdf
datasetAliasStringAttribute
X




can be set as a keyword at collection levelCLMS specificCLMS specific

Provides an alias to group multiple datasets with same product category but with different version numbers.


wl-lakes_global_vector_daily
datasetIdentifierStringAttributeyes
STAC core attributecollectionmandatorynana
CLMS specific

The id of the STAC Collection this Item references to with the collection relation type in the links array.

Uniquely identifies the dataset. The dataset is a group of products belonging to the same dataset / collection / parentIdentifier.

wl-lakes_global_vector_daily_v2wl-lakes_global_vector_daily_v2
datasetShortNameStringAttribute
X




can be set as a keyword at collection levelCLMS specificCLMS specific

Short name for the dataset.


lwl
datasetVersionIntegerAttributeyes
versionversionmandatorynanait should be included in the collection nameCLMS specificVersion of the context this fields is used in (e.g. Asset or Collection).

Version of the collection represented as a number.


2
endingDateTimeDateTimeOffsetAttribute

STAC core attributeend_timenamandatoryna
CLMS specificThe last or end date and time for the resource, in UTC. It is formatted as date-time according to RFC 3339, section 5.6.missing2025-06-30T23:59:59.999999Z2025-06-30T23:59:59.999999Z
EvictionDateDateTimeOffsetAttributeyes
timestampsexpiresnamandatoryna

Date when the data file will be removed from the Interface Delivery Point.

Date and time the corresponding data (see below) expires (is not valid any longer), in UTC.

Date of eviction, removal of the product from the Odata catalogue.

9999-12-31T23:59:59.999999Z9999-12-31T23:59:59.999999Z
fileFormatStringAttribute
X




it should be included in the collection nameCLMS specificCLMS specific

Format of the product.


geojson
gridLabelStringAttributeyes
STAC core attributegsdmandatorynanaRequired for all rasters
minimum nominal grid spacing for a collection
CLMS specificThe nominal Ground Sample Distance for the data, as measured in meters on the ground. There are many definitions of GSD. The value of this field should be related to the spatial resolution at the sensor, rather than the pixel size of images after orthorectification, pansharpening, or scaling. The GSD of a sensor can vary depending on geometry (off-nadir / grazing angle) and wavelength, so it is at the discretion of the implementer to decide which value most accurately represents the GSD. For example, Landsat8 optical and short-wave IR bands are all 30 meters, but the panchromatic band is 15 meters. The gsd should be 30 meters in this case because that is the nominal spatial resolution at the sensor.

Labels the nominal grid spacing in the format as been used in the datasetIdentifier, including the unit.

300300m
IdStringAttribute
X




UUID

It is a universally unique identifier (UUID). The Id is a local identifier for the product instance within the Data Access, assigned during the product ingestion.

NANA
c46db475-d910-431f-8f36-d12bf3a93e7f
instrumentShortNameStringAttributeyes
STAC core attributeinstrumentsmandatorymandatorynaCan be array of strings.name of the InstrumentAn array of all the sensors used in the creation of the data. For example, data from the Landsat-8 platform is collected with the OLI sensor as well as the TIRS sensor, but the data is distributed together so would be specified as ['oli', 'tirs']

List of the instruments providing the acquisitions used for producing the product. This is used to search and filter on instrument. If multiple values, use comma seperator without whitespace.

VEGETATIONVEGETATION
metricGridSpacingIntegerAttributeyes
STAC core attributegsdmandatorymandatoryna
CLMS specificThe nominal Ground Sample Distance for the data, as measured in meters on the ground. There are many definitions of GSD. The value of this field should be related to the spatial resolution at the sensor, rather than the pixel size of images after orthorectification, pansharpening, or scaling. The GSD of a sensor can vary depending on geometry (off-nadir / grazing angle) and wavelength, so it is at the discretion of the implementer to decide which value most accurately represents the GSD. For example, Landsat8 optical and short-wave IR bands are all 30 meters, but the panchromatic band is 15 meters. The gsd should be 30 meters in this case because that is the nominal spatial resolution at the sensor.

Refers to the nominal grid spacing of the product, expressed in meters. The purpose of this additional field is to filter on the nominal grid spacing as a number eg. metricGridSpacing > 300.

10001000
missionShortNameStringAttribute
Xnanananana
CLMS specificCLMS specific

List of the platforms providing the acquisitions used for producing the product. (All platforms in uppercase.)
If multiple values, use comma seperator without whitespace.

NOT TO BE USEDSPOT4,SPOT5,PROBAV
ModificationDateDateTimeOffsetAttributeyes
STAC core attributeupdatednamandatorynamodification of metadata in OData/STAC cataloguea and not the modification of data/assets itself

Date when the product metadata was last modified.

Date and time the corresponding STAC entity or Asset (see below) was updated last, in UTC.
2025-07-02T10:08:46.236018Z2025-07-02T10:08:46.236018Z
NameStringAttributeyes
STAC core attributeidnamandatorynaproduct name unique within a Collection,Data file nameIt is important that an Item identifier is unique within a Collection, and that the Collection identifier in turn is unique globally. Then the two can be combined to give a globally unique identifier. Items are strongly recommended to have Collections, and not having one makes it more difficult to be used in the wider STAC ecosystem. If an Item does not have a Collection, then the Item identifier should be unique within its root Catalog or root Collection.

Unique name of the product.
For netcdf products, the Name is the product file name with '_nc' .
For cloud optimized geotiff products, the Name is the product file name of the identical netcdf product, with '_cog' .
For vector products in geojosn format, the Name is het product file name with '_geojson'.

c_gls_NDVI300_202506210000_GLOBE_OLCI_V2.0.1_ncc_gls_NDVI300_202506210000_GLOBE_OLCI_V2.0.1_nc
nominalDateDateTimeOffsetAttributeyes
STAC core attributedatetimenamandatoryna
CLMS specificThis is likely the acquisition (in the case of single camera type captures) or the 'nominal' or representative time in the case of assets that are combined together. Though time can be a complex thing to capture, for this purpose keep in mind the STAC spec is primarily searching for data, so use whatever single date and time is most useful for a user to search for. STAC content extensions may further specify the meaning of the main datetime field, and many will also add more datetime fields. All times in STAC metadata should be in Coordinated Universal Time (UTC). If there's clearly no meaningful single 'nominal' time, it is allowed to use null instead. In this case it is required to specify a temporal interval with the fields start_datetime and end_datetime from common metadata.

The nominal date is the reference date for the data acquisition period covered by the product. This date will be used to extract YYYY/MM/DD in the folderstructure.

2025-06-21T00:00:00.000000Z2025-06-21T00:00:00.000000Z
OnlineStringAttribute
Xnanananana

Indication of current online presence.

na

Indicates if the product is online or not.


TRUE
OriginDateDateTimeOffsetAttributeyes
STAC core attributecreatednamandatorynaWhen generated by the CLMS producer

Date and time of the product at the source (e.g. Publication date time on the PRIP). Time is in UTC

Creation date and time of the corresponding STAC entity or Asset (see below), in UTC.

Date of first creation of the product file. For CLMS data this is the mtime attribute from the rclone copyto info.

2025-07-02T09:30:01.282075Z2025-07-02T09:30:01.282075Z
platformAcronymStringAttributeyes
STAC core attributeconstellationmandatorymandatoryna
CLMS specificThe name of a logical collection of one or more platforms that have similar payloads and have their orbits arranged in a way to increase the temporal resolution of acquisitions of data with similar geometric and radiometric characteristics. This field allows users to search for related data sets without the need to specify which specific platform the data came from, for example, from either of the Sentinel-2 satellites. Examples include landsat-8 (Landsat-8, a constellation consisting of a single platform), sentinel-2 (Sentinel-2), rapideye (operated by Planet Labs), and modis (NASA EOS satellites Aqua and Terra). In the case of modis, this is technically referring to a pair of sensors on two different satellites, whose data is combined into a series of related products.

List of the platformAcronyms providing the acquisitions used for producing the product. If multiple values, use comma seperator without whitespace.

Sentinel-2 or multimissionSentinel-2
platformShortNameStringAttributeyes
STAC core attributeplatformmandatorymandatoryna
name of the PlatformThe unique name of the specific platform the instrument is attached to. For satellites this would be the name of the satellite, whereas for drones this would be a unique name for the drone. Examples include landsat-8 (Landsat-8), sentinel-2a and sentinel-2b (Sentinel-2), terra and aqua (part of NASA EOS, carrying the MODIS instruments), mycorp-uav-034 (hypothetical drone name), and worldview02 (Maxar/DigitalGlobe WorldView-2).

List of the platformShortNames providing the acquisitions used for producing the product. This is used to search and filter on platform. If multiple values, use comma seperator without whitespace.

Sentinel-2A or multimissionSenitnel-2A
processingCenterStringAttributeyes
processingfacilitynamandatoryna
name of the Procesing CentreThe name of the facility that produced the data. For example, Copernicus S1 Core Ground Segment - DPA for product of Sentinel-1 satellites.

Processing Center that produces the products.


VITO
productVersionStringAttributeyes
processingversionnamandatoryna
CLMS specificThe version of the primary processing software or processing chain that produced the data. For example, this could be the processing baseline for the Sentinel missions.

Version of the product represented with a minor 'v' which means not always the in the same way as in the file name. e.g v3.0.1 / v2.0 etc….


v3.0.1
PublicationDateDateTimeOffsetAttributeyes
timestampspublishednamandatoryna
Publication date and time of the product (time at which the product becomes accessible for retrieval to the client within the DA).

Date and time the corresponding data (see below) was published the first time, in UTC.

missing


2025-07-02T10:08:46.236018Z
S3PathStringAttributeyes
STAC core attributehrefnanamandatory
S3 path in the CDSE repositoryS3 path in the CDSE repositorymissing
/eodata/CLMS/bio-geophysical/vegetation_indices/ndvi_global_300m_10daily_v2/2025/06/21/c_gls_NDVI300_202506210000_GLOBE_OLCI_V2.0.1_nc
swiSubParameterStringAttribute
?





CLMS specificCLMS specific

Soil Water Index (SWI) sub-parameter acronym.


CI
temporalRepeatRateStringAttribute
X




can be set as a keyword at collection levelCLMS specificCLMS specificmissing
10daily
vppSeasonStringAttribute
?





CLMS specificCLMS specific

Vegetation phenology and productivity (VPP) season number.


S2
vppSubParameterStringAttribute
?





CLMS specificCLMS specific

Vegetation phenology and productivity (VPP) sub-parameter acronym.


TPROD
wlBasinNameStringAttribute
?





CLMS specificCLMS specific

Hydrological basin or catchment name (full name), in English.


Mackenzie River
wlLakeNameStringAttribute
?





CLMS specificCLMS specific

Name of the lake (full name), in local language wherever possible (a choice might be done if the lake shore several different countries).


athabasca
wlRiverNameStringAttribute
?





CLMS specificCLMS specific

Name of the river (full name), in local language wherever possible (a choice might be done if the lake shore several different countries)


Ya-lu-cang-bu-jiang



Sentinel-5P attributes to be discussed on 27.05.2024

Sentinel-5P Odata attributes
data type
to be
removed
target STAC extension
(in bold new attributes to be added)
STAC Counterpart
asset level
Description
Example STAC
Example Odata
beginningDateTimeDateTimeOffsetAttribute
attribute

start_datetime

datetime



2018-11-03T23:58:55.121559Z2024-05-17T00:23:29.000Z
endingDateTimeDateTimeOffsetAttribute
core STAC attributeend_datetime

2018-11-03T23:58:55.121559Z2024-05-17T00:27:08.000Z
instrumentShortNameStringAttribute
core STAC attributeinstruments

tropomiTROPOMI
orbitNumberIntegerAttribute
satsat:absolute_orbit

3415834158
parentIdentifierStringAttributeX




urn:ogc:def:EOP:ESA:SENTINEL.S5P_TROP_L2__NO2___
platformShortNameStringAttribute
core STAC attributeconstellation

sentinel-5pSENTINEL-5P
processingCenterStringAttribute
processingprocessing:facility
?pdgs-opPDGS-OP
processingDateDateTimeOffsetAttribute
processingprocessing:datetime

2018-11-03T23:58:55.121559Z2024-05-17T01:26:59.613000+00:00
processingLevelStringAttribute
processingprocessing:level

L2L2
processingModeStringAttribute
productproduct:timeliness
product:timeliness_category


PT3H

NRT

NRTI
processorNameStringAttributeX




TROPNLL2DP
processorVersionStringAttributeX


For Sentinel-5P  I believe the processing:version should be taken from the netCDF global attribute processor_version


20600
productTypeStringAttribute
product:typeproduct:type

L2__NO2___L2__NO2___

Sentinel-1 attributes to be discussed on 20.05.2024

Sentinel-1  Odata attributes
data type
to be
removed
target STAC extension
(in bold new attributes to be added)
STAC Counterpart
asset level
Description
Example STAC
Example Odata
beginningDateTimeDateTimeOffsetAttribute
core STAC attribute

start_datetime

datetime



2018-11-03T23:58:55.121559Z2024-05-14T00:06:28.688Z
completionTimeFromAscendingNodeDoubleAttribute
sat:anx_end_offset



238903.7
cycleNumberIntegerAttribute
sat:orbit_cyclesat:orbit_cycle


322
datatakeIDIntegerAttribute
EOPF



429004
endingDateTimeDateTimeOffsetAttribute
core STAC attributeend_datetime

2018-11-03T23:59:55.112875Z2024-05-14T00:06:53.687Z
instrumentConfigurationIDIntegerAttribute
EOPF



7
instrumentShortNameStringAttribute
core STAC attributeinstruments

sarSAR
operationalModeStringAttribute
sar:instrument_modesar:instrument_mode

IWIW
orbitDirectionStringAttribute
satsat:orbit_state

descendingASCENDING
orbitNumberIntegerAttribute
satsat:absolute_orbit

4276753860
originStringAttribute
processingprocessing:facility

production service-sercoESA
platformSerialIdentifierStringAttribute
core STAC attributeplatform

sentinel-1aA
platformShortNameStringAttribute
core STAC attributeconstellation

sentinel-1SENTINEL-1
polarisationChannelsStringAttribute
sar:polarizationssar:polarizations

'[VV,VH]'VV&VH
processingCenterStringAttribute
processingprocessing:facility

production service-sercoProduction Service-SERCO
processingDateDateTimeOffsetAttribute
processingprocessing:datetime


2024-05-14T08:04:12.593998+00:00
processingLevelStringAttribute
processingprocessing:level

L1LEVEL1
processorNameStringAttributeX
to be dropped


Sentinel-1 IPF
processorVersionStringAttributeX




3.71



processing:version (PR)processing:version (PR)

to be added in the future? what to do with s-1 baseline?




productClassStringAttributeX




S
productCompositionStringAttributeX




Slice/Slice-Partial
productTypeStringAttribute
product:type


IW_GRDH_1SIW_GRDH_1S



product:type

sar:product_type


to be moved to product:type (PR)

GRD 
relativeOrbitNumberIntegerAttribute
sat:relative_orbitsat:relative_orbit


63
segmentStartTimeDateTimeOffsetAttributeX




2024-05-14T00:05:09.988000+00:00
sliceNumberIntegerAttributeX




4
sliceProductFlagBooleanAttributeX




false
startTimeFromAscendingNodeDoubleAttribute
sat:anx_start_offset

milliseconds from anx crossing
213904.7
swathIdentifierStringAttributeX




IW
timelinessStringAttribute
productproduct:timeliness
product:timeliness_category


PT24H

Fast-24H

Fast-24h
totalSlicesIntegerAttributeX




20



sar:frequency_bandsar:frequency_band
collection level?C

Additional attributes for bursts:

burst attributesexampleto be added to STAC
linesPerBurst1493
samplesPerBurst21673
subswath"IW1" should be stringsar:subswaths_id
polarizationvhsar:polarizations
start line1493
azimuthTime2024-05-10T00:40:19.788314
sensingTime2024-05-10T00:40:19.788314

start_datetime

datetime

byteOffset129538967
burstId_relative8690 should be string used to be called frame_id

sar:relative_burst

burstId_absolute115560765
burstID_internal2



Sentinel-3 attributes to be discussed on 13.05.2024

Sentinel-3  Odata attributes
data type
to be
removed
target STAC extension
(in bold new attributes to be added)
STAC Counterpart
asset level
Description
Example STAC
Example Odata
baselineCollectionStringAttributeXXprocessing:version
OL__L1_.003.03.02,
reflected in the:
processing:version

003
beginningDateTimeDateTimeOffset

start_datetime

datetime

start_datetime

datetime



2023-07-10T00:47:16.702921Z2024-05-04T00:02:03.199Z
cloudCoverDoubleAttribute
?eo:cloud_cover

2828
coastalCoverDoubleAttributeX



10.009
cycleNumberIntegerAttribute
sat:orbit_cyclesat:orbit_cycle
The orbital cycle is 27 days (14+7/27 orbits per day, 385 orbits per cycle). The orbit cycle is the time taken for the satellite to pass over the same geographical point on the ground.
112
endingDateTimeDateTimeOffset
core STAC attributeend_datetime

2023-07-10T00:47:16.702921Z2024-05-04T00:05:03.199Z
freshInlandWaterCoverDoubleAttributeX
s3:fresh_inland_water

00
instrumentShortNameStringAttribute
core STAC attributeinstruments

olciOLCI
landCoverDoubleAttribute
?s3:land

22
operationalModeStringAttribute?


To be harmonized across missions
Earth Observation
orbitDirectionStringAttribute
satsat:orbit_state

descendingDESCENDING
orbitNumberIntegerAttribute
satsat:absolute_orbit

4276742767
platformSerialIdentifierStringAttribute
core STAC attributeplatform

sentinel-3aA
platformShortNameStringAttribute
core STAC attributeconstellation

sentinel-3SENTINEL-3
processingDateDateTimeOffset
processingprocessing:datetime

2023-07-10T00:47:16.702921Z2024-05-04T02:11:42+00:00
processingLevelStringAttribute
processingprocessing:level

L22
processorNameStringAttributeX


To be dropped and discussed with ESA experts.PUGPUG
processorVersionStringAttributeX

 





03.50
<sentinel3: processingBaseline>PB_ID.xxx.yy.zz </sentinel3: processingBaseline> from SAFE does not exists in Odata

processing:version

OL__L1_.003.03.02

OL - instrument

L1 - processing level 

003 - baselineCollection

03.02 - S3 processorVersion



To be discussed with Jordi. https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-3-olci/processing-baseline

<sentinel3: processingBaseline>PB_ID.xxx.yy.zz </sentinel3: processingBaseline>


<PB_ID> is unique and has as fixed format with 7 alphanumeric characters.
The definition of xxx.yy.zz version is the following:
xxx : baseline collection (starting from 002, 003 or 004 depending on the chain)
yy : minor changes in IPF or in static ADF (starting from zero for new baseline collection)
zz: changes in L0/PUG processing/task tables/PM or any other changes not expected to affect
the quality of the products (starting from zero when new baseline collection or minor change
is introduced). Only one PB_ID is applied on OLCI L1: e.g. in case of change of RAC or SPC
IPF which has no significant impact on product quality, zz shall be incremented.


productTypeStringAttribute
productproduct:type

OL_2_LFR___OL_2_LFR___
relativeOrbitNumberIntegerAttribute
sat:relative_orbitsat:relative_orbit

5959
salineWaterCoverDoubleAttributeX
s3:saline_water

442
tidalRegionCoverDoubleAttributeX
s3:tidal_region

20
timelinessStringAttribute
productproduct:timeliness
product:timeliness_category


PT3H

NR

NR

Sentinel-2 attributes to be discussed on 06.05.2024

Mappings not directly defined in the Sentinel extensions:

Sentinel-2  Odata attributes
data type
to be
removed
target STAC extension
(in bold new attributes to be added)
querable
STAC Counterpart
asset level
Description
Example STAC
Example Odata
mediaContentTypeStringAttributeX





application/octet-stream
IdStringAttributeX



Odata internal idX3e3b9d1a-18d5-43b8-83d8-564587ec3070
NameStringAttribute
id (core STAC attribute)Xs2:product_uri (to be removed)
product name. STAC "id" is without .SAFES2A_MSIL2A_20240308T100841_N0510_R022_T33UVR_20240308T143352S2B_MSIL2A_20240419T001429_N0510_R116_T56NNG_20240419T013152.SAFE
ContentTypeStringAttribute
core STAC attribute
typeXdiffers between Odata and STACimage/jp2application/octet-stream
ContentLengthIntegerAttribute
file
file:sizeXin bytes720970508720970508
OriginDateDateTimeOffsetAttribute
core STAC attributeX


into eopf

time of the publication at prip

2024-03-08T14:33:52.000000Z2024-04-19T02:13:20.000Z
PublicationDateDateTimeOffsetAttribute
core STAC attributeXpublished

2024-03-08T14:33:52.000000Z2024-04-19T02:20:17.555Z
ModificationDateDateTimeOffsetAttribute
core STAC attributeXupdated

2024-03-08T14:33:52.000000Z2024-04-19T02:21:14.300Z
ChecksumChecksum
file
file:checksumXBlake3/MD5 in Odata vs Multihash in STAC

ContentDate.StartDateTimeOffsetAttribute
core STAC attribute

X

datetime

start_datetime




2024-04-19T00:14:29.024Z
ContentDate.EndDateTimeOffsetAttribute
core STAC attributeXend_datetime




2024-04-19T00:14:29.024Z
Footprint
XXXX



GeoFootprint

core STAC attribute
geometry


"GeoFootprint":{"type":"Polygon","coordinates":
[[[153.9866661847601,0.945453049017732],
[153.9866661847601,0.945453049017732]]]}
originStringAttribute
processing
processing:facility


from manifest or EUMETSAT
cloudCoverDoubleAttribute
eoXeo:cloud_cover


14.583966
orbitNumberIntegerAttribute
sat
sat:absolute_orbit


37179
sourceProductStringAttributeX


 

S2B_OPER_MSI_L2A_TL_2BPS_20240419T013152_A037179_T56NNG_N05.10 S2B_OPER_MSI_L2A_DS_2BPS_20240419T013152_S20240419T001424_N05.10
processingLevelStringAttribute
processing
processing:level

L2S2MSI2A
platformShortNameStringAttribute
core STAC attribute
constellation

sentinel-2SENTINEL-2
instrumentShortNameStringAttribute
core STAC attribute
instruments

msiMSI
relativeOrbitNumberIntegerAttribute
satXsat:relative_orbit

22116
sourceProductOriginDateStringAttributeX



 
2024-04-19T02:13:20Z 2024-04-19T01:32:14Z
platformSerialIdentifierStringAttribute
core STAC attribute
platform

sentinel-2aA
beginningDateTimeDateTimeOffsetAttribute
core STAC attribute


start_datetime

datetime



2024-03-08T14:33:52.000000Z2024-04-19T00:14:29.024Z
endingDateTimeDateTimeOffsetAttribute
core STAC attribute
end_datetime

2024-03-08T14:33:52.000000Z2024-04-19T00:14:29.024Z
granuleIdentifierStringAttributeXNone
s2:granule_id (removed)

S2A_OPER_MSI_L2A_TL_2APS_20240308T143352_A045493_T33UVR_N05.10S2A_OPER_MSI_L2A_TL_2APS_20240308T143352_A045493_T33UVR_N05.10

Sentinel-2 STAC extension attributes to be discussed (not all present in Odata):

  • s2:generation_time (also in s1)
  • s2:datatake_id (also in s1)
  • s2:product_type (also in s1, s3, s5)
  • s2:tile_id
  • s2:product_uri
  • s2:datastrip_id
  • s2:datatake_type
  • s2:processing_baseline
  • s2:reflectance_conversion_factor

See the table below for details.

STAC Sentinel extensions

A priority should be to update the STAC Sentinel extensions to be less extensive at least. The plan is to find spaces in the general STAC community for these fields.
As a first step, we need to identify which fields are actually relevant to the general public.

General fields

For descriptions of the fields, please refer to the Sentinel extensions or the stactools-package implementations.

Idea is to keep a small variant of the Sentinel extensions as best practices, mostly using other extensions.
EOPF is for "private" fields that externals are not interested in.

Field nameData TypeRelevant to general public?
Potential future extension or field
Comments
Multi-Mission
s1:processing_datetime
s2:generation_time
date-timeYesprocessing:datetime (PR)OData: processingDate
S2 Example: 2024-04-19T01:31:52+00:00 (in STAC Z instead of +00:00)
s1:datatake_id
s2:datatake_id
stringYesto be included in the CDSE STAC and added to eopf extensionOData: productGroupId
S2 Example: GS2A_20240308T100841_045493_N05.10
s2:product_type
s3:product_type
s5p:product_type
stringNo?product:type

potentially restricted in s2 extension
What's the difference between name and type?
Can it be just one property, e.g. the name?
S2 example: S2MSI2A

s3:product_name
s5p:product_name
stringYes?
s1:product_timeliness
s3:processing_timeliness
stringYes?product:timeliness

potentially restricted in s2 extension

Can we find a common set of values for this? e.g. ISO 8601 Durations?
Sentinel-1 
s1:instrument_configuration_IDstringNo?

s1:orbit_sourcestringNo?

s1:product_identifierstring?externalIds?
s1:resolutionstringNo?

s1:slice_numberstringNo

s1:total_slicesstringNo

Sentinel-2 
s2:tile_idstringYes?

grid:code (querable)

and
mgrs:utm_zone (not querable)
mgrs:grid_square (not querable)
mgrs:latitude_band (not querable)

  • mgrs extention requires 3 fields (56, NN, G)
  • grid:code is one field (MGRS-56NNG)
  • Odata: tileId (56NNG)
s2:product_uristringNO To be removedNONEMight be needed in the S2 extension by some other users of the extensions.
s2:datastrip_idstringYes?EOPFOData field: datastripId
Example: S2A_OPER_MSI_L2A_DS_2APS_20240308T143352_S20240308T101546_N05.10
s2:datatake_typestringON HOLD similar to instrument_mode in the SAREOPFOData: operationalMode
Example: INS-NOBS
s2:processing_baselinestringYesprocessing:version (PR)OData: processorVersion, example: 5.1
STAC example: 05.10
s2:reflectance_conversion_factornumberTo be removedTo be removedExample: 1.01707999697991
Sentinel-3 
s3:gsdvariousNo?

to be dropped or used acrossed all missions

"gsd" STAC core attribute 


s3:lrm_modenumberYes?altm:instrument_type
s3:sar_modenumberYes?altm:instrument_mode
Sentinel-3 (Asset-level properties) 
s3:spatial_resolution (in assets)[number]?

raster:spatial_resolution as a single value?


s3:altimetry_bands (in assets)[Altimetry Band Object]?bands STAC core attribute in STAC 1.1
Sentinel-5 
s5p:processing_modestring?

s5p:collection_identifierstring?

s5p:spatial_resolution[number]?raster:spatial_resolution as a single value?
Sentinel-5 Container Objects 
s5p:aer_aiAer Ai ObjectFlatten into top-level propertiesNone
s5p:aer_lhAer Lh ObjectFlatten into top-level propertiesNone
s5p:ch4CH4 ObjectFlatten into top-level propertiesNone
s5p:cloudCloud ObjectFlatten into top-level propertiesNone
s5p:coCO ObjectFlatten into top-level propertiesNone
s5p:hchoHCHO ObjectFlatten into top-level propertiesNone
s5p:no2NO2 ObjectFlatten into top-level propertiesNone
s5p:npbd3NPBD ObjectFlatten into top-level propertiesNone
s5p:npbd6NPBD ObjectFlatten into top-level propertiesNone
s5p:npbd7NPBD ObjectFlatten into top-level propertiesNone
s5p:o3O2 ObjectFlatten into top-level propertiesNone
s5p:o3_tclO3 TCL ObjectFlatten into top-level propertiesNone
s5p:so2SO2 ObjectFlatten into top-level propertiesNone
Sentinel 5P Container Object Fields
These fields appear in at least one of the Sentinel-5 Container Objects above.


input_bandstring / [string]No

irradiance_accompaniedstringNo?

geolocation_grid_from_bandintegerNo?

cloud_modestringNo?

shape_ccd[integer]No?

shape_csa[integer]No?

stratosphere_start_datetimestring?

stratosphere_end_datetimestring?

troposphere_start_datetimestring?

troposphere_end_datetimestring?

input_orbits[integer]No?

input_files[string]No

analysed_s5p_bandintegerNo?

VIIRS_band[integer]No?

number_of_scaled_fovintegerNo?

Percentages

Field nameRelevant to general public?
Potential future extension or field
Comments
General and Other
 
s3:land?

s2:unclassified_percentageYes, not queryableclassification:classes[*].percentage
Clouds
 
s2:cloud_shadow_percentageYes, not queryable
classification:classes[*].percentage 
s2:high_proba_clouds_percentageYes, not queryableclassification:classes[*].percentage
s2:medium_proba_clouds_percentageYes, not queryableclassification:classes[*].percentage
s2:thin_cirrus_percentageYes, not queryableclassification:classes[*].percentage
Water and Coastal
 
s2:water_percentageYes, queryable
new: eo:water_cover ?
+ classification:classes[*].percentage

s3:closed_sea?

s3:fresh_inland_water?

s3:open_ocean?

s3:saline_water


s3:tidal_region?

s3:coastal?

s3:continental_ice?

Unusable 
s2:nodata_pixel_percentageYes, queryablenew: raster:nodata_percentage ?
+ classification:classes[*].percentage

s3:bright


s3:dubious_samples?

s3:duplicated?

s3:invalid


s3:out_of_range?

s2:dark_features_percentageYes, not queryableclassification:classes[*].percentage
s3:saturated
s2:saturated_defective_pixel_percentage
Yes, not queryableclassification:classes[*].percentage
Vegetation 
s2:vegetation_percentageYes, queryable?new: eo:vegetation_cover ?
+ classification:classes[*].percentage

s2:not_vegetated_percentageYes, not queryableclassification:classes[*].percentage

Depending on the asset structure, some percentages may be provided as a classification percentages as proposed in https://github.com/stac-extensions/classification/pull/49

Deprecated

For completeness, the following fields did exist in the past and are already deprecated in favor of existing STAC fields:

Field nameData TypeNew field name
s2:granule_idstringRemoved
s2:mgrs_tilestringmgrs:*
s2:mean_solar_zenithnumberview:sun_azimuth
s2:mean_solar_azimuthnumberview:sun_elevation
s2:snow_ice_percentage
s3:snow_or_ice
numbereo:snow_cover
s1:shape[integer]proj:shape
s1:processing_levelstringprocessing:level
s5p:shape[integer]proj:shape
s3:shape (in assets)[integer]proj:shape

CDSE querables attributes for Sentinel-2 L1C


CDSE STAC development roadmap


0. Simplify the geofootprint which is the largest attribute in the STAC response and slows down spatial querying (especially relevant for S-3 and S5P) ← to be provided by the Bureau d'Etude

1. Disable the overview displaying on items/assets level for selected collections e.g. Senitnel-3 where overviews generated in satellite projection is not displayed correctly. 

2. [Done at the collection level] Implement the CEOS-ARD extension for Level-2 and Level-3 products https://github.com/stac-extensions/ceos-ard First would be the Sentinel-2 L2A (stac item example https://github.com/stac-extensions/ceos-ard/blob/main/examples/optical-sr/item.json), then Sentinel-3 and Sentinel-5P products. There is no CEOS ARD for radar data yet. Currently it is only for CEOS ARD PFSes (so surface reflectance and temperature, and aquatic reflectance)

3. Populate the development catalogue with the Sentinel-2 L1C and L2A products and make the online version of the catalogue publicly available for testing

4. Add new collections based on the on the stac-tools for Sentinel-1 (https://github.com/stactools-packages/sentinel1), Sentinel-3 (https://github.com/stactools-packages/sentinel3), Sentinel-5P (https://github.com/stactools-packages/sentinel5p) These collections will conform to the new Sentinel's extensions: https://github.com/stac-extensions/sentinel-1 , https://github.com/stac-extensions/sentinel-3 ,  https://github.com/stac-extensions/sentinel-5p

4. Update ASAP current "more generic" extensions: EO, SAR, etc. Add new Sentinel collections excluding the Sentinel specific extensions.  

5. [In progress] Migrate some generic attributes from platform specific extension to more general extensions such as eo and sar. The rest of missions specific attributes (red crosses) should be maintained in the mission specific extensions not in the EOPF extension: https://github.com/CS-SI/eopf-stac-extension



7. Add to STAC Functionality of online/offline products. Add on demand product generation (url-s)

Missing STAC API functionalities to be potentially implemented in new STAC extensions

  • Hiding entire extensions in the https://github.com/stac-api-extensions/fields This could mimic the Odata $expand option for advanced, ESA internal extensions. 
  • Hiding items and assets within a Collection by an AOI
  • User levels and permissions to filter the Json response for general & expert CDSE users. 

Modification of current STAC extensions:



Various issues related to population of the STAC catalogue:

  1. NaN values in the Sentinel-2 viewing geometry: https://esa-cams.atlassian.net/browse/GSANOM-15086

    Coordination desk reply:

    This product is absolutely normal with respect to the current IPF implementation. It is really small as only few pixels from the datastrip intersect this tile as you can see in the CDSE and QGIS screenshots attached (the rainbow effect visible for the TCI displayed in QGIS is normal, and due to the fact that the different spectral bands do not share exactly the same footprint).

    A consequence of this very limited intersection between the tile footprint and the datastrip footprint is that we get only NaN viewing incidence values for several bands in the tile metadata, resulting in NaN mean viewing incidence values for these bands. This is because the grid on which the viewing incidence values are computed is very coarse (5 km x 5 km). Then this behaviour could happen sometimes for this kind of products (with limited intersection between the tile and the datastrip), and did happen before.

 


  • No labels