Open Source Software

GPL v2 license

RSS feed (to be discontinued)

Latest Release 1.0.1 (Lemaître) is now available as

Making the most of GRACE

Supported in part by the U. S. National Science Foundation under grants EAR-1014606 and ANT-1245788. 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 GRACE2PLMT into a Slepian basis
grs Computes parameters for a certain geodetic reference system
hash Makes a hash (NOTE: This is one of the few files not written by us! 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

Spatiospectral concentration in the Cartesian plane

Supported in part by the U. S. National Science Foundation under grant EAR-0710860. Developed with Dong V. Wang.
devilliers Builds 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
svdslep 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
swsvd Plots two-dimensional directionally sensitive Slepian functions, see here
swvals2d Eigenvalue plot of the Slepian functions for the disk, see here

Vectorial Slepian functions for geomagnetism and other applications

Supported in part by the Ulrich Schmucker Memorial Trust, the Swiss National Fonds, and by the
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

Normal-mode analysis (including of gravity perturbations due to earthquakes)

Supported in part by the U. S. National Science Foundation under grant EAR-1014606. 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 minosy or mineos
getspheroidal Reads spheroidal-mode eigenfunctions computed by minosy or eigcon
gettoroidal Reads toroidal-mode eigenfunctions computed by minosy or eigcon
modesum 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 minosy
fct_prem800S.direct Link to a binary file output by minosy, the spheroidal modes file for this Earth model
fct_prem800T.direct Link to a binary file output by minosy, the toroidal modes file for this Earth model
aniprem808.dk Link to an ASCII file with the Earth model that is input to mineos
aniprem808_R Link to a binary file output by mineos, the radial modes file for this Earth model
aniprem808_S Link to a binary file output by mineos, the spheroidal modes file for this Earth model
aniprem808_T Link to a binary file output by mineos, the toroidal modes file for this Earth model
SPIE2009_3 Produces Figure 1 from Simons et al., Proc. SPIE (2009), see here
SPIE2009_1 Produces Figure 3 from Simons et al., Proc. SPIE (2009), see here
SPIE2009_4 Produces Figure 4 from Simons et al., Proc. SPIE (2009), see here

Spherical harmonics and localization: the definitive suite

Supported in part by the U. S. National Science Foundation under grant EAR-0105387.
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 GLMALPHAPTO
glm2lmcosi Converts output from GLMALPHA into something suitable for PLM2XYZ
klm2lmcosi Converts eigenfunctions of the output from KERNELC into something suitable for PLM2XYZ
mcoupling 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, XLM and YLM
pxynrm 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)

Geography: Outlines of regions of interest

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 AMAZON
antarctica 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 ORINOCO
samerica Coordinates, splining and buffering of South America
sumatra Coordinates, splining and buffering of Sumatra
regselect A function called by the functions above

Spatiospectral concentration on a sphere

Supported in part by the U. S. National Science Foundation under grant EAR-0105387.
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 bandlimited single-cap tapers of a single angular order
sdwcap2 Calculates circular bandlimited double-cap tapers of a single angular order
sdwcapt Calculates circular spacelimited single-cap tapers of a single angular order
sdwcapt2 Calculates circular spacelimited double-cap tapers of a single angular order
sdwelm 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 longitudinal integral with (co)sine functions
sincos Performs longitudinal integral with (co)sine functions
coscos Performs 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

Spatiospectral concentration on a sphere: Figures

Supported in part by the U. S. National Science Foundation under grant EAR-0105387.
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)

Spherical Slepian functions and the polar gap in geodesy: Figures

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)

Spectral estimation on a sphere in geophysics and cosmology: Figures

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)

The spherical harmonics transform and its inverse

Supported in part by the U. S. National Science Foundation under grant EAR-0105387.
addmabout Find the running index in a block array with SH degrees and orders
addmin Repeats the degrees in a vector l+1 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 Reads in and scales geomagnetic 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

Maximum-likelihood estimation of isotropic flexural rigidity

Supported by the U. S. National Science Foundation under grants EAR-0710860 and EAR-1150145 and by NASA under grants NNX11AQ45G and NNX14AM29G. In collaboration with Kevin Lewis and Gabe L. Eggers.
admitos Theoretical admittances of the (estimated) parameters
bluros Blurs and subsamples a frequency-domain vector or matrix
cholcheck Checks the Cholesky decomposition of a two-by-two matrix of wavenumbers
covthos Theoretical covariance matrix of the estimated parameters
ddTos The second derivative of the lithospheric part of the spectral matrix
dpos Calculates powers of products
detcheck Checks the determinant of a two-by-two matrix of wavenumbers
diagnos Loads and parses a file with inversion diagnostics produced by mleos
dTos The first derivative of the lithospheric part of the spectral matrix
Fisherkos The expectation of the second derivative of the logarithmic likelihood
gammakos The first derivative of the logarithmic likelihood
hformos A commonly used quadratic form
invcheck Checks the inverse of a two-by-two matrix of wavenumbers
knum2 Makes a two-dimensional wavenumber scale amenable to generate Hermitian fields
Lkos The logarithmic likelihood at a single wavenumber
loglios The full negative logarithmic likelihood
Lsurfos Calculates the likelihood surface near a point
mAos Calculates commonly occuring forms in the expressions
maternos A parameterized spectral density function
mleos Performs the maximum-likelihood estimate of the five-parameter problem
mleplos Plots the maximum-likelihood estimate statistics
osansw An auxiliary function for the simulation and inversion workflow
osdisp An auxiliary function for the simulation and inversion workflow
osopen An auxiliary function for the simulation and inversion workflow
ostitle An auxiliary function for the simulation and inversion workflow
oswdiag An auxiliary function for the simulation and inversion workflow
osrzero An auxiliary function for the simulation and inversion workflow
oswzerob An auxiliary function for the simulation and inversion workflow
oswzeroe An auxiliary function for the simulation and inversion workflow
phios An auxiliary function containing the flexural rigidity
randgpn Calculates a Hermitian array of (complex proper) Gaussian Fourier coefficients
realize Gets rid of small imaginary components of a matrix
simulos Simulates random fields under the two-layer Forsyth (1985) model
Tos The lithospheric part of the spectral matrix
tospace Transforms a 2D spectral to a spatial vector using a unitary transform
tospec Transforms a 2D spatial to a spectral vector using a unitary transform
xios An auxiliary function containing the flexural rigidity

Earthquake Early Warning

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

The wavelet transform and its inverse in various incarnations

Supported in part by the U. S. National Science Foundation under grant EAR-9814570.
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

Some very particular wavelet transforms

Supported in part by the U. S. National Science Foundation under grants DMS-0530865 and EAR-1150145. 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 S40RTS
nancube 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-depth models on (flattened) cubed spheres
plotoncube2 Plots selected-depth models on (flattened) cubed spheres directly from PETSc or structure input
plotoncube3 Plots every-depth models on (flattened) cubed spheres directly from PETSc or structure input
preconD4 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 FORTRAN program raydyntrace.f
raykernels An interface to the MATLAB program raydyntrace.m
readGNmodel Read Raffa Montelli's model PRI-05 at one particular depth
readJRmodel Read Jeroen Ritsema's model S40RTS
rtssplines Get spline expansion coefficients for Jeroen Ritsema's model S40RTS
skernelplot Makes a two-dimensional plot of a kernel at depth
sphere2cube Converts spherical coordinates to the equivalent standard cubed sphere coordinates

Solving or resolving global tomographic models with spherical wavelets: Figures

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)

Robust power estimation and 1-D spectral analysis

Supported in part by the U. S. National Science Foundation under grant EAR-0710860.
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
pchave Chave's method of robust spectral estimation
pchavedemo Illustration of Chave's method of spectral estimation
scalogramplot Calculates and then nicely plots the wavelet scalogram
spectrogram Calculation of the spectrogram
specdensplot Calculates and then nicely plots the spectral density using PCHAVE
timdomplot Reads and then nicely plots seismic data using READSAC
timspecplot Calculates and then nicely plots the spectrogram using SPECTROGRAM

Lithospheric flexure, loading and 2-D spectral analysis

Supported in part by the U. S. National Science Foundation under grants EAR-0001136 and EAR-0710860.
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 loading
loading2 A second demo version of loading
maxazi 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

Image analysis bits and pieces

blockcorr Calculates correlation coefficients between tiles of two images
blockcorr2 Uses BLOCKCORR to find best-fitting shifts to align two images
blockcorr3 Uses BLOCKCORR2 to successively correlate a series of images
blockisolate 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

Seismic processing bits and pieces

lowpass Low pass filtering
bandpass Bandpass filtering
bpmin Finds frequencies where the pass band exceeds a certain dB level
hipass High pass filtering
jul2dat Julian day conversion
makehdr Makes SAC-formatted binary header file
readsac Reads SAC-formatted binary seismograms
stalta STA/LTA triggering algorithm
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 PERL script to extract events by date from a `cat *dek` CMT master
cmtloc PERL script to extract event attributes from a `cat *dek` CMT master
cmtsol PERL script to extract an event by code from a `cat *dek` CMT master and write SPECFEM output
parrival FORTRAN wrapper around ttimes suite
saclib PERL scripts to process SAC files in a variety of ways
tmins Gets P and S arrival times and ray parameters for a given earthquake

On the potential of recording earthquakes for global seismic tomography in the oceans: Figures

Supported in part by the U. S. National Science Foundation under grant OCE-0236557.
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; demo makes one, two, three, four, five

Surface-wave ray tracing and azimuthal anisotropy

Supported in part by the U. S. National Science Foundation under grant EAR-9614341.
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 AUTHALIC
fillauth Fills the cells of an equal-area grid from AUTHALIC with prescribed colors
fridplot 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 GRIDINFO and INAMAK3D
gridsec 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 SURFTRACE
lcsd Loads some matrices with information written by SURFTRACE
lon2lat Calculates great-circle latitudes at specific longitudes
neqplot Plots a clustered grid as calculated by CLUTSER
surfaz Calculates azimuthal coverage from the matrices written by SURFTRACE
surfdens Calculates ray path density from the matrices written by SURFTRACE
surftrace Uses GRIDSEC to 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

Auxiliary functions, for graphics, indexing, etc.

addcb Adds a colorbar for use with multiple color maps
adrc Adds a row and a column to a matrix suitable for plotting
bindens 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
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
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
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 FILLBOX
fftaxis 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
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
kelicol Uses the color scheme designed by Hrafnkell Kárason
krijetem Creates figure panels and handles
kindeks Returns the ith column of a matrix
joincolmap A colormap routine used by PLOTTOPO
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 SURFTRACE to a conventionally sparse matrix
ldetrend 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 FILLBOX
ls2cell 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 nonuniqamue members from a vector
noticks Dispenses with axis ticks
nounder Gets rid of a filename underscore
number Adds numbers to the entries in a vector
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
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 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
shrink Reduces width and height of a figure 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 SURFTRACE
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 figure panel subnumber
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
unproject Unprojects a simple coordinate transformation on a map
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

Data sets, coefficients, colormaps, etc

conm.mat Continental data for use in PLOTCONT
cont.mtl Continental data for use in PLOTCONT
cost.mtl Continental data for use in PLOTCONT
Daubechies.mat Daubechies' wavelet coefficients for use in WC
CDF.mat Cohen, Daubechies, Feauveau wavelet coefficients for use in WC
CDFI.mat Cohen, Daubechies, Feauveau integer wavelet coefficients for use in WC
Earth.mat Earth data for use in FRALMANAC
EarthTopo.mat Toy Earth topography data
MarsTopo.mat Toy Martian topography data
VenusTopo.mat Toy Venus topography data
gji2002lonlat Simons et al. (GJI, 2002) data set for use in the GRIDSEC demo
generic.m An example program with information pertaining to the depth grid for GRIDLOD2
gridinfo An example file with information pertaining to a surface grid for GRIDLOD2
inamak3d An example file with information pertaining to a depth grid for GRIDLOD2
kelim.mat A color scheme designed by Hrafnkell Kárason for use in KELICOL
Mars.mat Mars data for use in FRALMANAC
Moon.mat Moon data for use in FRALMANAC
plates.mtl Plate boundary data for use in PLOTPLATES
platm.mat Plate boundary data for use in PLOTPLATES
pomme-4.2s-nosecular.cof Spherical harmonic data for use in POMME4
PRI5w.gz The coefficients of Raffa Montelli's PRI-05 model
SHM.mat Spherical harmonic data for use in FRALMANAC
staltademo.zip Sample seismograms for use in the STALTA demo
sergeim.mat A color scheme designed by Sergei Lebedev for use in SERGEICOL
stations.mat A file with station names and coordinates
topo.mat A color scheme good to plot Earth's topography for use in DEMMAP
tapestry.mat A tectonic regionalization for North America
Venus.mat Venus data for use in FRALMANAC
WORLDGeol1.mat A tectonic regionalization for the world made by REGIONALIZE and read by REGIONALID
Xmidcpy.mat A data set to use in LOADING2
xpall.mat Spline-basis interpolation coefficients for 'all' depths used by RTSSPLINES
xpcube.mat Spline-basis interpolation coefficients for the 'cubed-sphere' depths used by RTSSPLINES
XYZ.mat Spatial data for use in FRALMANAC


Frederik Simons home
Last modified: Tue Oct 28 11:22:54 EDT 2014
Valid HTML 4.0 Transitional