## Vince Cronin's Open-Source Codes

#### Mathematica Notebooks

• Primer on the kinematics of the lithosphere and continental crust This developing set of Mathematica notebooks is arranged as chapters for a course in plate kinematics. Draft chapters can be accessed via http://croninprojects.org/Vince/PlateKinematics/GradStructHome12.html
• TriangleStrain.nb This Mathematica code computes the horizontal strain given GPS velocities of three non-colinear geodetic stations. Download from http://croninprojects.org/Vince/Codes/TriangleStrain.nb
• FisherStats.nb This Mathematica app operates on a Microsoft Excel data file containing the trend and plunge of each vector in a set of arbitrary number. The results include the mean trend, uncertainty in mean trend, mean plunge angle, uncertainty in mean plunge angle (i.e., the alpha 95 or angular radius of the 95% confidence cone around the mean vector) and the precision parameter k computed using the statistical methods of R.A. Fisher (1953). For a recent reference, see Cronin, V.S., 2008, Finding the mean and 95% confidence interval of a set of strike-and-dip or lineation data: Environmental and Engineering Geoscience, v. 14, no. 2, p. 113-119. Download the current version from http://croninprojects.org/Vince/Codes/FisherStats.nb
• FisherStatsSD.nb This Mathematica app operates on a Microsoft Excel data file containing an arbitrarily large set of strike-and-dip measurements. The results include the mean strike, uncertainty in mean strike, mean dip angle, uncertainty in mean dip angle (i.e., the alpha 95 or angular radius of the 95% confidence cone around the mean vector) and the precision parameter k computed using the statistical methods of R.A. Fisher (1953). For a recent reference, see Cronin, V.S., 2008, Finding the mean and 95% confidence interval of a set of strike-and-dip or lineation data: Environmental and Engineering Geoscience, v. 14, no. 2, p. 113-119. Download the current version from http://croninprojects.org/Vince/Codes/FisherStatsSD.nb
• EllipseUncertainty.nb This Mathematica app computes the half width of the envelope around an uncertainty ellipse given the dip angle of the enveloping surfaces. The input data include the vertical uncertainty (in km), the horizontal uncertainty, and the dip angle of the envelope. The notebook includes an explanation of the process, and has a module that executes the process and that can be inserted into other Mathematica code. Download the current version from http://croninprojects.org/Vince/Codes/EllipseUncertainty.nb (~134 kb); download a pdf file of the notebook at http://croninprojects.org/Vince/Codes/EllipseUncertainty.pdf (~204 kb)
• SLAMCode.nb This Mathematica code is explained in Cronin, V.S., Millard, M., Seidman, L, and Bayliss, B., 2008, The Seismo-Lineament Analysis Method (SLAM) -- A Reconnaissance Tool to Help Find Seismogenic Faults: Environmental and Engineering Geoscience, v. 14, no. 3, p. 199-219. Updated in 2011 to include use of ellipsoidal focal uncertainty volume. Download from http://croninprojects.org/Vince/Codes/SLAMcode.nb
• EigenDecomposition2D.nb This Mathematica app operates on data inserted by the user directly into the notebook, namely the stress acting normal to the X plane, the stress acting normal to the Y plane, and the shear stress acting on the X plane in the Y direction. The results include the magnitude of the greatest principal stress, the magnitude of the least principal stress, the angle between the X axis and the greatest principal stress axis, and a plot of the stress ellipse. Download from http://croninprojects.org/Vince/Codes/EigenDecomposition2D.nb
• EigenDecomposition3D.nb This Mathematica app operates on data inserted by the user directly into the notebook, namely the stress acting normal to the X, Y and Z planes, respectively, the shear stress acting on the X plane in the Y direction, the shear stress acting on the X plane in the Z direction, and the shear stress acting on the Y plane in the Z direction. The results include the magnitude of the three principal stresses, the unit vector corresponding to each of the three principal stress axes, and plots of the stress ellipsoid as a set of points and as a shaded surface. Download from http://croninprojects.org/Vince/Codes/EigenDecomposition3D.nb
• FindOtherPlane_DipDFVersion.nb This brief Mathematica app operates on a Microsoft Excel data file containing the dip azimuth, dip angle, and rake from one nodal plane of a set of focal mechanism solutions and computers the orientation data for the other nodal plane. Download from http://croninprojects.org/Vince/Codes/FindOtherPlane_DipDFVersion.nb
• FindOtherPlane_DipVers.nb This brief Mathematica app operates on user input of the dip azimuth, dip angle, and rake from one nodal plane of a single focal mechanism solution and computers the orientation data for the other nodal plane. Download from http://croninprojects.org/Vince/Codes/FindOtherPlane_DipVers.nb
• SLAM_Data_Diet.nb This brief Mathematica app reduces the size of ASCII DEM data files by reducing the resolution (increasing the node spacing), discarding the extra data. Download from http://croninprojects.org/Vince/Codes/SLAM_Data_Diet.nb
• SeismoLinGeomorph.nb This Mathematica code creates a hillshade image of a seismo-lineament, illuminated perpendicular to the lineament. Download from http://croninprojects.org/Vince/Codes/SeismoLinGeomorph.nb
• DistanceAndAzimuth.nb The purpose of this Mathematica notebook is to explain how to compute the direction or bearing from a reference point to another point, and to determine the shortest distance between those two points given the assumption that Earth is spherical. Download from http://croninprojects.org/Vince/Codes/DistanceAndAzimuth.nb
• DistanceAndAzimuthDB.nb This Mathematica notebook does the same thing as DistanceAndAzimuth.nb but operates on an Excel database rather than on manually input data. Download from http://croninprojects.org/Vince/Codes/DistanceAndAzimuth.nb
• InstRelVel.nb The purpose of this Mathematica notebook is to explain how to compute the direction and magnitude of the vector of instantaneous relative plate motion at a given location on Earth's surface, and to perform the computation using data provided by the user. That is, we seek to understand where a point on one plate is going relative to another plate. Download from http://croninprojects.org/Vince/Codes/InstRelVel.nb
• CircRelMotion.nb The purpose of this Mathematica notebook is to explain how to compute a circular trajectory around an axis of rotation, given the angular speed and the assumption that Earth is spherical. The embedded text discusses why this is not a generally valid model for the finite relative motion of plates. Download from http://croninprojects.org/Vince/Codes/CircRelMotion.nb
• CycloidModel2010.nb The purpose of this Mathematica notebook is to explain how to compute a cycloidal trajectory of a point on one plate as observed from another plate over a finite time interval, given the angular velocity vector for each of two plates observed in a frame of reference external to the plates and the assumption that Earth is spherical. The embedded text discusses why this is a kinematically admissible model for the finite relative motion of plates. Download from http://croninprojects.org/Vince/Codes/CycloidModel2010.nb

If you have any questions or comments about this site or its contents, drop an email to the humble webmaster.

All of the original content of this website is © 2014 by Vincent S. Cronin