PyKonal: A Python Package for Solving the Eikonal Equation in Spherical and Cartesian Coordinates Using the Fast Marching Method

Malcolm C. A. White,Hongjian Fang,Nori Nakata,Yehuda Ben-Zion
DOI: https://doi.org/10.1785/0220190318
2020-06-03
Seismological Research Letters
Abstract:Abstract This article introduces PyKonal: a new open-source Python package for computing travel times and tracing ray paths in 2D or 3D heterogeneous media using the fast marching method for solving the eikonal equation in spherical and Cartesian coordinates. Compiled with the Cython compiler framework, PyKonal offers a Python application program interface (API) with execution speeds comparable to C or Fortran codes. Designed to be accurate, stable, fast, general, extensible, and easy to use, PyKonal offers low- and high-level API functions for full control and convenience, respectively. A scale-independent implementation allows problems to be solved at micro, local, regional, and global scales, and precision can be improved over existing open-source codes by combining different coordinate systems. The resulting code makes state-of-the-art computational capabilities accessible to novice programmers and is efficient enough for modern research problems in seismology.
geochemistry & geophysics
What problem does this paper attempt to address?