Implement asset-role for STAC results
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 32/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- clojure
- Domain
- api, backend-api-design
Research direction
Start with the linked STAC asset-roles specification and the supplied UMM-G example, then trace where CMR produces STAC results. Done means asset keys no longer need to be named data/data1: roles are mapped from UMM-G types, including data, thumbnail, metadata, and overview, with support for multiple data assets.
Written by the indexing model from the issue text.
Description
My use case is given a CMR granule in stac format, i want to download the data files locally for processing. Given a collection with multiple data files, we are returned STAC results like the following: https://cmr.earthdata.nasa.gov/search/concepts/G2813285105-LPCLOUD.stac
the keys to the assets are as follows:
"metadata": {
"href": "[https://cmr.earthdata.nasa.gov:443/search/concepts/G2813285105-LPCLOUD.xml](https://cmr.earthdata.nasa.gov/search/concepts/G2813285105-LPCLOUD.xml)",
"type": "application/xml"
},
"browse": {
"title": "Download EMIT_L1B_RAD_001_20231206T160939_2334011_006.png",
"href": "https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-public/EMITL1BRAD.001/EMIT_L1B_RAD_001_20231206T160939_2334011_006/EMIT_L1B_RAD_001_20231206T160939_2334011_006.png",
"type": "image/png"
},
"opendap": {
"title": "OPeNDAP request URL",
"href": "https://opendap.earthdata.nasa.gov/collections/C2408009906-LPCLOUD/granules/EMIT_L1B_RAD_001_20231206T160939_2334011_006"
},
"data": {
"title": "Download EMIT_L1B_RAD_001_20231206T160939_2334011_006.nc",
"href": "https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL1BRAD.001/EMIT_L1B_RAD_001_20231206T160939_2334011_006/EMIT_L1B_RAD_001_20231206T160939_2334011_006.nc"
},
"data1": {
"title": "Download EMIT_L1B_OBS_001_20231206T160939_2334011_006.nc",
"href": "https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL1BRAD.001/EMIT_L1B_RAD_001_20231206T160939_2334011_006/EMIT_L1B_OBS_001_20231206T160939_2334011_006.nc"
}
This requires us to look for the keys data and data1 (and possibly more). This is non-ideal when stac supports the asset-role which is made directly for this use case. The keys to the file can be whatever, but they would have the asset roles included that can then be interrogated for download. Also, things like "thumbnail" can be made as preview images is clients like the STAC-Browser. Most of this information is already available in the umm-g collections, though a more exhaustive mapping might be needed.
https://cmr.earthdata.nasa.gov/search/concepts/G2813285105-LPCLOUD.umm_json
umm-g --> Asset role:
"Type": "GET DATA" --> data
"Type": "GET RELATED VISUALIZATION" --> thumbnail
"Type": "EXTENDED METADATA" --> metadata
"Type": "VIEW RELATED INFORMATION" --> overview
- Dominant language
- Clojure
- Stars
- 398
- Forks
- 111
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 11
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nasa/Common-Metadata-Repository
-
Reindexer returns server errors for impossible calendar datesPossibly taken @sylvesterkaczmarek claimed this 15 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nasa/Common-Metadata-Repository#2502 ·
Maintainers usually reply within 1 day
-
Left over global def side-effects that made it into the production code: Interning of range-part1 / range-part2 variables for each range facet search (Memory leak + variable shadowing) permanentlyPossibly taken @musaaero claimed this 2 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 30/100
nasa/Common-Metadata-Repository#2514 ·
Maintainers usually reply within 1 day
-
Cancelled-job cleanup can terminate the reindexer worker after an SQS errorPossibly taken @sylvesterkaczmarek claimed this 15 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 74/100
nasa/Common-Metadata-Repository#2506 ·
Maintainers usually reply within 1 day
-
Reindexer applies new throttle rates to elapsed time before the changePossibly taken @sylvesterkaczmarek claimed this 15 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
nasa/Common-Metadata-Repository#2503 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 52/100
nasa/Common-Metadata-Repository#2485 ·
Maintainers usually reply within 1 day
All issues in nasa/Common-Metadata-Repository
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
.Needs Triage .Team/UXWest Priority:P2 Type:Bug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
metabase/metabase#83998 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day