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

Support HRRR tiling via STAC API #1

Closed
4 of 6 tasks
abarciauskas-bgse opened this issue Jun 17, 2024 · 0 comments
Closed
4 of 6 tasks

Support HRRR tiling via STAC API #1

abarciauskas-bgse opened this issue Jun 17, 2024 · 0 comments

Comments

@abarciauskas-bgse
Copy link

abarciauskas-bgse commented Jun 17, 2024

Goal:

Support visualization of HRRR data via STAC API, in either forecast or historical mode using titiler.xyz and vsisubfile as the URL for a given variable.

Context:

Full context is here stactools-packages/noaa-hrrr#1 and things are still being decided but right now it seems like there there will be a collection per region (2) and product (4) combination, so 8 collections.

An item in each collections will be associated with one GRIB file and one index file. There will be an extra field in the asset metadata with the key "grib:layers". This will include key/value of the variable name + information about the variable such as the grib message (aka grib band) and start and end bytes.

Proposal for HRRR support:

  • 1. We will have 1+ collections in collection.json for HRRR. Eventually these collections will point to stac.eoapi.dev, but for now will use a local copy.
  • 2. Users will select a collection and then a variable. Variables will only be selectable if they have renders information (for now)
  • 3. User will also select "historical" or "forecast" (assuming we want a 48 hour forecast...)
  • 4. Given a user selects "forecast", the application will create a date time slider starting from most recent datetime of the set 00, 06, 12, 18 and then incrementing by 1 hour for 48 hours. Or should they select what the reference datetime could be? This would be more challenging to integrate another datetime selector box The datetime slider would have hours 0-48 available for selection
  • 5. Whenever an hour is selected (and the default will be with the reference datetime), the application will make a query to the STAC endpoint for the item with datetime of the hour selected and the forecast:reference_time of the most datetime from step 4.
  • 6. The application will look up the variable in the assets['grib']['grib:layers'] and use this to formulate a request to the tiler endpoint, for example:
const renders = collection['renders'][variable]
const asset = assets['grib']
const variable_metadata = asset['grib:layers'][variable]
const url = `/vsisubfile/${variable['start_byte']}_${variable['end_byte']},/vsicurl/${asset['href']}`
const tileUrl = `${tiler}?url=${url}${renderConfigToUrlParams(renders)}`
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

No branches or pull requests

1 participant