Difference between two way of topo-phase calculation

Hi all,

Recently I am doing some experiments on topo-phase removal, but I meet a strange problem.

The topo-phase I mentioned here represents two parts in SNAP: the flat-earth phase and the topographic phase (see the figure).
where P0 represents the ground point with hight value H, P1 represents the corresponding point on flat-earth and have S1P0=S1P1.

Then the flat-earth phase ph1 = (S1P1-S2P1)/lambda*2PI, topographic phase ph2 = (S2P1-S2P0)/lambda *2PI. So that topo-phase = ph1 + ph2 = (S1P0-S2P0)/lambda *2PI.

In SNAP, flat-earth phase and topographic phase are calculated separately. Flat-earth phase is calculated by polynomial while the topographic phase is acquired by interpolation. And, SNAP also implements the code where the flat-earth phase and topographic phase are calculated together (but these parts of codes are not used).

I think that no matter whether the topo-phase is calculated separately or not, the result should be the same. So I test both of the methods, surprisingly, the results are not exactly the same. The phase histogram of the difference between the two methods is shown below:

The result suggests that there is a constant shift between these two methods. In my test data, most of the values are located in -0.13, some are located in 6.15 (6.15+0.13=6.28), and others are located in 0. This is very strange, and I have no idea why this happens.

Does anyone know how this happens? The explanation of this phenomenon is crucial for my experiments, and I hope someone can help me!