ResamplingOp fails if downsampling method is different from default value 'First'
Description
Test product: OLCI L1b product S3A_OL_1_EFR____20170815T121103_20170815T121403_20180707T033458_0179_021_109_1620_LR2_R_NT_002.SEN3, reprojected withCRS 'EPSG:3413'
When resampling this product with pixel resolution set to 1000m and Downsampling method set to e.g. 'Median', the resampling fails with the error message below. If the Downsampling method is left as default 'First', the resampling works fine.
SEVERE [org.esa.snap]: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@248b0284 java.lang.ArrayIndexOutOfBoundsException: 2449220 at org.esa.snap.core.gpf.common.resample.DoubleDataAccessor$Double.getSrcData(DoubleDataAccessor.java:38) at org.esa.snap.core.gpf.common.resample.DoubleDataAggregator.getSrcData(DoubleDataAggregator.java:22) at org.esa.snap.core.gpf.common.resample.DoubleDataAggregator$Median.aggregate(DoubleDataAggregator.java:75) at org.esa.snap.core.gpf.common.resample.AggregatedOpImage.computeRect(AggregatedOpImage.java:113) at javax.media.jai.GeometricOpImage.computeTile(GeometricOpImage.java:683) [catch] at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911) at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904) at javax.media.jai.OpImage.getTile(OpImage.java:1129) at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2257) at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247) at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
Test product: OLCI L1b product
S3A_OL_1_EFR____20170815T121103_20170815T121403_20180707T033458_0179_021_109_1620_LR2_R_NT_002.SEN3,
reprojected withCRS 'EPSG:3413'
When resampling this product with pixel resolution set to 1000m and Downsampling method set to e.g. 'Median', the resampling fails with the error message below. If the Downsampling method is left as default 'First', the resampling works fine.
SEVERE [org.esa.snap]: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@248b0284
java.lang.ArrayIndexOutOfBoundsException: 2449220
at org.esa.snap.core.gpf.common.resample.DoubleDataAccessor$Double.getSrcData(DoubleDataAccessor.java:38)
at org.esa.snap.core.gpf.common.resample.DoubleDataAggregator.getSrcData(DoubleDataAggregator.java:22)
at org.esa.snap.core.gpf.common.resample.DoubleDataAggregator$Median.aggregate(DoubleDataAggregator.java:75)
at org.esa.snap.core.gpf.common.resample.AggregatedOpImage.computeRect(AggregatedOpImage.java:113)
at javax.media.jai.GeometricOpImage.computeTile(GeometricOpImage.java:683)
[catch] at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PointOpImage.computeTile(PointOpImage.java:911)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2257)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)