All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class edu.sc.seis.TauP.TauModel

edu.sc.seis.TauP.TauModel

public class TauModel
provides storage all of the TauBranch's comprising a model.


Variable Index

 o DEBUG
True to enable debugging output.
 o sMod
The slowness model that was used to generate the tau model.
 o spherical
True if this is a spherical slowness model.
 o tauBranches
2D Array containing a TauBranch object corresponding to each "branch" of the tau model, 0 is P and 1 is S.

Constructor Index

 o TauModel()

Method Index

 o appendNoDisconDepth(double)
 o calcTauIncFrom(SlownessModel)
Calculates tau for each branch within a slowness model.
 o clone()
Returns a clone of the tau model so that changes to the clone do not affect the original.
 o depthCorrect(double)
Computes a new tau model for a source at depth using the previously computed branches for a surface source.
 o findBranch(double)
Finds the branch that either has the depth as its top boundary, or strictly contains the depth.
 o findDepth(double, boolean)
returns the turning depth for a ray of given ray parameter.
 o getBranchDepths()
returns an array of the depths that are boundaries between branches
 o getCmbBranch()
 o getCmbDepth()
 o getIocbBranch()
 o getIocbDepth()
 o getModelName()
 o getMohoBranch()
 o getMohoDepth()
 o getNoDisconDepths()
Branches, such as the branch with the source at its top, that are not allowed to have reflections and phase conversions at their tops.
 o getNumBranches()
 o getOneRayParam(int)
 o getRadiusOfEarth()
 o getRayParams()
 o getSourceBranch()
 o getSourceDepth()
 o getTauBranch(int, boolean)
 o isNoDisconBranch(int)
Does the given branch number have a noDisconDepth at its top? We test against PWave Tau branches (ie true) since S is the same.
 o isNoDisconDepth(double)
Is the given depth a "noDisconDepth"?
 o main(String[])
 o print()
 o readModel(String)
 o readModelFromStream(InputStream)
 o setNoDisconDepths(double[])
 o splitBranch(double)
returns a new TauModel with the branches containing depth split at depth.
 o toString()
 o validate()
 o writeModel(String)
 o writeModelToStream(OutputStream)

Variables

 o DEBUG
 public transient boolean DEBUG
True to enable debugging output.

 o spherical
 public boolean spherical
True if this is a spherical slowness model. False if flat.

 o sMod
 public SlownessModel sMod
The slowness model that was used to generate the tau model. This in needed in order to modify the tau branches from a surface focus event to an event at depth. This is normally be set when the tau model is generated to be a clone of the slowness model.

 o tauBranches
 public TauBranch tauBranches[][]
2D Array containing a TauBranch object corresponding to each "branch" of the tau model, 0 is P and 1 is S. Branches correspond to depth regions between discontinuities or reversals in slowness gradient for a wave type. Each branch contains time, distance, and tau increments for each ray parameter in rayParams for the layer. Rays that turn above the branch layer are assigned 0.0 time, distance, and tau increments.

Constructors

 o TauModel
 public TauModel()

Methods

 o getModelName
 public String getModelName()
Returns:
s the name of the earth model used to construct the tau model.
 o getSourceDepth
 public double getSourceDepth()
Returns:
s depth for which tau model was constructed.
 o getSourceBranch
 public int getSourceBranch()
Returns:
s branch number with the source at its top.
 o getNoDisconDepths
 public double[] getNoDisconDepths()
Branches, such as the branch with the source at its top, that are not allowed to have reflections and phase conversions at their tops.

 o isNoDisconBranch
 public boolean isNoDisconBranch(int branchNum)
Does the given branch number have a noDisconDepth at its top? We test against PWave Tau branches (ie true) since S is the same.

 o isNoDisconDepth
 public boolean isNoDisconDepth(double noDisconDepth)
Is the given depth a "noDisconDepth"?

 o setNoDisconDepths
 public synchronized void setNoDisconDepths(double noDisconDepths[])
 o appendNoDisconDepth
 public synchronized void appendNoDisconDepth(double noDisconDepth)
 o getMohoDepth
 public double getMohoDepth()
Returns:
s depth of the moho.
 o getMohoBranch
 public int getMohoBranch()
Returns:
s branch number with the moho at its top.
 o getCmbDepth
 public double getCmbDepth()
Returns:
s depth of the cmb.
 o getCmbBranch
 public int getCmbBranch()
Returns:
s branch number with the cmb at its top.
 o getIocbDepth
 public double getIocbDepth()
Returns:
s depth of the iocb.
 o getIocbBranch
 public int getIocbBranch()
Returns:
s branch number with the iocb at its top.
 o getRadiusOfEarth
 public double getRadiusOfEarth()
Returns:
s the radius of the Earth in km, usually input from the velocity model.
 o getRayParams
 public double[] getRayParams()
Returns:
s an array, cloned, of the ray parameters used to construct the tau branches. This may only be a subset of the slownesses/ray parameters saved in the slowness model due to high slowness zones (low velocity zones).
 o getOneRayParam
 public double getOneRayParam(int i)
 o getNumBranches
 public int getNumBranches()
 o getTauBranch
 public TauBranch getTauBranch(int branchNum,
                               boolean isPWave)
 o getBranchDepths
 public double[] getBranchDepths()
returns an array of the depths that are boundaries between branches

 o findDepth
 public double findDepth(double rayParam,
                         boolean isPWave) throws TauModelException
returns the turning depth for a ray of given ray parameter. Note this is for a surface source, and so converted phases my give incorrect results, e.g. SKS for certain ray parameters turns within the upper part of the outer core that is a low velocity zone for P so no P wave of that ray parameter could reach the core. For layer specific turning points, see the other SlownessModel.findDepth.

 o calcTauIncFrom
 public void calcTauIncFrom(SlownessModel sMod) throws SlownessModelException, NoSuchLayerException, TauModelException, NoSuchMatPropException
Calculates tau for each branch within a slowness model.

Throws: SlownessModelException
occurs if getNumLayers() < 1 as we cannot compute a distance without a layer.
 o findBranch
 public int findBranch(double depth) throws TauModelException
Finds the branch that either has the depth as its top boundary, or strictly contains the depth. Also, we allow the bottommost branch to contain its bottom depth, so that the center if the earth is contained within the bottom branch.

 o depthCorrect
 public TauModel depthCorrect(double depth) throws TauModelException
Computes a new tau model for a source at depth using the previously computed branches for a surface source. No change is needed to the branches above and below the branch containing the depth, except for the addition of a slowness sample. The branch containing the source depth is split into 2 branches, and up going branch and a downgoing branch. Additionally, the slowness at the source depth must be sampled exactly as it is an extremal point for each of these branches. See Buland and Chapman p 1290.

 o splitBranch
 public TauModel splitBranch(double depth) throws TauModelException
returns a new TauModel with the branches containing depth split at depth. Used for putting a source at depth since a source can only be located on a branch boundary.

 o writeModel
 public void writeModel(String filename) throws IOException
 o writeModelToStream
 public void writeModelToStream(OutputStream outStream) throws IOException
 o readModel
 public static TauModel readModel(String filename) throws FileNotFoundException, IOException, StreamCorruptedException, ClassNotFoundException, OptionalDataException
 o readModelFromStream
 public static TauModel readModelFromStream(InputStream inStream) throws InvalidClassException, IOException, StreamCorruptedException, ClassNotFoundException, OptionalDataException
 o validate
 public boolean validate()
 o print
 public void print()
 o clone
 public Object clone()
Returns a clone of the tau model so that changes to the clone do not affect the original.

 o toString
 public String toString()
 o main
 public static void main(String args[])

All Packages  Class Hierarchy  This Package  Previous  Next  Index