| name | disba |
| description | Compute surface wave dispersion curves for layered Earth models using the
Thomson-Haskell matrix method with Numba acceleration. Use when Claude needs to:
(1) Calculate Rayleigh or Love wave phase velocities, (2) Compute group velocity
dispersion, (3) Generate sensitivity kernels for inversion, (4) Forward model
dispersion curves from velocity profiles, (5) Compare dispersion between different
Earth models, (6) Set up surface wave tomography workflows.
|
| version | 1.0.0 |
| author | Geoscience Skills |
| license | MIT |
| tags | ["Surface Waves","Dispersion","Rayleigh","Love","Seismology","Disba","Phase Velocity","Group Velocity"] |
| dependencies | ["disba>=0.5.0","numpy","numba"] |
| complements | ["obspy","segyio"] |
| workflow_role | analysis |
disba - Surface Wave Dispersion
Quick Reference
import numpy as np
from disba import PhaseDispersion, GroupDispersion
thickness = np.array([0.5, 1.0, 2.0, 0.0])
vp = np.array([1.5, 2.5, 4.0, 6.0])
vs = np.array([0.8, 1.4, 2.3, 3.5])
rho = np.array([1.8, 2.0, 2.3, 2.6])
periods = np.linspace(0.1, 5.0, 50)
pd = PhaseDispersion(*zip(thickness, vp, vs, rho))
cpr = pd(periods, mode=0, wave='rayleigh')
gd = GroupDispersion(*zip(thickness, vp, vs, rho))
ugr = gd(periods, mode=0, wave='rayleigh')
Key Classes
| Class | Purpose |
|---|
PhaseDispersion | Phase velocity dispersion curves |
GroupDispersion | Group velocity dispersion curves |
PhaseSensitivity | Sensitivity kernels (dc/dVs, dc/dVp, dc/drho) |
Essential Operations