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 > 0andvp**2 > (4/3) * vs**2. Preserve measured units and model provenance.