AI SummaryEnables Claude to compute surface wave dispersion curves for layered Earth models using the Thomson-Haskell matrix method, essential for seismic wave analysis and geophysical inversion workflows. Geophysicists and seismologists benefit from automated dispersion modeling for tomography and Earth structure studies.
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to install the "disba" skill in my project. Please run this command in my terminal: # Install skill into the correct directory (4 files) mkdir -p .claude/skills/disba && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/disba/SKILL.md "https://raw.githubusercontent.com/SteadfastAsArt/geoscience-skills/main/disba/SKILL.md" && mkdir -p .claude/skills/disba/references && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/disba/references/dispersion_curves.md "https://raw.githubusercontent.com/SteadfastAsArt/geoscience-skills/main/disba/references/dispersion_curves.md" && mkdir -p .claude/skills/disba/references && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/disba/references/velocity_models.md "https://raw.githubusercontent.com/SteadfastAsArt/geoscience-skills/main/disba/references/velocity_models.md" && mkdir -p .claude/skills/disba/scripts && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/disba/scripts/dispersion_analysis.py "https://raw.githubusercontent.com/SteadfastAsArt/geoscience-skills/main/disba/scripts/dispersion_analysis.py" Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.
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.
Quick Reference
`python import numpy as np from disba import PhaseDispersion, GroupDispersion
thickness in km, velocities in km/s, density in g/cm3
thickness = np.array([0.5, 1.0, 2.0, 0.0]) # 0.0 = half-space 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 to compute (seconds)
periods = np.linspace(0.1, 5.0, 50)
Calculate Rayleigh wave phase velocity
pd = PhaseDispersion(*zip(thickness, vp, vs, rho)) cpr = pd(periods, mode=0, wave='rayleigh') # Fundamental mode
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster