Rays and DistancesΒΆ
For many of the tools within the TauP Toolkit, a large part
of the work is determining the ray through the model that
answers the question. But depending on the question there are
many ways to specify the ray. For example, what time does
P
arrive at 35 degrees? Or where does a ray that leaves
the source at a 25 degree takeoff angle arrive?
Traditionally, we are interested in arrivals at a known distance. So
Using the --deg
: option gives that distance in degrees while
the --km
gives it in kilometers. Multiple of either of these
can be given, like --deg 10,30,60
.
But if we want a regular sampling, we can give
--degreerange 5
to get every 5 degrees or
--degreerange 30,60
to get every 10 degrees from 30 to 60, or even
--degreerange 30,60,5
to get every 5 degrees from 30 to 60.
The --kilometerrange
argument provides the same functionality,
except for kilometers along the surface, with defaul step of 100 and
default maximum of 1000.
Some times it is helpful to generate only arrivals at an exact distance
and to disregard those that arrive the other way around, or that lap
around the earth multiple times. For example a phase like SKKKS that can travel
a path of more than once around, we may want to get
the arrival at 200 degrees but not the one at 160 degrees. The
argument --exactdegree 200
does this. Similar functionality exists
for kilometers with --exactkilometer
.
If we know the event and station locations, we can use the --evt
and
--sta
to give the latitude and longitudes and TauP can calculate the
distance. The --geodetic
argument does the distance calculation using
an ellipticity, the default is purely spherical. The internal time calculations
are always spherical. We can also read station locations from a StationXML
file with --staxml
and event locations from a QuakeML file with
--qml
. Even more fun is to give a station id, like CO_HAW or a
USGS event id, like us7000pn9s, and TauP will use the IRIS FedCat and
USGS FDSN Event web services to get the station and event locations.
TauP will do the calculations for all event station pairs.
There are also times when we do not know the final distance, but are interested
in rays that start or end in a particular way. For example we can shoot
rays of specific ray parameters with --rayparamdeg
, --rayparamkm
and --rayparamrad
for ray parameters of seconds per degree, kilometer
or radian. Or we can give a takeoff angle with --takeoff
and a range
of takeoff angles with --takeoffrange
similar to the distance range
arguments. And we can give an incident angle with --incident
and a range
of incident angles with --incidentrange
.
As long as we are using spherical calulcations, not --geodetic
, then
if we give event location via --evt
and azimuth via --az
, then
the resulting station location will be calculated. The reverse, giving
station location via --sta
and back azimuth via --baz
will
calculate the event location.
For debugging purposes, the --allindex
and --rayparamidx
will show the calculation at the model sampling, for all or one ray by
index.