Differences in coherence products induced by SNAP 12 update

Hi,

We have an operational workflow to produce Sentinel-1 coherence products running with SNAP 11. We want to update to SNAP 12 in order to include full support for Sentinel-1C. We ran a SNAP 12 build over 14 test products. The results look all fine for 10 of them, while for 4 products we see pretty large difference with a rather random looking pattern. We couldn’t find anything in the SNAP 12 release notes that can explain this difference, and it’s also very strange that it only happens for some products (though different relative orbits / orbit directions). Can you reproduce this issue and/or have you seen something similar before? What could be the cause and how can we fix this? I’m attaching our process graph, and some figures:

  1. Overview of processed footprints, where the ones with large differences are in red, others in green.
  2. Comparison figure for product with no differences, random 500x500 window.
  3. Comparison figure for product with large differences, random 500x500 window.

Many thanks already for your support,

Lisa

List of processed products (platform1_platform2_Coherence_date1_date2_orbitdir_relorbit):
‘S1A_S1A_Coherence_20250603T172430_20250615T172430_ASC_88’,
‘S1A_S1A_Coherence_20250603T172456_20250615T172455_ASC_88’,
‘S1A_S1A_Coherence_20250603T172521_20250615T172520_ASC_88’,
‘S1A_S1A_Coherence_20250605T055838_20250617T055837_DSC_110’,
‘S1A_S1A_Coherence_20250605T055903_20250617T055902_DSC_110’,
‘S1A_S1A_Coherence_20250605T055927_20250617T055927_DSC_110’,
‘S1A_S1A_Coherence_20250607T054219_20250619T054218_DSC_139’,
‘S1A_S1A_Coherence_20250607T054244_20250619T054243_DSC_139’,
‘S1A_S1A_Coherence_20250607T054308_20250619T054308_DSC_139’,
‘S1A_S1A_Coherence_20250608T173236_20250620T173235_ASC_161’,
‘S1A_S1A_Coherence_20250608T173302_20250620T173301_ASC_161’,
‘S1A_S1A_Coherence_20250608T173327_20250620T173326_ASC_161’,
‘S1A_S1A_Coherence_20250610T060648_20250622T060647_DSC_8’,
‘S1A_S1A_Coherence_20250610T060712_20250622T060712_DSC_8’

Products for which we observe these differences:
‘S1A_S1A_Coherence_20250603T172430_20250615T172430_ASC_88’,
‘S1A_S1A_Coherence_20250607T054219_20250619T054218_DSC_139’,
‘S1A_S1A_Coherence_20250608T173236_20250620T173235_ASC_161’,
‘S1A_S1A_Coherence_20250610T060648_20250622T060647_DSC_8’

Differences_footprints



TOPSAR_Coherence_IW_All_Swaths_SRTM.xml (16.3 KB)

@jun_lu could you investigate this issue?

A Jira ticket (Jira) has been created to track the issue. We will look into it. Thank you.

1 Like

We have looked into the issue and we believe it was caused by our fix in Deburst. Basically we have fixed the target product dimension calculation in Deburst. With this fix, the dimension of the debursted image is one or two pixels larger than before. If you compare the deburst result in SNAP11 and SNAP12, you will find the SNAP12 result is slightly larger than that of SNAP11. However, if you create a subset of the SNAP12 result (start from (0, 0) and make it have the same dimension as the SNAP11 result), you will find that the subset and the SNAP11 result are identical. It is this dimension difference that causes the difference in the terrain corrected coherence. I’d suggest you create a subset of the deburst result before performing the terrain correction. Then proceed with your comparison.

Thank you for analyzing and explaining the differences @jun_lu. For us, the most important is to understand and explain potential differences to our users rather than making sure both versions are identical.

Is this (Jira) the fix you are referring to? We saw it was linked to the SNAP 12.0.1 release notes (Public Roadmap and Changelog – STEP). As we were still running SNAP 12.0.0, we did an update and repeated the test processing. However, the results obtained with SNAP 12.0.0 and SNAP 12.0.1 are identical, both having the same differences with the SNAP 11 products. Is this as you would expect? Can you explain the bug a bit more, was it linked to SNAP 11 or SNAP 12.0.0? If linked to SNAP 12.0.0, it doesn’t explain the differences we are seeing. Which results should be considered as “correct”? We didn’t observe any differences when updating from SNAP 10 to SNAP 11.

Thanks.

Sorry that I thought you are using the SNAP 12.0.1.
I have just processed the following data set again in SNAP 12. The coherence output by deburst has a dimension of 12244 x 26344 (rows x columns) which is the same as that in SNAP 11, but different from that in SNAP 12.0.1 (i.e. 212246 x 26345). The coherence obtained by SNAP 11 and 12 are identical.

S1A_IW_SLC__1SDV_20250615T172430_20250615T172458_059660_07685E_95AD
S1A_IW_SLC__1SDV_20250603T172430_20250603T172458_059485_07626B_596B

Hi @jun_lu,
Thank you for your explanation, but we are still a bit confused about the difference between the SNAP 12.0.0 and SNAP 11 Coherence products.

For this product id: S1A_S1A_Coherence_20250603T172456_20250615T172455_ASC_88_V110
With source products:
1.S1A_IW_SLC__1SDV_20250603T172456_20250603T172523_059485_07626B_C4CF
2.S1A_IW_SLC__1SDV_20250615T172455_20250615T172522_059660_07685E_3DAA

We found a these differences between the SNAP versions:

  • SNAP 11 vs SNAP 12.0.0: Big difference
  • SNAP 11 vs SNAP 12.0.1: Big difference
  • SNAP 12.0.0 vs SNAP 12.0.1: No difference

If the deburst dimensions are the same in SNAP 11 and SNAP 12.0.0, than what causes this difference?

Hi @jun_lu, any updates on this?

We can reproduce the problem with the products you provided and have reopened the ticket. We are working on it now.

1 Like

The differences between the SNAP 11 and SNAP 12 coherence products were caused by a fix in UTC() function in ProductData. This function converts the MJD date to UTC. In SNAP 11, there is an issue with this function that 1 microsecond could be lost during the conversion. In SNAP 12 this issue has been fixed. Because of this fix, some of the orbit state vector times in SNAP 11 are slightly different from that in SNAP 12. And this time differences lead to the differences in the pixel position calculation in BackGeocoding, hence the differences in coherence. The 1-microsecond-losing issue only happens to some orbit state vector depending on the input time. That’s why we got identical results for SNAP 11 and 12 for some products. By the way, with the next release, you may find the inconsistence between SNAP12 and 13 coherence products and that could be caused by the fix in deburst dimension.

2 Likes

@jun_lu Thank you so much for the analysis! This is very helpful. I suppose that the SNAP 12 version of this coherence image is than the ‘most accurate’ version, right?

I think so.

Thank you for the clarification @jun_lu. Is the fix in ProductData UTC calculation listed in the release notes (easy for referencing)?

You mention a fix in deburst dimension that can cause inconsistencies in the SNAP 12 to 13 update. Is this something else than the fix (Jira), included in 12.0.1, you referred to earlier? Is there already a timing foreseen for this new SNAP release?

Thanks!

I didn’t see a ticket for the fix in ProductData. So probably it was not in the release notes.
The fix in deburst is the one in SNAP-4029 which I mentioned before.
The new release should be soon.

Just for your information, we did some testing with both 12.0.0 and 12.0.1 (which should include fix SNAP-4029) and did not notice any differences in the outputs. Is there another fix you foresee to be released soon?
Thanks.