Skip to content

adding version of the geozarr driver to STAC metadata #295

Open

Description

@lhoupert

Hi @shollendEODC , would it be easy to add the version of the geozarr driver used to generate the zarr store in the Processing / Software section of the STAC items (e.g. https://stac.browser.user.eopf.eodc.eu/collections/sentinel-2-l2a-zarr3/items/S2C_MSIL2A_20260929T142001_N0513_R096_T25WES_20260929T161710)

Thank you!

Activity

  1. shollendEODC commented on Sep 30, 2026

    @shollendEODC
    Collaborator

    No, that would be easy. We have discussed the issue previously but didnt decide yet on how and what we want to add. There are several options based on a random S2 L2A sample I converted with cpm 3.0.0 (these are the same for all products as they are introduced by cpm)

    i would prefer Option 1

    Metadata from sample.zarr/zarr.json

    Option 1: in stac_discovery

    "attributes": {
        "stac_discovery": {
            "properties": {
                "processing:software": {
                    -> add here: "EOPF_GEOZARR": "version tag",
                    "EOPF_CPM": "3.0.0",
                    "COMMON_PFSD": "3.0.0",
                    "SPECIFIC_PFSD": "1.1.0",
                    "EOPF_MAPPING": "1.0.0",
                    "EOPF_MODEL": "1.0.0"
                    }
            }
        }
    }
    

    Option 2: in attributes:
    Here we have entries for each processor, we could append an attribute to the EOPF-CPM processor (Option 2.1)(but they are rigidly structured and we would likely deter from some convention inside CPM), or add a new entry altogether (Option 2.2) (but its not an additional processor but actually a part plugged into CPM)

    Option 2.1

    "attributes": {
        "processing_history": {
            "Level-2A Product": {
               ...,
              {
                  "processor": "EOPF-CPM",
                  "version": "3.0.0",
                  "facility": "CS-SopraSteria",
                  "time": "2026-09-18T11:11:33.341897Z",
                  "inputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.SAFE"
                  ],
                  "outputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.zarr"
                  ]
                  -> add here: "EOPF_GEOZARR": "version tag",
            }
        }
    }
    

    Option 2.2

    "attributes": {
        "processing_history": {
            "Level-2A Product": {
               ...,
              {
                  "processor": "EOPF-CPM",
                  "version": "3.0.0",
                  "facility": "CS-SopraSteria",
                  "time": "2026-09-18T11:11:33.341897Z",
                  "inputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.SAFE"
                  ],
                  "outputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.zarr"
                  ]
             },
                  -> add here:
              {
                  "processor": "EOPF-GEOZARR",
                  "version": "version tag",
                  "facility": "?",
                  "time": "2026-09-18T11:11:33.341897Z",
                  "inputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.SAFE"
                  ],
                  "outputs": [
                    "/.../S2C_MSIL2A_20260716T100601_N0512_R022_T32UQU_20260716T152417.zarr"
                  ]
            }
    
        }
    }
    
  2. lhoupert commented on Sep 30, 2026

    @lhoupert
    ContributorAuthor

    option1 looks good, what do you think @emmanuelmathot ?

  3. emmanuelmathot commented on Sep 30, 2026

    @emmanuelmathot
    Contributor

    STAC is fine. Thx

  4. shollendEODC commented on Oct 6, 2026

    @shollendEODC
    Collaborator

    First implementation done here in my fork: https://github.com/shollendEODC/data-model/tree/integrate/cpm-geozarr-main-feat-add-geozarr-version

    Cloned from 039f38c0a617a89d95c9df247d59edd1dae9732f, once the PR #292 is resolved this can be opened as a new PR (no issues expected, will have to redo fixtures to represent metadata changes).

    Example if processed on the current git commit for S1 GRDH:

    "processing:software": {
              "Sentinel-1 IPF": "003.71",
              "EOPF_CPM": "3.0.0",
              "COMMON_PFSD": "3.0.0",
              "SPECIFIC_PFSD": "4.1.0",
              "EOPF_MAPPING": "1.0.0",
              "EOPF_MODEL": "1.0.0",
              "EOPF_GEOZARR": "v0.12.0-50-g039f38c-dirty"
            },
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions