isce-framework / isce-framework/isce3
How to get DEM description + license for Static Layers?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 239
- Forks
- 90
- Avg merge
- 13d 1h
- Merged PRs (30d)
- 5
Description
Unlike other NISAR products, the Static Layers product includes a resampled DEM layer, so it must include license information in the product in accordance with the terms of the input DEM license.
It's undesirable to hard-code the license info in the SAS because users may want to run the Static Layers workflow with a custom DEM that's subject to different license terms.
Currently, the runconfigs for all NISAR workflows include a runconfig.groups.dynamic_ancillary_file_group.dem_file_description field that could be used to supply this info. In the SDS, this field will be populated with a string extracted from the VRT file produced by stage_dem.py. This string contains a short description that does not include license info^1.
We discussed several options for getting the DEM description + license in the Static Layers workflow offline this morning:
- We could instruct the On-Demand team to populate this field in the runconfig with a pre-specified string that includes the license info, rather than extracting the string from the DEM VRT file.
- We could add logic in the SAS to check whether the input DEM is a Copernicus DEM and, if so, use a hard-coded string with the license info.
- We could update
stage_dem.pyto add an additional metadata attribute to the VRT file which includes the full description + license info. Then the SAS could extract this metadata from the VRT file.
I have a strong preference for option 3--
Option 1 requires coordinating with the On-Demand team. Option 2 requires implementing fuzzy logic to try to infer the source of the input DEM. Options 1 and 2 require hard-coding the license info in either the runconfig or the ISCE3 source code, which is less robust to potential future changes in the DEM license.
Option 3 is easy to implement and is most consistent with how we plan to handle passing the water mask license (see https://github.com/isce-framework/isce3/pull/77).
Let me know your thoughts, @gshiroma. I'm happy to implement the necessary changes to stage_dem.py.
cc @nemo794 @hfattahi @oberonia78
Contributor 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.
Research direction
Start with stage_dem.py and trace how the DEM VRT metadata becomes runconfig.groups.dynamic_ancillary_file_group.dem_file_description in the Static Layers workflow. Review the linked water-mask license approach, then confirm that the resulting metadata carries the full DEM description and license information without hard-coding a specific DEM license.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100