Litcius/Paper detail

Pyekfmm: A Python Package for 3D Fast-Marching-Based Travel-Time Calculation and its Applications in Seismology

Yangkang Chen, Yunfeng Chen, Sergey Fomel, Alexandros Savvaidis, Omar M. Saad, Yapo Abolé Serge Innocent Oboué

2023Seismological Research Letters12 citationsDOI

Abstract

Abstract We present a multifunctional open-source package—pyekfmm for eikonal-based travel-time calculation in 2D and 3D heterogeneous anisotropic media based on the well-documented fast marching method. Different from existing travel-time calculation packages, the pyekfmm package offers a seamless compilation of the backbone C programs in the Python environment through a state-of-the-art pip installation. As a result, the users can use the pyekfmm package for different scientific purposes with the convenience enabled by Python interfaces and with the efficiency offered by C programs. The pyekfmm package offers the option of travel-time calculation to second-order accuracy. More importantly, the pyekfmm provides the option for travel-time calculation in anisotropic media, which enables its exclusive applications in special cases in which strong anisotropy exists. We introduce the mathematical principles and the structure of the package in detail. To demonstrate its potential, we apply it to a wide spectrum of applications, including travel-time calculation in different situations with increasing complexities, ray tracing, earthquake source location, relocation, and surface-wave tomography.

Topics & Concepts

Eikonal equationPython (programming language)Computer scienceComputational scienceRay tracing (physics)Fast marching methodAnisotropyTravel timeComputer graphics (images)Computer engineeringAlgorithmProgramming languagePhysicsEngineeringOpticsQuantum mechanicsTransport engineeringSeismic Waves and AnalysisSeismic Imaging and Inversion TechniquesSeismology and Earthquake Studies
Pyekfmm: A Python Package for 3D Fast-Marching-Based Travel-Time Calculation and its Applications in Seismology | Litcius