This MatLab function is to draw a full moment tensor beachball diagram. The function is written in MatLab ver. 2015a. Written to give a MatLab equivalent to psmeca –Sm in GMT.


Conder, J.A. and C.A. Arciniegas, Conjugate faulting in the Wabash Valley Fault Zone exhibited by the Nov 20, 2012 M3.6 earthquake, a Mt. Carmel late aftershock, Seismological Research Letters, 2017


>> focalmech(M,centerX,center,diam,{varagin})

Required inputs are:

M: 3x3 moment tensor or 1x6 vector of 6 independent components

(Mrr, Mtt, Mff, Mrt, Mrf, Mtf)

CenterX, CenterY: location to center beachball on active plot

Diam: diameter to make beachball in active plot units

Optional inputs {varargin}:

Change fill color. E.g., ‘r’ for red, [0.5 0.5 0.5] for gray.

Aspect ratio of width to height (useful if axes are not equal)

Scalar input. ‘map’ will auto scale for Mercator projection

Force double-couple beachball with ‘dc’.

Add label to beachball with ‘title’, followed by string


% Ryukyu Islands earthquake 4/18/2008 (from globalcmt.org) M = [4.070 -1.830 -2.240 1.500 1.410 -1.110]; Mw = 5.0; figure(1) clf focalmech(M,0,0,Mw) axis equal % Mt. Carmel aftershock 4/18/2008 M = [ -0.754 2.250 -1.490 -0.435 -0.094 0.730 ]; Mw = 4.6; focalmech(M,5.2,0,Mw) set(gca,'Visible','off')

April 17, 2017

James A. Conder