Frequently Asked Questions
Questions that have come up more than once, mostly from the issue tracker. Click a question to open its answer.
Installation
What does pip install -e . install?
The trailing dot is required — it means "the package in the current directory" (#2). Activate the environment first, and run it from the repository root:
-e is an editable install: the environment points at your checkout, so
code changes take effect without reinstalling. You only need this to work on
InSARHub itself — to simply use it, install from conda-forge as in
Installation.
Which satellites are supported?
Sentinel-1 and NISAR today (#1):
| Product | Search & download | Processing |
|---|---|---|
| Sentinel-1 SLC | yes | HyP3, ISCE2, GMTSAR |
| Sentinel-1 Burst | yes | ISCE3 / COMPASS + dolphin |
| NISAR GSLC | yes | ISCE3 + dolphin |
| NISAR RSLC, GUNW | yes | not yet — no processor consumes them |
NISAR RSLC and GUNW are hidden in the web UI for that reason: they would download a large volume of data that nothing can then process. They remain available from the CLI and the Python API.
ALOS, ERS and other platforms are not supported yet.
Web UI
The insarhub-app link will not open
insarhub-app prints a URL such as http://127.0.0.1:8080, but the browser
shows nothing — a connection error, a blank page, or someone else's
application.
Port 8080 is a popular default, so something else on the machine has very likely taken it. Start the app somewhere else:
Then open the URL the app prints, not the old one. Any free port works.
Other things worth checking:
- Open the URL it printed. With
--host 0.0.0.0the app is reachable from other machines, but the address to type is still the host's own. - Remote or HPC sessions. If
insarhub-appruns on a remote machine, forward the port first:ssh -L 12345:127.0.0.1:12345 user@host, then openhttp://127.0.0.1:12345on your own computer. - Blank page rather than a connection error. That means the server is up but the frontend bundle is missing — reinstall InSARHub, and see Installation.
Search & download
Search finds scenes, but Download fails with “Search does not return any result”
Fixed in 0.4.0 (#7). Upgrade:
asf_search 13.0.0 changed how it decides which frame field a query means.
Its should_use_asf_frame() stopped recognising a generic
platform=SENTINEL-1 search, so the frame filter silently queried the
ESA frame number and matched nothing — which is why searching worked
while downloading found zero scenes. InSARHub now routes frame filters to
asfFrame explicitly, which behaves the same on asf_search 12.x and 13.x.
If you previously pinned asf_search=12.3.2 as a workaround, you can lift
the pin.
Processing
ISCE2 stops part-way through and the terminal process disappears
Two different causes, and they look identical from the outside.
A silent crash at a fixed step was a bug in 0.3.x
(#6): _fix_cmd failed to
strip the trailing & that ISCE2 writes into every run_files line, so the
command returned instantly with success while its real work was orphaned.
Fixed in 0.4.0.
A crash at a varying step, often on a large stack, is usually the kernel's
OOM killer. InSARHub runs each run_files line in parallel, and several
ISCE2 steps are memory-hungry, so the total can exceed RAM. Lower the
concurrency:
--max_workers is the knob for every step except topo (run_01), which is
a single command — use --num_proc4topo for that one. See
Processor.
To tell the two apart, run with INSARHUB_DEBUG=1 and check executor.log
in the work directory. An OOM kill leaves the step at RUNNING with no
error, and dmesg | grep -i "killed process" names the process.
--select-pair warns that no pair graph will be generated
Expected for S1_Burst and the NISAR products. ASF publishes no perpendicular baseline for them, so a baseline-vs-time network cannot be drawn.
The pairs are still created, and processing is unaffected: the ISCE3 processors build their own interferogram network through dolphin's phase linking, using temporal and index constraints rather than a perpendicular-baseline threshold. See Pair Quality Scoring.
Logging
How do I see what InSARHub is doing?
It is quiet by default — only the command's output, plus warnings and errors.
Set INSARHUB_DEBUG=1 for the full log:
This works for the CLI, insarhub-app and import insarhub alike. Details
in Logging.