Dear All,
We have been using the MERIS Surface Directional Reflectance (SDR) plug-in processor for BEAM 4.9.0.1 and trying to process significant volumes of MER_FRS_1P data from 2003 over Europe. We have found that there is an ~12.5% failure rate (29/231 failures) for the MERIS SDR processing due to an issue with the coordinates of the input MER_FRS_1P and/or matching MER_RR__2P product . In each failure case, the following Java stack trace is output:
"org.esa.beam.framework.gpf.OperatorException: Coordinate out of bounds!
at org.esa.beam.framework.gpf.graph.GraphProcessor$GPFImagingListener.errorOccurred(GraphProcessor.java:362)
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.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.beam.framework.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:384)
at org.esa.beam.framework.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:362)
at org.esa.beam.framework.gpf.Operator.getSourceTile(Operator.java:472)
at org.esa.beam.meris.sdr.SdrOp.computeTileStack(SdrOp.java:153)
at org.esa.beam.framework.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:114)
at org.esa.beam.framework.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:87)
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.beam.framework.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:384)
at org.esa.beam.framework.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:362)
at org.esa.beam.framework.gpf.internal.OperatorImage.computeRect(OperatorImage.java:69)
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 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.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at java.awt.image.ComponentSampleModel.getSampleDouble(Unknown Source)
at java.awt.image.Raster.getSampleDouble(Unknown Source)
at org.esa.beam.framework.gpf.internal.TileImpl.getSampleDouble(TileImpl.java:455)
at org.esa.beam.gpf.operators.meris.RRToFRSOp.computeTile(RRToFRSOp.java:124)
at org.esa.beam.framework.gpf.internal.OperatorImage.computeRect(OperatorImage.java:75)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
... 21 more
Error: Coordinate out of bounds!"
The processing seems to abort part way through due to the Java ArrayIndexOutOfBoundsException and we are left with a partially generated output product. An example of the command line that we have been using is as follows:
/opt/beam-4.9.0.1/jre/bin/java -Xmx2048M
-Dceres.context=beam
-Dbeam.envisat.usePixelGeoCoding=false
-Dbeam.mainClass=org.esa.beam.framework.gpf.main.Main
-Dbeam.home=/opt/beam-4.9.0.1
-Dncsa.hdf.hdflib.HDFLibrary.hdflib=/opt/beam-4.9.0.1/modules/lib-hdf-2.7/lib/linux64/libjhdf.so
-Dncsa.hdf.hdf5lib.H5.hdf5lib=/opt/beam-4.9.0.1/modules/lib-hdf-2.7/lib/linux64/libjhdf5.so
-jar /opt/beam-4.9.0.1/bin/ceres-launcher.jar /home/pfsc/hiprogen/scripts/config/BEAM_SDR.xml -e
-PinputFile1=~/SDR_processing/working/MER_FRS_1PNUPA20030706_080236_000003152017_00479_07046_5458.N1
-PinputFile2=~/SDR_processing/working/MER_RR__2PRACR20030706_074541_000026402017_00479_07046_0000.N1
-PoutputFile1=~/SDR_processing/working/MER_FRS_1PNUPA20030706_080236_000003152017_00479_07046_5458.N1_SDR.dim
I have attached the content of the BEAM_SDR.xml that we have been using. We would be most grateful for any advice on what might be the cause of the Java ArrayIndexOutOfBoundsException and if there might be some workaround to resolve this issue.
Thanks for your help and support.
Kind regards,
Steven Hubbard