SeisTau integrates the TauPy and
Seis packages, allowing one to easily
use seismic travel time predictions for 1D Earth models with Seis.Traces.
SeisTau extends Seis.add_picks! so that you can add picks to your Traces
like so:
julia> using Seis, SeisTau
julia> t = sample_data(:array);
julia> add_picks!.(t, "PKIKP")
60-element Array{Seis.SeisDict{Union{Int64, Symbol},NamedTuple{(:time, :name),Tuple{Float32,Union{Missing, String}}}},1}:
Seis.SeisDict(:A=>Seis.Pick{Float32,String}((time=1134.08, name="A")),:PKIKP=>Seis.Pick{Float32,String}((time=1126.4486, name="PKIKP")),1=>Seis.Pick{Float32,String}((time=137.35, name=missing)))
...Here we have added a pick for the
PKIKP
phase to all of the traces at once using Julia's .-notation, broadcasting the call to
add_picks! across each of the Traces in t.
You can now plot up the data aligned on this pick:
julia> using Plots, Seis.Plot
julia> section(t, align="PKIKP", xlim=(-10,20), zoom=2)See Seis.picks for more information on access picks in Seis.
First, install Seis.jl.
Then, having chosen one of the options below:
julia> ] # Pressing ']' enters pkg mode
(v1.1) pkg> add https://github.com/anowacki/TauPy.jl https://github.com/anowacki/SeisTau.jlThe TauPy package on which SeisTau relies uses the Obspy module obspy.taup to
calculate travel times. Therefore, one needs Obspy to be installed. There are
two options:
- Install Obspy locally if it is not already installed on your machine, then build
PyCall pointing at that
installation
by setting the
$PYTHONenvironment variable to the path to your python executable:ENV["PYTHON"] = "python"; import Pkg; Pkg.build("PyCall")
- Allow PyCall to install its own private Miniconda distribution. In this case,
Obspy will be automatically installed when
adding TauPy above. N.B. There are intermittent problems with automatic installation via this option, so option 1 is recommended at present.
