Motivation
PocketQuake currently offers two relocation backends, both double-difference least-squares (HypoDD-family): Fortran ph2dt + hypoDD (default), and Python relocDD-py (--python).
A different relative-relocation philosophy adds cross-validation and robustness — especially on sparse / noisy / weakly-linked clusters where HypoDD-family inversions produce "air-quakes" or fail to converge (e.g. the Namwon test, where a poorly-located outlier collapsed the dt.ct inversion).
Candidates — links + references
-
GrowClust (Fortran90) — hierarchical clustering driven directly by cross-correlation, no damped matrix inversion; robust where least-squares DD struggles.
-
GrowClust3D.jl (Julia) — the maintained successor; adds 3-D velocity-model support.
-
SPIDER — Bayesian double-difference for whole catalogs via a physics-informed neural-network Eikonal solver + Stochastic Gradient Langevin Dynamics, parallelised over GPUs. Conceptually close to PocketQuake's HypoSVI locator (same Ross group), so it would pair naturally with the --python stack.
Scope (rough)
- New
--reloc-backend {growclust|...} selector (mirrors the hypodd / relocdd_py dispatch in hypodd.run_dtcc / pipeline.run_cluster).
- Feed it the existing
dt.cc (xcorr stage) + station/event tables; emit a hypoDD.reloc-compatible product so 03_results_<cluster>.ipynb renders it.
- Decide how each method's uncertainties map onto the notebook's 95% error bars (GrowClust has its own bootstrap; SPIDER is natively Bayesian).
Out of scope
Not implementing now — tracking only.
— filed via Claude Code
Motivation
PocketQuake currently offers two relocation backends, both double-difference least-squares (HypoDD-family): Fortran
ph2dt+hypoDD(default), and PythonrelocDD-py(--python).A different relative-relocation philosophy adds cross-validation and robustness — especially on sparse / noisy / weakly-linked clusters where HypoDD-family inversions produce "air-quakes" or fail to converge (e.g. the Namwon test, where a poorly-located outlier collapsed the dt.ct inversion).
Candidates — links + references
GrowClust (Fortran90) — hierarchical clustering driven directly by cross-correlation, no damped matrix inversion; robust where least-squares DD struggles.
GrowClust3D.jl (Julia) — the maintained successor; adds 3-D velocity-model support.
SPIDER — Bayesian double-difference for whole catalogs via a physics-informed neural-network Eikonal solver + Stochastic Gradient Langevin Dynamics, parallelised over GPUs. Conceptually close to PocketQuake's HypoSVI locator (same Ross group), so it would pair naturally with the
--pythonstack.Scope (rough)
--reloc-backend {growclust|...}selector (mirrors thehypodd/relocdd_pydispatch inhypodd.run_dtcc/pipeline.run_cluster).dt.cc(xcorr stage) + station/event tables; emit ahypoDD.reloc-compatible product so03_results_<cluster>.ipynbrenders it.Out of scope
Not implementing now — tracking only.
— filed via Claude Code