I believe there should be some errors related to Sentinel-3 reader.
The error messages reported at the end of this post are displayed when trying to open and/or process Sentinel-3 OLCI data (I have tested EFR, SYN and VGT products).
Similar errors have been already reported here:
Reading the data opening the xfdumanifest.xml file, I receive the error message when trying to read EFR and VGT products, but the products are then visible in the Product Explorer tab. The error occurs also when trying to display the data or execute an operator.
It is not possible to display product bands, execute operators or export file to BEAM-DIMAP format. On the contrary, the product can be used to create new bands with band math, when no other band are required for the calculation (i.e. using formula ‘rint(1)’).
Diversely, when trying to open SYN products, the error is displayed and no product is then visible in the Product explorer tab.
I do not believe the error is related to the NetCDF library itself, since no errors are reported when opening single Sentinel-3 OLCI bands in NetCDF format, or other file in NetCDF generic format.
The error is reported using SNAP8 with all the installed updates on a Linux OS.
On the same machine, using SNAP8 with all the installed updates on a Windows 10 OS no errors are reported and I can process and display data without problems.
Sentinel-3 OLCI EFR and VGT error message:
java.lang.IncompatibleClassChangeError: Class ucar.nc2.Variable does not implement the requested interface ucar.nc2.VariableIF
at org.esa.s3tbx.dataio.s3.util.S3VariableOpImage.computeRect(S3VariableOpImage.java:70)
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 javax.media.jai.PointOpImage.computeTile(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.cobbleDouble(Unknown Source)
at javax.media.jai.PlanarImage.getData(Unknown Source)
at javax.media.jai.PlanarImage.getData(Unknown Source)
at javax.media.jai.RenderedOp.getData(Unknown Source)
at org.esa.s3tbx.dataio.s3.Sentinel3ProductReader.readTiePointGridRasterData(Sentinel3ProductReader.java:125)
at org.esa.snap.core.datamodel.TiePointGrid.readGridData(TiePointGrid.java:298)
at org.esa.snap.core.datamodel.TiePointGrid.getGridData(TiePointGrid.java:268)
at org.esa.snap.core.datamodel.TiePointGrid.getTiePoints(TiePointGrid.java:259)
at org.esa.snap.core.datamodel.TiePointGrid.initDiscont(TiePointGrid.java:921)
at org.esa.snap.core.datamodel.TiePointGrid.getPixelDouble(TiePointGrid.java:525)
at org.esa.snap.core.datamodel.TiePointGeoCoding.getGeoPos(TiePointGeoCoding.java:363)
at org.esa.snap.core.util.GeoUtils.getGeoBoundary(GeoUtils.java:285)
at org.esa.snap.core.util.GeoUtils.createGeoBoundary(GeoUtils.java:62)
at org.esa.snap.core.util.GeoUtils.createGeoBoundaryPaths(GeoUtils.java:188)
at org.esa.snap.worldwind.layers.DefaultProductLayer.addOutline(DefaultProductLayer.java:224)
at org.esa.snap.worldwind.layers.DefaultProductLayer.addProduct(DefaultProductLayer.java:164)
at org.esa.snap.worldwind.WWBaseToolView.lambda$setProducts$3(WWBaseToolView.java:117)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at org.esa.snap.worldwind.WWBaseToolView.setProducts(WWBaseToolView.java:113)
at org.esa.snap.worldwind.WWProductManagerListener.productAdded(WWProductManagerListener.java:36)
at org.esa.snap.core.datamodel.ProductManager.fireEvent(ProductManager.java:310)
at org.esa.snap.core.datamodel.ProductManager.fireEvent(ProductManager.java:302)
at org.esa.snap.core.datamodel.ProductManager.addProduct(ProductManager.java:170)
at org.esa.snap.rcp.actions.file.ReadProductOperation.lambda$run$1(ReadProductOperation.java:72)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Sentinel-3 OLCI SYN error message:
java.lang.RuntimeException: Waiting thread received a null tile.
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 org.esa.snap.core.image.VirtualBandOpImage.addDataToReferredRasterDataSymbols(VirtualBandOpImage.java:307)
[catch] at org.esa.snap.core.image.VirtualBandOpImage.computeTile(VirtualBandOpImage.java:235)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at com.sun.media.jai.util.SunTileScheduler.compute(Unknown Source)
at com.sun.media.jai.util.TileJob.compute(Unknown Source)
at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Hope these information can help to solve the problems.
Federico