Skip to content
Skill

disba

by SteadfastAsArt

AI Summary

Enables 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

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 2mo ago
Active
AdoptionUnder 100 stars
12 ★ · Niche
DocsREADME + description
Well-documented

GitHub Signals

Stars12
Forks1
Issues0
Updated2mo ago
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code
Cursor
Copilot