isce-framework / isce-framework/isce3

RSLC dataset and attribute issues

Open
#217 2 comments 0 reactions 1 assignee View on GitHub

@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

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.