Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discuss STAC extension dependencies in load_stac for assets with time dimension #1017

Open
VincentVerelst opened this issue Jan 23, 2025 · 1 comment
Assignees
Labels

Comments

@VincentVerelst
Copy link

Currently the load_stac process requires both the item_assets and datacube STAC extensions in order to be able to detect whether or not an asset has a time dimension.

When these extensions are not present in the STAC collection, the job will still run successfully, but the end result will not have a time dimension anymore.

Some questions:

  • Why do we rely on two different extensions? Would for example only relying on item_assets not be enough?
  • Could it be an option to throw a warning if one or two of these STAC extensions are not detected in the collection metadata?
  • As of STAC 1.1 item_assets will be deprecated (https://github.com/stac-extensions/item-assets) and become part of the core spec. I guess in this case we would not need to rely on optional STAC extensions anymore to detect a time dimension in the assets, correct?
@jdries
Copy link
Contributor

jdries commented Feb 4, 2025

The item_assets 'extension' is now indeed part of the core spec, and I expect that we will use it more and more in general.
It will also allow us to detect that the media type is netcdf, which is an important clue for us to select the right data loading code path.

Then the only question remaining is how to detect that we are loading a collection of netcdf samples, where each netcdf covers only a limited area. Until now, the datacube extension is the only one I know that does this, and is already commonly used in the openEO ecosystem. It's not impossible that alternatives exist, but quite likely that it would still require an extension somehow. Swapping out one extension for the other will of course not solve things.

To throw a warning, we could try and inspect the netcdf metadata when we read data from it. If metadata indicates a specific dimensionality which is unexpected, we can perhaps throw an error or log a warning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants