Hi Step Forum,
I have a rather complicated graph to run involving BRR correction and IdePix flagging of OLCI L1B EFR and ERR products. While I can run it on my laptop (just! - more on a request for help with TileCache in a parallel ticket), I am working on improving the run efficiency. First thing on my list was to implement band subsetting directly after ingestion to drop the global cache requirements. However, I have found that I am unable to perform either the GPT subset or band-extraction operations prior to the Rayleigh corrector. The error is as below (same for both tests):
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Incompatible GDAL 3.2.1 found on system. Internal GDAL 3.0.0 from distribution will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Internal GDAL 3.0.0 set to be used by SNAP.
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Internal GDAL 3.0.0 set to be used by SNAP.
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
90% done.
org.esa.snap.core.gpf.OperatorException
at org.esa.snap.core.gpf.graph.GraphProcessor$GPFImagingListener.errorOccurred(GraphProcessor.java:379)
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.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 org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:440)
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.s3tbx.olci.radiometry.rayleigh.RayleighCorrectionOp.waterVaporCorrection709(RayleighCorrectionOp.java:321)
at org.esa.s3tbx.olci.radiometry.rayleigh.RayleighCorrectionOp.lambda$computeTileStack$0(RayleighCorrectionOp.java:253)
at java.util.HashMap$EntrySet.forEach(HashMap.java:1044)
at org.esa.s3tbx.olci.radiometry.rayleigh.RayleighCorrectionOp.computeTileStack(RayleighCorrectionOp.java:211)
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)
... 11 more
Running the same graph through the GUI Graph Builder just gives a null point error. However, I can run these process without issue if I step through them in the GUI. The bands I subset work in the GUI. I am copying the metadata and tie point grids (although I may not need to). I have removed the problematic <referenceBand>string</referenceBand>
parameter from subset. I don’t think my GPT settings matter but in case they do, I am running with “-c 8027M” with gpt.vmoptions as:
-Xmx15G
-Xms8G
-XX:+AggressiveOpts
-Xverify:none
-Dsnap.dataio.netcdf.metadataElementLimit=10000
-Dsun.java2d.noddraw=true
-Dsun.awt.nopixfmt=true
-Dsun.java2d.dpiaware=false
Removing everything from -XX:+AggressiveOpts onwards does not help. The test graphs are attached;
BRR_bandex.xml (1.9 KB)
BRR_subset.xml (1.9 KB)
I am running with Snap 8.0 (Desktop and engine 8.0.8) with a fully updated S3Tbx, on OSx Big Sur.
Is this a known issue? Any help would be greatly appreciated as always.