isce-framework / s1-reader

Sentinel-1 reader
Apache License 2.0
27 stars 12 forks source link

out of bound error when evaluating LUT2d corrections (bistatic delay) #98

Open hfattahi opened 1 year ago

hfattahi commented 1 year ago

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