ETAD Correction of Sentinel Microwave

I’m trying to follow the procedure for ETAD for InSAR Improvement. in this tutorial. Everything goes fine up to interferogram formation where SNAP stops with the following message:

java.lang.NullPointerException: Cannot invoke “java.lang.Integer.intValue()” because the return value of “java.util.Map.get(Object)” is null
** at eu.esa.sar.insar.gpf.InterferogramOp.computeETADPhaseWithHeightCompensation(InterferogramOp.java:2047)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computeETADPhase(InterferogramOp.java:1856)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computePartialTile(InterferogramOp.java:1593)**
Caused: org.esa.snap.core.gpf.OperatorException: Cannot invoke “java.lang.Integer.intValue()” because the return value of “java.util.Map.get(Object)” is null
** at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computePartialTile(InterferogramOp.java:1660)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computeTileStackForTOPSARProduct(InterferogramOp.java:1466)**
Caused: org.esa.snap.core.gpf.OperatorException: Cannot invoke “java.lang.Integer.intValue()” because the return value of “java.util.Map.get(Object)” is null
** at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computeTileStackForTOPSARProduct(InterferogramOp.java:1470)**
** at eu.esa.sar.insar.gpf.InterferogramOp.computeTileStack(InterferogramOp.java:1026)**
** at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)**
** at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)**
Caused: org.esa.snap.core.gpf.OperatorException: Cannot invoke “java.lang.Integer.intValue()” because the return value of “java.util.Map.get(Object)” is null
** at org.esa.snap.core.gpf.internal.OperatorExecutor$GPFImagingListener.errorOccurred(OperatorExecutor.java:326)**
** at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(Unknown Source)**
** at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)**
** at javax.media.jai.OpImage.getTile(Unknown Source)**
** at javax.media.jai.PlanarImage.getData(Unknown Source)**
** at com.bc.ceres.multilevel.MultiLevelImage.getData(MultiLevelImage.java:61)**
** at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:449)**
** at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:435)**
** at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:75)**
** at javax.media.jai.SourcelessOpImage.computeTile(Unknown Source)**
** at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)**
** at javax.media.jai.OpImage.getTile(Unknown Source)**
** at com.sun.media.jai.util.RequestJob.compute(Unknown Source)**
[catch] at com.sun.media.jai.util.WorkerThread.run(Unknown Source)

Just for information in my SAR data there sea areas. The co-registered product looks fine for me even though the master is larger than the slave. Could this be the problem?
One more question - does anybody succeeded in making ETAD Correction on its own data?

Thx

The problem was in using products from S1A and S1C.
A lesson learned - use products from same satellite.

But now other questions:

  1. Why not apply ESD after Back-geocoding?
  2. Why not apply Multilloking?
  3. Why not apply topography correction?