edu.sc.seis.TauP
Class SphericalSModel

java.lang.Object
  |
  +--edu.sc.seis.TauP.SlownessModel
        |
        +--edu.sc.seis.TauP.SphericalSModel

public class SphericalSModel
extends SlownessModel
implements java.io.Serializable, java.lang.Cloneable

This class provides storage and methods for generating slowness-depth pairs in a spherical earth model.

See Also:
Serialized Form

Fields inherited from class edu.sc.seis.TauP.SlownessModel
DEBUG, PWAVE, SWAVE, verbose
 
Constructor Summary
SphericalSModel()
           
 
Method Summary
 java.lang.Object clone()
           
 double interpolate(double p, double topVelocity, double topDepth, double slope)
          Returns the depth for a slowness given a velocity gradient.
 TimeDist layerTimeDist(double sphericalRayParam, int layerNum, boolean isPWave)
          Calculates the time and distance increments accumulated by a ray of spherical ray parameter p when passing through layer layerNum.
static void main(java.lang.String[] args)
          Just for debugging purposes.
 double toSlowness(double velocity, double depth)
          Returns the slowness for a velocity at a depth.
 SlownessLayer toSlownessLayer(VelocityLayer vLayer, boolean isPWave)
          Converts a velocity layer into a slowness layer.
 java.lang.String toString()
           
 double toVelocity(double slowness, double depth)
          Returns the velocity for a slowness at a depth.
 boolean validate()
          Performs consistency check on the velocity model.
 
Methods inherited from class edu.sc.seis.TauP.SlownessModel
approxDistance, createSample, depthInFluid, depthInFluid, depthInHighSlowness, depthInHighSlowness, findDepth, findDepth, findDepth, getCriticalDepth, getHighSlowness, getMaxDeltaP, getMaxDepthInterval, getMaxInterpError, getMaxRangeInterval, getMinDeltaP, getMinRayParam, getMinTurnRayParam, getNumCriticalDepths, getNumLayers, getRadiusOfEarth, getSlownessLayerClone, getSlownessTolerance, isAllowInnerCoreS, layerNumberAbove, layerNumberBelow, setAllowInnerCoreS, setMaxDeltaP, setMaxDepthInterval, setMaxInterpError, setMaxRangeInterval, setMinDeltaP, setRadiusOfEarth, setSlownessTolerance, splitLayer
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SphericalSModel

public SphericalSModel()
Method Detail

main

public static void main(java.lang.String[] args)
Just for debugging purposes.

toSlowness

public double toSlowness(double velocity,
                         double depth)
                  throws SlownessModelException
Returns the slowness for a velocity at a depth.
Throws:
SlownessModelException - if velocity is zero.
Overrides:
toSlowness in class SlownessModel

toVelocity

public double toVelocity(double slowness,
                         double depth)
                  throws SlownessModelException
Returns the velocity for a slowness at a depth.
Throws:
SlownessModelException - if slowness is zero.
Overrides:
toVelocity in class SlownessModel

toSlownessLayer

public SlownessLayer toSlownessLayer(VelocityLayer vLayer,
                                     boolean isPWave)
                              throws SlownessModelException
Converts a velocity layer into a slowness layer.
Throws:
SlownessModelException - if velocity layer is malformed.
Overrides:
toSlownessLayer in class SlownessModel

interpolate

public double interpolate(double p,
                          double topVelocity,
                          double topDepth,
                          double slope)
                   throws SlownessModelException
Returns the depth for a slowness given a velocity gradient.
Throws:
SlownessModelException - if the velocity gradient exactly balances the spherical decrease in slowness.
Overrides:
interpolate in class SlownessModel

layerTimeDist

public TimeDist layerTimeDist(double sphericalRayParam,
                              int layerNum,
                              boolean isPWave)
                       throws SlownessModelException
Calculates the time and distance increments accumulated by a ray of spherical ray parameter p when passing through layer layerNum. for the easy cases of zero ray parameter, the center of the earth, and constant velocity layers. Note that this gives 1/2 of the true range and time increments since there will be both an up going and a downgoing path.
Throws:
SlownessModelException - occurs if the ray with the given spherical ray parameter cannot propagate within this layer, or if the ray turns within this layer but not at the bottom.
Overrides:
layerTimeDist in class SlownessModel

validate

public boolean validate()
                 throws SlownessModelException
Performs consistency check on the velocity model.
Returns:
true if successful, throws SlownessModelException otherwise.
Throws:
SlownessModelException - if any check fails
Overrides:
validate in class SlownessModel

clone

public java.lang.Object clone()
Overrides:
clone in class SlownessModel

toString

public java.lang.String toString()
Overrides:
toString in class SlownessModel