# Serialized Form

- ## Package edu.sc.seis.TauP

  - ### Class edu.sc.seis.TauP.ArrivalPlot extends javax.swing.JPanel implements Serializable

    - #### Serialized Fields

      - ##### arrivals

            java.util.Vector arrivals

      - ##### selectedIndex

            int selectedIndex

      - ##### tMod

            TauModel tMod

  - ### Class edu.sc.seis.TauP.ArrivalTableModel extends javax.swing.table.AbstractTableModel implements Serializable

    - #### Serialized Fields

      - ##### arrivals

            java.util.List<Arrival> arrivals

  - ### Class edu.sc.seis.TauP.Complex extends java.lang.Object implements Serializable

    serialVersionUID:
      -633126172485117692L

    - #### Serialized Fields

      - ##### im

            double im

        Imaginary part of the Complex.

      - ##### re

            double re

        Real part of the Complex.

  - ### Class edu.sc.seis.TauP.CriticalDepth extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### depth

            double depth

        depth in kilometers at which there is a critical point.

      - ##### PLayerNum

            int PLayerNum

        slowness layer for P waves with this depth at its top. This can be PLayers.size() for the last critical layer.

      - ##### SLayerNum

            int SLayerNum

        slowness layer for S waves with this depth at its top. This can be SLayers.size() for the last critical layer.

      - ##### velLayerNum

            int velLayerNum

        layer number within the velocity model with this depth at its top.

  - ### Class edu.sc.seis.TauP.CurvePlot extends ArrivalPlot implements Serializable

  - ### Class edu.sc.seis.TauP.DepthRange extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### botDepth

            double botDepth

        Bottom of the depth range.

      - ##### rayParam

            double rayParam

        rayParam associated with the depth range. If this were a high slowness depth range, then rayParam would be the largest ray parameter that would penetrate the depth range.

      - ##### topDepth

            double topDepth

        Top of the depth range.

  - ### Class edu.sc.seis.TauP.DistPlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.NoSuchLayerException extends VelocityModelException implements Serializable

    - #### Serialized Fields

      - ##### layerNumber

            int layerNumber

      - ##### radius

            double radius

  - ### Class edu.sc.seis.TauP.NoSuchMatPropException extends VelocityModelException implements Serializable

    - #### Serialized Fields

      - ##### materialProperty

            char materialProperty

  - ### Class edu.sc.seis.TauP.PathPlot extends ArrivalPlot implements Serializable

  - ### Class edu.sc.seis.TauP.PhaseDialog extends javax.swing.JDialog implements Serializable

    - #### Serialized Fields

      - ##### addPhaseTextField

            javax.swing.JTextField addPhaseTextField

      - ##### closeButton

            javax.swing.JButton closeButton

      - ##### jLabel1

            javax.swing.JLabel jLabel1

      - ##### jLabel2

            javax.swing.JLabel jLabel2

      - ##### jPanel1

            javax.swing.JPanel jPanel1

      - ##### jPanel2

            javax.swing.JPanel jPanel2

      - ##### jScrollPane1

            javax.swing.JScrollPane jScrollPane1

      - ##### phaseList

            javax.swing.JList phaseList

      - ##### phaseListModel

            javax.swing.DefaultListModel phaseListModel

  - ### Class edu.sc.seis.TauP.PhaseName extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### name

            java.lang.String name

        name of the phase, ie PKIKP

      - ##### sacTNum

            int sacTNum

        sac t header to be associated with the phase

  - ### Class edu.sc.seis.TauP.PierceTableModel extends javax.swing.table.AbstractTableModel implements Serializable

    - #### Serialized Fields

      - ##### arrivals

            java.util.List<Arrival> arrivals

      - ##### selectedIndex

            int selectedIndex

  - ### Class edu.sc.seis.TauP.PolarPlot extends java.awt.Canvas implements Serializable

    - #### Serialized Fields

      - ##### centerX

            int centerX

      - ##### centerY

            int centerY

      - ##### circleRadius

            double[] circleRadius

      - ##### displayMode

            short displayMode

      - ##### minSize

            java.awt.Dimension minSize

      - ##### outsideRadius

            double outsideRadius

      - ##### pappy

            java.awt.Container pappy

      - ##### segments

            java.util.Vector segments

      - ##### width

            int width

  - ### Class edu.sc.seis.TauP.ReflTransCoefficient extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### a

            double a

      - ##### b

            double b

      - ##### botDensity

            double botDensity

      - ##### botVertSlownessP

            Complex botVertSlownessP

      - ##### botVertSlownessS

            Complex botVertSlownessS

      - ##### botVp

            double botVp

      - ##### botVs

            double botVs

      - ##### c

            double c

      - ##### d

            double d

      - ##### det

            Complex det

      - ##### E

            Complex E

      - ##### F

            Complex F

      - ##### firstTime

            boolean firstTime

      - ##### fsA

            Complex fsA

        used only in free surface calculations

      - ##### G

            Complex G

      - ##### H

            Complex H

      - ##### lastInIsPWave

            boolean lastInIsPWave

      - ##### lastRayParam

            double lastRayParam

      - ##### rp

            double rp

      - ##### shDelta

            Complex shDelta

        delta for SH-SH equations

      - ##### sqBotVp

            double sqBotVp

      - ##### sqBotVs

            double sqBotVs

      - ##### sqRP

            double sqRP

      - ##### sqTopVp

            double sqTopVp

      - ##### sqTopVs

            double sqTopVs

      - ##### topDensity

            double topDensity

      - ##### topVertSlownessP

            Complex topVertSlownessP

      - ##### topVertSlownessS

            Complex topVertSlownessS

      - ##### topVp

            double topVp

      - ##### topVs

            double topVs

  - ### Class edu.sc.seis.TauP.SeismicPhase extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### branchSeq

            java.util.List<java.lang.Integer> branchSeq

        Array of branch numbers for the given phase. Note that this depends upon both the earth model and the source depth.

      - ##### dist

            double[] dist

        Array of distances corresponding to the ray parameters stored in rayParams.

      - ##### downGoing

            java.util.ArrayList<java.lang.Boolean> downGoing

        true if the current leg of the phase is down going. This allows a check to make sure the path is correct. Used in addToBranch() and parseName().

      - ##### headOrDiffractSeq

            java.util.List<java.lang.Integer> headOrDiffractSeq

        Array of branchSeq positions where a head or diffracted segment occurs.

      - ##### legAction

            java.util.ArrayList<java.lang.Integer> legAction

        records the end action for the current leg. Will be one of SeismicPhase.TURN, SeismicPhase.TRANSDOWN, SeismicPhase.TRANSUP, SeismicPhase.REFLECTBOT, or SeismicPhase.REFLECTTOP. This allows a check to make sure the path is correct. Used in addToBranch() and parseName().

      - ##### legs

            java.util.ArrayList<java.lang.String> legs

        ArrayList containing Strings for each leg.

      - ##### maxDistance

            double maxDistance

        The maximum distance that this phase can be theoretically observed.

      - ##### maxRayParam

            double maxRayParam

        Maximum ray parameter that exists for this phase.

      - ##### maxRayParamIndex

            int maxRayParamIndex

        Index within TauModel.rayParams that corresponds to maxRayParam. Note that maxRayParamIndex < minRayParamIndex as ray parameter decreases with increasing index.

      - ##### maxRecursion

            int maxRecursion

      - ##### minDistance

            double minDistance

        The minimum distance that this phase can be theoretically observed.

      - ##### minRayParam

            double minRayParam

        Minimum ray parameter that exists for this phase.

      - ##### minRayParamIndex

            int minRayParamIndex

        Index within TauModel.rayParams that corresponds to minRayParam. Note that maxRayParamIndex < minRayParamIndex as ray parameter decreases with increasing index.

      - ##### name

            java.lang.String name

        The phase name, ie PKiKP.

      - ##### puristName

            java.lang.String puristName

        name with depths corrected to be actuall discontinuities in the model.

      - ##### rayParams

            double[] rayParams

        Array of possible ray parameters for this phase.

      - ##### receiverDepth

            double receiverDepth

        The receiver depth within the TauModel that was used to generate this phase. Normally this is 0.0 for a surface stations, but can be different for borehole or scattering calculations.

      - ##### refineDistToleranceRadian

            double refineDistToleranceRadian

      - ##### segmentList

            java.util.List<SeismicPhaseSegment> segmentList

        Description of segments of the phase.

      - ##### sourceDepth

            double sourceDepth

        The source depth within the TauModel that was used to generate this phase.

      - ##### time

            double[] time

        Array of times corresponding to the ray parameters stored in rayParams.

      - ##### tMod

            TauModel tMod

        TauModel to generate phase for.

      - ##### validationFailMessage

            java.lang.String validationFailMessage

      - ##### waveType

            java.util.ArrayList<java.lang.Boolean> waveType

        ArrayList of wave types corresponding to each leg of the phase.

  - ### Class edu.sc.seis.TauP.SlownessLayer extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### botDepth

            double botDepth

        Depth at the bottom of the layer.

      - ##### botP

            double botP

        Slowness at the bottom of the layer.

      - ##### topDepth

            double topDepth

        Depth at the top of the layer.

      - ##### topP

            double topP

        Slowness at the top of the layer.

  - ### Class edu.sc.seis.TauP.SlownessModel extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### allowInnerCoreS

            boolean allowInnerCoreS

        Should we allow J phases, S waves in the inner core? If true, then the slowness sampling for S will use the S velocity structure for the inner core. If false, then we will use the P velocity structure for both the inner and outer core for S waves as well as P waves. Disallowing inner core S phases reduces the number of slowness samples significantly due to the large geometrical spreading of S waves in the inner core. The default is false.

      - ##### criticalDepths

            java.util.List<CriticalDepth> criticalDepths

        Stores the layer number for layers in the velocity model with a critical point at their top. These form the "branches" of slowness sampling.
        See Also:
          `CriticalDepth`

      - ##### fluidLayerDepths

            java.util.List<DepthRange> fluidLayerDepths

        Stores depth ranges that are fluid, ie S velocity is zero. Stored as DepthRange objects, containing the top depth and bottom depth.
        See Also:
          `DepthRange`

      - ##### highSlownessLayerDepthsP

            java.util.List<DepthRange> highSlownessLayerDepthsP

        Stores depth ranges that contains a high slowness zone for P. Stored as DepthRange objects, containing the top depth and bottom depth.
        See Also:
          `DepthRange`

      - ##### highSlownessLayerDepthsS

            java.util.List<DepthRange> highSlownessLayerDepthsS

        Stores depth ranges that contains a high slowness zone for S. Stored as DepthRange objects, containing the top depth and bottom depth.
        See Also:
          `DepthRange`

      - ##### maxDeltaP

            double maxDeltaP

        Maximum difference between successive slowness samples. The default is 11.0 (km-sec/km or sec/rad for spherical, sec/km for flat models). See Buland and Chapman p1292

      - ##### maxDepthInterval

            double maxDepthInterval

        Maximum difference between successive depth samples, default is 115 km. See Buland and Chapman p1292

      - ##### maxInterpError

            double maxInterpError

      - ##### maxRangeInterval

            double maxRangeInterval

        Maximum difference between successive ranges, in radians. The default is 200 km / radiusOfEarth. See Buland and Chapman p1292.
        See Also:
          `SlownessModel.radiusOfEarth`

      - ##### minDeltaP

            double minDeltaP

        Minimum difference between successive slowness samples. The default is 0.1 (km-sec/km or sec/rad for spherical, sec/km for flat models). This keeps the sampling from becoming too fine. For example, a strong negative S velocity gradient just above the CMB will cause the totally reflected ScS too have an extremely large range of distances, over a very small range of ray parameters. The distance check would otherwise force a very fine sampling of this region. However since in this case time and distance are likely to be very close to being linearly related, this sort of sampling is overkill. So we ignore the distance check if the ray parameter becomes smaller than minDeltaP.

      - ##### PLayers

            java.util.List<SlownessLayer> PLayers

        Stores the final slowness-depth layers for P waves. Stored as SlownessLayer objects.
        See Also:
          `SlownessLayer`

      - ##### radiusOfEarth

            double radiusOfEarth

        Radius of the Earth in km, usually input from the velocity model.

      - ##### SLayers

            java.util.List<SlownessLayer> SLayers

        Stores the final slowness-depth layers for S waves. Stored as SlownessLayer objects. Note that SLayers and PLayers share the same SlownessLayer object within fluid layers, so changes made to one will affect the other.
        See Also:
          `SlownessLayer`

      - ##### slownessTolerance

            double slownessTolerance

        Tolerance for slownesses. If two slownesses are closer that this value, then we consider them to be identical. Basically this just provides some protection against numerical "chatter".

      - ##### vMod

            VelocityModel vMod

        Velocity Model used to get slowness model. Usually set in createSlowness().

  - ### Class edu.sc.seis.TauP.SlownessModelException extends TauPException implements Serializable

  - ### Class edu.sc.seis.TauP.SlownessPlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.SphericalSModel extends SlownessModel implements Serializable

  - ### Class edu.sc.seis.TauP.SplitLayerInfo extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### movedSample

            boolean movedSample

      - ##### neededSplit

            boolean neededSplit

      - ##### rayParam

            double rayParam

      - ##### sMod

            SlownessModel sMod

  - ### Class edu.sc.seis.TauP.TauBranch extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### botDepth

            double botDepth

        The maximum depth of this layer.

      - ##### dist

            double[] dist

        Holds distance (radians) evaluated at the ith ray parameter for this branch.

      - ##### isPWave

            boolean isPWave

        The type of wave for this branch, P or S.

      - ##### maxRayParam

            double maxRayParam

        The maximum ray parameter that can penetrate into this branch. Time, distance, and tau increments are undefined (0.0) for ray parameters larger than this.

      - ##### minRayParam

            double minRayParam

        The minimum ray parameter that is turned or critically reflected in this branch. If no rays turn, then it is set equal to maxRayParam.

      - ##### minTurnRayParam

            double minTurnRayParam

        The minimum ray parameter that is turned, but not reflected, in this branch. If no rays turn, then it is set equal to maxRayParam.

      - ##### tau

            double[] tau

        Holds tau evaluated at the ith ray parameter for this branch.

      - ##### time

            double[] time

        Holds time (seconds) evaluated at the ith ray parameter for this branch.

      - ##### topDepth

            double topDepth

        The minimum depth of this layer.

  - ### Class edu.sc.seis.TauP.TauModel extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### cmbBranch

            int cmbBranch

        Branch with the cmb at its top.

      - ##### cmbDepth

            double cmbDepth

        Depth of the cmb.

      - ##### depthCache

            java.util.HashMap<java.lang.Double,​java.lang.ref.SoftReference<TauModel>> depthCache

      - ##### iocbBranch

            int iocbBranch

        Branch with the iocb at its top.

      - ##### iocbDepth

            double iocbDepth

        Depth of the iocb.

      - ##### mohoBranch

            int mohoBranch

        Branch with the moho at its top.

      - ##### mohoDepth

            double mohoDepth

        Depth of the moho.

      - ##### noDisconDepths

            double[] noDisconDepths

        Depths that should not have reflections or phase conversions. For instance, if the source is not at a branch boundary then noDisconDepths contains source depth and reflections and phase conversions are not allowed at this branch boundary. If the source happens to fall on a real discontinuity then then it is not included.

      - ##### radiusOfEarth

            double radiusOfEarth

        Radius of the Earth in km, usually input from the velocity model.

      - ##### rayParams

            double[] rayParams

        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).

      - ##### sMod

            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.

      - ##### sourceBranch

            int sourceBranch

        Branch with the source at its top.

      - ##### sourceDepth

            double sourceDepth

        Depth for which tau model was constructed.

      - ##### spherical

            boolean spherical

        True if this is a spherical slowness model. False if flat.

      - ##### tauBranches

            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.

  - ### Class edu.sc.seis.TauP.TauModelException extends TauPException implements Serializable

  - ### Class edu.sc.seis.TauP.TauP_GUI extends javax.swing.JFrame implements Serializable

    - #### Serialized Fields

      - ##### arrivalTM

            ArrivalTableModel arrivalTM

      - ##### calculateButton

            javax.swing.JButton calculateButton

      - ##### depthTextField

            javax.swing.JTextField depthTextField

      - ##### distance

            double distance

        Initializes the Form

      - ##### distanceTextField

            javax.swing.JTextField distanceTextField

      - ##### jButton1

            javax.swing.JButton jButton1

      - ##### jLabel1

            javax.swing.JLabel jLabel1

      - ##### jLabel2

            javax.swing.JLabel jLabel2

      - ##### jLabel3

            javax.swing.JLabel jLabel3

      - ##### jList1

            javax.swing.JList jList1

      - ##### jPanel1

            javax.swing.JPanel jPanel1

      - ##### jScrollPane1

            javax.swing.JScrollPane jScrollPane1

      - ##### jScrollPane2

            javax.swing.JScrollPane jScrollPane2

      - ##### jScrollPane3

            javax.swing.JScrollPane jScrollPane3

      - ##### jTabbedPane1

            javax.swing.JTabbedPane jTabbedPane1

      - ##### modelComboBox

            javax.swing.JComboBox modelComboBox

      - ##### pathPanel

            javax.swing.JPanel pathPanel

      - ##### pathPlotArea

            PathPlot pathPlotArea

      - ##### pathTool

            TauP_Path pathTool

      - ##### phaseChooserButton

            javax.swing.JButton phaseChooserButton

      - ##### phaseDialog

            PhaseDialog phaseDialog

      - ##### pierceArrivalList

            javax.swing.JList pierceArrivalList

      - ##### pierceModel

            javax.swing.DefaultListModel pierceModel

      - ##### piercePanel

            javax.swing.JPanel piercePanel

      - ##### pierceTable

            javax.swing.JTable pierceTable

      - ##### pierceTableModel

            PierceTableModel pierceTableModel

      - ##### pierceTool

            TauP_Pierce pierceTool

      - ##### quitExits

            boolean quitExits

      - ##### timePanel

            javax.swing.JPanel timePanel

      - ##### timeTable

            javax.swing.JTable timeTable

      - ##### timeTool

            TauP_Time timeTool

  - ### Class edu.sc.seis.TauP.TauPException extends java.lang.Exception implements Serializable

  - ### Class edu.sc.seis.TauP.TauPlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.TimeDistPlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.TimePlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.VelocityLayer extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### botDensity

            double botDensity

      - ##### botDepth

            double botDepth

      - ##### botPVelocity

            double botPVelocity

      - ##### botQp

            double botQp

      - ##### botQs

            double botQs

      - ##### botSVelocity

            double botSVelocity

      - ##### myLayerNumber

            int myLayerNumber

      - ##### topDensity

            double topDensity

      - ##### topDepth

            double topDepth

      - ##### topPVelocity

            double topPVelocity

      - ##### topQp

            double topQp

      - ##### topQs

            double topQs

      - ##### topSVelocity

            double topSVelocity

  - ### Class edu.sc.seis.TauP.VelocityModel extends java.lang.Object implements Serializable

    - #### Serialized Fields

      - ##### cmbDepth

            double cmbDepth

        Depth (km) of the cmb (core mantle boundary). It can be input from velocity model (*.nd) or should be explicitly set. By default it is 2889 kilometers (from Iasp91). For phase naming, the tau model will choose the closest 1st order discontinuity. Thus for most simple earth models these values are satisfactory.

      - ##### iocbDepth

            double iocbDepth

        Depth (km) of the iocb (inner core outer core boundary). It can be input from velocity model (*.nd) or should be explicitly set. By default it is 5153.9 kilometers (from Iasp91). For phase naming, the tau model will choose the closest 1st order discontinuity. Thus for most simple earth models these values are satisfactory.

      - ##### layer

            java.util.List<VelocityLayer> layer

        expandable array to hold the layers

      - ##### maxRadius

            double maxRadius

        maximum radius of the model (km), default 6371.0

      - ##### minRadius

            double minRadius

        minimum radius of the model (km), default 0.0

      - ##### modelName

            java.lang.String modelName

        name of the velocity model.

      - ##### mohoDepth

            double mohoDepth

        Depth (km) of the moho. It can be input from velocity model (*.nd) or should be explicitly set. By default it is 35 kilometers (from Iasp91). For phase naming, the tau model will choose the closest 1st order discontinuity. Thus for most simple earth models these values are satisfactory. Take proper care if your model has a thicker crust and a discontinuity near 35 km depth.

      - ##### radiusOfEarth

            double radiusOfEarth

        reference radius (km), usually radius of the earth, by default 6371 kilometers.

      - ##### spherical

            boolean spherical

        is this a spherical model? Default is true.

  - ### Class edu.sc.seis.TauP.VelocityModelException extends TauPException implements Serializable

  - ### Class edu.sc.seis.TauP.VelocityPlot extends XYPlot implements Serializable

  - ### Class edu.sc.seis.TauP.XYPlot extends java.awt.Canvas implements Serializable

    - #### Serialized Fields

      - ##### DEBUG

            boolean DEBUG

      - ##### height

            int height

      - ##### maxX

            double maxX

      - ##### maxY

            double maxY

      - ##### minSize

            java.awt.Dimension minSize

      - ##### minX

            double minX

      - ##### minY

            double minY

      - ##### mouseDownX

            double mouseDownX

      - ##### mouseDownY

            double mouseDownY

      - ##### pappy

            java.awt.Container pappy

      - ##### title

            java.lang.String title

      - ##### width

            int width

      - ##### xData

            double[] xData

      - ##### xLabel

            java.lang.String xLabel

      - ##### xOffset

            int xOffset

      - ##### xScale

            double xScale

      - ##### xSegments

            java.util.Vector xSegments

      - ##### xTickWidth

            int xTickWidth

      - ##### yData

            double[] yData

      - ##### yLabel

            java.lang.String yLabel

      - ##### yOffset

            int yOffset

      - ##### yScale

            double yScale

      - ##### ySegments

            java.util.Vector ySegments

      - ##### yTickWidth

            int yTickWidth

      - ##### zoomMaxX

            double zoomMaxX

      - ##### zoomMaxY

            double zoomMaxY

      - ##### zoomMinX

            double zoomMinX

      - ##### zoomMinY

            double zoomMinY