isce-framework / isce-framework/isce3

How to get DEM description + license for Static Layers?

Open
#80 6 comments 0 reactions 0 assignees View on GitHub

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:

  1. 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.
  2. 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.
  3. We could update stage_dem.py to 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.