Using snappy with SNAP built from source to run changed Op


#1

Hello,

I use a changed operator (InterferogramOp from s1tbx) using the SNAP GUI, build with IntelliJ IDEA, the process runs smooth and the result seems to be legit. But now I have to built 86 ifgs for a first test and hopefully a lot more after that… doing this manually is possible, but it hurts.

Using snappy (or any other method to do this automated) to call the changed operator and loop trough a folder containing stacks would be super helpful, is there any possibility to do this? Writing the loop in Python is not the problem, just calling the changed operator via snappy. I tried a bit but I admit that I am a bit shy, since I am afraid to mess up my “official” SNAP-Python Installation…just copy pasting the changed Op to the official installation can not be the answer, right?

It is also possible to install and built up a whole new instance running SNAP Python etc. to do this job, this should not be a limitation.

Thanks for any advice


#2

hello sir. could you help how to configure snappy? any step before installation and after installation to run snappy. Thank you


#3

@iqbalhabibie0684 Please have a look in the manual I provided in this post. In the section 2.2, 2.3 and especially 2.3.1 are detailed information how to install Python, SNAP and configure Snappy.


#4

Update to this topic:

Problem description:
I want to use a changed OP in the s1tbx to execute a process several (hundreds) times using a bash script and the gpt approach.

What I did:
In order to do this, I use the source code from github and exchange the operator of interest in the s1tbx (InterferogramOp.java) and check out with maven. Instead of using IntelliJ IDEA where I was not able to pass parameters for a bulk processing, I call the java classes to somehow ‘simulate’ what the wrapper script(?) gpt normally does within the bash script in the for loop which controls the bulk processing. The main thing is the call of runtime.jar and org.esa.snap.runtime.Launcher as far as I understand.

It would be great if someone has a look at this and maybe optimise it. It works but I do not know if everything is necessary.

callgpt=“java -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.moduleName=/home/thho/snap2/snap-desktop/snap-application/target/snap/bin/gpt -Dsnap.mainClass=org.esa.snap.core.gpf.main.GPT -Dsnap.home=/home/thho/snap2/snap-desktop/snap-application/target/snap/bin//… -Dsnap.extraClusters=/home/thho/snap2/s1tbx/s1tbx-kit/target/netbeans_clusters/s1tbx -Djava.awt.headless=true -Dinstall4j.noLoggingFix=true -Dinstall4j.launcherId=781 -Dinstall4j.swt=false -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4j.vpt=true -classpath /home/thho/snap2/snap-desktop/snap-application/target/snap/.install4j/i4jruntime.jar:/home/thho/snap2/snap-desktop/snap-application/target/snap/snap/modules/ext/org.esa.snap.snap-core/org-esa-snap/snap-runtime.jar org.esa.snap.runtime.Launcher”

Here is the complete script used for bulk processing not for ifgs (some trouble with this at the moment) but back geocoding: back_geoc_sbas.bash (2.0 KB)