GeoStrain An open source software for calculating crustal ...

12
GeoStrain: An open source software for calculating crustal strain rates Mohammad Ali Goudarzi n , Marc Cocard, Rock Santerre Department of Geomatics Sciences, Louis-Jacques-Casault Building, Laval University, Quebec (QC), G1V 0A6, Canada article info Article history: Received 28 August 2014 Received in revised form 23 April 2015 Accepted 11 May 2015 Available online 14 May 2015 Keywords: Strain rate Least-squares collocation Adjustment Interpolation abstract We developed an open source software for crustal strain analysis using the least-squares collocation method based on the spherical model of the earth. The software is able to simultaneously determine the signal and noise of the velocities at the observation points with the best possible removal of the ob- servational errors, or at any other position with no velocity observation. Furthermore, the software can calculate strain and rotation rate tensors at any points of interest, including observation points, grid points or points along a fault line. The advantage of the software is that the sphericity of the earth is considered in all the calculations. Moreover, it can optionally consider the effect of the vertical velocities on the strain rates that is principally important for regions where vertical deformation is the major geophysical signal compared to the horizontal deformation. & 2015 Elsevier Ltd. All rights reserved. 1. Introduction Earth deformation concerns changes in earth's shape, and therefore, it is directly related to geodetic observables. The in- creasing number and accuracy of satellite based geodetic mea- surements such as continuously operating GPS (CGPS) stations during the past two decades provide measured values of dis- placements and velocities of geodetic networks. Crustal strain tensors, as a direct result of the geodetic networks, can numeri- cally describe geodynamic processes. Tensors have an existence independent of any coordinate system or reference frame and retain their properties independently from the reference system. Therefore, tensor analysis reveals different aspects of deformation such as fault strain accumulation, uplift or subsidence, the dila- tation strain rate or the maximum shear strain rate including its direction which are important parameters for seismic hazard as- sessment. These parameters are suitable to characterize the me- chanism of an ongoing deformation (Hackl et al., 2009). As the great importance of the strain rate tensors in tectonic and geodynamic studies, there are a high number of published research papers on the topic, in which, only results are presented without the computer code. To the best of our knowledge, there are only a few open source or scientic software publically avail- able, among them: Crustrain (Schneider, 1982), Coulomb (Stein, 2003), grid_strain and grid_strain3 (Teza et al., 2008), STRAINGPS (Pietrantonio and Riguzzi, 2004) and SSPX (Cardozo and Allmen- dinger, 2009; Allmendinger et al., 2012). From the range of the commercial software, one can mention: Geodetic strain analysis Tool(Kedar et al., 2011). Despite the variety, however, developing a new software program is still interesting because: (a) the soft- ware redundancy can facilitate the validation of model solution by comparing the results obtained from different software (Hill and Blewitt, 2006), and (b) not all the software are publicly available or work on every operating system. Therefore, we developed the GeoStrain software at the Center for Research in Geomatics (CRG), Laval University, Canada, for estimating the strain rate tensors of a deformation area based on the method of least-squares collocation (Section 4). Furthermore, the software can lter the velocities at observation points, and predicts or interpolates the velocities at points of interest other than the observation points. This paper has the following structure. Strain modeling meth- ods are briey reviewed. The mathematical denition of the de- formation is presented right after and formulated as strain/strain rate and rotation/rotation rate tensors. Then, we elaborate on our selected method, least-squares collocation, and discuss the con- cept of trend surface and covariance functions in this method. In a while, we show how the strain rate tensor is derived from the deformation tensor, and develop mathematical formula for a Gaussian and a rational covariance function. Finally, the compu- tational performance of the software is analyzed and its main features are introduced. 2. Strain modeling methodology Crustal strain measurement has been long time an interesting topic in earth sciences. Advances of the navigation satellite sys- tems have made it possible to detect small displacements of the Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/cageo Computers & Geosciences http://dx.doi.org/10.1016/j.cageo.2015.05.007 0098-3004/& 2015 Elsevier Ltd. All rights reserved. n Corresponding author. Fax: þ1 418 656 7411. E-mail address: [email protected] (M.A. Goudarzi). Computers & Geosciences 82 (2015) 112

Transcript of GeoStrain An open source software for calculating crustal ...

Page 1: GeoStrain An open source software for calculating crustal ...

Computers & Geosciences 82 (2015) 1–12

Contents lists available at ScienceDirect

Computers & Geosciences

http://d0098-30

n CorrE-m

journal homepage: www.elsevier.com/locate/cageo

GeoStrain: An open source software for calculating crustal strain rates

Mohammad Ali Goudarzi n, Marc Cocard, Rock SanterreDepartment of Geomatics Sciences, Louis-Jacques-Casault Building, Laval University, Quebec (QC), G1V 0A6, Canada

a r t i c l e i n f o

Article history:Received 28 August 2014Received in revised form23 April 2015Accepted 11 May 2015Available online 14 May 2015

Keywords:Strain rateLeast-squares collocationAdjustmentInterpolation

x.doi.org/10.1016/j.cageo.2015.05.00704/& 2015 Elsevier Ltd. All rights reserved.

esponding author. Fax: þ1 418 656 7411.ail address: mohammad-ali.goudarzi.1@ulaval

a b s t r a c t

We developed an open source software for crustal strain analysis using the least-squares collocationmethod based on the spherical model of the earth. The software is able to simultaneously determine thesignal and noise of the velocities at the observation points with the best possible removal of the ob-servational errors, or at any other position with no velocity observation. Furthermore, the software cancalculate strain and rotation rate tensors at any points of interest, including observation points, gridpoints or points along a fault line. The advantage of the software is that the sphericity of the earth isconsidered in all the calculations. Moreover, it can optionally consider the effect of the vertical velocitieson the strain rates that is principally important for regions where vertical deformation is the majorgeophysical signal compared to the horizontal deformation.

& 2015 Elsevier Ltd. All rights reserved.

1. Introduction

Earth deformation concerns changes in earth's shape, andtherefore, it is directly related to geodetic observables. The in-creasing number and accuracy of satellite based geodetic mea-surements such as continuously operating GPS (CGPS) stationsduring the past two decades provide measured values of dis-placements and velocities of geodetic networks. Crustal straintensors, as a direct result of the geodetic networks, can numeri-cally describe geodynamic processes. Tensors have an existenceindependent of any coordinate system or reference frame andretain their properties independently from the reference system.Therefore, tensor analysis reveals different aspects of deformationsuch as fault strain accumulation, uplift or subsidence, the dila-tation strain rate or the maximum shear strain rate including itsdirection which are important parameters for seismic hazard as-sessment. These parameters are suitable to characterize the me-chanism of an ongoing deformation (Hackl et al., 2009).

As the great importance of the strain rate tensors in tectonicand geodynamic studies, there are a high number of publishedresearch papers on the topic, in which, only results are presentedwithout the computer code. To the best of our knowledge, thereare only a few open source or scientific software publically avail-able, among them: Crustrain (Schneider, 1982), Coulomb (Stein,2003), grid_strain and grid_strain3 (Teza et al., 2008), STRAINGPS(Pietrantonio and Riguzzi, 2004) and SSPX (Cardozo and Allmen-dinger, 2009; Allmendinger et al., 2012). From the range of the

.ca (M.A. Goudarzi).

commercial software, one can mention: “Geodetic strain analysisTool” (Kedar et al., 2011). Despite the variety, however, developinga new software program is still interesting because: (a) the soft-ware redundancy can facilitate the validation of model solution bycomparing the results obtained from different software (Hill andBlewitt, 2006), and (b) not all the software are publicly available orwork on every operating system. Therefore, we developed theGeoStrain software at the Center for Research in Geomatics (CRG),Laval University, Canada, for estimating the strain rate tensors of adeformation area based on the method of least-squares collocation(Section 4). Furthermore, the software can filter the velocities atobservation points, and predicts or interpolates the velocities atpoints of interest other than the observation points.

This paper has the following structure. Strain modeling meth-ods are briefly reviewed. The mathematical definition of the de-formation is presented right after and formulated as strain/strainrate and rotation/rotation rate tensors. Then, we elaborate on ourselected method, least-squares collocation, and discuss the con-cept of trend surface and covariance functions in this method. In awhile, we show how the strain rate tensor is derived from thedeformation tensor, and develop mathematical formula for aGaussian and a rational covariance function. Finally, the compu-tational performance of the software is analyzed and its mainfeatures are introduced.

2. Strain modeling methodology

Crustal strain measurement has been long time an interestingtopic in earth sciences. Advances of the navigation satellite sys-tems have made it possible to detect small displacements of the

Page 2: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–122

measuring points on earth's surface with millimeter precisionusing geodetic networks. The strain analysis methods can be ca-tegorized based on three factors: (a) the adopted geodetic method,(b) the available data set or observables, and (c) the data proces-sing strategy (Pietrantonio and Riguzzi, 2004). The latter factor canbe performed in three ways: (a) segmentation, (b) inversion, and(c) gridding or interpolation. Even with the same input data, dif-ferent approaches of strain calculation may produce different re-sults. Therefore, knowing strengths and weaknesses of eachmethod or the methodology, is very important not only frommathematical formulation and computation point of view, but alsofrom geological and geophysical characteristics of the study area.

2.1. Segmentation approaches

Although the segmentation method is not limited to triangu-lation only and segments can have any geometrical shape, trian-gulation of the measuring points, e.g., using the Delaunay methodis the most common example for this approach (Frank, 1966; Shenet al., 1996; Cai and Grafarend, 2007; Fernandes et al., 2007;Wdowinski et al., 2007). In this method, the area is segmentedinto several geometrical units and the local strain and rotationrates are computed for each unit, and finally all the individualresults are integrated (Wu et al., 2011).

In this method, when the study area is small, the sphericity ofthe earth is neglected and earth surface is approximated by a flatsurface model. Then, the strain can be calculated for each geo-metrical unit as formulated by Jaeger (1956, p. 39). As far as theangular aperture (dimensions of the geometrical unit in latitudeand longitude expressed in radians) of the unit is small, the flatearth approximation is adequate. However, when the sphericity ofthe earth cannot be neglected, the formula must be developed inspherical coordinates (e.g., Savage et al., 2001; Reddy, 2013).

This method is more suitable for accounting known dis-continuities like faults which practically make the strain field non-uniform, as well as strain analysis over small areas with limitednumber of measuring points. This method is very similar to thecomputation of stress and strain for each element in a finite ele-ment model, the other method of calculating a continuous strainfield from geodetic data (Jiménez-Munt et al., 2003). In contrast tosimplicity, this method does not allow a real estimation of thestrain field but only a computation becasue the triangles are al-most chosen arbitrarily. No outlier detection and removal is pos-sible because of the zero or very small redundancy. Furthermore,the method produces a continuous displacement field but theobtained strain rate is discontinuous.

2.2. Inversion approaches

In general, the inversion based techniques are computationallyexpensive and require assumptions on the constitutive law ofearth's crust to relate the observed deformations to strain rates.For example, Spakman and Nyst (2002) have used seismic tomo-graphy for their inversion. They assigned strain rate to a previouslydiscretized area by using different paths of relative displacementbetween pairs of observation points. In tomographic methods, thelocation of faults should be imposed to inversion models. There-fore, they can only be used for quantification of the slip deficit onknown structures, but not for identification of new faults. Haineset al. (1998), Kreemer et al. (2000), and Beavan and Haines (2001),among others, have used point displacement observations ofgeodetic networks and strain evaluated by geologic and geophy-sical information such as earthquake focal mechanisms to invertfor the Euler pole that locally minimizes the strain rate and velo-city field residuals along a regional curvilinear reference system.Mazzotti et al. (2005) decomposed the velocity field into three

components including a uniform horizontal strain rate, a transla-tion (horizontal and vertical) and a horizontal rigid rotation. Then,they adjusted this seven-parameter model to the GPS velocities atthe measuring points.

2.3. Gridding or interpolation approaches

In order to estimate the three dimensional strain filed, thecontinuous displacement field should be known. However, con-ventional geodetic observations provide discrete information andare limited to points on the two dimensional surface of earth. Thecontinuous strain field cannot be directly calculated even by usingthe three dimensional displacement vectors of the measuringpoints. This makes the interpolation necessary. In this method, afunctional model is first postulated for displacement fields andpoints, and then partial derivatives of displacement or velocity arecalculated with respect to position at grid points as a direct accessto the distribution of strain field. The interpolation methods arebased on this assumption that strain field is homogeneous. Ahomogeneous field means that its mean is constant and its auto-covariances depend on the distance between different points.Furthermore, if autocovariances are invariant with respect to di-rection and depend only on the distances of the points, the field iscalled isotropic (El-Fiky et al., 1997).

Interpolation techniques can determine displacements not onlyon earth's surface but also inside and outside of the crust. Forpoints within the crust, the strains are computed by analyticallydifferentiating the interpolated function. Therefore, the result ofthe estimated strain depends on the geodetic observations as wellas the interpolation technique. If the interpolation techniqueconsiders the physical reality of earth's crust more, the computedstrain filed is closer to the real one. There is an additional problemfor calculating the strain for the points on the crust surface:mathematically interpolation techniques predict displacementseven outside the medium, but in the physical reality, displace-ments are not defined outside the medium and boundary condi-tions should be introduced (Dermanis and Livieratos, 1983). If thestrain calculation depends on such predictions, it does not reflectthe physical reality. In this case, the surface strain only has a de-scriptive value and should not be used for conclusions on strain–stress relations.

The interpolation methods are the opposite side of the seg-mentation methods in terms of strengths and weaknesses. Thecontinuous strain rate fields that they produce are suitable foridentification of new structures without having to assume any-thing about the deformation mechanisms, or even if the localgeology is not fully known. Therefore, different schemes have beensuggested. Wdowinski et al. (2001) interpolated the velocity fieldalong small circles relative to the pole of rotation that minimizesthe residual (called pole of deformation). Allmendinger et al.(2007) used different approaches (nearest neighbor and distanceweighted) to obtain continuous velocity fields from which a strainrate pattern can be calculated. Kahle et al. (2000) interpolatedvelocity fields in eastern Mediterranean by using a least-squarecollocation method based on a covariance function. Hackl et al.(2009) based their work on the concept of the splines in tensionalgorithm described by Wessel and Bercovici (1998), and per-formed a separate interpolation of the east and north velocitycomponents on a regular grid for the Southern California GPSnetwork.

Interpolation is necessary in the first approach for the dataprocessing, because the strain tensor is estimated for every tri-angle. However, this method is not able to define how the strain ischanged from a triangle to another. In contrast, interpolation is notnecessary in the third strategy, because the strain field is supposedto be homogeneous. Interpolation of geodetic data, as Hackl et al.

Page 3: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–12 3

(2009) discuss, is not limited to the study of velocity fields and theassociated strain rates, but can also be applied to other fields likecoseismic displacement data. In contrast, they address a dis-advantage of their interpolation method which is unable to cal-culate absolute values of strain rates. Since this value is related tothe gradient of the velocity field, the rate is limited by the grid sizethat is the minimal distance along which it is possible to observe avelocity change.

3. Mathematical background

The theory of elasticity states that an infinitesimally smallchange of position in a ductile body, at the first degree of ap-proximation, can be described by a sum of a translation u[T], adilatation u[D] and a rotation u[R]. This can be resulted from theexpansion of the displacement field u(x) using the Taylor's theo-rem:

t tu x x x 12 1( ) = ( ) − ( ) ( )

where x(ti) is the vector of position at time ti. We can linearize (1)using the Taylor's theorem to the first degree as:

d du x x u xux

x2x

( + ) = ( ) + ∂∂ ( )

Using the Einstein summation convention, we can rewrite (2) as

u d uu

dx x xx

x3

i ii

kk

x

( + ) = ( ) +∂∂ ( )

in which d u x/ik i k x( )= ∂ ∂ is a second order tensor in the n-dimen-

sional space called deformation tensor that can be expanded intoits three dimensional components as

⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

u

x

u

x

u

xu

x

u

x

u

xu

x

u

x

u

x

e e e

e e e

e e e

4

x x x

x x x

x x x

x x x x x

x x x x x

x x x x x

1 2 3

1 2 3

1 2 3

1 1 1

2 2 2

3 3 3

1 1 2 1 3

2 1 2 2 3

3 1 3 2 3

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=

( )

Diagonal elements of (4) show the changes in length or extensionsalong the three independent orthogonal directions x1, x2 and x3,respectively. The off-diagonal elements show the angular changesin the body. An asymmetric tensor represents both distortion(change in shape) and rotation. However, in the case of rotationonly, the strain tensor would be antisymmetric, i.e., e ex x x xi j j i= −for i≠j

We know from the tensor theory that any tensor of the secondorder can be written as sum of a symmetric and an antisymmetrictensor (Wald, 1984, p. 26). Applying this concept on (3) yields(Peter, 2000):

u d ud d

dd d

d

u du du

x x x x x

x x x2 2

5

i iik ki

kik ki

k

iT

iD

iR

( + ) = ( ) ++

+−

= ( ) + ( ) + ( ) ( )[ ] [ ] [ ]

The terms to the right side of (5) represent a translation T, adilatation D and a rotation R, respectively. The strain tensor isdefined by the symmetric part of the deformation tensor shown byikε as

dud d

d dx x x2 6i

D ik kik ik kε( ) =

+= ( )

[ ]

The expansion of the strain tensor definition for a three-dimen-sional body subject to an infinitesimally small amount of

displacement is given by

⎢⎢⎢⎢⎢⎢⎢⎢

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎥⎥⎥⎥⎥⎥⎥⎥

⎣⎢⎢⎢

⎦⎥⎥⎥

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

12

12

12

12

12

12

7

x x x x x

x x x x x

x x x x x

1

1

1

2

2

1

1

3

3

1

2

1

1

2

2

2

2

3

3

2

3

1

1

3

3

2

2

3

3

3

1 1 2 1 3

2 1 2 2 3

3 1 3 2 3

ε

ε ε εε ε εε ε ε

=

∂∂

∂∂

+∂∂

∂∂

+∂∂

∂∂

+∂∂

∂∂

∂∂

+∂∂

∂∂

+∂∂

∂∂

+∂∂

∂∂

=( )

where u u uu , ,1 2 3( ) and x x xx , ,1 2 3( ) are the same as in (1), and ε isthe corresponding strain element of the strain tensor ε along thecorresponding axes. Displacements and distortions are infinitesi-mally small at the limit of an elastic deformation, and therefore,x x x xi j j iε ε= for i j≠ . This implies that a symmetric strain tensor in athree dimensional space can be defined by six elements in total,namely, three diagonal and three upper or lower triangle ele-ments. While off-diagonal elements of the strain tensor representshear strain, its diagonal elements show the longitudinal strainequals to extension if they have positive signs or contraction ifthey have negative signs.

The rotation tensor is defined by the antisymmetric part of thedeformation tensor shown by ikω . It is usually written as a vectorproduct of an infinitesimally small rotation matrix rot u and aninfinitesimally small displacement vector dxk as

dud d

dd

x xu x

2rot

2 8iR ik ki

kk( ) =

−=

×( )

[ ]

that is known to be equal to an infinitesimally small rotation ikω ofthe vector dxk around the axis urot with an angle equals to

urot /2 (Peter, 2000):

⎢⎢⎢

⎥⎥⎥

rot u rot u

rot u rot u

rot u rot u

12

0

0

0 9

ik

3 2

3 1

2 1

Ω =−

−− ( )

With the same condition for (7), the rotation tensor can beexpressed as (Hackl et al., 2009):

⎢⎢⎢⎢⎢⎢⎢⎢

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

⎥⎥⎥⎥⎥⎥⎥⎥

⎣⎢⎢⎢

⎦⎥⎥⎥

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

ux

012

12

12

012

12

12

0

10

x x x x x

x x x x x

x x x x x

1

2

2

1

1

3

3

1

2

1

1

2

2

3

3

2

3

1

1

3

3

2

2

3

1 1 2 1 3

2 1 2 2 3

3 1 3 2 3

ω ω ωω ω ωω ω ω

Ω =

∂∂

−∂∂

∂∂

−∂∂

∂∂

−∂∂

∂∂

−∂∂

∂∂

−∂∂

∂∂

−∂∂

=( )

where ω is the corresponding strain rotation element of the strainrotation tensor Ω. This geometrical interpretation conforms to thetheorem postulated at the beginning of this section.

The concept of the strain tensors can yet be developed for thevelocity gradients instead of the spatial gradients. Assuming in-finitesimally small displacement of a position over time, the strainrate tensor ε and the rotation rate tensor Ω are defined as thepartial derivatives of the strain tensor ε in (7) and the rotationtensor Ω in (10) with respect to time, respectively. They describethe rate of deformation (velocity gradient) and the change in ro-tation, respectively.

Page 4: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–124

3.1. Spherical model of the strain rate tensor

The strain tensor in a three dimensional orthogonal coordinatesystem was introduced in (7). The strain rate tensor in a sphericalcoordinate system, e.g. on earth's surface, can directly be ex-pressed in terms of spherical displacements as (Love, 1944, p. 56;Savage et al., 2001; Wu et al., 2011):

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟ 11

R

v

R

vv

v

Rv

v

1

12

1cos

tan

1 1cos

tan( )

εφ

εφ λ

φφ

εφ λ

φ

=∂∂

=∂∂

− +∂∂

=∂∂

+

φφ

φλφ

λλ

λλ

φ

where φ and λ are the spherical coordinates and vφ and vλ arespherical velocities of the point of interest in the latitude andlongitude directions, respectively. εφ , ελ and εφλ represent the threeindependent components of the strain rate tensor.

3.2. Representation of the strain rate tensor

Since the strain tensor is symmetric, it is possible to find areference frame where the shear strain is zero and the two othercomponents are maximal. The principal deformations iλ are ob-tained by diagonalizing the strain rate tensor. This is accomplishedby solving the classical eigenvalue problem for the strain ratetensor as:

Idet 0 12λε( − ) = ( )

Solving this problem is equivalent to transforming the strainrate tensor to a new coordinates system called major axis system,in which, the tensor is expressed by a set of independent vectors.While eigenvectors show the principal axes of the strain ratetensor, eigenvalues show the principal strain rates. In this way, we

Fig. 1. A typical (A) strain ellipse and (B) strain hyperbola and their strain

get a diagonal tensor ε′ whose elements are the eigenvalues of theoriginal strain rate tensor. In general, if ε is a n by n matrix and hasn independent eigenvectors, then ε can be diagonalized as

R R 131ε ε′ = ( )−

where R is eigenvector matrix whose columns are eigenvectors ofε (Strang and Borre, 1997, p. 222) which is invertible as its columnsare linearly independent. Because ε is symmetric, these eigenvec-tors make an orthogonal reference system whose axes pointing tothe direction of the maximal deformation. For a two dimensionalsymmetric random strain rate tensor, the eigenvalues 1,2λ ormaximum and the minimum principal strains as well as theorientation parameter α known as the principal angle are obtainedas (Cai and Grafarend, 2007)

⎛⎝⎜

⎞⎠⎟

12

4 ,

12

tg2

, /2 /214

x x x x x x

x x

x x

1,22 2

1

1 2 1 2 1 2

1 2

1 2

( )λ ε ε ε ε ε λ

αε ε

επ α π

= + ± − + ∈

= −

− < ≤

( )−

The principal angle is obtained by rotating the strain tensor as αand set the shear component to zero. Using (14), it is possible tovisualize a two dimensional symmetric strain rate tensor. Fig. 1Ashows a strain ellipse and strain crosses with axes co-linear withthe eigenvectors of the strain tensor, i.e., the semi-major axis iscoincides with the maximum principal strain and the semi-minoraxis with the minimum principal strain. Directions of the straincrosses are defined by the signs of the eigenvalues: whensgn sgn 11 2( ) ( )λ λ= = + , there is an extension on the point, andwhen sgn sgn 11 2( ) ( )λ λ= = − , it is a contraction. Fig. 1B illustratesthe strain hyperbola and strain crosses in which its axes aredirected along the eigenvectors of the strain tensor. In this case,

1,2λ show the real and the imaginary axes of the strain hyperbola,respectively.

crosses. Axes are directed along the eigenvectors of the strain tensor.

Page 5: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–12 5

3.3. Specifications of the strain rate tensor

The fractional change in volume of a body in the elastic limitwhen its surface area approaches to zero, is called dilatation Θ(Lowrie, 2007). The dilatation is defined as the trace of the straintensor, which is equal to the divergence of the deformation fieldand is invariant to coordinate transformation (Section 3.2):

ux

udiv15i

xi

i

i1

3

1

3

i∑ ∑Θ ε= =∂∂

=( )= =

In two dimensions, dilatation is corresponding to the relativevariation of a surface area, and therefore, can indicate regions withthrusting or normal faulting systems. This is called area strain andis shown as

16area x x1 2ε ε ε= + ( )

However, when dealing with strain rate tensors, the term ischanged to the dilatation rate and is denoted by Θ.

The maximum shear strain is defined as

12 17shearmax 1 2( )ε λ λ= − ( )

where 1,2λ are the same in (14). Its direction angle β is oriented 45°from α as calculated by (14). Therefore, 45β α= ± °, and addi-tional constrain is necessary to distinguish the exact direction ofthe maximum shear. Since motion along faults relates to shear onthe structure, the maximum shear strain and its direction can beused for identification of active faults. Faults having the sameorientation with this direction are most likely ruptured in aseismic event.

3.4. Effect of the vertical velocity on the strain rate tensor

In the tectonically active regions, horizontal strain rates can bederived only from the horizontal velocity field. This simplificationis justified by the very low vertical velocity gradients compared tothe horizontal velocities. However, this is not the case for the in-traplate regions such as the Saint Lawrence valley, eastern Canada,in which the vertical velocities can be 5–10 times larger than thedifferential horizontal velocities (Mazzotti et al., 2005). In such acase, Malvern (1969) considers the vertical velocities and proposesa complete formulation to calculate the horizontal strain ratetensors as

⎜ ⎟

⎜ ⎟

⎢⎢⎢⎢

⎛⎝

⎞⎠

⎛⎝

⎞⎠

⎥⎥⎥⎥

vn

vr

ve

vn

vn

ve

ve

vr

12

12 18

n u n e

e n e uε =

∂∂

+∂∂

+∂∂

∂∂

+∂∂

∂∂

+( )

where v v vv , ,n e u( ) is the velocity vector of the deformation innorth, east and up direction, x xx ,n e( ) is the position vector of themeasuring stations in a local geodetic system, and r is earth's ra-dius. vu is the vertical velocity that adds an isotropic extension/shortening component to the horizontal strain rate tensor. This isequivalent to add the term v r/u to εφ and ελ in (11). This method canoptionally be used in GeoStrain to calculate the strain rate tensors.

4. Least-squares collocation

The major difficulty in the computation of the strain rate ten-sors is to find a mathematical definition of the continuous de-formation field. However, the geodetic observables are discretequantities at the measuring points, and therefore can only providea discontinuous deformation field. The Least-Squares Collocation

(LSC) is a superior method to find this deformation field. Despitethe mathematical strength of the LSC method, it was rarely appliedin the crustal deformation studies, mainly because estimating anempirical covariance function for the crustal deformation data hadlong been considered to be difficult (Fujii and Xia, 1993). Wu et al.(2011) compared different methods of Delaunay triangulation,multi-surface functions, spherical harmonics, and LSC for com-puting GPS strain rates using simulated and real data, and con-cluded that the latter method is superior in terms of precision ofthe estimated deformation signal and robustness to noise in thedata. Specially, sparseness of the data has less influence on theresults compared with other methods. El-Fiky et al. (1997) pre-ferred to use this method because (a) purely mathematical ap-proaches could sometimes produce spurious results, and (b) itmakes it possible to use the physical information included in ob-servations. Furthermore, since the covariance function of the LSCmethod is obtained from statistical analysis, it reflects the realdistribution of velocity field (Wu et al., 2011).

Moritz (1980) provides a detailed discussion on the subject,however, we give a more general and simpler description of themethod from El-Fiky et al. (1997) and Mikhail and Ackermann(1976) as well as some more details about implementation of themethod in the form of a computer software. The LSC method canbe considered as an extension for the ordinary least-squares ad-justment where stochastic correlated signal s is added to the de-terministic model of the unknown parameters Ax and to the sto-chastic noise n. Therefore, the linear form of LSC is formulated as

l Ax s n 19= + + ( )

where l is the observation vector, A is the design matrix of thelinearized trend function f x( ), x is the vector of unknown para-meters, s is the vector of correlated signal at observation points,and n represents the vector of the stochastic noise in the system.In this form of equation, l composed of a deterministic part Ax ,and two stochastic parts of s and n. If we obtain the parameter xby adjustment, calculate the signal s at any arbitrary point (evenwithout any observed value) by interpolation, and remove thenoise n by filtering, then we can say LSC is a combination or acollocation of adjustment, interpolation and filtering. In the con-cept of this text, s and n are respectively correspond to the crustaldeformation and the measuring errors at the observation points.

The deterministic part Ax in (19) can be eliminated using freenetwork least-squares adjustment with an a-priori constraint,such as the zero-sum condition. Then, only the stochastic part isremained as

z s n 20= + ( )

s and n have random values and are assumed to be unbiased.Therefore, their statistical expectations are both zero, i.e., sE 0( ) =and nE 0( ) = , then:

z s nE E E 0 21( ) = ( ) + ( ) = ( )

where E is the statistical expectation operator. Using this operator,we can calculate the covariance matrices of the signal Cs and noiseCn as

C s s C n nE and E 22sT

nT( ) ( )= = ( )

where T denotes the matrix transpose operator. Assuming thesignal and the noise have no correlation, the cross-covariancematrix of the signal and noise Csn is given by

C s nE 0 23snT( )= = ( )

The signal s can be interpolated at any arbitrary point, in-cluding the observation point s and any other point t, as

Page 6: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–126

⎡⎣ ⎤⎦s s t 24T T T^ = ( )

A solution for (24) can be found by applying the least-squaresminimum criterion as

s C s n C n min 25Ts

Tn

1 1+ → ( )− −

This minimum condition problem can be solved using the La-grange multipliers method (Cross, 1990). Thus, the unknownparameters are obtained as (Moritz, 1972):

s C k 26st^ = ( )

n C k 27n^ = ( )

where k C zl1= − is called the correlation vector, and Cst is the

covariance matrix between signal s at the observation point andthe signal t at any arbitrary point. The total covariance of ob-servations is:

C C C 28l s n= + ( )

The correlation vector k depends only on the observations, andtherefore contains full information about them and their spatialdistribution. Nevertheless, the interpolated signal in (26) is afunction of the site-dependent covariance matrix Cst and the site-independent correlation vector k.

4.1. Trend surface

Stationary random functions have constant mean with a cor-relation function approaching to the mean when the distanceapproaches to the infinity. We consider the mean as zero to sim-plify the presented formulae for the LSC method. Therefore, forsuch a function C d 0( ) → as d → ∞. This property will hold for a setof observational data, when the trend is removed. Trend is gen-erally defined as the component of a random phenomenon with aperiod larger than the recorded data sample (Mikhail and Ack-ermann, 1976), and it is often represented by a linear or very low-order polynomial terms that depends to the nature of observations(Fig. 2). In this figure, both the observation and interpolationpoints are randomly distributed around the trend line in a waythat their means are zero. This characteristic is necessary to re-move the trend.

When a proper expression for the trend surface was selected,the original observation points are transformed from the originaldatum to the trend surface using the least-squares method. Oncethe trend is removed, the signal surface is referred to as the trendsurface instead of the original datum. If the trend surface is notremoved properly, distortions which cause erroneous results willoccur. In geodynamic applications, the trend function representsthe translation and a small part of the rotation presented in (5)(Peter, 2000; Goudarzi et al., 2014) due for example to rigid paletectonics, ocean loading and earth solid tides or post-glacial

Fig. 2. Concept of the collocation method in a one dimensional longitudinal case.The trend and the signal in data are shown by Ax and s in (19), respectively. Thenoise n is the difference between the signal and the observation points.

rebound. The trend computation can be combined with the in-terpolation and filtering, however, this has not been implementedin GeoStrain.

4.2. Covariance function

In order to calculate the strain rate field, the annual rate of thehorizontal velocity of earth's surface is estimated as a random fieldsignal. A random field only consists of one random function butwith more than one independent variable (Mikhail and Ack-ermann, 1976, p. 397; Strang and Borre, 1997, p. 515). For example,the crustal movements can be considered as a four dimensionalrandom field, where the movements includes four independentvariables of time and a three dimensional randomly distributedvector (function) in the Euclidean space. We assume a homo-geneous and isotropic random field, in which, we can define acovariance function to explain the spatial correlation between anytwo points. The covariance function relates the auto-covariances Cwith the distance d. Stationarity in the data makes the covariancefunction depends only to the length of the vector separation, andusually the function would take the general form shown in Fig. 3.This covariance function is called empirical covariance function.When the covariance function is defined from a set of data, it ispossible to evaluate the covariance for any two points with anarbitrary distance. In addition, we can commonly apply the cov-ariance function to another data set with different time interval inthe same area or another area with similar tectonic settings (El-Fiky et al., 1997).

We can find the covariance of the observation l by applying theerror propagation law to (19) considering the point that Ax isdeterministic:

C d C d C d 29l s n( ) = ( ) + ( ) ( )

This equation shows that the covariance of the observations is thesum of the covariances for the signal and the noise when they areuncorrelated. Fig. 3A shows the graphical representation of thisequation. The figure shows that the covariance of the noise at anydistance d is equal to the vertical distance between the covarianceof the observations and the covariance of the signal. In practice,however, we can assume that there is no spatial correlation in thenoise vector. Thus, C dn ( ) would be a single point and the threecovariance functions would be as shown in Fig. 3B. Therefore, (29)holds only when d 0→ . We have:

C C C d

C d C d d

0 0 0 when 0

when 0 30

l s n

l s

( ) = ( ) + ( ) →

( ) = ( ) ≠ ( )

Even though we can define a theoretical covariance function insome special cases, it is usually derived from a local data by cal-culating the variance and covariance of sample points from theobservations li(1r irn) using:

Cn

l

C dn

l l

01

variance

1covariance

31

li

n

i

l pp i j

n

i j

1

2

p

( )

( ) = ( )

= ( )( )

=

<

where distances between two data points are divided into finitediscrete intervals P , in which n p P1p ( ≤ ≤ ) pairs of data whosedistance dp is dropped in interval p d p2 3 2 1pδ δ( – ) < ≤ ( – ) forp P2, 3, 4, ,∈ { … }, and d0 p δ< ≤ for p 1= . δ is an arbitraryincrement and its value is usually chosen on the basis of theknowledge of the observations (Fig. 3B). Number of sample pointsin each interval is very important to make the estimated covar-iances statistically meaningful. Intervals with small number of

Page 7: GeoStrain An open source software for calculating crustal ...

Fig. 3. Relationship among covariance functions. (A) Holds under assumption of zero-means and the fact that the signal s and the noise n are stationarily uncorrelated. Thegray area represents the covariance function of the noise. (B) Holds in practice when the measuring errors are uncorrelated, and therefore C d 0n ( ) = when d 0≠ andC d C dl s( ) = ( ) for all d 0> (Mikhail and Ackermann, 1976). d is the distance between any two points whose covariance is considered.

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–12 7

sample points might lead to a covariance point that stands outsignificantly from others. Such a point must be discarded beforefitting the covariance function.

We can then plot the covariance histogram using (31) and fit afunction to the covariance points. Function of the form constant,sinusoidal, Gaussian, rational, exponential, exponential cosine, andexponential sine and cosine, are possible based on the problemcondition. To obtain a real solution for the minimum problem ofthe collocation stated in (25), however, all modeled correlationmatrices must be positive definite (Peter, 2000). In general, we canconsider the following conditions for the covariance function:(a) it is only a function of the distance between points that makesthe covariance matrix positive definite, (b) it is a decreasingfunction of distance approaching zero when the distance ap-proaches the infinity, (c) it has a definite slope or derivative atdistance zero. The last condition has a special importance becausethe strain is defined as the first derivative of the signal relative tothe distance.

Two covariance functions are often used in geodynamic appli-cations. The first one is a Gaussian function defined as (Mikhailand Ackermann, 1976)

f d a b dexp 322 2( )( ) = − ( )

and the second one is a rational function defined as (Kahle et al.,2000; Peter, 2000)

f dab d1 332 2

( ) =+ ( )

where a and b are constant parameters that should be estimated,e.g., by the ordinary least-squares adjustment. d shows the dis-tance among points. These functions are used to compute thecovariance matrix Cst in (26) for either observation or arbitrarypoints where the signal is to be estimated. In both equations, theparameter a has the same unit of covariance and is considered asC C0 0s n( ) + ( ), and parameter b is the so-called “correlation length”or “characteristic wavelength” and has the same unit of distance d.The second parameter reflects the tectonic settings of the studyarea and is used as a tuning parameter for the dependency amongpoints. Both covariance functions are available in GeoStrain.

There are some issues regarding the estimation of parametersof the covariance. (a) Linearization of (32) and (33) for least-squares adjustment requires good approximated initial points,otherwise convergence problem might occur. (b) When the fil-tering is applied, i.e., the observations are considered erroneous,the first point of the variance–covariance histogram C 0l ( ) shouldnot be taken into account. However, when the interpolation is

done without filtering, this point is used and the covariancefunction should pass through it. This is normally done by in-troducing a constraint equation. (c) Alternatively, we can constructa common auto-covariance matrix Cl in (28) for both the inter-polation and filtering. However, in the case of interpolation, wehave to substitute the diagonal elements of Cl with C 0l ( ) or C 0s ( )(which are actually equal), and in the case of filtering, we shouldchange the diagonal elements of Cl with C 0s ( ) but not C 0l ( ). Thelater alternative was implemented in GeoStrain.

4.3. Multidimensional covariance functions

So far, we have discussed the covariance functions of one-di-mensional random functions. This concept, however, can be ex-tended to a homogeneous and isotropic random field. In this case,auto-covariance and cross-covariance functions should be eval-uated respectively for each element and each pair of elements ofthe random vector with the same method presented in Section 4.2.The general form of the covariance function for a two-dimensionalrandom vector with components x u1( ) and x u2 ( ) is formulated as

dn

x xC1

34x x p

p i j

n

k i l jk l

p

( ) ∑=( )<

Equation (34) defines the auto-covariance and cross-covariancefunctions when k l, 1, 1 , 2, 2( ) ∈ {( ) ( )} and k l, 1, 2 , 2, 1( ) ∈ {( ) ( )},respectively. The covariance matrices can be constructed aftercalculating the auto-covariance and cross-covariance functions.However, if all the estimated cross-covariances are small enoughand insignificant, we can consider a n-dimensional random vectoras n one-dimensional random functions, and then, interpolate andfilter such a random vector with the same method of interpolationand filtering of the n separate one-dimensional random functions.

5. GeoStrain software description

We developed the GeoStrain software based on mathematicalmodels introduced in Sections 3 and 4 and the appendix usingMATLAB with a Graphical User Interface (GUI). This choice makesthe software cross-platform that runs under the majority of op-erating systems (OS). GeoStrain is available as an open sourcesoftware under the BSD license (available at: www.opensource.org/licenses/bsd-license.php), and can be downloaded from http://sourceforge.net/projects/geostrain/. The source code includes a setof MATLAB functions, GUIs, map data files and user’s manual aswell as some sample input files. An X-Window environment is

Page 8: GeoStrain An open source software for calculating crustal ...

Fig. 4. The main window of GeoStrain.

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–128

necessary to be installed in UNIX like operating systems beforerunning the software and MATLAB should also be started with theJava Virtual Machine (JVM) enabled. The Mapping toolbox ofMATLAB is also required. Fig. 4 shows the main window of thesoftware.

GeoStrain accepts three different types of ASCII input files,namely, velocity file, grid file and fault file. In the former file, allthe velocities and their associated errors defined in the localgeodetic Cartesian coordinate system are stored in ten columns. Ingrid files, geographical coordinates (latitude and longitude) of gridpoints in decimal degrees are stored in two columns. Fault fileshave the same format of the grid files, except that the first line ofevery break line representing a fault is a single ‘4 ’ sign.

Estimation of the empirical covariance function is done sepa-rately for the horizontal and vertical velocities. All spherical dis-tances among stations are calculated using (37), and the softwareplots the histogram of the distances and reports the number ofpoints per each bin. The sample variance points are calculated andplotted for each bins separately for the north, east, and covariancepoints for north-east using (34). The user has the option to select acovariance function of either Gaussian form in (32) or a rationalform in (33). The software reports the correlation length equals toC 0 /2s ( ) . The correlation length is a distance that there is no ornegligible correlation among the measuring points after that.Geometrically, the correlation length is the distance that thecovariance function becomes asymptotic to the distance axis. Dueto the mathematical form of the covariance functions, however,this distance tends towards infinity. Therefore, to get an estimationof the correlation length that is also in accordance with the defi-nition, this distance should be manually multiplied by two.

Filtering or interpolating the observations, or estimating the strainand rotation tensors becomes possible when the coefficients of thecovariance functions were estimated or loaded. Filtering and in-terpolation are done separately for horizontal and vertical velo-cities. The input velocities are filtered at the observations pointsusing (26) or (27). However, velocities are interpolated at gridpoints using (26), which are not necessary to be regular. Estima-tion of the strain rate and rotation tensors is possible after esti-mating both the horizontal and vertical covariance functions (Eqs.(32) and (33)) at either of observation points, grid points or alongfaults. The effect of the vertical velocities can optionally be con-sidered as stated in (18).

6. Computational performance analysis

In order to test the computational performance of the software,a velocity field was generated for 2°�2° grid points in an areabounded to 60°W–90°W and 40°N–60°N using the followingmodel (Wu et al., 2011):

v

v

10 sin 5 cos 3 9 sin 3 cos 3

1.5 4 5 8 randn

12 sin 3 cos 2 11 sin 4 cos 4

3.5 6 2 randn 35

n

e

2 2

2 2

2 2

2 2

λ φ λ φ

λ φ λ φ

λ φ λ φ

λ φ λ φ

= ( ) ( ) + ( ) ( )

+ − + − + ()

= ( ) ( ) + ( ) ( )

+ − + − + () ( )

where φ and λ are the latitude and longitude of the grid points inradians, and vn and ve are their north and east velocities in mm/yr.The randn() function, in this model, produces Gaussian randomnumbers and simulates the noise associated with the GPS velocities.

Page 9: GeoStrain An open source software for calculating crustal ...

Fig. 5. Comparison of the observed and interpolated velocities with different noise levels: (A) without noise, (B) 70.5 mm/y noise, and (C) 71 mm/y noise. (D) Correlationcoefficients of results with respect to the noise level.

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–12 9

The idea to add this function is to test the effect of noise level on theestimated results. Therefore, we produced three velocity fields withthe noise level of 0, 70.5 mm/y and 71.0 mm/y named model A, Band C, respectively. The performance analysis was done in two stepsfor these three models. In the first step, velocities were estimated atthe grid points and compared with the theoretical velocities com-puted from (35). In the next step, strain rate tensors were estimatedat the grid points and compared with the theoretical strain ratetensors computed from (11). Before presenting results, however, theparameter selection method is introduced. Although both correla-tion functions in (32) and (33) are available in GeoStrain, thepresented results are based on the former one whose parameterscan be estimated by a linear regression after logarithmic transforma-tion to f d a b dln ln 2 2( ( )) = ( ) − . For this specific data set, we founda¼75 (mm/yr)2 and b2¼2.3 (103 km)�2 which is equal to thecorrelation length of 550 km.

The results of interpolating signal at the grid points are pre-sented in Fig. 5A–C. The figures show that, when there is no noisein the data, the estimated velocities are identical with the pre-dicted signal at observation points with the correlation coefficientequals to 1, shown in Fig. 5D. When more noise is added, thedifference between the theoretical velocities and the predictedsignal increased while their corresponding correlation is de-creased. Furthermore, the latter figure shows that the correlationcoefficient of the north velocities decreases faster than the eastvelocities due primarily to the higher signal to noise ratio inlongitudes compared with latitudes.

Fig. 6 displays the results of theoretical and estimated strain ratetensors, rotation rate tensors, and maximum shear strain rates in thetest area using the model A velocity field. Comparison of the resultsshows that the theoretical and estimated values are almost identical.The correlation coefficients between rotation rates and maximumshear strain rates are 0.99 and 0.97, respectively. However, dissim-ilarity emerges with introducing noise to the velocities (model B andC), but the correlation coefficients for rotation rates and maximumshear strain rates stays above 0.9 same as Fig. 5D (this was tested butnot shown here). This shows basically the strength of the LSCmethod to deal with noise in the data and its superiority over otherstrain calculation methods as compared by Wu et al. (2011) and alsoimplies that the software works correctly.

7. Conclusion

GeoStrain is MATLAB program that makes it almost an OS in-dependent software. The main application of the software is to es-timate the strain and rotation rate tensors from 2þ1D velocity ob-servations using the LSC method. Even though this is a commonmethod in the field of geodetic strain analysis, the fact that the effectof the vertical velocity is considered in the structure of the strainrate tensors is important especially when the vertical velocities aresignificant compared to the horizontal velocities. GeoStrain has thefollowing advantages: (a) no limitation on the number of inputstations, (b) existing of two different types of covariance functions

Page 10: GeoStrain An open source software for calculating crustal ...

Fig. 6. Comparison of the theoretical and estimated strain rate tensors in 10 μstrain/y (A and B), rotation rate tensors in °/102 My (C and D), and maximum shear strains in10 nstrain/y (E and F).

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–1210

namely Gaussian and rational functions for fitting to the variance–covariance points, (c) using two methods for making the histogramof the covariance sample points and interactive editing of the points,(d) possibility to save or load coefficients of covariance functions andcovariance sample points, (e) several options to estimate the strainrates at points of interest, (f) filtering velocity data at the observationpoints and interpolating them at points of interest other than themeasuring points, (g) calculating the normal and shear strain rateson the fault lines, (h) visualization of the input data and outputresults, and (i) exporting the stations and strain or rotation ratesdata as text, Google Earth, and ESRI shape files.

Acknowledgment

This project has been partly funded by the grants of the Ca-nadian NSERC and Forestry, Geography and Geomatics Faculty(FFGG) of the Laval University grants. We included two functionsof the geodetic toolbox developed by Mike Craymer in our soft-ware in order to reduce the number of the required MATLABtoolboxes to run the software. Furthermore, the software relies onthe “arrow” function developed by E. A. Johnson (www-bcf.usc.edu/� johnsone/) to plot strain rate tensors, and the “findjobj”function developed by Y. Altman (www.undocumentedmatlab.

Page 11: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–12 11

com/) for the internal use. The authors would like to thank theanonymous reviewers for their constructive comments. In addi-tion, Quantum GIS software (QGIS, 2015), the Generic MappingTools (Wessel and Smith, 1998), GIMP and Inkscape software wereused for preparing figures of this paper.

Appendix: calculating the strain tensor

The LSC method is used to estimate the signal at points of in-terest. The tectonic signal contains the dilatation and the mainpart of the rotation. The first spatial derivative of the signal givesthe deformation tensor D which can be decomposed into thestrain tensor and the rotation tensor (Peter, 2000). Therefore, wecan calculate the deformation tensor using (26) as

Dsx

Cx

k Ckx

Cx

k 36st

stst

^= ∂

∂=

∂∂

⋅ + ⋅∂∂

=∂∂

⋅ ( )

The second term in (36) is zero because the correlation vector k isindependent of the position x . Thus, in order to calculate thedeformation tensor, it is necessary to calculate the spatial deriva-tive of the covariance function Cst .

We use spherical distances among points to estimate the cov-ariances in (32) and (33), however, the vector of displacements isdefined in a local topocentric reference systems, centered on everypoint. The spherical distance between points i and j is calculatedas

37r r r cos sin sin cos cos cosij e ij e i j i j ij1( ) ( )θ φ φ φ φ λ= = + Δ−

where re is the spherical radius of the earth, ijθ is the radial dis-tance, iφ and jφ are the latitudes, and ijΔλ is the difference of thelongitudes between points i and j. We can now substitute (37) in(32) and (33), and calculate the spatial derivative of Cst as

ab bCx

Cr

rx

r rrx

2 exp 38st st 2 2 2( )∂

∂=

∂∂

∂∂

= − − ∂∂ ( )

and

ab

b

Cx

Cr

rx

r

r

rx

2

1 39

st st 2

2 2 2( )∂∂

=∂∂

∂∂

= −

+

∂∂

( )

We can write the spatial derivative of r using (37) as

rrx x 40e

θ∂∂

= ∂∂ ( )

The derivative of θ relative to x has different forms of:

x r 41i e iφ∂ = ∂ ( )

and

x r cos 42i e i ijφ λ∂ = ∂ ( )

We substitute (41) and (42) in (40):

xr 1

sincos sin sin cos cos

43i ii j i j ij( )φ θ

φ φ φ φ λθ∂∂

= ∂∂

= − − Δ( )

and

xr

cos

cos sin

sin 44i i i

j ij

φ λ

φ λ

θθ∂

∂= ∂

∂=

− Δ

( )

Finally, we can substitute (43) and (44) in both (38) and (39),and get the deformation tensor for each of the covariance func-tions as

ab r b rD

k

2 exp

1sin

cos sin sin cos cos 45i j i j ij

2 2 2

( )( )

θφ φ φ φ λ

= −

− Δ ( )

ab r b rD k2 exp1

sincos sin 46j ij

2 2 2 ( )( ) θφ λ= − Δ ( )

for the Gaussian covariance function, and:

ab r

b rD

k

2

1

1sin

cos sin sin cos cos 47i j i j ij

2

2 2 2

( )( ) θ

φ φ φ φ λ

=+

− Δ ( )

ab r

b rD k

2

1

1sin

cos sin48

j ij

2

2 2 2 ( )( ) θφ λ=

( )

for the rational covariance function. Then, we can calculate thestrain and the rotation tensor by decomposing D into a symmetricand an antisymmetric part as

D D D D D12

12 49

T T( ) ( ) ε Ω= + + − = + ( )

Appendix A. Supplementary Information

Supplementary data associated with this article can be found inthe online version at http://dx.doi.org/10.1016/j.cageo.2015.05.007.

References

Allmendinger, R.W., Cardozo, N., Fisher, D.M., 2012. Structural Geology Algorithms:Vectors and Tensors. Cambridge University Press.

Allmendinger, R.W., Reilinger, R., Loveless, J., 2007. Strain and Rotation Rate fromGPS in Tibet, Anatolia, and the Altiplano. Tectonics 26, TC3013.

Beavan, J., Haines, A.J., 2001. Contemporary horizontal velocity and strain rate fieldsof the Pacific-Australian plate boundary zone through New Zealand. J. Geophys.Res. 106, 741–770.

Cai, J., Grafarend, E.W., 2007. Statistical analysis of geodetic deformation (strainrate) derived from the space geodetic measurements of BIFROST Project inFennoscandia. J. Geodyn. 43, 214–238.

Cardozo, N., Allmendinger, R.W., 2009. SSPX: A program to compute strain fromdisplacement/velocity data. Comput. Geosci. 35, 1343–1357.

Cross, P.A., 1990. Advanced Least Squares Applied to Position Fixing (No. 6). London,England.

Dermanis, A., Livieratos, E., 1983. Applications of deformation analysis in geodesyand geodynamics. Rev. Geophys. Sp. Phys. 21, 41–50.

El-Fiky, G.S., Kato, T., Fujii, Y., 1997. Distribution of vertical crustal movement ratesin the Tohoku district, Japan, predicted by least-squares collocation. J. Geodyn.71, 432–442.

Fernandes, R.M.S., Miranda, J.M., Meijninger, B.M.L., Bos, M.S., Noomen, R., Bastos,L., Ambrosius, B.A.C., Riva, R.E.M., 2007. Surface velocity field of the Ibero-Maghrebian segment of the Eurasia-Nubia plate boundary. Geophys. J. Int. 169,315–324.

Frank, F.C., 1966. Deduction of earth strains from survey data. Bull. Seismol. Soc.Am. 56, 35–42.

Fujii, Y., Xia, S., 1993. Estimation of distribution of the rates of vertical crustalmovements in the Tokai district with the aid of least squares prediction. J. Phys.Earth 41, 239–256.

Goudarzi, M.A., Cocard, M., Santerre, R., 2014. EPC: Matlab software to estimateEuler pole parameters. GPS Solut 18, 153–162.

Hackl, M., Malservisi, R., Wdowinski, S., 2009. Strain rate patterns from dense GPSnetworks. Nat. Hazards Earth Syst. Sci. 9, 1177–1187.

Haines, A.J., Jackson, J.A., Holt, W.E., Agnew, D.C., 1998. Representing DistributedDeformation by Continuous Velocity Fields. Lower Hutt, Wellington, NewZealand.

Hill, E.M., Blewitt, G., 2006. Testing for fault activity at Yucca Mountain, Nevada,using independent GPS results from the BARGEN network. Geophys. Res. Lett.33, L14302.

Jaeger, J.C., 1956. Elasticity, Fracture and Flow: With Engineering and GeologicalApplications. Methuen & Co, London, England.

Page 12: GeoStrain An open source software for calculating crustal ...

M.A. Goudarzi et al. / Computers & Geosciences 82 (2015) 1–1212

Jiménez-Munt, I., Sabadini, R., Gardi, A., Bianco, G., 2003. Active deformation in theMediterranean from Gibraltar to Anatolia inferred from numerical modelingand geodetic and seismological data. J. Geophys. Res. 108, 2006.

Kahle, H.-G., Cocard, M., Peter, Y.F., Geiger, A., Reilinger, R., Barka, A., Veis, G., 2000.GPS-derived strain rate field within the boundary zones of the Eurasian, Afri-can, and Arabian Plates. J. Geophys. Res. 105, 23353–23370.

Kedar, S., Baxter, S.C., Parker, J.W., Webb, F.H., Owen, S.E., Sibthorpe, A.J., Dong, D.,2011. Geodetic Strain Analysis Tool. NASA Tech Br.

Kreemer, C., Haines, A.J., Holt, W.E., Blewitt, G., Lavallée, D.A., 2000. On the de-termination of a global strain rate model. Earth Planets Sp. 52, 765–770.

Love, A.E.H., 1944. A Treatise on the Mathematical Theory of Elasticity, 4th ed DoverPublications, New York.

Lowrie, W., 2007. Fundamentals of Geophysics, 2nd ed Cambridge University Press,New York, USA.

Malvern, L.E., 1969. Introduction to the Mechanics of a Continuous Media. Prentice-Hall, Upper Saddle River, N. J.

Mazzotti, S., James, T.S., Henton, J.A., Adams, J., 2005. GPS crustal strain, postglacialrebound, and seismic hazard in eastern North America: the Saint Lawrencevalley example. J. Geophys. Res. 110, B11301.

Mikhail, E.M., Ackermann, F.E., 1976. Observations and Least Squares. IEP, New York,USA.

Moritz, H., 1972. Advanced Least-squares Methods. Ohio State University, Co-lumbus, USA.

Moritz, H., 1980. Advanced Physical Geodesy. Herbert. Wichmann Verlag, Karlsruhe,Germany.

Peter, Y.F., 2000. Present-day crustal dynamics in the Adriatic-Aegean plateboundary zone inferred from continuous GPS-measurements. Swiss FederalInstitute of Technology, Zurich.

Pietrantonio, G., Riguzzi, F., 2004. Three-dimensional strain tensor estimation byGPS observations: methodological aspects and geophysical applications. J.Geodyn. 38, 1–18.

QGIS, D.T., 2015. QGIS Geographic Information System.

Reddy, J.N., 2013. An Introduction to Continuum Mechanics, 2nd ed. CambridgeUniversity Press, New York.

Savage, J.C., Gan, W., Svarc, J.L., 2001. Strain accumulation and rotation in theEastern California Shear Zone. J. Geophys. Res. 106, 21995–22007.

Schneider, D., 1982. Complex crustal strain approximation. Institut für Geodäsieund Photogrammetrie an der Eidgenössischen Technischen Hochschule.

Shen, Z.K., Jackson, D.D., Ge, B.X., Bob, X.G., 1996. Crustal deformation across andbeyond the Los Angeles basin from geodetic measurements. J. Geophys. Res.101, 27927–27957.

Spakman, W., Nyst, M.C.J., 2002. Inversion of relative motion data for estimates ofthe velocity gradient field and fault slip. Earth Planet. Sci. Lett. 203, 577–591.

Stein, R.S., 2003. Earthquake conversations. Sci. Am. 288, 72–79.Strang, G., Borre, K., 1997. Linear Algebra, Geodesy, and GPS. Wellesley Cambridge

Press, Wellesley.Teza, G., Pesci, A., Galgaro, A., 2008. Grid_strain and grid_strain3: software packages

for strain field computation in 2D and 3D environments. Comput. Geosci. 34,1142–1153.

Wald, R.M., 1984. General Relativity. University of Chicago press, Chicago, IL.Wdowinski, S., Smith-Konter, B., Bock, Y., Sandwell, D., 2007. Diffuse interseismic

deformation across the Pacific-North America plate boundary. Geology 35,311–314.

Wdowinski, S., Sudman, Y., Bock, Y., 2001. Geodetic detection of active faults in S.California. Geophys. Res. Lett. 28, 2321–2324.

Wessel, P., Bercovici, D., 1998. Interpolation with splines in tension: a Green’sfunction approach. Math. Geol. 30, 77–93.

Wessel, P., Smith, W.H.F., 1998. New, improved version of Generic Mapping Toolsreleased. Eos Trans 79, 579.

Wu, Y.Q., Jiang, Z.S., Yang, G., Wei, W., Liu, X., 2011. Comparison of GPS strain ratecomputing methods and their reliability. Geophys. J. Int. 185, 703–717.