NO APPROPRIATE product reader found for .nc file on aws windows


Hi All,

I am a new user of snap; I use an AWS windows instance for my work,

I am facing the above error when opening the product: file>>open product.

AQUA_MODIS.20121128T183009.L2.SST.nc

@marpet @oana_hogoiu

I was able to open the file in my SNAP on my local Windows:

Do you have the S3TBX installed?
Can you share the log file?
SNAP FAQ - How to find the log files?

Thankyou for responding,

I was able to view it when i’m using my local machine. Only when used on AWS, it is throwing me this error

I don’t have access to my windows currently,

this is the same error I encountered when using AWS Linux (I’ll share the windows log file soon, for your review, )

gpt graph_run.xml -e
Picked up _JAVA_OPTIONS: -Xmx512M
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL 3.2.1 found on system. JNI driver will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.2.1 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: Installed GDAL 3.2.1 set to be used by SNAP.
Executing processing graph
done.
org.esa.snap.core.gpf.graph.GraphException: [NodeId: Read] No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:79)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:199)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initOutput(GraphContext.java:166)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:85)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:58)
at org.esa.snap.core.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:127)
at org.esa.snap.core.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:86)
at org.esa.snap.core.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:547)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:391)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:287)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:188)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:121)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:59)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.esa.snap.runtime.Launcher.lambda$run$0(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.org.esa.snap.runtime.Launcher1159904018.main(Unknown Source)
Caused by: org.esa.snap.core.gpf.OperatorException: No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.
at org.esa.snap.core.gpf.common.ReadOp.initialize(ReadOp.java:167)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:528)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:298)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:385)
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:77)
… 32 more

Error: [NodeId: Read] No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.

Even when I don’t have installed the S3TBX the generic NetCDF reader is able to open the product.
Maybe the native libraries needed for NetCDF cannot be installed on this AWS Windows. Actually this should be no problem because they are placed at <USER_HOME>\.snap\auxdata\netcdf_natives

What is strange is the log is the
-Xmx512M
This indicates that SNAP does run with not enough memory. It might work for very small data products but usually you should have at least 4GB if not 11GB. So values like -Xmx4000M or -Xmx11000M

This value is set in an environment variable. As it was here in this thread:

I’m not sure if you are allowed to change it, but you should try.

Hello @marpet I’m working on the same project as @ethanpk
What follows are the log files:
messages.log (90.0 KB)
updater.log.0 (826.0 KB)

I also think I should mention that we also tried running snap/gpt tool on a headless AWS Linux instance with 15gb of ram and got the same error in the console.

@marpet also, we do have 11GB Ram on our Linux kernel and I have removed the 512MB option

we encountered the same issue

$ gpt graph_run.xml -e
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL 3.2.1 found on system. JNI driver will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.2.1 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: Installed GDAL 3.2.1 set to be used by SNAP.
Executing processing graph
done.
org.esa.snap.core.gpf.graph.GraphException: [NodeId: Read] No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:79)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:199)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initOutput(GraphContext.java:166)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:85)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:58)
at org.esa.snap.core.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:127)
at org.esa.snap.core.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:86)
at org.esa.snap.core.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:547)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:391)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:287)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:188)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:121)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:59)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.esa.snap.runtime.Launcher.lambda$run$0(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
at install4j.org.esa.snap.runtime.Launcher1159904018.main(Unknown Source)
Caused by: org.esa.snap.core.gpf.OperatorException: No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.
at org.esa.snap.core.gpf.common.ReadOp.initialize(ReadOp.java:167)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:528)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:298)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:385)
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:77)
… 32 more

Error: [NodeId: Read] No product reader found for file ‘/home/ec2-user/data-collection/nasa-data/SST/AQUA_MODIS.20221128T184501.L2.SST.NRT.nc’.

Thanks for the messages.log file. But it does not contain any indicator for the problem. Have you tried to reproduce the error by opening the product in SNAP Desktop?

Can you also add your graph_run.xml file please?

I tried reproducing the error this morning and it threw me the same error. Here is the graph_run.xml file that we are using:
graph_run.xml (4.2 KB)

I want to note that I also tried opening the graph_run.xml file in Snap and got the same error.

Thanks for the graph file. This looks good.
Is the log file from the same execution where the error occurred?

Have you asked Amazon already if there are differences between a usual Windows and an instance on AWS?

Yes, it is the same same @marpet.

I have not asked Amazon but that is something that we can do and get back to you.
Thank you for your assistance so far!