How to get DEM description + license for Static Layers?
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