disba

Installation
SKILL.md

disba: layered surface-wave dispersion

Use disba for 1D isotropic layered-model dispersion and sensitivity kernels. It is a forward solver; extracting observed dispersion from raw waveforms or performing tomography requires separate processing and inversion design.

Model and period conventions

  • Supply four equal-length one-dimensional arrays: thickness in km, Vp/Vs in km/s, and density in g/cm³. A row-per-layer table must be transposed once: PhaseDispersion(*model.T).
  • Do not use *zip(thickness, vp, vs, rho): with four layers it silently interchanges properties, and other layer counts give the wrong arguments.
  • Treat the last layer as the half-space and write its thickness as 0.0. Other layers have positive thickness. The final thickness is not a finite bottom boundary, even if a nonzero value is accepted by the library.
  • Use finite positive periods in increasing order. Density must be positive; for the solid models below require vs > 0 and vp**2 > (4/3) * vs**2. Preserve measured units and model provenance.
Installs
61
GitHub Stars
76
First Seen
Mar 8, 2026