We have used older versions of SNAP for many years for processing OLCI data. As part of that process we read the input file through a symlink. In recent versions of SNAP neither Sentinel 3 OLCI nor MERIS 4th reprocessing data can be read through a symlink in Linux. It fails with:
java.lang.IllegalArgumentException: InputStream cannot be null
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:118)
at eu.esa.opt.dataio.s3.AbstractProductFactory.createXmlDocument(AbstractProductFactory.java:534)
at eu.esa.opt.dataio.s3.AbstractProductFactory.createManifest(AbstractProductFactory.java:520)
at eu.esa.opt.dataio.s3.AbstractProductFactory.createProduct(AbstractProductFactory.java:85)
at eu.esa.opt.dataio.s3.Sentinel3ProductReader.createProduct(Sentinel3ProductReader.java:118)
at eu.esa.opt.dataio.s3.meris.MerisLevel1ProductReader.readProductNodesImpl(MerisLevel1ProductReader.java:32)
at org.esa.snap.core.dataio.AbstractProductReader.readProductNodes(AbstractProductReader.java:181)
at org.esa.snap.core.dataio.ProductIO.readProduct(ProductIO.java:180)
at org.esa.snap.rcp.actions.file.ReadProductOperation.run(ReadProductOperation.java:61)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
While we can work around it, it would be great if it could be fixed in SNAP if possible?
Cheers, Nick