Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

anisotime-js

JavaScript port of ANISOtime — a utility for computing seismic-wave travel times in a laterally homogeneous, transversely isotropic (TI), spherically symmetric medium.

The reference implementation is the original Java ANISOtime (and its source in Kibrary). This port mirrors its behavior and is validated against its outputs.

Why a JavaScript port?

  • Run in the browser without Java — used by シンパ! (a SAC waveform viewer) for in-page theory picks.
  • Run in Node.js for batch table generation and pipelines.
  • Extend tooling by other JS-based seismology applications.

Status

Early development. Initial scope (JS-α):

  • Isotropic models: PREM, IASP91, AK135 (built-in).
  • Phases: P, S, PP, SS, PcP, ScS, PKP, PKIKP, PKiKP, SKS, SKKS, and depth phases pP, sS, pS, sP.
  • Output: travel time and ray parameter for a given (model, phase, distance, source depth).

Later stages (β / γ): TI media (SH / pseudo-SV split), arbitrary .nd / .poly models, full phase enumeration parity with Java ANISOtime.

Validation

Travel times are checked against:

  1. The Java ANISOtime CLI (reference implementation).
  2. TauP (independent isotropic ray-tracing engine, for cross-check).

Tolerance: < 1 ms in the isotropic regime over standard reference models.

Install / Usage

(Placeholder — not yet released.)

// Browser (after loading dist/anisotime.js):
const t = window.Anisotime.travelTime({
  model: 'PREM',
  phase: 'P',
  distance: 30,   // degrees
  depth: 100,     // km
});
// → { time: <s>, rayParameter: <s/deg>, ... }

Development

npm test                  # run unit tests (node --test)
node tools/cross-check.js # regenerate tests/golden/ TauP cross-check artifacts
                          # (requires the TauP toolkit; see tools/run-taup.sh)
node tools/dump-model.js  # dump model profiles as CSV

License

GNU GPL v3.0 — same as the original Java ANISOtime. See LICENSE.

Authors

The original Java ANISOtime is © 2015– Kensuke Konishi, Anselme F. E. Borgeaud, Kenji Kawai, Robert J. Geller and contributors. This JavaScript port is developed by the same group at the University of Tokyo Global Seismology Group.

About

JavaScript port of ANISOtime — seismic travel times in TI spherically-symmetric media (GPL-3.0)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages