Skip to content

Conversation

@nemo794
Copy link
Contributor

@nemo794 nemo794 commented Jan 14, 2026

The QA XML Checker has identified several InSAR datasets where the description is inconsistent between the HDF5 and the XML.

This PR updates ISCE3 to output InSAR HDF5s with correct descriptions.

Note: I have not tested this branch; it'd be good to generate a quick HDF5s to make sure nothing broke!

Here are the logged ERRORs that this PR should resolve:

RIFG:

"Differing descriptions detected: XML: "East component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "East component of unit vector along ground track": Dataset /science/LSAR/RIFG/metadata/geolocationGrid/alongTrackUnitVectorX"
"Differing descriptions detected: XML: "North component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "North component of unit vector along ground track": Dataset /science/LSAR/RIFG/metadata/geolocationGrid/alongTrackUnitVectorY"
"Differing descriptions detected: XML: "East component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "East component of unit vector of LOS from target to sensor": Dataset /science/LSAR/RIFG/metadata/geolocationGrid/losUnitVectorX"
"Differing descriptions detected: XML: "North component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "North component of unit vector of LOS from target to sensor": Dataset /science/LSAR/RIFG/metadata/geolocationGrid/losUnitVectorY"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times, measured relative to a UTC epoch, corresponding to the geolocation grid", HDF5: "Zero Doppler time since UTC epoch values corresponding to the geolocation grid": Dataset /science/LSAR/RIFG/metadata/geolocationGrid/zeroDopplerTime"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/RIFG/metadata/processingInformation/parameters/reference/rfiMitigation"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/RIFG/metadata/processingInformation/parameters/secondary/rfiMitigation"
"Differing descriptions detected: XML: "Mask indicating the subswaths of valid samples in the reference RSLC and geometrically-coregistered secondary RSLC. Each pixel value is a two-digit number: the least significant digit represents the subswath number of that pixel in the secondary RSLC, and the most significant digit represents the subswath number of that pixel in the reference RSLC. A value of 0 in either digit indicates an invalid sample in the corresponding RSLC", HDF5: "Mask indicating the subswaths of valid samples in the reference RSLC and geometrically-coregistered secondary RSLC. Each pixel value is a two-digit number: the least significant digit represents the subswath number of that pixel in the secondary RSLC, and the most significant digit represents the subswath number of that pixel in the reference RSLC. A value of '0' in either digit indicates an invalid sample in the corresponding RSLC": Dataset /science/LSAR/RIFG/swaths/frequencyA/interferogram/mask"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times measured relative to a UTC epoch", HDF5: "Zero Doppler azimuth time since UTC epoch vector": Dataset /science/LSAR/RIFG/swaths/frequencyA/interferogram/zeroDopplerTime"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times measured relative to a UTC epoch", HDF5: "Zero Doppler azimuth time since UTC epoch vector": Dataset /science/LSAR/RIFG/swaths/frequencyA/pixelOffsets/zeroDopplerTime"
"Differing descriptions detected: XML: "Product level. "L0A": Unprocessed instrument data; "L0B": Reformatted, unprocessed instrument data; "L1": Processed instrument data in radar coordinates system; and "L2": Processed instrument data in geocoded coordinates system", HDF5: "Product level. L0A: Unprocessed instrument data; L0B: Reformatted, unprocessed instrument data; L1: Processed instrument data in radar coordinates system; and L2: Processed instrument data in geocoded coordinates system": Dataset /science/LSAR/identification/productLevel"

RUNW:

"Differing descriptions detected: XML: "East component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "East component of unit vector along ground track": Dataset /science/LSAR/RUNW/metadata/geolocationGrid/alongTrackUnitVectorX"
"Differing descriptions detected: XML: "North component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "North component of unit vector along ground track": Dataset /science/LSAR/RUNW/metadata/geolocationGrid/alongTrackUnitVectorY"
"Differing descriptions detected: XML: "East component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "East component of unit vector of LOS from target to sensor": Dataset /science/LSAR/RUNW/metadata/geolocationGrid/losUnitVectorX"
"Differing descriptions detected: XML: "North component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "North component of unit vector of LOS from target to sensor": Dataset /science/LSAR/RUNW/metadata/geolocationGrid/losUnitVectorY"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/RUNW/metadata/processingInformation/parameters/reference/rfiMitigation"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the secondary RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/RUNW/metadata/processingInformation/parameters/secondary/rfiMitigation"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times, measured relative to a UTC epoch, corresponding to the geolocation grid", HDF5: "Zero Doppler time since UTC epoch values corresponding to the geolocation grid": Dataset /science/LSAR/RUNW/metadata/geolocationGrid/zeroDopplerTime"
"Differing descriptions detected: XML: "Mask indicating the subswaths of valid samples in the reference RSLC and geometrically-coregistered secondary RSLC. Each pixel value is a two-digit number: the least significant digit represents the subswath number of that pixel in the secondary RSLC, and the most significant digit represents the subswath number of that pixel in the reference RSLC. A value of 0 in either digit indicates an invalid sample in the corresponding RSLC", HDF5: "Mask indicating the subswaths of valid samples in the reference RSLC and geometrically-coregistered secondary RSLC. Each pixel value is a two-digit number: the least significant digit represents the subswath number of that pixel in the secondary RSLC, and the most significant digit represents the subswath number of that pixel in the reference RSLC. A value of '0' in either digit indicates an invalid sample in the corresponding RSLC": Dataset /science/LSAR/RUNW/swaths/frequencyA/interferogram/mask"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times measured relative to a UTC epoch", HDF5: "Zero Doppler azimuth time since UTC epoch vector": Dataset /science/LSAR/RUNW/swaths/frequencyA/interferogram/zeroDopplerTime"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times measured relative to a UTC epoch", HDF5: "Zero Doppler azimuth time since UTC epoch vector": Dataset /science/LSAR/RUNW/swaths/frequencyA/pixelOffsets/zeroDopplerTime"
"Differing descriptions detected: XML: "Product level. "L0A": Unprocessed instrument data; "L0B": Reformatted, unprocessed instrument data; "L1": Processed instrument data in radar coordinates system; and "L2": Processed instrument data in geocoded coordinates system", HDF5: "Product level. L0A: Unprocessed instrument data; L0B: Reformatted, unprocessed instrument data; L1: Processed instrument data in radar coordinates system; and L2: Processed instrument data in geocoded coordinates system": Dataset /science/LSAR/identification/productLevel"

GUNW:

"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/GUNW/metadata/processingInformation/parameters/reference/rfiMitigation"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the secondary RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/GUNW/metadata/processingInformation/parameters/secondary/rfiMitigation"
"Differing descriptions detected: XML: "Zero Doppler azimuth time in seconds since UTC epoch of the reference RSLC image", HDF5: "Zero doppler azimuth time of the reference RSLC image": Dataset /science/LSAR/GUNW/metadata/radarGrid/referenceZeroDopplerAzimuthTime"
"Attributes found in HDF5 but not XML: {'grid_mapping', 'long_name'} - Dataset /science/LSAR/GUNW/metadata/radarGrid/referenceZeroDopplerAzimuthTime"
"Attributes found in HDF5 but not XML: {'grid_mapping', 'long_name'} - Dataset /science/LSAR/GUNW/metadata/radarGrid/secondaryZeroDopplerAzimuthTime"
"Differing descriptions detected: XML: "Zero Doppler azimuth time in seconds since UTC epoch of the secondary RSLC image", HDF5: "Zero Doppler azimuth time in seconds since UTC epoch of the reference RSLC image": Dataset /science/LSAR/GUNW/metadata/radarGrid/secondaryZeroDopplerAzimuthTime"
"Differing descriptions detected: XML: "Product level. "L0A": Unprocessed instrument data; "L0B": Reformatted, unprocessed instrument data; "L1": Processed instrument data in radar coordinates system; and "L2": Processed instrument data in geocoded coordinates system", HDF5: "Product level. L0A: Unprocessed instrument data; L0B: Reformatted, unprocessed instrument data; L1: Processed instrument data in radar coordinates system; and L2: Processed instrument data in geocoded coordinates system": Dataset /science/LSAR/identification/productLevel"

ROFF:

"Differing descriptions detected: XML: "East component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "East component of unit vector along ground track": Dataset /science/LSAR/ROFF/metadata/geolocationGrid/alongTrackUnitVectorX"
"Differing descriptions detected: XML: "North component of the along-track unit vector at the target location, expressed in the east-north-up (ENU) coordinate system and projected onto the horizontal plane (i.e., excluding the up component)", HDF5: "North component of unit vector along ground track": Dataset /science/LSAR/ROFF/metadata/geolocationGrid/alongTrackUnitVectorY"
"Differing descriptions detected: XML: "East component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "East component of unit vector of LOS from target to sensor": Dataset /science/LSAR/ROFF/metadata/geolocationGrid/losUnitVectorX"
"Differing descriptions detected: XML: "North component of the line-of-sight (LOS) unit vector, defined from the target to the sensor, expressed in the east-north-up (ENU) coordinate system with its origin at the target location", HDF5: "North component of unit vector of LOS from target to sensor": Dataset /science/LSAR/ROFF/metadata/geolocationGrid/losUnitVectorY"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times, measured relative to a UTC epoch, corresponding to the geolocation grid", HDF5: "Zero Doppler time since UTC epoch values corresponding to the geolocation grid": Dataset /science/LSAR/ROFF/metadata/geolocationGrid/zeroDopplerTime"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/ROFF/metadata/processingInformation/parameters/reference/rfiMitigation"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the secondary RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/ROFF/metadata/processingInformation/parameters/secondary/rfiMitigation"
"Differing descriptions detected: XML: "Vector of zero Doppler azimuth times measured relative to a UTC epoch", HDF5: "Zero Doppler azimuth time since UTC epoch vector": Dataset /science/LSAR/ROFF/swaths/frequencyA/pixelOffsets/zeroDopplerTime"
"Differing descriptions detected: XML: "Product level. "L0A": Unprocessed instrument data; "L0B": Reformatted, unprocessed instrument data; "L1": Processed instrument data in radar coordinates system; and "L2": Processed instrument data in geocoded coordinates system", HDF5: "Product level. L0A: Unprocessed instrument data; L0B: Reformatted, unprocessed instrument data; L1: Processed instrument data in radar coordinates system; and L2: Processed instrument data in geocoded coordinates system": Dataset /science/LSAR/identification/productLevel"

GOFF:

Update ISCE3 InSAR so that /science/LSAR/GOFF/metadata/radarGrid/secondarySlantRange" has long_name of "Slant range"
Update ISCE3 InSAR so that /science/LSAR/GOFF/metadata/radarGrid/referenceZeroDopplerAzimuthTime" has long_name of "Zero Doppler azimuth time" (to match GCOV)
Update ISCE3 InSAR so that /science/LSAR/GOFF/metadata/radarGrid/secondaryZeroDopplerAzimuthTime" has long_name of "Zero Doppler azimuth time" (to match GCOV)
"Differing descriptions detected: XML: "Zero Doppler azimuth time in seconds since UTC epoch of the reference RSLC image", HDF5: "Zero doppler azimuth time of the reference RSLC image": Dataset /science/LSAR/GOFF/metadata/radarGrid/referenceZeroDopplerAzimuthTime"
"Differing descriptions detected: XML: "Zero Doppler azimuth time in seconds since UTC epoch of the secondary RSLC image", HDF5: "Zero Doppler azimuth time in seconds since UTC epoch of the reference RSLC image": Dataset /science/LSAR/GOFF/metadata/radarGrid/secondaryZeroDopplerAzimuthTime"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the reference RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/GOFF/metadata/processingInformation/parameters/reference/rfiMitigation"
"Differing descriptions detected: XML: "Algorithm used for radio frequency interference (RFI) mitigation in the secondary RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)", HDF5: "Algorithm used for radio frequency interference (RFI) mitigation in the {rslc_name} RSLC, either "ST-EVD" or "FDNF" (or "disabled" if no RFI mitigation was applied)": Dataset /science/LSAR/GOFF/metadata/processingInformation/parameters/secondary/rfiMitigation"
"Differing descriptions detected: XML: "Product level. "L0A": Unprocessed instrument data; "L0B": Reformatted, unprocessed instrument data; "L1": Processed instrument data in radar coordinates system; and "L2": Processed instrument data in geocoded coordinates system", HDF5: "Product level. L0A: Unprocessed instrument data; L0B: Reformatted, unprocessed instrument data; L1: Processed instrument data in radar coordinates system; and L2: Processed instrument data in geocoded coordinates system": Dataset /science/LSAR/identification/productLevel"

Copy link
Contributor

@hfattahi hfattahi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @nemo794 . LGTM. I compared with the PIX XMLs and they look consistent.

@nemo794 nemo794 force-pushed the update_insar_metadata branch from 2a655bc to 31b49dd Compare January 14, 2026 22:52
Copy link
Contributor

@xhuang-jpl xhuang-jpl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @nemo794 . LTGM, but I am testing it now, and will approve it once it is done without any issues.

@nemo794 nemo794 mentioned this pull request Jan 15, 2026
8 tasks
Copy link
Contributor

@xhuang-jpl xhuang-jpl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No InSAR failure after testing.

@nemo794
Copy link
Contributor Author

nemo794 commented Jan 15, 2026

Thank you for your reviews, @hfattahi and @xhuang-jpl ! And thank you for the sample files, @xhuang-jpl ! Looks like I missed a hyphen (see newest commit), but otherwise everything checks out 🎉 .

@Tyler-g-hudson , once the CI system completes, please feel free to merge this PR if I'm too slow to push the button.

Thank you all!

@nemo794 nemo794 merged commit 6aaccbc into isce-framework:develop Jan 15, 2026
8 checks passed
@nemo794 nemo794 deleted the update_insar_metadata branch January 15, 2026 21:39
Tyler-g-hudson pushed a commit that referenced this pull request Jan 15, 2026
* GUNW, GOFF metadata tweaks

* RIFG, RUNW, GUNW metadata tweaks

* remove hyphen from least-significant

---------

Co-authored-by: Samantha C. Niemoeller <samantha.c.niemoeller@jpl.nasa.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants