isce-framework / isce-framework/s1-reader
out of bound error when evaluating LUT2d corrections (bistatic delay)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 34
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
Checked for duplicates
Yes - I've already checked
Describe the bug
When I create correction lookup table and then try to evaluate the look up table I noticed that the "slant range" of the pixel of interest falls outside the look up table's bound.
zip file: S1A_IW_SLC__1SDV_20150327T014954_20150327T015021_005211_00694B_4E66.zip
burst ID: t064_135523_iw2
radar grid's starting range: 846506.9629967951
Computed slant range and azimuth time for the pixel of interest:
aztime, slant_range, 172801.5304917209 , 846406.0682925216
evaluating the LUT2d will result in the following out of bound error:
journal:
-- Out of bounds LUT2d evaluation at 846406 172802
-- - bounds are 172800 172803 846507 90670
What did you expect?
I expected to be able to evaluate the LUT2d for a pixel inside the burst of interest.
Looking at the numbers above it looks to me that the slant range of the pixel of interest is ~100 m shorter than the starting range of the radar grid. This may happen because of the usage of actual topography height to compute the slant range which may lead to a slant range shorter than what we would expect for that pixel compared to the one based on starting range and range spacing at that pixel.
Perhaps the solution is that we should ensure larger coverage of the LUT2d when we construct them. We may need to consider of margin around 1km on all sides.
Reproducible steps
1- use the zip file above
2- read the burst ID
3- bistatic_delay = slc.bistatic_delay(range_step=rg_step, az_step=az_step)
4- compute azimuth time and slant range for the following point (lat, lon, height):
```34.80549307 -118.07080107 661.2302```
5- evaluate the LUT2d at the found slant range and azimuth time
Environment
No response
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start with the slc.bistatic_delay(range_step=rg_step, az_step=az_step) entry point and reproduce the LUT2d evaluation using the supplied Sentinel-1 zip, burst ID, and coordinate. Inspect how the LUT2d bounds are constructed relative to the computed slant range and azimuth time. Done means the documented pixel can be evaluated without an out-of-bounds error, with the behavior covered by a regression test if the project has an applicable test location.
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
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100