Description

June 22, 2026 · View on GitHub

LATTE: Los Alamos TravelTime package based on Eikonal equation

LATTE is an open-source software for

  • Traveltime computation based on the factorized eikonal equation in 2D/3D acoustic/elastic media for
    • First-arrival P, S traveltimes
    • Both first-arrival and reflection traveltimes (e.g., P, S, PP, SS, PS, SP) for an arbitrary number of reflectors.
  • Adjoint-state first-arrival traveltime tomography based on first-arrival traveltime in 2D/3D acoustic/elastic media to
    • Invert Vp, Vs separately
    • Invert Vp, Vs jointly, optionally with Vp-Vs constraints
    • Use either absolute traveltime difference or differential traveltime difference
  • Source location based on first-arrival traveltime in 2D/3D acoustic/elastic media, including
    • Source location/relocation using P, S, or both P and S traveltimes
    • Joint source location/relocation with first-arrival traveltime tomography using P, S, or both P and S traveltimes
    • Use either absolute traveltime difference or differential traveltime difference

Algorithm features (details are explained in the LATTE paper):

  • Written in modern Fortran.
  • Applies to Cartesian, regularly sampled grid.
  • Forward and adjoint-state equations are solved with the fast-sweeping method.
  • Traveltime computation is based on the factorized eikonal equation for avoiding source singularity and thus improved accuracy.
  • Two-level parallelization, including shot parallelization based on MPI and shared-memory parallelization for each shot based on OpenMP.
  • Various inversion schemes, including
    • SD: steepest descent
    • NCG: nonlinear conjugate gradient
    • l-BFGS: limited-memory Broyden-Fletcher-Goldfarb-Shanno
  • Various regularization schemes, including
    • TV: total variation regularization for medium parameters
    • TGpV: total generalized p-variation regularization for medium parameters
    • smooth: Tikhonov-like smoothing regularization for medium parameters
    • ML: machine-learning-based regularization for source location parameters
  • User-friendly parameter setting based on FLIT flexible parameter input functionality.

LATTE does not yet support:

  • Curvilinear or unstructured mesh.
  • Medium anisotropy.
  • GPU-based acceleration.

The work is supported by Los Alamos National Laboratory (LANL) Laboratory Directed Research and Development (LDRD) project 20240322ER. LANL is operated by Triad National Security, LLC, for the National Nuclear Security Administration (NNSA) of the U.S. Department of Energy (DOE) under Contract No. 89233218CNA000001. The research uses high-performance computing resources provided by LANL's Institutional Computing (IC) program. The paper associated with the work is approved for public release under LA-UR-24-27806.

The codes are released under LANL open source approval reference O4770.

Requirement

Use

To install LATTE:

cd src
ruby install.rb

The compiled LATTE executables will be at bin.

To remake:

cd src
ruby install.rb clean

To run example:

cd test

and the scripts to reproduce the examples in the paper are contained in the subfolders.

License

© 2024-2026. Triad National Security, LLC. All rights reserved.

This program is Open-Source under the BSD-3 License.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Author

Kai Gao, kaigao@lanl.gov

We welcome feedback, bug reports, and suggestions for improving LATTE.

If you use this package in your research and find it useful, please cite it as

  • Kai Gao, 2024, LATTE: Los Alamos TravelTime package based on Eikonal equation, GitHub Repository, url: github.com/lanl/latte_traveltime
  • Kai Gao, Ting Chen, 2025, LATTE: open-source, high-performance traveltime computation, tomography and source location in acoustic and elastic media, Geophysical Journal International, doi: 10.1093/gji/ggaf079.

Examples

Reproducible examples associated with the LATTE paper are in the example directory. Below are some of the figures from the paper. Please refer to the paper for full details.





2D forward modeling. From top to bottom: Vp (Vs is scaled based on Vp), PP traveltime field, PS transmission-reflection traveltime field, P traveltime data. Reflector position plot is not shown here.





2D FATT. From top to bottom: Vp ground truth, Vp initial, Vp by absolute-difference FATT, and Vp by double-difference FATT.



2D source location in an elastic medium. Top: source location convergence with known velocity models, and bottom: joint tomography and source location.