Problem command line inSAR processing

Dear STEP team,

I have installed SNAP v7 on our cluster. Since my cluster runs Ceph as a storage I had to move the .snap folder e.g., The .snap folder is not always available - #5 by oonkjbr . I can now run SNAP v7 and load/create graphs.

I have tried running http://step.esa.int/docs/tutorials/command_line_inSAR_processing.pdf

When I run the final step with gpt I get the following error:

gpt upd_TOPSAR_Coreg_Interferogram_cl_inSAR.xml -e -p input_parameters.properties > out.log 2>&1

INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
SEVERE: org.esa.s2tbx.dataio.gdal.activator.GDALDistributionInstaller: The environment variable LD_LIBRARY_PATH is not set. It must contain the current folder ‘.’.
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field org.esa.snap.core.gpf.graph.Node.file
---- Debugging information ----
field : file
class : org.esa.snap.core.gpf.graph.Node
required-type : org.esa.snap.core.gpf.graph.Node
converter-type : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path : /graph/node/file
line number : 7
class[1] : org.esa.snap.core.gpf.graph.Graph
version : 1.4.8

at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.handleUnknownField(AbstractReflectionConverter.java:501)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:357)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:263)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:383)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:263)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1206)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1190)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1061)
at org.esa.snap.core.gpf.graph.GraphIO.read(GraphIO.java:83)
at org.esa.snap.core.gpf.main.DefaultCommandLineContext.readGraph(DefaultCommandLineContext.java:75)
at org.esa.snap.core.gpf.main.CommandLineTool.readGraph(CommandLineTool.java:530)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:342)
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:54)
at org.esa.snap.core.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: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:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)

Error: No such field org.esa.snap.core.gpf.graph.Node.file
---- Debugging information ----
field : file
class : org.esa.snap.core.gpf.graph.Node
required-type : org.esa.snap.core.gpf.graph.Node
converter-type : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path : /graph/node/file
line number : 7
class[1] : org.esa.snap.core.gpf.graph.Graph
version : 1.4.8

The graph I use is:

1.0 Read ${product1} Read ${product2} TOPSAR-Split ${subswath} ${polarization} TOPSAR-Split ${subswath} ${polarization} Apply-Orbit-File Sentinel Precise (Auto Download) 3 false Apply-Orbit-File Sentinel Precise (Auto Download) 3 false Back-Geocoding SRTM 3Sec BILINEAR_INTERPOLATION 0.0 BILINEAR_INTERPOLATION true false false false Interferogram true 5 501 3 true 2 10 true false SRTM 3Sec 0.0 100 false false TOPSAR-Deburst TopoPhaseRemoval 3 SRTM 3Sec 0.0 100 false false false Multilook ${rangeLook} ${azLook} false true GoldsteinPhaseFiltering 1.0 64 3 false 0.2 Write ${outputFile} BEAM-DIMAP

Can you help me with this problem? I fear that I am not able to easily figure out this issue.

kind regards,
Raymond

The problem was resolved by fixing the ‘/’ in the Graph and updating SNAP from 7.0 to 8.0.4.
@marpet , I was following the http://step.esa.int/docs/tutorials/command_line_inSAR_processing.pdf , to avoid problems with these tutorials it may be useful to also have the final graph and input parameters fully specified in the manual. So that a (lazy) user can cross-check against a file that contains the truth. The graph error (’/’) in the end was easily found and solved given that the error after careful reading was quite transparent. My compliments on this error message.
The other errors I got ‘LD_LIBRARY_PATH is not set’ and later ‘Exception calling QC Rest API: qc.sentinel1.eo.esa.int: Name or service not know’ were less transparent. Luckily this forum already contained the answers.

Hi oonkjbr,

we will consider your suggestions for the upcoming tutorials.
Often there is no “truth” for the parameters for a processing chain, because it depends on the use-case. But where it makes sense the full parameter set is probably helpful to new users. That’s true.
Thanks for your feedback.