subsetting global images
Posted: Fri Mar 09, 2018 10:21 am America/New_York
(this is similar to, but different than https://oceancolor.gsfc.nasa.gov/forum/oceancolor/topic_show.pl?tid=8223)
Are there limited file types that gpt.sh subset can read? I'm attempting to, at this point, create "pretty pictures" from l3m files using
gpt.sh subset.xml -Ssource=A20053532005360.L3m_8D_PIC_pic_4km.nc -t A20053532005360.L3m_8D_PIC_pic_4km_subset.nc -f netCDF-CF
where subset.xml is
<graph id="someGraphId">
<version>1.0</version>
<node id="someNodeId">
<operator>Subset</operator>
<sources>
<source>${source}</source>
</sources>
<parameters>
<region>
<x>0</x>
<y>0</y>
</region>
<geoRegion>POLYGON(( -10.0 4.0, -76.0 4.0, -76.0 130.0, -10.0 130.0, -10.0 4.0 ))</geoRegion>
<subSamplingX>1</subSamplingX>
<subSamplingY>1</subSamplingY>
<fullSwath>false</fullSwath>
<copyMetadata>true</copyMetadata>
</parameters>
</node>
</graph>
Then I get the dreaded null pointer exception that says...
java.lang.NullPointerException
at gov.nasa.gsfc.seadas.dataio.SeadasFileReader.<init>(SeadasFileReader.java:94)
at gov.nasa.gsfc.seadas.dataio.SMIFileReader.<init>(SMIFileReader.java:29)
at gov.nasa.gsfc.seadas.dataio.SeadasProductReader.readProductNodesImpl(SeadasProductReader.java:149)
at org.esa.beam.framework.dataio.AbstractProductReader.readProductNodes(AbstractProductReader.java:173)
at org.esa.beam.gpf.operators.standard.ReadOp.initialize(ReadOp.java:77)
at org.esa.beam.framework.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:457)
at org.esa.beam.framework.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:236)
at org.esa.beam.framework.gpf.Operator.getTargetProduct(Operator.java:323)
at org.esa.beam.framework.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:74)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:195)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:178)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:178)
at org.esa.beam.framework.gpf.graph.GraphContext.initOutput(GraphContext.java:162)
at org.esa.beam.framework.gpf.graph.GraphContext.<init>(GraphContext.java:91)
at org.esa.beam.framework.gpf.graph.GraphContext.<init>(GraphContext.java:64)
at org.esa.beam.framework.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:124)
at org.esa.beam.framework.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:84)
at org.esa.beam.framework.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:508)
at org.esa.beam.framework.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:356)
at org.esa.beam.framework.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:249)
at org.esa.beam.framework.gpf.main.CommandLineTool.run(CommandLineTool.java:150)
at org.esa.beam.framework.gpf.main.CommandLineTool.run(CommandLineTool.java:122)
at org.esa.beam.framework.gpf.main.GPT.run(GPT.java:54)
at org.esa.beam.framework.gpf.main.GPT.main(GPT.java:34)
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:497)
at com.bc.ceres.launcher.Launcher.launch(Launcher.java:154)
at com.bc.ceres.launcher.Launcher.main(Launcher.java:56)
Error: java.lang.NullPointerException
so I'm guessing it can't read global l3m files.
If it was 1 or 2 files, I'd do it in the GUI but I'm looking at at least 100 if not more files, automation is a must.
Are there limited file types that gpt.sh subset can read? I'm attempting to, at this point, create "pretty pictures" from l3m files using
gpt.sh subset.xml -Ssource=A20053532005360.L3m_8D_PIC_pic_4km.nc -t A20053532005360.L3m_8D_PIC_pic_4km_subset.nc -f netCDF-CF
where subset.xml is
<graph id="someGraphId">
<version>1.0</version>
<node id="someNodeId">
<operator>Subset</operator>
<sources>
<source>${source}</source>
</sources>
<parameters>
<region>
<x>0</x>
<y>0</y>
</region>
<geoRegion>POLYGON(( -10.0 4.0, -76.0 4.0, -76.0 130.0, -10.0 130.0, -10.0 4.0 ))</geoRegion>
<subSamplingX>1</subSamplingX>
<subSamplingY>1</subSamplingY>
<fullSwath>false</fullSwath>
<copyMetadata>true</copyMetadata>
</parameters>
</node>
</graph>
Then I get the dreaded null pointer exception that says...
java.lang.NullPointerException
at gov.nasa.gsfc.seadas.dataio.SeadasFileReader.<init>(SeadasFileReader.java:94)
at gov.nasa.gsfc.seadas.dataio.SMIFileReader.<init>(SMIFileReader.java:29)
at gov.nasa.gsfc.seadas.dataio.SeadasProductReader.readProductNodesImpl(SeadasProductReader.java:149)
at org.esa.beam.framework.dataio.AbstractProductReader.readProductNodes(AbstractProductReader.java:173)
at org.esa.beam.gpf.operators.standard.ReadOp.initialize(ReadOp.java:77)
at org.esa.beam.framework.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:457)
at org.esa.beam.framework.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:236)
at org.esa.beam.framework.gpf.Operator.getTargetProduct(Operator.java:323)
at org.esa.beam.framework.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:74)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:195)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:178)
at org.esa.beam.framework.gpf.graph.GraphContext.initNodeContext(GraphContext.java:178)
at org.esa.beam.framework.gpf.graph.GraphContext.initOutput(GraphContext.java:162)
at org.esa.beam.framework.gpf.graph.GraphContext.<init>(GraphContext.java:91)
at org.esa.beam.framework.gpf.graph.GraphContext.<init>(GraphContext.java:64)
at org.esa.beam.framework.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:124)
at org.esa.beam.framework.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:84)
at org.esa.beam.framework.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:508)
at org.esa.beam.framework.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:356)
at org.esa.beam.framework.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:249)
at org.esa.beam.framework.gpf.main.CommandLineTool.run(CommandLineTool.java:150)
at org.esa.beam.framework.gpf.main.CommandLineTool.run(CommandLineTool.java:122)
at org.esa.beam.framework.gpf.main.GPT.run(GPT.java:54)
at org.esa.beam.framework.gpf.main.GPT.main(GPT.java:34)
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:497)
at com.bc.ceres.launcher.Launcher.launch(Launcher.java:154)
at com.bc.ceres.launcher.Launcher.main(Launcher.java:56)
Error: java.lang.NullPointerException
so I'm guessing it can't read global l3m files.
If it was 1 or 2 files, I'd do it in the GUI but I'm looking at at least 100 if not more files, automation is a must.