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

[WIP]: Initial prototype #1

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

[WIP]: Initial prototype #1

wants to merge 9 commits into from

Conversation

TomAugspurger
Copy link
Member

This is a prototype of what a stactools package like this might look like.

At a high level, it would make one STAC item per NetCDF file distributed by NODD. For example, "https://noaanwm.blob.core.windows.net/nwm/nwm.20231010/short_range/nwm.t00z.short_range.channel_rt.f001.conus.nc".

It relies on that naming convention to derive some STAC properties, using the parts after /nwm/, i.e. nwm.20231010/short_range/nwm.t00z.short_range.channel_rt.f001.conus.nc.

I've optionally used a new feature of xstac to embed Kerchunk references in the STAC metadata. See examples/example-item/example-item.json for an example.

Some open questions:

  1. I've invented some names for "product" (channel_rt, land, etc.), "Region" (consus, alaska, etc), "Category" ("short_range", "long_range", etc.), "cycle runtime". These probably have proper names given by NOAA. We should use those.
  2. What's the appropriate bbox and geometry to use for the channel_rt data? We can't get it just from the NetCDF data. We'd need to get the reaches file. It should be the same for every item (by region: conus, alaska, etc.).
  3. We should use the forecast extension to catalog the reference_datetime, horizon, etc.
  4. I've assumed that we'd have one STAC Catalog per "category - product" pair. But I haven't implemented that, and we could be flexible with how this is modeled.

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

Successfully merging this pull request may close these issues.

1 participant