인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
디자인 및 창작 · SKILL.md

travel-times-and-imaging

travel-times-and-imaging

Teaches a Researcher to compute ObsPy TauP arrivals, ray paths, pierce points, geodetic distances, azimuths, and headless waveform, spectrum, beachball, and optional map visualizations.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: travel-times-and-imaging description: "Teaches a Researcher to compute ObsPy TauP arrivals, ray paths, pierce points, geodetic distances, azimuths, and headless waveform, spectrum, beachball, and optional map visualizations." disable-model-invocation: true metadata: disco-role: operating license: NOASSERTION

Travel times and imaging

Use this skill when the task asks for theoretical seismic arrivals, ray geometry, source/receiver geodesy, or a reproducible scientific figure. Keep the input coordinates, model, phases, units, plotting backend, and output filenames in the analysis record. This skill is offline by default: it does not retrieve data or open a GUI.

Route the request

  • Arrivals only: use TauPyModel.get_travel_times with source depth (km), epicentral distance (degrees), and an explicit phase_list such as ['P', 'S'].
  • Model ray geometry: use get_ray_paths for sampled path points, or get_pierce_points for model-boundary/additional-depth intersections.
  • Latitude/longitude input: use locations2degrees for a spherical great- circle distance, or gps2dist_azimuth for WGS84 distance in metres plus forward and reverse azimuths. The TauPyModel.*_geo methods convert coordinates to a TauP distance; they still calculate travel time/path on a spherical model.
  • Figures: use Arrivals.plot_rays/plot_times, plot_ray_paths, or plot_travel_times for TauP; Stream.plot/Trace.plot for waveforms; Trace.spectrogram or obspy.imaging.spectrogram.spectrogram for spectra; and obspy.imaging.beachball.beachball for focal mechanisms. Use show=False (or MPLBACKEND=Agg) and an explicit outfile for automation.
  • Map request: route to the optional Cartopy path described in geodetics and imaging. Do not make a map a prerequisite for ordinary plots.

Minimal procedure

  1. Validate latitude in [-90, 90], normalize/document longitudes, and state whether depth is below the surface in km. Do not silently treat metres as km.
  2. Instantiate one shipped model, normally TauPyModel(model='iasp91'); model loading is comparatively expensive. Reuse it for multiple queries.
  3. Pass a bounded phase list. Inspect len(arrivals), each arrival.name, arrival.time (seconds), arrival.distance (degrees), and the relevant path/pierce record array before plotting or selecting an arrival.
  4. Save figures to a caller-owned output directory. Close figures created by matplotlib after saving when running batches. Never overwrite an input or an existing result without explicit permission.
  5. Record model, source/receiver coordinates, depths, phase list, distance convention, optional-dependency status, and output-file existence/size.

Public API quick contract

NeedPublic callOutput/validation signal
TimeTauPyModel.get_travel_times(...)Arrivals; arrival time is seconds
Pathget_ray_paths(...)arrival.path fields p,time,dist,depth
Pierceget_pierce_points(..., add_depth=[...])arrival.pierce record array
Geographic time/pathget_travel_times_geo / get_ray_paths_geogeographic distance/azimuth metadata when supported
Distance/azimuthlocations2degrees / gps2dist_azimuthdegrees, or (metres, azimuth, backazimuth)
Waveformstream.plot(outfile=..., show=False)non-empty image; input remains unchanged
Spectrumtrace.spectrogram(samp_rate=..., outfile=..., show=False)non-empty image; window must fit data
Focal mechanismbeachball([strike,dip,rake], outfile=...)non-empty image or bytes with format=

See taup-models.md for phase/model/depth details, geodetics-and-imaging.md for plotting recipes and optional Cartopy behavior, and troubleshooting.md for recovery. Run the bundled offline helper for a tiny end-to-end check:

python scripts/taup_and_plot_smoke.py --help
MPLBACKEND=Agg python scripts/taup_and_plot_smoke.py --output-dir ./obspy-imaging-smoke

The helper creates only its selected output directory, uses shipped model data and synthetic samples, and reports whether Cartopy is available without trying to download map data.

Boundaries and handoff

  • Route waveform filtering, detrending, merging, resampling, and triggers to waveform-processing or signal-analysis; this skill only plots/inspects waveforms in support of imaging.
  • Route reading/writing waveform, event, inventory, and image metadata to formats-and-metadata.
  • Route FDSN, routing, SDS, and all live retrieval to data-access.
  • TauP is a 1-D spherical velocity-model calculation. It is not a locator, full-wave solver, or a replacement for observed arrival picking.
  • Cartopy map rendering and geographiclib-enhanced path coordinates are optional capabilities. A missing optional dependency is a reportable result, not a reason to make the CPU/headless workflow fail.
저장한 Skills