isce-framework / isce-framework/isce3

(InSAR) Some attributes are variable-length strings; should be fixed-length strings

Open
#319 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
239
Forks
90
Avg merge
13d 1h
Merged PRs (30d)
5

Description

As agreed to by NISAR ADT, all datasets and their attributes should be fixed-length strings (not variable-length strings). In brief, this is to optimize HDF5 performance.

Attributes which are currently written as variable-length strings should instead be written as fixed-length strings:

Impacted Products: RIFG, RUNW, GUNW, ROFF, GOFF:
science/LSAR/GUNW/metadata/processingInformation/parameters/**reference**/frequencyA/slantRangeSpacing -> description
science/LSAR/GUNW/metadata/processingInformation/parameters/**secondary**/frequencyA/slantRangeSpacing -> description

Impacted Products: GUNW, GOFF:
science/LSAR/GUNW/grids/frequencyA/pixelOffsets/[x|y]Coordinates -> standard_name
science/LSAR/GUNW/metadata/radarGrid/[x|y]Coordinates -> standard_name

Impacted Product: GUNW:
science/LSAR/GUNW/grids/frequencyA/pixelOffsets/HH/[x|y]Coordinates -> standard_name

science/LSAR/GUNW/grids/frequencyA/unwrappedInterferogram/HH/[x|y]Coordinates -> standard_name
science/LSAR/GUNW/grids/frequencyA/unwrappedInterferogram/[x|y]Coordinates -> standard_name

science/LSAR/GUNW/grids/frequencyA/wrappedInterferogram/HH/[x|y]Coordinates -> standard_name
science/LSAR/GUNW/grids/frequencyA/wrappedInterferogram/[x|y]Coordinates -> standard_name

Impacted Product: GOFF:
/ -> title (root of product)
science/LSAR/GOFF/grids/frequencyA/pixelOffsets/HH/layer[1|2|3]/[x|y]Coordinates -> standard_name

Datasets checked:
NISAR_L1_PR_RIFG_013_118_A_171_014_2000_SH_20260222T102514_20260222T102520_20260306T102515_20260306T102521_X05016_P_P_J_001.h5
NISAR_L1_PR_RUNW_007_106_A_140_008_7700_SH_20251211T140849_20251211T140926_20251223T140850_20251223T140926_X05016_N_P_J_001.h5
NISAR_L2_PR_GUNW_001_062_A_019_006_2000_SH_20250927T114508_20250927T114542_20251126T114516_20251126T114545_X05016_P_F_J_001.h5
NISAR_L1_PR_ROFF_007_106_A_140_008_7700_SH_20251211T140849_20251211T140926_20251223T140850_20251223T140926_X05016_N_P_J_001.h5
NISAR_L2_PR_GOFF_005_106_A_140_006_7700_SH_20251117T140848_20251117T140925_20251129T140849_20251129T140925_X05016_P_P_J_001.h5

cc: @hfattahi @xhuang-jpl @oberonia78 @seongsujeong

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.

Research direction

Inspect the product-writing entry points for the listed RIFG, RUNW, GUNW, ROFF, and GOFF attributes, starting with the HDF5 types used for their descriptions, standard_name values, and root title. Compare the generated types against the issue's impacted paths and datasets, then validate that each listed attribute is fixed-length without changing its value.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.