these routines have been streamlined, refactored, hardened, tested, and transferred to GitHub!

In collaboration with Sofia C. Olhede, Kevin Lewis and Gabe L. Eggers, and Arthur Guillaumin.

Simulation and estimationsimulosl The main Matern field simulation routine mleosl The main maximum-likelihood estimation routine Spectral density and covariancematernos Calculates the three-parameter isotropic d-dimensions Matern spectral density maternosp Calculates the blurred isotropic d-dimensions Matern spectral density maternosy Calculates the three-parameter isotropic d-dimensions Matern covariance maternprc Returns the wavenumber meeting a cumulative spectral variance criterion Gridding and transformationknums Two-dimensional wavenumber generation knum2 Makes a two-dimensional wavenumber scale amenable to generate Hermitian fields randgpn Calculates a Hermitian array of complex proper Gaussian Fourier coefficients tospace Transforms a 2D spectral to a spatial vector using a physical, unitary transform tospec Transforms a 2D spatial to a spectral vector using a physical, unitary transform quarter Extracts the central quarter of a divisibly sized matrix v2s Vector-to-square/rectangular matrix transformation Likelihoods and their derivativeslkosl The logarithmic likelihood at a single wavenumber logliosl The logarithmic likelihood averaged over all wavenumbers gammiosl The first derivative of the logarithmic likelihood hessiosl The second derivative of the logarithmic likelihood fishiosl The Fisher matrix, the expectation of the second derivative of the logarithmic likelihood hformos Computes a commonly used quadratic form mAosl Computes a commonly recurring derivative quantity Blurring proceduresblurcheck Checks the blurring of a spectral matrix blurosy Fast, exact blurring of a spectral matrix bluros Slow, approximate blurring of a spectral matrix Matrix toolscholcheck Checks the Cholesky decomposition of a two-by-two matrix of wavenumbers invcheck Checks the inverse of a spectral matrix tracecheck Checks the trace of a matrix quadratic form hermcheck Checks the Hermitian symmetry of a spectral matrix realize Rids a matrix of small imaginary components trilos Flattens a symmetric matrix trilosi Restores a flattened symmetric matrix Plotting toolscovplos MLE results covariance plotting routine mlechiplos MLE residual statistics plotting routine mlechipsdosl MLE residual statistics and spectral density plotting routine mleplos MLE results statistics plotting routine Testing toolsnormtest Two-sided one-sample single-value test for normality trimit Outlier trimming of a data set varbias Computes the bias of the sample variance of Matern fields Reporting toolsosansw Constructs an information string for MLEOSL osdisp Constructs an information string for MLEOSL osopen Opens diagnostic information from MLEOSL osrdiag Reads diagnostic information from MLEOSL osrzero Reads diagnostic information from MLEOSL ostitle Constructs an information string for MLEOSL oswzerob Writes diagnostic information from MLEOSL oswzeroe Writes diagnostic information from MLEOSL Actual plotseggers3 Analyze Venusian patches using the suite of codes in this repository eggers6 FIGURE to illustrate the two types of residual statistics and hypothesis tetsts eggers8 FIGURE to illustrate the residual statistics and power spectral densities

Developed with Chris Harig.

baffing Glacial coordinates, splining and buffering of Baffin Island Clmlmp2Crrp Given a spectral covariance matrix, evaluates it in space Clmlmp2Cab Given a spectral covariance matrix, turns it into a Slepian covariance matrix cov2plm Given a spectral covariance matrix, generates spherical harmonics realizations ellesmereg Glacial coordinates, splining and buffering of Ellesmere Island getglaciers Gets "glacial coordinates" from the Randolph Glacier Inventory grace2plmt Turns monthly GRACE data files into a single matrix for time-dependent analysis grace2slept Transform the result of GRACE2PLMTinto a Slepian basisgrs Computes parameters for a certain geodetic reference system hash Makes a hash (NOTE: This is one of the few files not written by me! It was made by Michael Kleder) integratebasis Integrates Slepian eigenfunctions given as spherical harmonics expansions kernelcp Finds the kernel whose eigenfunctions are optimally concentrated (parallel version of KERNELC)lovenums Returns elastic Love numbers for a certain Earth model periodfit Find and fit periodic cycles through a data set plm2avg Integrates and averages spherical harmonic expansions plm2avgp Integrates and averages spherical harmonic expansions (parallel version of PLM2AVG)pmlt2diff Turns monthly GRACE data matrix into a month-to-month difference map plmt2resid Turns monthly GRACE data matrix into residuals after fitting analysis in the spherical harmonic basis plmresid2cov Turns GRACE residual time series into a spherical-harmonic spectral covariance matrix slepresid2cov Turns GRACE residual time series into a Slepian covariance matrix resid2plot Plots GRACE residual time series rotateGp Rotates a matrix returned by GLMALPHA(parallel)slept2resid Turns monthly GRACE data matrix into residuals after fitting in the Slepian basis timeseriesfit Fits polynomial functions to time series with an F-test criterion

Developed with Dong V. Wang and Eugene Brevdo.

devilliers A matrix whose eigenvectors are Jacobi expansion coefficients for radial Slepian functions jacobi Calculates Jacobi polynomials in an explicit way kernelc2D Finds the kernel for bandlimited concentration to a closed Cartesian domain localization2D Finds bandlimited functions localized to a closed Cartesian domain regionalize Turns a USGS shape file with geologic regions into Matlab binary files regionid Returns and identifies geologic regions worldwide swconsum2d Plots the cumulative energy of geographical Slepian functions, see here swdisk Constructs radial Slepian functions for concentration to a disk in the plane swfried2d Plots Slepian functions for the disk in the spatial domain, see here swregions2d Plots Slepian functions for geographical areas in the spatial domain, see here swspace2d Plots radial Slepian functions for the disk in the spatial domain, see here swspectral2d Plots radial Slepian functions for the disk in the spectral domain, see here svdslep1 Calculates one-dimensional Slepian functions by operator diagonalization svdslep2 Calculates two-dimensional Slepian functions on symmetric domains by operator diagonalization svdslep3 Calculates two-dimensional Slepian functions on arbitrary domains by operator diagonalization svdslep4 Calculates one-dimensional Slepian functions on arbitrary domains by operator diagonalization swsvd Plots two-dimensional directionally sensitive Slepian functions, see here swvals2d Eigenvalue plot of the Slepian functions for the disk, see here

U. S. National Science Foundation under grant EAR-1150145.

Developed with Alain Plattner and Li-Ying Wei.

ilk Tests three lemmata by Ilk (1983) quoted by Eshagh (2009a) legendreint01 Low degree associated Legendre functions and their integrals paul Recursive integration of associated Legendre functions

Developed with Evan Welch.

cmtsol Converts earthquakes from the CMT .ndk format into Matlab storage deltaJl Computes the low-order potential perturbation due to a catalog of moment-tensor earthquakes eqpotential Computes the first-order Eulerian potential perturbation due to a moment-tensor earthquake findrad Nearest-neighbor interpolation of a sorted sequence with repeats getmodel Reads an Earth model suitable to be input to minosyormineosgetspheroidal Reads spheroidal-mode eigenfunctions computed by minosyoreigcongettoroidal Reads toroidal-mode eigenfunctions computed by minosyoreigconmodesum Performs normal-mode summation efficiently over the branches only readCMT Reads and parses a CMT moment tensor solution file smodestrain Computes spheroidal normal-mode strain eigenfunctions smoment Calculates a scalar seismic moment tmodestrain Computes toroidal normal-mode strain eigenfunctions prem800 Link to an ASCII file with the Earth model that is input to minosyfct_prem800S.direct Link to a binary file output by minosy, the spheroidal modes file for this Earth modelfct_prem800T.direct Link to a binary file output by minosy, the toroidal modes file for this Earth modelaniprem808.dk Link to an ASCII file with the Earth model that is input to mineosaniprem808_R Link to a binary file output by mineos, the radial modes file for this Earth modelaniprem808_S Link to a binary file output by mineos, the spheroidal modes file for this Earth modelaniprem808_T Link to a binary file output by mineos, the toroidal modes file for this Earth modelSPIE2009_3 Produces Figure 1 from Simons et al., Proc. SPIE(2009), see hereSPIE2009_1 Produces Figure 3 from Simons et al., Proc. SPIE(2009), see hereSPIE2009_4 Produces Figure 4 from Simons et al., Proc. SPIE(2009), see here

abelpoisson Calculates the Abel-Poisson kernel (Amirbekyan, Michel & Simons 13-14) bcoupling Calculates the boxcar coupling matrix (Dahlen & Simons 56) bpboxcap Calculates the power spectrum of zonal boxcar caps or belts (Dahlen & Simons 48-50) galpha Spatial eigensolutions of the localization problem (Simons, Dahlen & Wieczorek 3.15/5.7) galphapto Spatial eigensolutions of the localization problem for Euler-angle rotated functions gammap Calculates a matrix important to calculate the variance of multitaper estimates (Dahlen & Simons 167) gammab Another matrix important to calculate the variance of multitaper estimates (Dahlen & Simons 164) geoboxcap Calculates the power spectrum of geographically defined boxcars glmalpha Spectral eigensolutions of the localization problem (Simons, Dahlen & Wieczorek 4.6/5.2) glmalphapto Spectral eigensolutions of the localization problem for Euler-angle rotated functions glmalphaptoJ A variant on GLMALPHAPTOglm2lmcosi Converts output from GLMALPHAinto something suitable forPLM2XYZklm2lmcosi Converts eigenfunctions of the output from KERNELCinto something suitable forPLM2XYZmcoupling Calculates the individual multitaper coupling matrix (Dahlen & Simons 131) mcouplings Calculates the eigenvalue-weighted multitaper coupling matrix (Dahlen & Simons 145) mtvar Calculates the multitaper estimation variance even for irregular regions (Dahlen & Simons 167) multivar Calculates the multitaper estimation variance, the fast way (Dahlen & Simons 163) mvarratios Calculates the eigenvalue-weighted multitaper estimation variance (Dahlen & Simons 178) periodovar Calculates the periodogram estimation variance (Dahlen & Simons 174-175) plm Associated Legendre functions (Dahlen & Tromp B.48) plm2map Makes an array of spherical harmonic expansion coefficients nicely mappable plm2rnd Generates random spherical harmonic coefficients with a certain spectral slope plm2slep Performs a Slepian expansion of a function of known harmonics ptoslep Calculates single-order single cap Slepian functions rotated about three Euler angles rnd2plm Generates random spherical harmonic coefficients with a distribution identical to some other set slep2map Makes an array of Slepian expansions coefficients nicely mappable slep2plm Performs an inverse Slepian expansion of a set of known Slepian coefficients ulmmp Single-degree transformation matrix that maps real to complex harmonics ummp Block-transformation matrix that maps real to complex harmonics rcenter Computes the centroid or center of gravity of a closed domain on the surface of the unit sphere xlm Normalized associated Legendre polynomials (Dahlen & Tromp B.58) xyz2slep Local Slepian-basis expansion of scattered data points xyz2spl Spline interpolation using the Abel-Poisson kernel ylm Normalized real spherical harmonics (Dahlen & Tromp B.72) pxyerh Error handling for PLM,XLMandYLMpxynrm Normalization verification (Dahlen & Tromp B.49/B.59/B.73) randcirc Gives the coordinates of a random blobby circle randpatch Calculates points randomly distributed on a spherical patch randsphere Calculates points randomly distributed on a spherical surface whitevariance Calculates the multitaper estimation variance, the slow way (Dahlen & Simons 162-163)

africa Coordinates, splining and buffering of Africa alloceans Coordinates, splining and buffering of the ocean basins amazon Coordinates, splining and buffering of the Amazon basin amazon.mat Coordinate data for use by AMAZONantarctica Coordinates, splining and buffering of a rotated Antarctica australia Coordinates, splining and buffering of Australia baffin Coordinates, splining and buffering of Baffin Island borneo Coordinates, splining and buffering of Borneo contshelves Coordinates, splining and buffering of continents with shelves ellesmere Coordinates, splining and buffering of Ellesmere Island england Coordinates, splining and buffering of England eqband Coordinates, splining and buffering of an equatorial band eurasia Coordinates, splining and buffering of Eurasia greenland Coordinates, splining and buffering of Greenland honshu Coordinates, splining and buffering of Honshu and Kyushu madagascar Coordinates, splining and buffering of Madagascar namerica Coordinates, splining and buffering of North America newguinea Coordinates, splining and buffering of New Guinea orinoco Coordinates, splining and buffering of the Orinoco basin orinoco.mat Coordinate data for use by ORINOCOsamerica Coordinates, splining and buffering of South America sumatra Coordinates, splining and buffering of Sumatra regselect A function called by the functions above

bezier Smooths a geograhic curve by B-spline fitting boxcap Calculates zonal polar boxcar tapers boxcaptarget Targets a zonal polar boxcar tapers to a point on the sphere caploc Calculates the location of a spherical cap cdlkernel Calculates a Christoffel-Darboux kernel with Legendre functions christoffeldarboux Verifies various Christoffel-Darboux theorems (Simons, Dahlen & Wieczorek 3.10/5.15) curvecheck Checks that a closed geographic curve makes sense dlmlmp Calculates the axisymmetric spatiospectral concentration kernel dphpatch Calculates the integration domain of a spherical patch dphregion Calculates the integration domain of a closed spherical surface grunbaum Calculates circular single-cap tapers of a single angular order grunbaum2 Calculates circular double-cap tapers of a single angular order kernelc Finds the kernel whose eigenfunctions are optimally concentrated (serial version of KERNELCP)klmlmp2rot Rotates a kernel so that its eigenfunctions are rotated versions of the unrotated kernel localization Finds bandlimited functions localized to a closed spherical domain nsubm Calculates partial Shannon number at a single angular order orthocheck Checks orthogonality, determines integration points, calculates eigenvalues phicurve Finds longitude crossings at query latitudes for closed spherical curves sdupcont Shows the effect of upward/downward continuation of the Slepian functions sdwallcons Calculates localization solutions to all of Earth's continents sdwcap Calculates circular bandlimitedsingle-cap tapers of a single angular ordersdwcap2 Calculates circular bandlimiteddouble-cap tapers of a single angular ordersdwcapt Calculates circular spacelimitedsingle-cap tapers of a single angular ordersdwcapt2 Calculates circular spacelimiteddouble-cap tapers of a single angular ordersdwelm Computes global ranking of eigenvalues for the single-cap concentration problem sdwtarget Targets a single-order circular taper to a point on the sphere sinsin Performs a longitudinal integral with (co)sine functions sincos Performs a longitudinal integral with (co)sine functions coscos Performs a longitudinal integral with (co)sine functions coscosexp Performs longitudinal integral with (co)sine functions and complex exponentials sincosexp Performs longitudinal integral with (co)sine functions and complex exponentials spharea Computes areas of closed domains on the unit sphere

sdwdiagram Figure 3.1 from Simons et al., SIAM Review (2006) sdwspace Figure 5.1 from Simons et al., SIAM Review (2006) sdwspectral Figure 5.2 from Simons et al., SIAM Review (2006) sdwvals Figure 5.3 from Simons et al., SIAM Review (2006) sdwfried Figure 5.4 from Simons et al., SIAM Review (2006) sdwsumall Figure 5.5 from Simons et al., SIAM Review (2006) sdwcmb Figure 5.6 from Simons et al., SIAM Review (2006) sdwregions Figure 6.1, 6.2 and 6.3 from Simons et al., SIAM Review (2006) sdwconsum Figure 6.4 from Simons et al., SIAM Review (2006)

sddiagram Figure 01 from Simons & Dahlen, GJI (2006) sdbelt Figure 02 from Simons & Dahlen, GJI (2006) sdspace Figure 03 from Simons & Dahlen, GJI (2006) sdcmb3 Figure 04 from Simons & Dahlen, GJI (2006) sdcmb4 Figure 05 from Simons & Dahlen, GJI (2006) sdsumbelt Figure 06 from Simons & Dahlen, GJI (2006) sdsumcaps Figure 07 from Simons & Dahlen, GJI (2006) sdeigs Figure 08 from Simons & Dahlen, GJI (2006) sdgrunval Figure 09 from Simons & Dahlen, GJI (2006) sdeta Figure 10 from Simons & Dahlen, GJI (2006) sdkay Figure 12 from Simons & Dahlen, GJI (2006) sderrs Figure 11 from Simons & Dahlen, GJI (2006) sderks Figure 13 from Simons & Dahlen, GJI (2006) sdhoerl Figure 14 from Simons & Dahlen, GJI (2006) sdspectral Figure X1 from Simons & Dahlen, GJI (2006) sdfried Figure X2 from Simons & Dahlen, GJI (2006) sdupcont Figure X3 from Simons & Dahlen, GJI (2006)

dsdiagram Figure 01 from Dahlen & Simons, GJI (2008) dsbpboxcap Figure 02 from Dahlen & Simons, GJI (2008) dsthlboxcap Figure 03 from Dahlen & Simons, GJI (2008) dsbcouplings Figure 04 from Dahlen & Simons, GJI (2008) dsbcoupling Figure 05 from Dahlen & Simons, GJI (2008) dsbcouplinglog Figure 05b from Dahlen & Simons, GJI (2008) dsmcouplings Figure 06 from Dahlen & Simons, GJI (2008) dsmcoupling Figure 07 from Dahlen & Simons, GJI (2008) dsmcouplinglog Figure 07b from Dahlen & Simons, GJI (2008) dsvarratio Figure 08 from Dahlen & Simons, GJI (2008) dsvarratio2 Figure 09 from Dahlen & Simons, GJI (2008) dsvarratio3 Figure 10 from Dahlen & Simons, GJI (2008) dsvarratio9 Figure 11 from Dahlen & Simons, GJI (2008) dscmb Figure 12 from Dahlen & Simons, GJI (2008)

addmabout Find the running index in a block array with SH degrees and orders addmin Repeats the entries in a column vector the row number of times addmoff Calculates total number of orders belonging to an alternative SH expansion addmon Lists degrees and orders belonging to a SH expansion addmout Lists degrees and orders belonging to an alternative SH expansion addmup Calculates total number of orders belonging to a SH expansion blanco Calculates spherical harmonics rotation (Wigner-D) matrix, method I cpx2rsh Converts complex to real spherical harmonics coefficients datafit Least-squares solutions to a linear system with (un)known data covariance dlmb Calculates spherical harmonics rotation (Wigner-D) matrix, method II gaunt Calculates Gaunt coefficients using three different algorithms gausslegendre Performs Gauss-Legendre quadrature gausslegendrecof Calculates weights and abscissas for Gauss-Legendre integration geopotential Plots geopotential fields for Earth, Moon and Mars guseinov Calculates Clebsch-Gordan and Gaunt coefficients using binomial coefficients igrf10 Illustrates some of these routines to plot Earth's geomagnetic field jxm2plm Loads in and converts a spherical harmonic coefficient file from Jerry X. Mitrovica legendrecof Calculates roots and coefficients of Legendre polynomials legendrediff Computes derivatives of Legendre functions legendreprodint Integrates products of Legendre functions legendreroots Calculates roots of Legendre polynomials libbrecht Libbrecht's algorithm to calculate high-order Legendre functions plmfilt Filters a set of spherical harmonic expansion coeffficients plm2mag Performs conversion of geomagnetic potential coeffficients plm2pot Reads in and scales geopotential coeffficients plm2rot Rotation of spherical harmonics coefficients using Euler angles plm2spec Calculates the power spectrum of real spherical harmonic coefficients plm2th Inverse single-order spherical harmonic transform plm2xyz Inverse spherical harmonic transform plotonsphere Plots data on a sphere plotonearth Plots data on an Earth sphere with continents plotplm Plots spherical harmonics in various ways plotslep Plots Slepian functions in various ways pl2th Inverse Legendre transform rotenberg Calculates Wigner symbol values from Rotenberg's peculiar notation rsh2cpx Converts real to complex spherical harmonics coefficients rotcof Rotation of spherical harmonics coefficients around z-axis shcos Retrieves spherical harmonics cosine coefficients from matrix listing shsin Retrieves spherical harmonics sine coefficients from matrix listing simpson Performs Simpson quadrature sinsinexp Performs longitudinal integral with (co)sine functions and complex exponentials sixj Calculates Wigner 6j coefficients, from lookup table, the main routine th2pl Forward Legendre transform th2plm Forward single-order spherical harmonic transform threej Calculates Wigner 3j coefficients, from lookup table, the main routine topography Plots topography fields for Earth, Moon and Mars trapeze Performs trapezoidal quadrature triangle Checks the triangle inequality wignercycle Calculates Wigner 3j coefficients, for lookup table wigner0j Calculates zero-bottom-row Wigner 3j coefficients, by recursion wigner3j Calculates Wigner 3j coefficients, by recursion... so-so algorithm wigner3jm Calculates Wigner 3j coefficients, by recursion... better algorithm wigner6j Calculates Wigner 6j coefficients, by recursion wignersort Calculates Wigner 3j storage indexing coefficients xyz2plm Forward spherical harmonic transform zeroj Calculates zero-bottom-row Wigner 3j coefficients, from lookup table, the main routine

In collaboration with Sofia C. Olhede.

admitos Theoretical admittances of the (estimated) parameters covthos Theoretical covariance matrix of the estimated parameters detcheck Checks the determinant of a two-by-two matrix of wavenumbers ddTos The second derivative of the lithospheric part of the spectral matrix dpos Calculates powers of products oswdiag Loads and parses a file with inversion diagnostics produced by mleosdTos The first derivative of the lithospheric part of the spectral matrix invcheck Checks the inverse of a two-by-two matrix of wavenumbers loglios The full negative logarithmic likelihood Lsurfos Calculates the likelihood surface near a point mAos Calculates commonly occuring forms in the expressions mleos Performs the maximum-likelihood estimate of the five-parameter problem mleplos Plots the maximum-likelihood estimate statistics phios An auxiliary function containing the flexural rigidity simulos Simulates random fields under the two-layer Forsyth (1985) model Tos The lithospheric part of the spectral matrix xios An auxiliary function containing the flexural rigidity

wtALL Analyzes a whole directory of data in SAC form and prints results to a file wtALL_diagnostics The actual results of the above analysis used and interpreted by Simons et al., EPSL (2006) allen1 One of a sequence of programs related to Simons et al., EPSL (2006) allen2 One of a sequence of programs related to Simons et al., EPSL (2006) allen3 One of a sequence of programs related to Simons et al., EPSL (2006) allen4 One of a sequence of programs related to Simons et al., EPSL (2006) allen5 One of a sequence of programs related to Simons et al., EPSL (2006) allen6 One of a sequence of programs related to Simons et al., EPSL (2006) allen7 One of a sequence of programs related to Simons et al., EPSL (2006) allen8 One of a sequence of programs related to Simons et al., EPSL (2006) allen9 One of a sequence of programs related to Simons et al., EPSL (2006) locident An auxiliary program to the above codes used to Simons et al., EPSL (2006) statident An auxiliary program to the above codes used to Simons et al., EPSL (2006) installen Computes the instantaneous frequency of a signal

abank Analysis filter bank compres Calculates compression level of the wavelet approximation decay Calculates the decay of the wavelet coefficients denoise Denoises a signal by wavelet thresholding dnums Calculates the number of scaling and wavelet coefficients dyadplot Plots wavelet and scaling coefficients on dyadic grid even Returns logical downsampling array fbank Filter bank illustration of perfect reconstruction fmermaid A very simple implementation of the "forward" Mermaid transform graphs Computes graphs of wavelets and scaling functions imermaid A very simple implementation of the "inverse" Mermaid transform intersub Interpolation subdivision for interpolating boundary filters iwt Inverse wavelet transform (this is the main routine) landd Returns lengths and downsampling arrays liftco Wavelet coefficients and lifting steps makewc Makes and saves data base with wavelet coefficients plotnorm Plots data on unit interval polyphase Returns the polyphase forms for a given filter pair prodco Checks the product filter sbank Synthesis filter bank succapp Successive approximation of a signal by wavelet analysis succaplot Plots successive wavelet approximation of a signal tenlectures63 Reproduces Figure 6.3 of Daubechies' "Ten Lectures" book threshold Thresholds wavelet or scaling coefficients within scale threshold2 Thresholds wavelet or scaling coefficients across scales wavetour710 Reproduces Figure 7.10 of Mallat's "Wavelet Tour" book wavetour714 Reproduces Figure 7.14 of Mallat's "Wavelet Tour" book wc Lists wavelet filter coefficients wigner Computes the alias-free Wigner-Ville distribution wt Forward wavelet transform (this is the main routine) wtimax Makes a wavelet time axis for polyphase and lifting implementations wtlift Fast discrete wavelet transform by (integer) lifting

Developed with Ignace Loris and Yanhua Yuan.

angularD2WT Forward and inverse 2-tap wavelet transform for the angular parts of a three-dimensional box angularD4WT Forward and inverse 4-tap wavelet transform for the angular parts of a three-dimensional box angularD4radialHaarWT Angular 4-tap wavelet transform followed by radial Haar transform on a special radial grid angularD6WT Forward and inverse 6-tap wavelet transform for the angular parts of a three-dimensional box angularpart513to128 Dimensionality reduction of the angular functions from 513 to 128 specific pixels angularthresh Forward transform, thresholding, and inverse transform boxcube Finds cubed-sphere running indices of geographical coordinates chunkwt Wavelet transform of a chunk of the cubed sphere cubejac Produces a single face of the cubed sphere of Ronchi et al. cubemats Produces rotation matrices for the cubed sphere of Ronchi et al. cube2lola Transforms a cubed-sphere model to geographical coordinates cube2moll Transforms a cubed-sphere model to Mollweide projection cube2scale Identifies the scales of the two-dimensional wavelet transform cube2sphere A special realization of the cubed sphere of Ronchi et al. cubewt Wavelet transform of the cubed sphere d2boxcof Collects the coefficients for the 2-tap forward and inverse wavelet transform d4box Forward 4-tap wavelet transform in a finite three-dimensional box d4boxcof Collects the coefficients for the 4-tap forward and inverse wavelet transform on the interval d4boxi Inverse 4-tap wavelet transform in a finite three-dimensional box d6boxcof Collects the coefficients for the 6-tap forward and inverse wavelet transform on the interval d2boxstep One iteration in the forward 2-tap wavelet transform on the interval d2boxstepi One iteration in the inverse 2-tap wavelet transform on the interval d4boxstep One iteration in the forward 4-tap wavelet transform on the interval d4boxstepi One iteration in the inverse 4-tap wavelet transform on the interval d6boxstep One iteration in the forward 6-tap wavelet transform on the interval d6boxstepi One iteration in the inverse 6-tap wavelet transform on the interval imageletter A code to help make plots of models on (flattened) cubed spheres interpJRmodel Makes maps at certain depths of Jeroen Ritsema's model S40RTSnancube Initializes a not-a-number cubed-sphere model loristopo2d Plots a two-dimensional thresholded wavelet transform of terrestrial topography plm2cube Transforms spherical harmonics to the faces of the cubed sphere plotonchunk Plots data on the faces of the cubed sphere in the plane plotoncube Plots single-depthmodels on (flattened) cubed spheresplotoncube2 Plots selected-depthmodels on (flattened) cubed spheres directly from PETSc or structure inputplotoncube3 Plots every-depthmodels on (flattened) cubed spheres directly from PETSc or structure inputpreconD4 Preconditioning for the 4-tap wavelet transform for a three-dimensional box preconD6 Preconditioning for the 6-tap wavelet transform for a three-dimensional box radialHaarWT Forward and inverse Haar transform for the radial part of a three-dimensional box radialpart129to37 Dimensionality reduction of the radial functions from 129 to 37 specific layers randcube Creates a random cubed-sphere model raydyntrace An interface to the FORTRANprogramraydyntrace.fraykernels An interface to the MATLABprogramraydyntrace.mreadGNmodel Read Raffa Montelli's model PRI-05at one particular depthreadJRmodel Read Jeroen Ritsema's model S40RTSrtssplines Get spline expansion coefficients for Jeroen Ritsema's model S40RTSskernelplot Makes a two-dimensional plot of a kernel at depth sphere2cube Converts spherical coordinates to the equivalent standard cubed sphere coordinates

loris1 Produces Figure 1 from Simons, Loris, et al. (2011) loris2 Produces Figure 2 from Simons, Loris, et al. (2011) loris3 Produces Figure 3 from Simons, Loris, et al. (2011) loris4 Produces Figure 4 from Simons, Loris, et al. (2011) loris5 Produces Figure 5 from Simons, Loris, et al. (2011) loris6 Produces Figure 6 from Simons, Loris, et al. (2011) loris7 Produces Figure 7 from Simons, Loris, et al. (2011) loris8 Produces Figure 8 from Simons, Loris, et al. (2011) loris9 Produces Figure 9 from Simons, Loris, et al. (2011)

bracewell Illustrates the real/imaginary properties of the Fourier transform fhanning Calculates a Hann window for spectral analysis jackknife Returns delete-one sampling matrix for a set of values parseval Illustrates Parseval's theorem for the Fast Fourier Transform pchave Chave's method of robust spectral estimation pchavedemo Illustration of Chave's method of spectral estimation using PCHAVEscalogramplot Calculates and then nicely plots the wavelet scalogram spectrogram Calculation of the Fourier spectrogram specdensplot Calculates and then nicely plots the spectral density using PCHAVEtimdomplot Reads and then nicely plots seismic data using READSACtimspecplot Calculates and then nicely plots the spectrogram using SPECTROGRAM

admittance Expected admittance using Forsyth's (1985) set of assumptions admitf2 Expected Forsyth admittance for varying loading fractions. Produces this figure. admitr Expected Forsyth admittance for varying load correlations. Produces this figure. admittb Expected Forsyth admittance for top- and bottom-only loading. Produces this figure. annulus Calculates a 2-dimensional annulus bayram Calculates a Hermite-multiple window spectral estimate choice Picks a set of Hermite multitapers cohen Calculates the smoothing kernel for a Cohen's class spectral estimator coheref2 Expected Forsyth coherence for varying loading fractions. Produces this figure. coherer Expected Forsyth coherence for varying load correlations. Produces this figure. coherete Expected Forsyth coherence for varying elastic thicknesses. Produces this figure. DtoTe Converts flexural rigidity to effective elastic thickness forsyth Expected coherence and admittance using Forsyth's (1985) set of loading assumptions geninv Calculates the generalized inverse halfmazi Calculates maximum and half maximum along an azimuth in a 2-D data set halfmiso Calculates maximum and half maximum of an azimuthally averaged 2-D data set hermite Computes Hermite-polynomial multitapers hermitian Makes a matrix Hermitian so its inverse Fourier transform is real laguerre Computes Laguerre polynomials loading Computes topography, gravity and their relation for an arbitrary loading model loading1 A demo version of loadingloading2 A second demo version of loadingmaxazi Calculates mean and maximum of mean azimuthal line integral of a data set. mckenzie Predicts coherence and admittance using McKenzie's (2003) method mtm Two-dimensional multi-taper analysis mtm3 Two-dimensional multi-taper analysis with Slepian tapers mtm4 Two-dimensional multi-taper analysis with Hermite tapers parker Computes terrain/Bouguer corrections using Parker's (1972) method planef Calculates and/or draws a plane planefit Calculates a best-fitting plane through a data set randphase Returns random phase angles syncoh Creates a data set with a known coherence to another one transl Predicts transitional coherence wavelength for a loading model

blockcorr Calculates correlation coefficients between tiles of two images blockcorr2 Uses BLOCKCORRto find best-fitting shifts to align two imagesblockcorr3 Uses BLOCKCORR2to successively correlate a series of imagesblockisolate Retrieves a submatrix from within a larger matrix blockisolate2 Retrieves a subregion from within a larger area, in physical coordinates blockmean Calculates means of submatrices within a matrix blocktile Calculates (the number of) overlapping squares tiling a matrix innermerge Writes newly aligned images from parameters calculated by BLOCKCORR3

lowpass Low pass filtering bandpass Bandpass filtering bpmin Finds frequencies where a filter pass band exceeds a certain dB level jul2dat Julian day inverse conversion dayofyear Calculates the (fractional) ordinal day (NOTE: this was written by Peter J. Acklam) hipass High pass filtering jul2dat Julian day forward conversion makehdr Initializes a SAC-formatted binary header file readsac Reads SAC-formatted binary seismograms stalta A STA/LTA triggering algorithm for event detection in time series station Gets a list of seismic stations statident Identifies station attributes from a station list writesac Writes SAC-formatted binary seismograms wtevents Makes a diagnostic wavelet analysis plot of a seismogram cmtday PERLscript to extract events by date from a `cat *dek` CMT mastercmtloc PERLscript to extract event attributes from a `cat *dek` CMT mastercmtsol PERLscript to extract an event by code from a `cat *dek` CMT master and write SPECFEM outputparrival FORTRANwrapper aroundttimessuitesaclib PERLscripts to process SAC files in a variety of waystmins Gets PandSarrival times and ray parameters for a given earthquake

mermaid04 Makes Figure 4 from Simons et al., JGR (2009) mermaid03 Makes Figure 5 from Simons et al., JGR (2009) (data available here, there & yonder ) mermaid05 Makes Figure 6 from Simons et al., JGR (2009) (data available here, there & yonder ) bft An algorithm that derives a quality criterion from a spectrogram analysis bst An algorithm that derives a quality criterion from a wavelet analysis mevents Identifies certain SAC events collected by MERMAID (available here, there & yonder ) signals Spectral analysis of certain SAC signals collected by tethered hydrophones (available here) signals2 Spectral/wavelet analysis of certain SAC signals collected by tethered hydrophones (available here) signals_ill Makes nice plots, e.g. this one and that one, of a selection of hydrophone signals (available here) wtevents3 Provides diagnostics from time-frequency and time-scale analysis; demos one, two, three, four, five

acor2ind Matches a physical coordinate to a sequential equal-area grid cell index aind2sub Returns row and 'column' index given a sequential equal-area grid cell number apex Calculates highest points on a great circle asub2ind Returns a sequential equal-area grid cell number given a row and 'column' index authalic Calculates an equal-area grid for a regional tomography experiment clutser Simplified clustering algorithm to equalize coverage in discrete cells distgrc Calculates coordinates of points at a certain distance on a great circle eqplot Plots an equal-area grid as calculated by AUTHALICfillauth Fills the cells of an equal-area grid from AUTHALICwith prescribed colorsfridplot Plots a regular grid in two dimensions fridplotw Plots a dyadic wavelet grid in two dimensions grcazim Calculates points lying on a great circle of specified azimuth grcircle Calculates great circle points through a pair of points grcdist Calculates uncorrected great-circle distance gridcheck Check if grid dimensions are up to containing all event/station pairs gridlod2 Loads the three-dimensionsal grid defined by GRIDINFOandINAMAK3Dgridsec Performs surface-wave ray tracing and calculates sensitivity matrix elements - with demo lat2lon Calculates great-circle longitudes at specific latitudes lcsg Loads all matrices with information written by and for SURFTRACElcsd Loads some matrices with information written by SURFTRACElon2lat Calculates great-circle latitudes at specific longitudes neqplot Plots a clustered grid as calculated by CLUTSERsurfaz Calculates azimuthal coverage from the matrices written by SURFTRACEsurfdens Calculates ray path density from the matrices written by SURFTRACEsurftrace Uses GRIDSECto calculate and write the matrices for inversion (this is the main routine)truecourse Calculates the true course at the first point between great-circle points

addcb Adds a colorbar for use with multiple color maps adrc Adds a row and a column to a matrix suitable for plotting arrow Makes a reasonably good-looking arrow out of quiverbindens Density plot for data where histograms are made for the y-data only binsearch Performs a binary search through a presorted array bottom Moves a graphics handle to the bottom of the stack boxmid Finds the middle of a box boxtex Makes rectangular boxes filled with text cax2dem Maps the limits of the data into a nice discontinuous colormap cbarticks Forces agreement of colorbar tick marks and labels with figure cellnan Initializes a cell array circ Plots circles and circle segments cor2ind Switches between physical coordinates and matrix indices curvedist Calculates the distance between two curves dat2col Converts data values to indices in one of multiple color maps decibel Converts a range of values to decibel defcell Supplies default fields and values to a named cell array defstruct Supplies default fields and values to a named structure defval Supplies default value to a named variable degamini Undoes gamini which replicates elements of a vector deggies Put degree signs on a graph demmap Applies colormap suitable to plot Earth's topography difer Evaluates the difference between two quantities diferm Evaluates the difference between two quantities, mute form dindeks Returns indices to the ith plane perpendicular to the dth dimension of a 3D array discinter Interpolates with discontinuities discident Identifies discontinuities equistat Expresses a geographical grid in terms of its projected E-W and N-S distances errorfill Plots error bars as shaded regions errorxy Plots symmetric error bars on data in the the x and y direction errorxy2 Plots asymmetric error bars on data in the the x and y direction ext2lrtb Transforms 'extent' to 'left-right-top-bottom' coordinates for use with FILLBOXfftaxis Makes a frequency axis for Fourier transformed data fftaxis1D Makes a frequency axis for Fourier transformed time series figdisp Suggests print command for graphics fig2print Makes the figure window wysiwyg filepair Retrieves a pair of filenames from a directory fillbox Makes rectangular boxes filled with color flipflop Flips and duplicates a matrix suitable for spectral analysis fieldnamesr Recursively finds all the field names in a structure (NOTE: This was made by Adam Tudor Jones) fralmanac An almanac with Earth and planetary data fsize Determines a file size gamini Replicates elements of a vector gamini2 Replicates elements of a matrix gauss Makes a 1-D gaussian gauss2 Makes a 2-D gaussian getcol Converts a color symbol into RGB values getcontour Extracts a contour cell matrix from a contour vector getfieldr Gets named fields from any depth in a structure getkids Gets axis children getpos Gets axis handle positions gettit Gets axis handles to the figure title getx Reconciles getting axis handles/objects properties between Matlab versions gravifilt Makes filtered maps of EGM2008 geoid grey Defines a scaled grey color guess Returns a random integer halverange Sets color axis limits to reasonable values imagef Plots a map using pixel-centered coordinates imagefdir Plots a map using pixel-centered coordinates using direct indexing imagefnan Plots a map with NaN's using pixel-centered coordinates indeks Returns the ith entry of a matrix ind2cor Switches between matrix indices and physical coordinates insert Insert elements at certain positions into a vector isav Returns azimuthally isotropic average of a two-dimensional array isempty Replicates the axis- handlebehavior ofISEMPTYfor axisobjectsisnan Replicates the axis- handlebehavior ofISNANfor axisobjectsjoincolmap A colormap routine used by PLOTTOPOkelicol Uses the color scheme designed by Hrafnkell Kárason krijetem Creates figure subplot panels and returns handles to them kindeks Returns the ith column of a matrix latitude Yields coordinates for a line of latitude label Puts smart labels on figure panels laxis Positions an axis on top of another one for easy annotation lcs2spr Converts the format written by SURFTRACEto a conventionally sparse matrixldetrend Removes best-fitting linear trend from data letter Returns letters from the alphabet linazim Plots directional data on a map loadb Loads binary data longitude Yields coordinates for a meridian lrtb2ext Transforms 'left-right-top-bottom' to 'extent' coordinates for use with FILLBOXls2cell Collects directory contents in a cell array longticks Produces outward facing tickmarks maprotate A dateline crossing map plotting trick matranges A supremely useful function to make index vectors minmax Finds the minimum and maximum value of a matrix mollweide Projects data into a Mollweide projection movev Moves a figure object vertically moveh Moves a figure object horizontally moving Computes moving average of a signal nolabels Dispenses with axis labels nonunique Extracts the nonunique members from a vector noticks Dispenses with axis ticks nounder Gets rid of a filename underscore number Generates/displays row numbers for an array ondiag Finds the diagonal entries in a matrix openup Makes the axis slightly more than "tight" osdep Changes flag according to the operating system parse Performs some simple string parsing pauli Returns a Pauli-type matrix useful in the generation of Toeplitz matrices penlift A lift-the-pen routine to plot curves on periodic domains plotcont Plots continental outlines from a database plotplates Plots plate boundaries from a database plotprop Plots geographically distributed properties as color-scaled dots plotprops Plots x, y, z scatter plots as color-scaled dots plottopo Simple topography plotting routine with appropriate colormap polargrid Creates a geographical map-projection grid centered on the North pole, equally spaced in E-W and N-S POMME4 Reads in and scales geomagnetic coeffficients of the POMME-4 model pref Gets a filename prefix project Projects a simple coordinate transformation on a map radavg Returns radial and azimuthally averages of a two-dimensional array randij Returns a random size for a matrix of a certain total number of elements recindex Returns the mapping of one array into another renamefield Renames field variables in a structura array revolve Transforms a radial profile into a cylindrically symmetric data set rindeks Returns the ith row of a matrix rotdom Rotates a two-dimensional data domain over a specified angle rots Rotates the Slepian polar-cap basis around the z-axis rottp Rotates three-dimensional points about three Euler angles rottick Rotates tick mark labels on the axes of a graph rotx Rotates vector in three dimensions around the x-axis roty Rotates vector in three dimensions around the y-axis rotz Rotates vector in three dimensions around the z-axis row2stats Find statistics of data presented belonging to different groups scale Scales data values to fall within some range seemax Equalizes axis ranges on plots sergeicol Uses the color scheme designed by Sergei Lebedev serre Brings subplot panels closer together setnans Prevents color plotting values below a certain threshold setx Reconciles setting axis handles/objects properties between Matlab versions shrink Reduces width and height of a graphics object shuffle Shuffles the rows or entries in a matrix or vector skip Reduces a vector by skipping certain positins spr2lcs Converts a conventionally sparse matrix to the format written by SURFTRACEsspdist Calculates the distances between the entries of a matrix ssp21sp Expresses distances between matrix entries in terms of a common origin star69 Returns calling function name it it exists structempty Initializes a structure array with empties struct2str Deblanks, displays and writes a structure array struct2var Pulls variables out of a structure and assigns them in the workspace subnum Returns a set of figure panel subnumbers suf Gets a filename suffix supertit Finds space for a title spanning several panels tindeks Returns the ith third dimension of a 3D array top Moves a graphics handle to the top of the stack topofilt Makes filtered maps of EGM2008 topography and its gradients tridiag Constructs a tridiagonal matrix undeggies Removes degree signs from a graph writeb Writes binary data xpand Expands a graphics axis by a percentage of the plotted data range xtraxis Adds a second axis to a plot xtraxis1d Adds a logarithmic wavelength axis to a wavenumber plot xtraxis1dlin Adds a linear wavelength axis to a wavenumber plot xxpdist Calculates all pairwise distances between the entries of two vectors tls Total least squares: regression with errors in both variables

ak135s.m The eponymous smoothed one-dimensional seismic Earth model and its gradient ak135.mat The eponymous smoothed one-dimensional seismic Earth model conm.mat Continental data for use in PLOTCONTcont.mtl Continental data for use in PLOTCONTcost.mtl Continental data for use in PLOTCONTDaubechies.mat Daubechies' wavelet coefficients for use in WCCDF.mat Cohen, Daubechies, Feauveau wavelet coefficients for use in WCCDFI.mat Cohen, Daubechies, Feauveau integer wavelet coefficients for use in WCEarth.mat Earth data for use in FRALMANACEarthTopo.mat Toy Earth topography data MarsTopo.mat Toy Martian topography data VenusTopo.mat Toy Venus topography data earthmodel Plots Plots one-dimensional reference seismic Earth models gji2002lonlat Simons et al. (GJI, 2002) data set for use in the GRIDSECdemogeneric.m An example program with information pertaining to the depth grid for GRIDLOD2gridinfo An example file with information pertaining to a surface grid for GRIDLOD2iasp91s.m The eponymous smoothed one-dimensional seismic Earth model and its gradient iasp91s.mat The eponymous smoothed one-dimensional seismic Earth model inamak3d An example file with information pertaining to a depth grid for GRIDLOD2kelim.mat A color scheme designed by Hrafnkell Kárason for use in KELICOLMars.mat Mars data for use in FRALMANACMoon.mat Moon data for use in FRALMANACplates.mtl Plate boundary data for use in PLOTPLATESplatm.mat Plate boundary data for use in PLOTPLATESpomme-4.2s-nosecular.cof Spherical harmonic data for use in POMME4premisos.m The eponymous smoothed one-dimensional seismic Earth model premiso.mat The eponymous smoothed one-dimensional seismic Earth model PRI5w.gz The coefficients of Raffa Montelli's PRI-05 model SHM.mat Spherical harmonic data for use in FRALMANACstaltademo.zip Sample seismograms for use in the STALTAdemosergeim.mat A color scheme designed by Sergei Lebedev for use in SERGEICOLstations.mat A file with station names and coordinates topo.mat A color scheme good to plot Earth's topography for use in DEMMAPtapestry.mat A tectonic regionalization for North America Venus.mat Venus data for use in FRALMANACWORLDGeol1.mat A tectonic regionalization for the world made by REGIONALIZEand read byREGIONALIDXmidcpy.mat A data set to use in LOADING2xpall.mat Spline-basis interpolation coefficients for 'all' depths used by RTSSPLINESxpcube.mat Spline-basis interpolation coefficients for the 'cubed-sphere' depths used by RTSSPLINESXYZ.mat Spatial data for use in FRALMANAC

Frederik Simons Last modified: Fri Dec 10 16:01:49 EST 2021 |