S1A-S1B coherence of partially overlapping images

I found the issue to be the coregistration & stacking of the coherence with the backscatter bands of the individual products. Somehow SNAP doesn’t handle that well.

Same orbit track is same orbit track, it does not matter if it’s S1A or S1B.

I agree but woudn’t the baseline become too large if you stack images of same track but ongoing frame? Like it was shown here.

SAR is side-looking, the overlapping area was imaged when the satellite passed by it in both cases. Cutting the full data-take into slices or frames does not change this.

sure, but doesn’t the along-track baseline play a role?

The along-track baseline is effectively zero, as I tried to explain above. The bursts are aligned to start at the same position along the orbit at millisecond-level.

I guess I’ll have to do some reading :innocent:

sorry @Val - in this case forget about my concerns.

I appreciate the discussion, very informative.

I’ll give it some more shots.

Dears,

I would like to start from the original problem description.

The S-1 data are provided in slices. The slices don’t refer to an absolute reference like were the standard frames back to the ERS times.
Instead the slices are defined with respect to the start of the data-take (that can be several minutes long).
THus if S-1A/B data-takes are starting at the same position then the slices will be aligned. IF the S-1A (or B) starts earlier or later then misalignement will start.

This is however a separate issue than burst synchronisaton. The bursts are fully synchronised… always meaning that they they lie on-ground on teh exact same position.

The slices/products should be seen as burst containers. Dependend on the slice start the same burst might found on different slice. This means that several slices might be merged together in order retrieve the sequence of bursts needed.

Kind regards,
Nuno Miranda

1 Like

Hi @nuno.miranda,
Thank you for your explanation, I work on temporal analysis using firstly GRD, and now SLC. The off-timing of the slice start, specifically between 2016 and 2017 for some relative orbits has been a headache. But if I i understand you correctly, burst-ground alignment is more reliable, and i could use this insterad. Where do I find the burst alignment in the file metadata, and will i know if it runs over several slices?

My study area lies in the overlap between those two frames where one includes nearly half of the regularly temporally separated acquisitions from 14 July to 11 November 2016 while the other frame includes acquisitions from 29 November 2016 to 28 May 2017.

The InSAR Stack Overview showed those measures for perpendicular baseline (max was -144m) and automatically chose a reference image (even though I haven’t done coregisteration nor have I applied orbit file yet). Does this make any sense? If I can use this data set, how would I split the overlapping bursts from both frames during the automated pre-processing regarding that the bursts number will differ in both frames.

Shouldn’t they be selected based on the AOI coordinates in the snap2stamps config file automatically?

Yes. But I was afraid that the AOI bounding box might exceed this area of overlap because the latter is relatively small, and hence different non-overlapping bursts may be automatically split from both frames that won’t be coregisterable

The consequence would be to make the AOI smaller so that only these bursts are selected which are actually required.
But SNAP also coregisters data with different numbers of bursts, some remain empty if they are not covered by both inputs. Waste of processing time and data, but should still be possible.

1 Like

The AOI is only set by a bounding box which does not conform to the orientation of Sentinel-1’s burst, and the path of Sentinel-1 isn’t exactly traveling from south to north or vice versa. It’s oblique to the Earth’s perpendicular axis. therefore I cannot set a BBOX coordinates without sacrificing a big part of the burst that I already need. I do not know if I could explain my concern properly.

Can I rotate the BBOX like this in order to subset the most of the burst that includes my study area?

I understand - but this is something everyone of us has to deal with when working with Sentinel-1 data in StaMPS :slight_smile:
You simply make the coordinates of the AOI smaller so they are fully inside the desired burst.

How do I make snap calculate the perpendicular baseline for data set between the master and slaves based on my own choice of the master scene instead of the automatic selection from the InSAR Stack Overview tool ?

Because this particular data set with overlapping scenes where my study area is located, keeps giving me this error during coregisteration and interferogram formation step, so I was thinking of changing the master scene so hopefully coregisteration would be done successfully.

(base) shadi@shadi-Inspiron-7577:/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017/bin$ python2 coreg_ifg_topsar.py project.conf
/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017
/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017/graphs
IW1
/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017/master/S1B_IW_SLC__1SDV_20170104T035144_20170104T035211_003693_00657E_326B_Orb.dim
/home/shadi/esa_snap/bin/gpt
/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017/graphs/coreg_ifg_computation_subset.xml

#####################################################################

Coregistration and Interferogram computation started:

#####################################################################

/media/shadi/MyPassport/RadarData/Galala/Descending/For_time_series/2017_2018/descending_2016_2017/split/20160714/20160714_IW1.dim
[1] Processing slave file :20160714_IW1.dim

SNAP STDOUT:INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
…10%…20%INFO: org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp: Shifts written to file: /home/shadi/.snap/var/log/IW1_range_shifts.json
WARNING: org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp: NetworkESD (azimuth shift): arc = IW1_VV_mst_04Jan2017_IW1_VV_slv1_14Jul2016, weight for this band is 0.0, setting azimuth offset to 0.0
0
0
WARNING: org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp: NetworkESD (azimuth shift): arc = IW1_VV_mst_04Jan2017_IW1_VV_slv1_14Jul2016, weight for this band is 0.0, setting azimuth offset to 0.0
Waiting thread received a null tile.
java.lang.NullPointerException
Waiting thread received a null tile.
0
0
java.lang.NullPointerException
Waiting thread received a null tile.
java.lang.NullPointerException
Waiting thread received a null tile.
WARNING: org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp: NetworkESD (azimuth shift): arc = IW1_VV_mst_04Jan2017_IW1_VV_slv1_14Jul2016, weight for this band is 0.0, setting azimuth offset to 0.0
java.lang.NullPointerException
0
0
90%Waiting thread received a null tile.
WARNING: org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp: NetworkESD (azimuth shift): arc = IW1_VV_mst_04Jan2017_IW1_VV_slv1_14Jul2016, weight for this band is 0.0, setting azimuth offset to 0.0
Waiting thread received a null tile.
java.lang.NullPointerException
0
done.
0
org.esa.snap.core.gpf.OperatorException: 0
at org.esa.snap.core.gpf.graph.GraphProcessor$GPFImagingListener.errorOccurred(GraphProcessor.java:389)
at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(SunTileScheduler.java:1646)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:921)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleFloat(PlanarImage.java:3254)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.Operator.getSourceTile(Operator.java:459)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileInOneSwathFloat(TOPSARDeburstOp.java:904)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileStack(TOPSARDeburstOp.java:811)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleShort(PlanarImage.java:2951)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2172)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.datamodel.Band.readRasterData(Band.java:309)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataRegion(ProductSubsetBuilder.java:393)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataImpl(ProductSubsetBuilder.java:330)
at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:277)
at org.esa.snap.core.gpf.common.SubsetOp.computeTile(SubsetOp.java:295)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:82)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Caused by: org.esa.snap.core.gpf.OperatorException: 0
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.computeTileStack(SpectralDiversityOp.java:827)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
… 35 more
Caused by: org.esa.snap.core.gpf.OperatorException: 0
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.estimateAzimuthOffset(SpectralDiversityOp.java:1243)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.computeTileStack(SpectralDiversityOp.java:809)
… 38 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.outputESDEstimationToFile(SpectralDiversityOp.java:2390)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.estimateAzimuthOffset(SpectralDiversityOp.java:1180)
… 39 more

Error: 0
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: ‘Problem occurs when computing a tile by the owner.’ at com.sun.media.jai.util.SunTileScheduler@153b4baf
java.lang.NullPointerException
at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
at javax.media.jai.OpImage.getTile(OpImage.java:1142)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)

– org.jblas INFO Deleting /tmp/jblas1417420068491608526/libgfortran-4.so
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: ‘Problem occurs when computing a tile by the owner.’ at com.sun.media.jai.util.SunTileScheduler@153b4baf
org.esa.snap.core.gpf.OperatorException: 0
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.computeTileStack(SpectralDiversityOp.java:827)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleFloat(PlanarImage.java:3254)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.Operator.getSourceTile(Operator.java:459)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileInOneSwathFloat(TOPSARDeburstOp.java:904)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileStack(TOPSARDeburstOp.java:811)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleShort(PlanarImage.java:2951)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2172)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.datamodel.Band.readRasterData(Band.java:309)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataRegion(ProductSubsetBuilder.java:393)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataImpl(ProductSubsetBuilder.java:330)
at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:277)
at org.esa.snap.core.gpf.common.SubsetOp.computeTile(SubsetOp.java:295)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:82)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Caused by: org.esa.snap.core.gpf.OperatorException: 0
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.estimateAzimuthOffset(SpectralDiversityOp.java:1243)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.computeTileStack(SpectralDiversityOp.java:809)
… 38 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.outputESDEstimationToFile(SpectralDiversityOp.java:2390)
at org.esa.s1tbx.sentinel1.gpf.SpectralDiversityOp.estimateAzimuthOffset(SpectralDiversityOp.java:1180)
… 39 more

– org.jblas INFO Deleting /tmp/jblas1417420068491608526/libquadmath-0.so0

– org.jblas INFO Deleting /tmp/jblas1417420068491608526/libjblas_arch_flavor.so
– org.jblas INFO Deleting /tmp/jblas1417420068491608526/libjblas.so
– org.jblas INFO Deleting /tmp/jblas1417420068491608526
Waiting thread received a null tile.
Waiting thread received a null tile.
Waiting thread received a null tile.
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: ‘Problem occurs when computing a tile by the owner.’ at com.sun.media.jai.util.SunTileScheduler@153b4baf
org.esa.snap.core.gpf.OperatorException: java.lang.NullPointerException
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileStack(TOPSARDeburstOp.java:826)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleShort(PlanarImage.java:2951)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2172)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.datamodel.Band.readRasterData(Band.java:309)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataRegion(ProductSubsetBuilder.java:393)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataImpl(ProductSubsetBuilder.java:330)
at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:277)
at org.esa.snap.core.gpf.common.SubsetOp.computeTile(SubsetOp.java:295)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:82)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Caused by: java.lang.NullPointerException
at com.sun.media.jai.util.SunCachedTile.(SunCachedTile.java:80)
at com.sun.media.jai.util.SunTileCache.add(SunTileCache.java:257)
at javax.media.jai.OpImage.addTileToCache(OpImage.java:1087)
at javax.media.jai.OpImage.getTile(OpImage.java:1142)
at javax.media.jai.PlanarImage.cobbleFloat(PlanarImage.java:3254)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.Operator.getSourceTile(Operator.java:459)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileInOneSwathFloat(TOPSARDeburstOp.java:904)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileStack(TOPSARDeburstOp.java:811)
… 26 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: ‘Problem occurs when computing a tile by the owner.’ at com.sun.media.jai.util.SunTileScheduler@153b4baf
org.esa.snap.core.gpf.OperatorException: Waiting thread received a null tile.
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.insar.gpf.InterferogramOp.computeTileStackForTOPSARProduct(InterferogramOp.java:1292)
at org.esa.s1tbx.insar.gpf.InterferogramOp.computeTileStack(InterferogramOp.java:863)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleFloat(PlanarImage.java:3254)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.Operator.getSourceTile(Operator.java:459)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileInOneSwathFloat(TOPSARDeburstOp.java:904)
at org.esa.s1tbx.sentinel1.gpf.TOPSARDeburstOp.computeTileStack(TOPSARDeburstOp.java:811)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.Operator.getSourceTile(Operator.java:459)
at org.jlinda.nest.gpf.SubtRefDemOp.computeTileStack(SubtRefDemOp.java:499)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.cobbleFloat(PlanarImage.java:3254)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2181)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.datamodel.Band.readRasterData(Band.java:309)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataRegion(ProductSubsetBuilder.java:393)
at org.esa.snap.core.dataio.ProductSubsetBuilder.readBandRasterDataImpl(ProductSubsetBuilder.java:330)
at org.esa.snap.core.dataio.AbstractProductReader.readBandRasterData(AbstractProductReader.java:277)
at org.esa.snap.core.gpf.common.SubsetOp.computeTile(SubsetOp.java:295)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:82)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
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.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Caused by: org.esa.snap.core.gpf.OperatorException: Waiting thread received a null tile.
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
at org.esa.s1tbx.insar.gpf.InterferogramOp.computePartialTile(InterferogramOp.java:1460)
at org.esa.s1tbx.insar.gpf.InterferogramOp.computeTileStackForTOPSARProduct(InterferogramOp.java:1288)
… 49 more
Caused by: java.lang.RuntimeException: Waiting thread received a null tile.
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:963)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at javax.media.jai.PlanarImage.getExtendedData(PlanarImage.java:2440)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:447)
at org.esa.snap.core.gpf.Operator.getSourceTile(Operator.java:479)
at org.esa.s1tbx.insar.gpf.InterferogramOp.computePartialTile(InterferogramOp.java:1363)
… 50 more

Waiting thread received a null tile.

Forget about this error message above, I would like to know if there is a way to draw as rectangle inside Snap’s viewer using the box coordinates from Bounding Box klokantech.com in order to determine whether the subset will be taken inside the limits of the pre-splitted bursts? Instead of eyeballing where the subsets will be by doing a rough side by side comparison between snap’s viewer and boundingbox.klokantech.com

If you switch to OGC WKT you can use it.

The Subset operator is supporting it, also from the command line.
Such a Polygon can be used in the viewer too.
Right click and select Geometry from WKT

2 Likes


Much gratitude, Sir. it Worked like a charm. Now I can properly adjust the boundaries of my subset area to hopefully not get this stamps step-one error
Snap2stamps package: a free tool to automate the SNAP-StaMPS Workflow - #969 by Shadi1

1 Like