Overview#

LayTracer is an open-source Python package for computing ray paths, travel times, and amplitude attributes in horizontally layered (1D) velocity models with constant layer velocities. It is based on the dimensionless ray parameter method of Fang and Chen [2019], achieving rapid convergence.

Documentation: danikiev.github.io/LayTracer

Current Version: 0.3.1.dev1+g09ac0ec22 (Changelog)


Features:

  • Fast two-point ray tracing via dimensionless ray parameter method

  • Second-order Newton iteration for rapid convergence

  • Refraction and reflection modes

  • Inline computation of travel time, attenuation operator \(t^*\), geometrical spreading, and reflection/transmission coefficients

  • Efficient parallel computations via Joblib

  • Standalone Matplotlib / Plotly visualisation

  • Comprehensive Sphinx documentation with extensive theory available at danikiev.github.io/LayTracer


Quick Links:

Getting Started

Install LayTracer, set up dependencies, and prepare input files.

getting started

Methodology

Understand core algorithms for seismic ray tracing.

methodology

Examples

Explore practical use cases of LayTracer in action.

examples

API Reference

Access detailed API documentation for all modules.

api

Changelog

Review release notes and notable changes across versions.

changelog

Download as PDF

Download this documentation as a standalone PDF file.

pdf

Citing LayTracer

To cite a particular version of LayTracer, please use the following format, e.g. for version 0.3.0:

Anikiev, D. (2026). LayTracer: Fast two-point seismic ray tracing in layered media (0.3.0). Zenodo.

To cite the collection of all versions of LayTracer, please use the following format:

Anikiev, D. (2026). LayTracer: Fast two-point seismic ray tracing in layered media. Zenodo.

This DOI represents all versions, and will always resolve to the latest one.

Latest DOI: DOI