YourName-HW08.nb

Written in Mathematica 12.2.0.0 Vince Cronin
Begun March 9, 2021, with some material from earlier documents;  revised March 14.

The Question

What is the instantaneous tangential velocity of the Pacific plate, relative to the No-Net-Rotation reference frame, at Wallace Creek along the San Andreas fault?

A Chosen Point

We will look at a point along the San Andreas fault in central California at Wallace Creek:  latitude 35.271641, longitude -119.827653.

refPtLat=35.271641;
refPtLong=-119.827653;

A Model of the Instantaneous Motion of Plates Relative To A Reference Frame External to the Plates

We will use data from Kreemer, Blewitt, and Klein (2014), table S2 in the supporting information (https://agupubs-onlinelibrary-wiley-com.ezproxy.baylor.edu/action/downloadSupplement?doi=10.1002%2F2014GC005407&file=ggge20572-sup-0017-suppinfotab02.txt), for the instantaneous motion of the Pacific plate in a No-Net-Rotation reference frame:  pole latitude -62.55°, pole longitude 110.70°, angular velocity 0.681°/Myr.  For interest’s sake, the instantaneous motion of the North American plate in this NNR reference frame has a pole location of latitude -1.40°, longitude -86.22°, and angular velocity 0.207°/Myr.

paRelNNRLat=-62.55;
paRelNNRLong=110.70;

omegaPArelNNR=0.681;

User-Defined Functions and Modules

The module findAzimuthVectInput[] determines the azimuth from a reference point (location vector refPtVect) to a target point (location vector otherPtVect).

findAzimuthVectInput[refPtVect_,otherPtVect_]:=Module[{northPole,vectorA,vectorB,θ1,θ2,vectorC,θ3,azimuth},northPole={0,0,1};vectorA = Cross[northPole,refPtVect];vectorB = Cross[otherPtVect,refPtVect];θ1=VectorAngle[vectorA,vectorB](180/π);θ2=VectorAngle[vectorA,otherPtVect](180/π);vectorC=Cross[refPtVect,vectorA];θ3=VectorAngle[vectorC,otherPtVect](180/π);azimuth=If[((θ2==90)∨(θ2==180)),If[(θ3<=90),0,180],If[(θ2>90),(360-θ1),θ1]];azimuth ];

The module findTangVelGeog[] determines the tangential speed (in mm/yr) and azimuth of relative motion at a particular point (geographic coordinates ptLat and ptLong ), given the pole of positive (anticlockwise) motion (geographic coordinates poleLat and poleLong) and the angular velocity (angVel) expressed in degrees per million years.
•  This module calls (and so requires) the user-defined module findAzimuthVectInput[]
•  The output of this module is a list of two numbers.  The first number is the tangential speed, expressed in millimeters per year.  The second number is the azimuth, expressed in degrees.

findTangVelGeog[ptLat_,ptLong_,poleLat_,poleLong_,angVel_]:=Module[{ptCart,poleCart,phi,tangSpeed,azToPole,azimuth,answer},ptCart={Cos[ptLat Degree]*Cos[ptLong Degree],Cos[ptLat Degree]*Sin[ptLong Degree],Sin[ptLat Degree]};poleCart={Cos[poleLat Degree]*Cos[poleLong Degree],Cos[poleLat Degree]*Sin[poleLong Degree],Sin[poleLat Degree]};phi=VectorAngle[ptCart,poleCart];tangSpeed=(Sin[phi](angVel*((2π 6371010000)/360)))/1000000;azToPole=findAzimuthVectInput[ptCart,poleCart];azimuth=If[azToPole>270,azToPole-270,azToPole+90];answer={tangSpeed,azimuth};answer];

Computation

Solve the problem using findTangVelGeog[ ]

In this case, we use only the raw input data that was expressed in geographic coordinates.

Output

Tangential speed, expressed in millimeters per year.

Azimuth of the tangential velocity vector, expressed in degrees.

References

Boyd, S., and Vandenberghe, L., 2018, Introduction to Applied Linear Algebra — Vectors, Matrices, and Least Squares:  Cambridge, UK, Cambridge University Press, 463 p.

Davis, H.F., and Snider, A.D., 1987, Introduction to Vector Analysis [5th edition]:  Boston, Massachusetts, Allyn and Bacon, 365 p.

Goldstein, H., 1980, Classical Mechanics [2nd edition]:  Reading, Massachusetts, Addison-Wesley Publishing Company, 672 p.

Kreemer, C., Blewitt, G., and Klein, E.C., 2014, A geodetic plate motion and Global Strain Rate Model:  Geochemistry, Geophysics, Geosystems, v. 15, p. 3849-3889, doi:10.1002/2014GC005407.
Supplementary table S2 is accessible as an Excel spreadsheet via https://CroninProject.org/Vince/PlateKinematics/KinematicsCourse/KreemerEtAl2014TableS2.xls