isce-framework / isce-framework/isce3
InSAR test failures when calculating diff_phase in ionosphere.py/compute_differential_phase
@xhuang-jpl is already working on this.
Since Sep 3, 2025.
- Dominant language
- Python
- Stars
- 239
- Forks
- 90
- Avg merge
- 13d 1h
- Merged PRs (30d)
- 5
Description
Several of the InSAR benchmarking test cases failed with variants of the following error when run with the r05.00.0-v0.25.0 Docker image last night:
- journal: successfully ran crossmul in 84.871 seconds
- Traceback (most recent call last):
- File "<frozen runpy>", line 198, in _run_module_as_main
- File "<frozen runpy>", line 88, in _run_code
- File "/opt/conda/lib/python3.12/site-packages/nisar/workflows/insar.py", line 130, in <module>
- run(insar_runcfg.cfg, out_paths, persist.run_steps)
- File "/opt/conda/lib/python3.12/site-packages/nisar/workflows/insar.py", line 85, in run
- ionosphere.run(cfg, out_paths['RUNW'])
- File "/opt/conda/lib/python3.12/site-packages/nisar/workflows/ionosphere.py", line 1060, in run
- insar_ionosphere_pair(iono_insar_cfg, runw_hdf5)
- File "/opt/conda/lib/python3.12/site-packages/nisar/workflows/ionosphere.py", line 883, in insar_ionosphere_pair
- compute_differential_phase(phase_first,
- File "/opt/conda/lib/python3.12/site-packages/nisar/workflows/ionosphere.py", line 538, in compute_differential_phase
- diff_phase = first_data_block * np.conj(second_data_block)
- ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ValueError: operands could not be broadcast together with shapes (1000,961) (1000,927)
Before running the test cases, I'd updated their runconfigs to conform to the version 00408 Parameter Set Files. The runconfigs had not been updated recently so some of the changes I made may date back to release 4.0.7 or earlier.
The above error was from the 20+5 mountain_glaciers interferograms (RIFG, RUNW, GUNW) test case. The full set of test cases that failed with this error are
20+5 mountain glaciers, interferograms (RIFG, RUNW, GUNW)
20+5 mountain glaciers, all 5 products
40+5 ice sheets, interferograms
40+5 ice sheets, all 5 products
40+5 mountain glaciers, interferograms
40+5 mountain glaciers, all 5 products
The array shapes varied from case to case, but the errors were the same.
The 20+4, 40+5, and 77-MHz offset-products-only test cases all ran to completion, as did the 77-MHz interferograms test case.
The full log files are on dev-3 in /scratch/jshimada/iscale/r05.00/{eap40_05,oman04}/FAILED/test*log . All the runconfigs are under /scratch/jshimada/iscale/r05.00/insar_runconfigs. The 20+5, 40+5, and 77-MHz runconfigs are in the oman, eap40, and antarctica subdirectories, respectively. The Docker image was isce3_release:r05.00.0-v0.25.0.
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.