isce-framework / isce-framework/isce3
RSLC dataset and attribute issues
Open
@bhawkins is already working on this.
Since Feb 11, 2026.
- Dominant language
- Python
- Stars
- 239
- Forks
- 90
- Avg merge
- 13d 1h
- Merged PRs (30d)
- 5
Description
It was noticed by ISRO that some attribute dtypes in GCOV sample products did not correspond to their respective dataset dtypes for GCOV; https://github.com/isce-framework/isce3/pull/213 addresses those reported issues.
As an additional follow-up, I implemented new checks into nisarqa via https://github.com/isce-framework/nisarqa/pull/155 ; this nisarqa PR checks for such issues, and it also checks for empty datasets and invalid string datasets.
Here are the outputs from that QA PR, for a recent RSLC HDF5:
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorX -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorX -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorX -> valid_min"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorY -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorY -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/alongTrackUnitVectorY -> valid_min"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/elevationAngle -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/elevationAngle -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/elevationAngle -> valid_min"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/incidenceAngle -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/incidenceAngle -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/incidenceAngle -> valid_min"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorX -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorX -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorX -> valid_min"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorY -> _FillValue"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorY -> valid_max"
"Attribute has dtype float64, which does not match its dataset's dtype of float32. Path: science/LSAR/RSLC/metadata/geolocationGrid/losUnitVectorY -> valid_min"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> max_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> max_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> mean_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> mean_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> min_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> min_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> sample_stddev_imag"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HH -> sample_stddev_real"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> max_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> max_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> mean_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> mean_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> min_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> min_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> sample_stddev_imag"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyA/HV -> sample_stddev_real"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> max_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> max_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> mean_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> mean_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> min_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> min_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> sample_stddev_imag"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HH -> sample_stddev_real"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> max_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> max_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> mean_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> mean_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> min_imag_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> min_real_value"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> sample_stddev_imag"
"Attribute has dtype float64, which does not match the half-precision of its dataset's dtype of complex64. Path: science/LSAR/RSLC/swaths/frequencyB/HV -> sample_stddev_real"
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.
Assessment
This issue has not been assessed yet.