nasa / opera-sds-pge

Observational Products for End-Users from Remote Sensing Analysis (OPERA)
Apache License 2.0
16 stars 6 forks source link

[New Feature]: Integrate support for parameter descriptions in ISO XML generation #499

Closed collinss-jpl closed 1 week ago

collinss-jpl commented 4 weeks ago

Checked for duplicates

Yes - I've already checked

Alternatives considered

Yes - and alternatives don't suffice

Related problems

As a next step in the development of the dynamic MeasuredParameters population feature for ISO XML products, this ticket aims to incorporate use of a look up table (or similar) for assigning descriptions to each parameter pulled from product metadata.

Describe the feature request

For this ticket, we will further refine the work done in #484, and continue to stick with DSWx-S1 as our candidate PGE.

The official product specification document for DSWx-S1 can be downloaded from Artifactory-FN from the following location: general/gov/nasa/jpl/opera/adt/dswx_s1/r5.1/final/documents/D-108761_OPERA_DSWx_S1AB_ProductSpec_Rev_A.docx

This document should be treated as the primary source for the descriptions to be incorporated into the ISO XML. Section 4.2 of this document contains tables with the name of each metadata field and its associated description. From this, we should be able to build a similar mapping within our code that can be referenced in the _augment_measured_parameters function of dswx_s1_pge.py.

For the initial approach, the table of descriptions should be configured within an extra text file (.json or .yaml) format, with the path to the file referenced within the RunConfig. This will require updating the Base PGE schema to include the new (optional) field.

The end result should be a MeasuredParameters section that contains descriptions for all metadata, once the template is instantiated. Any missing descriptions should get a placeholder (like the !Not Found! one automatically supplied by Jinja2), so we can add a unit test that ensures the placeholder is not present in an instantiated template (meaning we either overlooked a description, or the Product Spec is missing the description, in which case ADT should be notified).

collinss-jpl commented 1 week ago

Closed by #504