TauP PierceΒΆ
TauP Pierce uses a model like TauP Time but determines the angular distances from the epicenter at which the specified rays pierce discontinuities or specified depths in the model.
The --rev
, --turn
and --under
flags are useful
for limiting the output
to just those points you care about. The --pierce depth
option
allows you
to specify an additional pierce depth that does not correspond to an
actual discontinuity. For instance, where does a ray pierce 300 kilometers
above the CMB?
For example:
taup pierce --mod prem -h 200 -p S,P --deg 57.4
would give you pierce points for S, and P for a 200 kilometer deep source at a distance of 57.4 degrees.
> P at 566.77 seconds at 57.40 degrees for a 200.0 km deep source in the prem model with rayParam 6.969 s/deg.
0.00 200.0 0.00
0.11 220.0 2.92
1.31 400.0 28.13
3.72 670.0 65.40
28.17 1501.4 268.52
52.62 670.0 471.64
55.03 400.0 508.91
56.23 220.0 534.12
56.34 200.0 537.04
57.31 24.4 562.45
57.35 15.0 563.97
57.40 0.0 566.75
> S at 1028.61 seconds at 57.40 degrees for a 200.0 km deep source in the prem model with rayParam 13.018 s/deg.
0.00 200.0 0.00
0.12 220.0 5.35
1.33 400.0 52.28
3.80 670.0 121.81
28.15 1416.2 487.16
52.50 670.0 852.51
54.97 400.0 922.05
56.18 220.0 968.97
56.29 200.0 974.33
57.30 24.4 1020.82
57.35 15.0 1023.53
57.40 0.0 1028.59
While
taup pierce --turn --mod prem -h 200 -p S,P --deg 57.4
would give you just the points that each ray turns from downgoing to upgoing.
> P at 566.77 seconds at 57.40 degrees for a 200.0 km deep source in the prem model with rayParam 6.969 s/deg.
28.17 1501.4 268.52
> S at 1028.61 seconds at 57.40 degrees for a 200.0 km deep source in the prem model with rayParam 13.018 s/deg.
28.15 1416.2 487.16
Using -rev
would give you all points that the ray changes direction
and -under
gives just the underside reflections.
Using the -pierce
option
taup pierce --mod prem -h 200 -p S --sta 12 34.2 --evt -28 122 --geodetic --pierce 2591 --nodiscon
would give you just the points at which S crossed a depth of 2591 kilometers
from an event at (28 S, 122 E)
to a station at (12 N, 34.2 E).
Because we specified the latitudes and longitudes, we also get the
latitudes and longitudes of
the pierce points, useful for making
a map view of where the rays encounter the chosen depth.
Using the --geodetic
is useful for the distance calculation with
latitudes and longitudes.
Here is the output,
distance, depth, latitude and longitude, respectively.
> S at 1423.51 seconds at 93.63 degrees for a 200.0 km deep source in the prem model with rayParam 8.718 s/deg.
31.57 2591.0 552.69 -17.87 89.40
61.38 2591.0 821.30 -3.93 62.47
The usage is:
Usage: taup pierce [--amp] [--debug] [--first] [--geodetic] [--help]
[--nodiscon] [--rayp] [--rev] [--time] [--turn] [--under]
[--verbose] [--attenuationfreq=<attenuationFreq>]
[--az=<azimuth>] [--az=<azimuth>] [--baz=<backAzimuth>]
[--baz=<backAzimuth>] [--geodeticflattening=f] [--mw=<mw>]
[--numattenuationfreq=<numFrequencies>] [-o=<outFile>]
[--prop=<toolPropsFilename>] [--qml=<quakemlFilename>]
[--staxml=<stationxmlFilename>] [--eid=evt[,evt...]]...
[--pierce=depth[,depth...]]... [--rel=phase[,phase...]]...
[--sid=sta[,sta...]]... [--evt=lat lon]... [--evt=lat
lon]... [--sta=lat lon]... [--sta=lat lon]...
[--strikediprake=strike dip rake]... [[--mod=<modelName>]
[-h=depth[,depth...]]... [--stadepth=depth[,depth...]]...
[--scat=depth deg]...] [[-p=phase[,phase...]]...
[--phasefile=<phaseFiles>]...] [[--allindex] [--deg=d[,
d...]]... [--exactdegree=d[,d...]]... [--exactkilometer=km[,
km...]]... [--incident=deg[,deg...]]... [--km=km[,km...]]...
[--rayparamdeg=s/deg[,s/deg...]]... [--rayparamidx=i[,
i...]]... [--rayparamkm=s/km[,s/km...]]...
[--rayparamrad=s/rad[,s/rad...]]... [--takeoff=deg[,
deg...]]... [--degreerange=[step][min max][min max step]]...
[--exactdegreerange=[step][min max][min max step]]...
[--exactkilometerrange=[step][min max][min max step]]...
[--incidentrange=[step][min max][min max step]]...
[--kilometerrange=[step][min max][min max step]]...
[--takeoffrange=[step][min max][min max step]]...]...
[--json | --text]
Calculate pierce points for phases at discontinuities in the model.
Options:
--amp show amplitude factor for each phase
--attenuationfreq=<attenuationFreq>
attenuation frequency for amplitude calculations,
default is 1.0
--debug enable debugging output
--eid=evt[,evt...] event id, like us7000pn9s, for lookup via USGS
fdsn event web service. Creates a distance if
station is also given.
--first, --onlyfirst only output the first arrival for each phase, no
triplications
--geodetic use geodetic latitude for distance calculations,
which implies an ellipticity. Default is
spherical. Note this only affects calculation of
distance from lat/lon pairs, all travel time
calculations are done in a purely spherical
model.
--geodeticflattening=f Inverse Elliptical flattening for distance
calculations when --geodetic, defaults to WGS84
~ 298.257. The distance calculation uses 1/x.
--help display this help message
--mw=<mw> scale amplitude by source moment magnitude,
default is 4.0
--nodiscon only prints pierce points for the depths added
with -pierce
--numattenuationfreq=<numFrequencies>
number attenuation frequencies for amplitude
calculations, default is 64
-o, --output=<outFile> output to file, default is stdout.
--pierce=depth[,depth...]
additional depth for calculating pierce points
--prop=<toolPropsFilename>
load defaults from properties file
--qml, --quakeml=<quakemlFilename>
QuakeML file to load for earthquake origins to use
--rayp, --onlyrayp only output the ray parameter
--rel=phase[,phase...] times relative to the first of the given phases
--rev only prints underside and bottom turn points, e.g.
^ and v
--sid=sta[,sta...] station id, like CO.HAW or FDSN:CO_HAW, for lookup
via fedcat web service. Creates a distance if
event is also given.
--staxml=<stationxmlFilename>
StationXML file to extract station latitudes and
longitudes from
--strikediprake=strike dip rake
fault strike, dip and rake for amplitude
calculations. If not given radiation pattern is
unity in all directions.
--time, --onlytime only output travel time
--turn only prints bottom turning points, e.g. v
--under only prints underside reflection points, e.g. ^
--verbose enable verbose output
Model Args
-h, --evdepth, --sourcedepth=depth[,depth...]
source depth in km
--mod, --model=<modelName>
use velocity model "modelName" for calculations.
Default is iasp91. Other builtin models include
prem, ak135, ak135fcont, and ak135favg.
--scat, --scatter=depth deg
scattering depth and distance in degrees, which
may be negative. Only effects phases with 'o' or
'O' in the phase name.
--stadepth, --receiverdepth=depth[,depth...]
the receiver depth in km for stations not at the
surface
Phase Names
-p, --ph, --phase=phase[,phase...]
seismic phase names
--phasefile=<phaseFiles>
read list of phase names from file
Distance is given by:
--allindex all arrivals at sampling of model
--deg, --degree=d[,d...]
distance in degrees
--degreerange=[step][min max][min max step]
regular distance range in degrees, one of step;
min max or min max step. Default min is 0, max
is 180 and step is 10.
--exactdegree=d[,d...] exact distance traveled in degrees, not 360-d
--exactdegreerange=[step][min max][min max step]
regular distance range in exact degrees, not
360-deg, one of step; min max or min max step.
Default min is 0, max is 180 and step is 10.
--exactkilometer=km[,km...]
exact distance traveled in kilometers, not 360-k
--exactkilometerrange=[step][min max][min max step]
regular distance range in kilometers, not 360-k,
one of step; min max or min max step. Default
min is 0, max is 1000 and step is 100.
--incident=deg[,deg...]
incident angle in degrees at the receiver, zero is
down, 90 horizontal, 180 is up.
--incidentrange=[step][min max][min max step]
regular range in incident angle in degrees, one of
step; min max or min max step. Default min is 0
and step is 10.
--kilometerrange=[step][min max][min max step]
regular distance range in kilometers, one of step;
min max or min max step. Default min is 0, max
is 1000 and step is 100.
--km, --kilometer=km[,km...]
distance in kilometers along surface.
--rayparamdeg=s/deg[,s/deg...]
ray parameter from the source in s/deg, up or down
is determined by the phase
--rayparamidx=i[,i...] ray parameter from the source as index into model
sampling, up or down is determined by the phase
--rayparamkm=s/km[,s/km...]
ray parameter from the source in s/km, up or down
is determined by the phase
--rayparamrad=s/rad[,s/rad...]
ray parameter from the source in s/rad, up or down
is determined by the phase
--takeoff=deg[,deg...] takeoff angle in degrees from the source, zero is
down, 90 horizontal, 180 is up.
--takeoffrange=[step][min max][min max step]
regular range in takeoff angle in degrees, one of
step; min,max or min,max,step. Default min is 0
and step is 10.
Lat,Lon influenced by:
--az=<azimuth> azimuth in degrees, source to receiver
--baz=<backAzimuth> backazimuth in degrees, receiver to source
--evt, --event=lat lon event latitude and longitude. Creates a distance
if station is also given.
--sta, --station=lat lon
station latitude and longitude. Creates a distance
if event is also given.
Output Type:
--json outputs as JSON
--text outputs as Text