Dear SNAP developers,
I want to report a potential issue with SNAP’s Range-Doppler Terrain Correction operator. When geocoding SLC products, zero values outside of the burst and in shadowed areas are used in interpolation, creating dark seams in the output.
This impacts mosaic quality when combining multiple bursts, e.g. using the Local Resolution Weighting method.
Expected Behaviour
The Terrain Correction operator should respect a defined no-data value and exclude these values from interpolation, consistent with how SNAP’s visualization handles them.
Likely Root Cause
No-data values, present around the burst edges and in shadowed areas (after terrain flattening) are stored as zeros. While SNAP’s UI correctly identifies and masks these during visualization, the Terrain Correction operator seems to treat them as valid data values (0) during interpolation. This causes artificially low values along seams.
Workaround
Replacing zeros with NaNs before geocoding resolves the issue, as NaN values are properly excluded from interpolation. This can be done using the BandMath operator with:
<expression>${bandName} > 0 ? ${bandName} : NaN</expression>
However, this workaround has limitations:
- Not intuitive for end users
- Requires knowing the band name (e.g., Gamma0_IW1_VV), which varies by polarization and sub-swath, complicating batch processing
Suggested Solution
Add a configurable parameter to the Terrain Correction operator for no-data handling. This would fix the issue while preserving current interpolation behaviour for users who require it.
Reproducing the Issue
I’ve reproduced the issue in SNAP 12 and 13. I’ve attached a ZIP containing 4 processing graphs that demonstrate the issue with both GTC and RTC terrain correction. See README.md for the exact gpt commands. The SLC burst is not included in the ZIP due to size limits. You can download all files including the SLC burst here.
The issue is present in SLC burst products but likely affects any products using zeros as no-data values.
Thank you for your help!
Best regards,
Luis

