EPC - Matlab Software To Estimate Euler Pole Parameters

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

GPS Solut (2014) 18:153–162

DOI 10.1007/s10291-013-0354-4

GPS TOOLBOX

EPC: Matlab software to estimate Euler pole parameters


Mohammad Ali Goudarzi •
Marc Cocard • Rock Santerre

Received: 13 May 2013 / Accepted: 8 November 2013 / Published online: 22 November 2013
 Springer-Verlag Berlin Heidelberg 2013

Abstract The estimation of Euler pole parameters has plate. Mathematical algorithms and functions of the soft-
always been an important issue in global tectonics and ware are explained in detail.
geodynamics studies. In addition, the increasing number of
permanent GPS stations and the ease of access to their data, Keywords Direct Euler pole problem  Inverse
along with advances in computers, promise new methods Euler pole problem  MATLAB
and tools for the estimation and the quantitative analysis of
Euler pole parameters. Therefore, we developed the Euler
pole calculator software using a set of mathematical Introduction
algorithms based on the model of tectonic plate motion on
a spherical surface. The software is able to calculate the Motion of the tectonic plates across the earth’s surface can
expected velocities for any points located on the earth’s be represented by Euler’s rotation theorem in spherical
surface given the relevant Euler pole parameters and to geometry. According to the theorem, the movement of a
estimate the Euler pole parameters given the observed rigid body across the surface of a sphere can be described
velocities of a set of sites located on the same tectonic as a rotation around an axis of rotation that passes through
the center of the sphere. The pole of rotation is one of the
two points where that axis intersects the surface of the
The GPS Tool Box is a column dedicated to highlighting algorithms sphere (Lowrie 2007). Application of this theorem in
and source code utilized by GPS engineers and scientists. If you have geophysics states that the displacement of one tectonic
an interesting program or software package you would like to share plate relative to other plates takes place as a rotation about
with our readers, please pass it along; e-mail it to us at the Euler pole of relative rotation between the plates.
gpstoolbox@ngs.noaa.gov. To comment on any of the source code
discussed here, or to download source code, visit our website at http:// The Euler pole can be located by different methods.
www.ngs.noaa.gov/gps-toolbox. This column is edited by Stephen Previously, most of the successful plate motion models
Hilla, National Geodetic Survey, NOAA, Silver Spring, Maryland, were determined from transform fault azimuths, earthquake
and Mike Craymer, Geodetic Survey Division, Natural Resources slip vectors and spreading rates at mid-ocean ridges (Chase
Canada, Ottawa, Ontario, Canada.
1972; Minster and Jordan 1978; DeMets et al. 1990, 2010;
Disclaimer: We provide the EPC software with the hope that it will be Argus and Gordon 1991). These models can explain the
helpful for scientific research. Although we did our best to implement large-scale features of plate kinematics (Qiang et al. 1999).
the described mathematical models in our software free of coding Despite the importance of the Euler pole estimation in
errors, it comes without any warranty. Please refer to the ‘‘disclaimer
file’’ in the software root directory for more information about the
geodynamic studies, to the best of our knowledge, there is
liability. only one other software program for the calculation of
Euler pole parameters using GPS velocity vectors. It is
M. A. Goudarzi (&)  M. Cocard  R. Santerre called PlatE-Motion (PEM) and was developed at the
Department of Geomatics Sciences, Laval University,
National Institute of Geophysics and Volcanology (INGV:
Louis-Jacques-Casault Building, Quebec,
QC G1V 0A6, Canada Istituto Nazionale di Geofisica e Vulcanologia) in Italy
e-mail: mohammad-ali.goudarzi.1@ulaval.ca (Cannavò and Palano 2011). However, developing a new

123
154 GPS Solut (2014) 18:153–162

software program is still interesting because: (1) the soft- using basic skew-symmetric matrix properties (Liu and
ware redundancy can increase the reliability of the model Trenkler 2008) as follows:
solution or can facilitate the model solution validation by 2 3 2 3p
0 z y xx
comparing the results obtained from different software (Hill
vi ¼ 4 z 0
p
x 5 4 xy 5 ¼ Xi  Xp ð2Þ
and Blewitt 2006) and (2) PEM is not publicly available. y x 0 i xz
Therefore, we developed the Euler pole calculator (EPC)
software at the Center for Research in Geomatics (CRG), This new form of (1) can help to simplify calculations of
Laval University, Canada, to calculate both (1) the hori- the Euler theorem, and therefore, it will be used as the basic
zontal velocities of any point on the earth’s surface given formula for developing models in the following sections.
the Euler pole parameters and (2) the Euler pole parameters
by inverting the observed velocities at a set of measuring
Models and the least-squares adjustment
sites on the earth’s surface located on the same rigid tec-
tonic block. Although we originally developed the software
Using (2), it is possible to calculate the velocity vector of
to work with GPS velocity vectors, it can also be used with
any point located on the earth’s surface having the Euler
velocity vectors obtained from other methods.
parameters, or infer the Euler pole parameters by inverting
First, in Sects. 2 and 2.1, we describe the mathematical
the observed velocity vectors of a set of points located on
models and the least-squares adjustment method used to
the same rigid tectonic block. We name the former case the
estimate the Euler pole parameters using the velocity
‘‘direct Euler pole problem’’ and the latter case the
vectors of a set of stations either in the Earth-Centered
‘‘inverse Euler pole problem.’’ Based on this definition, we
Earth-Fixed Cartesian Coordinate System or in the Local
present two mathematical models in the following sections.
Geodetic Cartesian Coordinate System. Then, we mathe-
matically discuss estimation of the Euler pole on the
Direct Euler pole problem in ECEF CCS
ellipsoidal model of the earth and other aspects of the
ellipsoid-to-sphere simplification in Sect. 2.2. Following
Estimation of the station velocities is simpler in an ECEF
that, in Sect. 2.3, we explain four statistical tests/methods
CCS. Assume that station i in the rigid plate p with the
to evaluate the quality of the models. Lastly in Sect. 3, we
introduce the main features of the developed software. position vector xi ðxi ; yi ; zi ÞT in ECEF CCS and the rota-
tion vector Xp with its covariance matrix RXp in the same
coordinate system is known. Then, the velocity vector in
Mathematical background the ECEF CCS is directly given by (2) as follows:
2 3 2 3 2 3p
vx 0 z y xx
The Euler theorem can be mathematically formulated as: ðECEFÞ 6 7 6 7 6 7
2 3p 2 3 vi ¼ 4 vy 5 ¼ 4 z 0 x 5 4 xy 5
0 xz xy x
vpi ¼ Xp  xi ¼ 4 xz 0 xx 5 4 y 5 ð1Þ vz iðECEFÞ y x 0 iðECEFÞ xz
2 p p3
xy xx 0 z i zi xy  yi xz
6 x xp  z xp 7
¼4 i z i x 5 ð3Þ
where vpi and xi ðxi ; yi ; zi ÞT are the velocity and the
yi xpx  xi xpy
position of the station i, and Xp ðxpx ; xpy ; xpz Þ is the angular
velocity or the Euler vector of the plate p associated with The ECEF CCS velocity vector in (3) can be converted
the station i. The label p in the model indicates the assumed to a velocity vector in a Local Geodetic Cartesian
plate and does not refer to the reference frame. The cross Coordinate System (LG CCS) using a combination of the
product is taken between the angular velocity vector and three consecutive rotations, as follows:
the station position vector in an Earth-Centered Earth- 2 3
vn
Fixed Cartesian Coordinate System (ECEF CCS). ðLGÞ 6 7 ðECEFÞ
vi ¼ 4 ve 5 ¼ Ri vi
Therefore, the velocity vpi is also expressed in the ECEF
CCS. The magnitude of the Euler vector Xp ¼ jXp j is the vu iðLGÞ
2 32 3
rate of rotation of the plate p around its pole and is usually sin/ cosk sin/ sink cos/ vx
expressed in degrees per million years (/Myr). The 6 76 7
¼ 4 sink cosk 0 5 4 vy 5
direction of the Euler vector X ^ p ¼ Xp =jXp j is called the
cos/ cosk cos/ sink sin/ i vz iðECEFÞ
‘‘Euler pole’’ and is often expressed as a spherical latitude
ð4Þ
and longitude in degrees. In this rotation model, the plate p
is basically constrained to move rigidly on the spherical where / and k are the spherical latitude and longitude of
earth’s surface without radial motion. We can rewrite (1) station i, respectively.

123
GPS Solut (2014) 18:153–162 155

2 ovp ovpxi ovpxi


3
Equation (4) gives the velocity vector of the station i in xi
2 3ðECEFÞ
p
6 oxpx oxpy oxpz 7 0 z y
LG CCS. However, the Euler pole parameters are usually
ðECEFÞ 6 ovyi ovpyi ovpyi 7 4
given by spherical latitude Xplat in degrees, spherical lon- Ki ¼ 6 oxpx oxpy oxpz 7 ¼ z 0 x 5
4 p 5
gitude Xplong in degrees and rotation magnitude Xp in ovzi ovpzi ovpzi y x 0 i
oxpx oxpy oxpz
degrees per million years. Therefore, they should be first
converted to ECEF CCS. This conversion can be done Equation (7) gives the covariance matrix of the
using the following equation: velocities in ECEF CCS. To transform this covariance
2  p   3 matrix to LG CCS, we can use the rotation matrix Ri
2 3p cos X cos Xp
xx p 6 lat long introduced in (4), as follows:
4 xy 5 ¼ X 6  p   p 7 7
6 4 cos X sin Xlong 5 ð5Þ
10  plat ðLGÞ ðECEFÞ
xz Rvp ¼ Ri Rvp RTi ð8Þ
sin Xlat i i

Taking this point into account, the covariance matrix of Therefore, the covariance matrix of the velocities in the
the rotation vector in ECEF CCS is calculated using the LG CCS is also obtained.
covariance matrix of the pole of rotation in the spherical
latitude and longitude and the rate of rotation Rxp using the Direct Euler pole problem in LG CCS
error propagation law as follows:
RXp ¼ J Rxp JT ð6Þ The LG CCS model is based on ECEF CCS and is used
when coordinates of the measuring stations are available in
where J is the Jacobian matrix of linearized observations in
LG CCS. Xi in (2) can be rewritten using the transforma-
(5):

2 oxpx oxpx oxpx


3
oXplat oXplong oXp
6 p 7
6 oxy oxpy oxpy 7
J¼6
6 oXplat oXplong oXp
7
7
4 p 5
oxz oxpz oxzp

oXplat oXplong oXp


2 3
Xp sinðXplat Þ cosðXplong Þ Xp cosðXplat Þ sinðXplong Þ cosðXplat Þ cosðXplong Þ
1 6 p p 7
¼ 4 Xp sinðXlat Þ sinðXlong Þ Xp cosðXplat Þ cosðXplong Þ cosðXplat Þ sinðXplong Þ 5
106
Xp cosðXplat Þ 0 sinðXplat Þ

and RXp is the covariance matrix of the Euler pole parameters tion between ECEF CCS and spherical coordinates of
of the rigid plate p in ECEF CCS. The matrix Rxp in (6) is stations as:
assumed to be a diagonal matrix that is defined as: 2 3
0 sin/ cos/ sink
Rxp ¼ diagðr2xp ; r2xp ; r2xp Þ Xi ¼ re 4 sin/ 0 cos/ cosk 5 ð9Þ
lat long
cos/ sink cos/ cosk 0 i
In order to calculate the covariance matrix of velocities,
where re is the earth’s radius and / and k are the spherical
we apply the error propagation law to (3):
latitude and longitude of the station i. The LG CCS
ðECEFÞ ðECEFÞ T ðECEFÞ
Rvp ¼ Ki RXp Ki ð7Þ velocity vi
ðLGÞ
can be calculated from the ECEF CCS
i
ðECEFÞ
ðECEFÞ velocity vi using the rotation matrix Ri presented in
where Ki is the Jacobian matrix of linearized
(4). The velocity vector in LG CCS is given by substituting
observation in (3) in ECEF CCS:
(2) and (9) into (4):

123
156 GPS Solut (2014) 18:153–162

2 3  1  T 
vn Xp ¼ AT WA A WL
vpi ¼ 4 ve 5 ð14Þ
¼ N1 AT W L
vu iðLGÞ
2 32 p3
sink cosk 0 xx where W is the weight matrix of the observations and
¼ re 4 sin/ cosk sin/ sink cos/ 5 4 xpy 5 ð10Þ N-1 is called the cofactor matrix of unknowns. Assuming
0 0 0 i
xpz the rotation on a sphere, the rotation vector might be
Equation (10) shows clearly that the up-component defined by the rate of rotation jXp j (angular velocity) and
of the velocity vector is zero. This confirms that the the pole of rotation (spherical latitude and longitude) as
rotation around the Euler pole on a spherical surface follows:
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
does not change the height. Therefore, we can simplify
jXp j = ðxpx Þ2 þ ðxpy Þ2 þ ðxpz Þ2
(10) and estimate the horizontal velocities in LG CCS qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

by:
  Xlat ¼ arctan xz = ðxpx Þ2 þ ðxpy Þ2
p p
ð15Þ
v  
vpi ¼ n
ve iðLGÞ
2 3 Xplong ¼ arctan xpy =xpx
  xpx
sink cosk 0 4 xpy 5
¼ re The accuracy or the standard deviation of the
sin/ cosk sin/ sink cos/ i
2 p3 xpz components of the estimated rotation vector
xx Xp ðxpx ; xpy ; xpz Þ is the square root of diagonal elements
ðLGÞ
¼ Ki 4 xpy 5 ð11Þ of the covariance matrix of unknowns RXp , which is
xpz calculated using the a posteriori sigma value r^0 and the
cofactor matrix of unknowns as follows:
Covariance matrix of horizontal velocities in LG CCS is
calculated by applying the error propagation law to (11):
RXp ¼ r^20  N1 ð16Þ
ðLGÞ ðLGÞ T ðLGÞ
Rvp ¼ Ki RXp Ki ð12Þ
i and r^0 is calculated as:
sffiffiffiffiffiffiffiffiffiffiffiffiffiffi
where RXp in (12) is assumed as a diagonal matrix that is
mTr Wmr
defined as: r^0 ¼ ð17Þ
  df
RXp ¼ diag r2Xp ; r2Xp ; r2Xp
lat long in which mr is the vector of velocity residuals and df rep-
Equation (12) gives covariance matrix of the velocities resents the degree of freedom of the equation system. Even
ðLGÞ though there are three observation equations per velocity
directly in LG CSS, in which Ki is the same with the vector, the degree of freedom in (17) equals to 2n-3, in
Jacobian matrix of linearized observations in (11). which n is the number of measuring stations. This is
because the third component of the velocity vector depends
Inverse Euler pole problem in ECEF CCS on the first two and therefore cannot be taken into account
as an independent observation equation. More specifically,
We can write the observation equation or velocity vectors the radial component of the velocity corresponding to the
for n measuring stations on the same rigid plate p by vertical velocity on the sphere does not contribute to the
expanding the scalar form of (2) as follows: solution of the rotation vector. This is clearly shown by
2 3p 2 3p 2 3
v1 X1 p (10) for the case of LG CCS (see Sect. 2.2.3 for
xx
6 .. 7 6 .. 7 4 xy 5 discussion).
4 . 5 ¼4 . 5 ð13Þ
xz 31 The accuracy of the estimated Euler pole parameters
vn 3n1
Xn 3n3  
jXp j; Xplat ; Xplong can be derived by applying the error
We can now calculate the rotation vector Xp ¼
propagation law to (15):
ðxpx ; xpy ; xpz ÞT for the rigid plate p using the least-squares
method. If we show the observation vector ðv1    vn ÞT by Rxp ¼ G RXp GT ð18Þ
L and the design matrix ðX1    Xn ÞT by A, we have: where G is the Jacobian matrix of linearized observation:

123
GPS Solut (2014) 18:153–162 157

2 ojXp j ojXp j ojXp j


3
oxpx oxpy oxpz
6 7
6 o/ o/ o/ 7
G¼6 oxpx oxpy oxpz 7
4 5
ok ok ok
oxpx oxpy oxpz
2 3
xpx xpy xpz
6 jXp j jXp j jXp j
6 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 7
7
6 xpy xpz
xpx xpz
¼ 6  jX1p j2  pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ffi  jX1p j2  pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ffi  jX1p j2  ðxpx Þ2 þ ðxpy Þ2 7 7
6 ðxpx Þ2 þðxpy Þ2 p 2
ðxx Þ þðxy Þp 2
7
4 xp
5
y xpx
ðxpx Þ2 þðxpy Þ2 ðxpx Þ2 þðxpy Þ2
0

Having the covariance matrix of the rotation vector Rxp The relationship between the spherical latitude /0 and
from (18), we can calculate the accuracy or the sigma the geodetic latitude / is obtained by (Curtis 2009, p. 282):
values of the estimated velocities using (7) and (8).   
/0 ¼ tan1 1  e2  tan/ ð19Þ
Inverse Euler pole problem in LG CCS where e is the eccentricity of the ellipse. While according
to (19) the spherical and geodetic latitudes are equal at the
In LG CCS, we can write the observation equation for n equator and poles, they have a small difference of /0  /
stations in the same rigid plate by expanding the scalar in between. To find the maximum of this difference, we set
form of (11), and the least-squares adjustment is contin- the first-order derivative of the equation equal to zero.
ued same as Sect. 2.1.3. Having the covariance matrix of After simplification we have:
the rotation vector RXp from (16), we can obtain the rffiffiffiffiffiffiffiffiffiffiffiffiffi
covariance matrix of the estimated Euler pole parameters 1
sin/ ¼  ð20Þ
Rxp and the estimated velocities using (18) and (11), 2  e2
respectively.
Equation (20) gives the geodetic latitude of the points
where this difference is maximum. This latitude for the
Discussion about models
WGS84 ellipsoid (with e = 0.081819) equals to

/ ¼ 45 50 , corresponding to maximum difference of
In Sect. 2.1, we presented the mathematical models that are
0.1924 (^21.4 km on the earth’s surface).
used to solve the direct or the inverse Euler pole problem in
Despite the fact that a change in latitude makes a
detail. However, some principal remarks about the Euler
negligible change in velocity, it is very important to
model, its inputs and calculations need to be discussed and
consistently use either spherical or geodetic latitude in the
clarified more. Therefore, in the rest of this section, we will
inverse Euler pole problem to get consistent results. In
discuss the effect of the simplification in the Euler model,
other words, the same type of latitude must be used for
the consequences of including the vertical component of
both the Euler pole and the location of stations. When the
the velocity vectors and the importance of reducing the size
Euler pole is estimated in the spherical latitude, however,
of the normal matrix.
it is inconsistent with the coordinates of the sites in geo-
detic latitude. This becomes especially important when the
Ellipsoid-to-sphere simplification
Euler pole is very close to stations. In this situation, the
Euler pole may jump to the other side of the stations and
We approximated the ellipsoidal model of the earth by a
therefore makes a theoretical site velocity of the opposite
spherical model for two reasons: (1) The Euler rotation
direction than observed. Therefore, to avoid this problem,
theorem is defined in the spherical geometry and (2) to
we can establish two strategies to solve the inverse Euler
simplify our models. This simplification was applied on
pole problem:
both the direct and the inverse Euler pole problems. Here,
we discuss the amplitude of this simplification mathemat- 1. Use geodetic latitude for the position of stations, and
ically and show that for most of the cases, the difference then, transform spherical latitude of the estimated
between an ellipsoidal and a spherical model is negligible. Euler pole to the geodetic latitude.

123
158 GPS Solut (2014) 18:153–162

Table 1 The estimated Euler pole parameters and their sigma values from the velocity vectors in ECEF CCS (AV: angular velocity)
Data set Lat. () Long. () AV (/Myr) rLat. () rLong. () rOmega (/Myr)

Original -6.810 -84.764 0.1856 4.218 1.219 0.0096


Transformed -6.813 -84.754 0.1855 1.319 0.381 0.0021

2. Use spherical latitude for the position of stations. vertical components of velocity vectors should be set to
zero before they are transformed from LG CSS to ECEF
In the direct Euler pole problem, however, spherical
CCS. This is not the case, however, for the inverse Euler
latitude of the Euler pole must always be used.
pole problem in LG CCS (Sect. 2.1.4).
We tested this concept by transforming a set of
Simplification of the weight matrix
velocity vectors of some continuous GPS stations across
the North American plate from ECEF CCS to LG CCS,
Correlations between velocity components of different
and putting the vertical component of the velocities to
sites are often unavailable or neglected. In this case, it is
zero. Then, we transformed back the velocity vectors to
assumed that velocities of different stations are indepen-
ECEF CCS in order to eliminate the effect of the vertical
dent, and based on this assumption, the corresponding
component of the velocities in the model. Finally, we
covariance values are substituted by zero. This, however,
estimated the Euler pole parameters using both the ori-
reduces the weight matrix W in (14) to a block diagonal
ginal and the transformed velocities. The results are
matrix and simplifies the calculation of the normal matrix
shown in Table 1.
as:
The difference between the location of the plate rotation
Xn
pole and magnitude of the angular velocity is not signifi-
N¼ ATi Wi Ai ð21Þ
i¼1
cant with respect to the corresponding sigma values. As we
expected, however, sigma values obtained from the trans-
where n is the number of stations and Ai and Wi are the formed data set are smaller than the corresponding values
corresponding design and weight matrices of station i, obtained from the original data set by the factor of *3.2
respectively. In the same way, the second part of the least- for this specific data set.
squares adjustment in (14) and the a posteriori sigma value
in (17) are simplified as: Comparing ECEF CCS and LG CCS
X
n
AT WL ¼ ATi Wi Li ð22Þ Although the two models are mathematically equivalent,
i¼1
the LG CCS model has the following advantages:
X
n
mTr Wmr ¼ mTri Wi mri ð23Þ • Ellipsoidal latitudes and horizontal velocities of the
i¼1 stations can be used directly in the model. In other
where Li and mri are the observation and velocity residuals words, the up-component of the velocity vector is
vectors of station i, respectively. This simplification already neglected, and therefore, there is no need to get
becomes important since it prevents one from inverting a ECEF Cartesian coordinates referring to a spherical
large normal matrix when the Euler pole is estimated from reference shape.
velocities of a large number of measuring stations. • The a posteriori sigma value is overestimated when a
full vector of velocity residuals ðmrx ; mry ; mrz Þ is used in
Effect of the vertical component of the velocities ECEF CCS, as we showed in Sect. 2.2.3.

We showed in (10) that the vertical velocities do not Statistical tests


contribute to the estimation of the Euler pole parameters.
However, this is not true for the a posteriori sigma value r^0 Quality assessment of a model solution is crucial to eval-
obtained from (17). When a full vector of velocity residuals uate the quality of the whole process in the estimation of
P 2
is used, r^20 is increased by mrz =df , and consequently, Euler pole parameters. Therefore, we have implemented
elements of the covariance matrix of the Euler pole four statistical tests, namely v2 test of goodness of fit,
parameters are artificially enlarged. To avoid this effect, Pearson’s correlation coefficient, Baarda’s data snooping
the vertical components of the velocity vectors should not and the s test. We believe that these tests are the most
be used to calculate the rotation vector. In other words, the important ones for our purpose.

123
GPS Solut (2014) 18:153–162 159

v2 test of goodness of fit where mi is the standardized residual, vi is the computed
residual from the adjustment, and qii is the diagonal
The v2 test is used to test whether a sample of data came element of the Qvv. Using Qvv, the standard deviation of the
pffiffiffiffiffi
from a population with a specific distribution. Since this residual is r0 qii , where r0 is the a priori sigma value. If a
test is independent of the distribution that is being used, it residual differs significantly from zero, the corresponding
can be used to test the hypothesis that observations were observation can be considered as a blunder. Therefore, as
drawn from a specific theoretical distribution. suggested by BaardaW (1968), the test statistic for testing
this hypothesis is defined by multiplying the denominator
Pearson’s correlation coefficient of (27) by r0 as follows:
mi mi mi
The strength of the relationship between two variables can ti ¼ pffiffiffiffiffi ¼ ¼ ð28Þ
r0 : qii rmi r0
be explored by trend analysis that is often used in the early
stages of a statistical analysis as a preliminary means to test Thus, we can test all the residuals by defining a rejection
the linear relationship. The analysis is usually limited to a level given by a two-tailed Student’s t test with r-1
rectilinear trend in the bivariate data, and it is represented degrees of freedom as:
by a single parameter called ‘‘correlation coefficient.’’ j mi j
Pearson’s correlation coefficient is the most common cor- pffiffiffiffiffi [ ta=2 ðr Þ ð29Þ
r0 : qii
relation coefficient and is defined as:
X n where r is the total number of the redundant observations in
qxy ¼ ðxi  xÞðyi  yÞ=ðn  1Þrx ry ð24Þ the system. The observation with the largest absolute value
i¼1 of ti as given by (28) is rejected when it is greater than the
where n is the number of xy pairs of data points and rx and rejection level ta=2 ðr Þ. It is worth mentioning that a proper
ry are the univariate standard deviations corresponding to relative weighting of observations and a good knowledge
x and y. of the a priori sigma value has a key role in this form of
The significance of the Pearson’s correlation coefficient blunder detection, and it is important to choose weights
can be tested by determining the probability of correlation that reflect observational errors.
value q for a random sample from a population with zero
correlation value. The significance of the correlation The tau test
coefficient is estimated using a t-statistic:
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
t ¼ q ðn  2Þ=ð1  q2 Þ ð25Þ In Baarda’s data snooping, the observational precision or
the variance factor r20 should be known, which means all
If the calculated t is higher than the critical t with n-2 the variances are proportionally scaled (Kuang 1996). On
degree of freedom and the significance level of 5 %, then the the other hand, the ratio in (28) has a t-distribution only if
correlation coefficient is significant. This test, however, is only the distribution of the numerator (normal) and the
valid when both of the variables have Gaussian distribution denominator (chi-squared) are stochastically independent
with respect to both of the variables (Trauth 2010). (Leick 2004). Therefore, when r20 is not adequately known
or when the emphasis is not on the a priori error estimates,
Baarda’s data snooping
the a posteriori estimation of the variance factor r^20 is used.
In this case, Pope (1976) shows that (28) is instead another
The cofactor matrix of residuals can be used to statistically
test statistic called s (tau) and is defined as:
detect blunders in the data set. This matrix can be written
as (Ghilani 2010): mi mi mi
si ¼ pffiffiffiffiffi ¼ ¼ ð30Þ
r^0  qii r^mi r^0
Qvv ¼ W1  AQxx AT ð26Þ
whose critical value sa=2 can be calculated from the
where W is the weight matrix of observations, A is the
Student’s t-distribution as:
design matrix of the adjustment, and Qxx is the cofactor pffiffi
matrix of unknowns that is obtained from the adjustment. ta=2 ðr  1Þ  r
sa=2 ðrÞ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð31Þ
From this, the standard residuals are computed from the r  1 þ ta=2 2 ðr  1Þ
appropriate diagonal elements of the Qvv as:
mi Using (28) and the s criterion, observations are flagged
mi ¼ pffiffiffiffiffi ð27Þ
qii for further investigation and possibly rejection when:

123
160 GPS Solut (2014) 18:153–162

Fig. 1 The EPC main window shows the estimated Euler pole statistical information on lower-right side of the window provides
parameters for the North American tectonic plate, based on the information about the quality of the least-squares adjustment in the
sample input data file. The upper- and lower-left tables show the inverse Euler pole problem. The regression canvas in the lower-right
imported and the calculated velocities based on the parameters of the corner shows the scatter plot of the observed (input) versus the
Euler pole, respectively. The map canvas on the upper-right showing modeled (output) velocities separately for the north and the east
a map of tectonic plates superimposed on the world map gives the components
user an overview of the place of stations and velocity vectors. The

jmi j Virtual Machine (JVM) enabled. EPC requires the basic


[ sa=2 ð32Þ MATLAB and the following toolboxes: Statistics and
r^0
Mapping.
This test is applied successively to all standardized EPC is available as an open source software program
residuals same as those used in the Baarda’s data snooping (Weber 2004) under the BSD license (www.opensource.
procedure. It is worth mentioning that when the degree of org/licenses/bsd-license.php). The source code can be
freedom r increases, t and s distributions give closer downloaded from the software home page at http://
critical values, and when r tends to infinite, both of them sourceforge.net/projects/epcalc/ and also on the GPS
approach to the normal distribution (Kuang 1996; Leick Toolbox Web site: http://www.ngs.noaa.gov/gps-toolbox.
2004). The EPC software includes a set of MATLAB functions
(m-files), GUIs (fig-files), map data files (mat-files) and
The software functionality user’s manual as well as a separate folder for some sample
input files. To run the software, add the software folder to
Based on mathematical models and statistical tests intro- the MATLAB search path and type epc in the MATLAB
duced in Sect. 2, we developed the EPC software using the command prompt. Figure 1 shows the main window of the
MATLAB programming language with a Graphical User software.
Interface (GUI). This choice makes the software cross- Based on the mathematical models explained in Sect.
platform, and therefore, EPC can be run under the majority 2.1, EPC accepts input files in two ASCII text formats:
of operating systems, namely Windows, Macintosh and ECEF X, Y, Z and NEU. In the former format, data are
Unix/Linux. Since EPC has a GUI, an X-Window envi- stored in 13 space-separated columns, including station
ronment should also be installed on UNIX-like operating name (column one), coordinates of the station in the X-,
systems, and MATLAB should be started with the Java Y- and Z-directions in ECEF CCS in meters (columns

123
GPS Solut (2014) 18:153–162 161

2–4), associated velocities to the station in the X-, Y- and residuals in the east and north directions are separately tested
Z-directions in meters per year (columns 5–7) and their at the 5 % significance level, and the result is reported along
corresponding velocity errors (one sigma) in meters per with the probability of observing the given statistic or one
year (columns 8–10) as well as the correlations between more extreme under the assumption of the null hypothesis (the
velocity components (X–Y, X–Z and Y–Z) (columns p value), the chi-square statistic and the degree of freedom.
11–13). In the latter format, data are stored in eight space- The Pearson’s correlation coefficient is used to give a
separated columns, including station name (columns 1), rough estimate of the rectilinear trend in the results in the
coordinates of the station in LG CCS in decimal degrees form of a scatter plot as well as numerical values. The
(columns 2–3), associated velocities to the station in north observed velocities from the input data file are first plotted
and east directions in meters per year (columns 4–5) and against the modeled velocities. This scatter plot visualizes
the corresponding velocity errors (one sigma) in meters per the existing trend in the data set and shows the consistency
year (columns 6–7) as well as the correlation between the of the results. Since the Pearson’s correlation coefficient is
two velocity components (column 8). Except for the names very sensitive to disturbances, it helps to detect outliers in
of the stations, all the data for the former format must be in the data set. Then, the correlation coefficients in the east
ECEF CCS, and for the latter format in LG CCS. and north directions are separately calculated. The signif-
Data files in the proper format are opened and shown in icance of the correlation coefficient is tested afterward at
the ‘‘Input data’’ table (Fig. 1). In either of the input for- 5 % significance level using the Student’s t test. If the
mats, the software does not accept non-real values such as calculated t is higher than the critical t, the correlation
empty fields for the station coordinates and velocities, but coefficient is significant.
this is acceptable for sigma values. Missed sigma values Baarda’s data snooping is very well suited to find
are substituted by ‘‘Not a Number (NaN).’’ However, individual blunders in the input data set. In other words, it
depending on the nature of the problem (direct or inverse), can be used to exclude sites containing gross errors in
they might not be necessary to calculate unknown param- their velocities. For two reasons, observations that are
eters. In the direct Euler pole problem, for example, the detected as blunders should not be all removed in one
associated sigma values for the estimated velocity vectors step: (1) The existence of any blunder in the data set will
are calculated from the sigma values of Euler pole affect the remaining observations, and (2) the rejection
parameters based on the error propagation law (7) and (12). level in (28) depends on r0 (Ghilani 2010). In other
Nevertheless, when sigma values are necessary for calcu- words, because of the nature of the least-squares adjust-
lations, for example, in the inverse Euler pole problem to ment method that tries to distribute blunders, several
form the weight matrix for estimating Euler parameters in correct observations may get large residuals and be flag-
the least-squares adjustment (14), they are substituted with ged by mistake (type I error) (Leick 2004). Therefore, it
the identity matrix. The software does not accept NaNs and is recommended to eliminate only the larger blunder from
real values at the same time. the list of observations.
In the direct Euler pole problem, the user should enter Blunders are eliminated in the tau test with the same
Euler pole parameters and their associated sigma values. method of the Baarda’s data snooping. That is, in every run
Then, velocity vectors and velocity residuals along with the of the test, only one single observation corresponding to the
estimated velocity errors are calculated according to (3) or largest standardized residuals which was flagged as an
(11), and (7) or (12), depending on the coordinate system of outlier or blunder using (32) is eliminated, and the
the input data. In the inverse Euler pole problem, Euler pole adjustment is rerun. This procedure is continued until no
parameters and the corresponding covariance matrix are further observation is detected as an outlier. Then, the
estimated from (15) and (18) based on the coordinate system rejected observations are reentered into the adjustment one
of the input data without user intervention. Furthermore, the at a time to control if they are again detected as blunders. If
degree of freedom, a posteriori sigma and the RMSE value an observation is detected as a blunder for the second time,
are calculated in the inverse Euler pole problem. it is discarded from the data set (Ghilani 2010).
We implemented four statistical tests explained in Sect. 2.3 Location of stations and their names from the input file,
to evaluate the quality of the solution in the Euler pole or as well as the estimated velocity vectors, velocity residuals
velocity vector estimation. The v2 test is used to test the null and the Euler pole can be visualized in the map canvas of
hypothesis that the velocity residuals are a random sample that the software (Fig. 1). This helps users to have a brief
can be described by a Gaussian distribution with a typical overview of the input and output data. Furthermore,
central value and a random dispersion around it. The null because of the small size of the map canvas and the need to
hypothesis is tested against the alternative hypothesis that the have the exact numerical values, the estimated parameters
velocity residuals are not normally distributed with the esti- can be saved in the comma-separated values (csv), ESRI
mated mean and variance. In the software, the velocity shape file (shp) and Google Keyhole Markup Language

123
162 GPS Solut (2014) 18:153–162

(kml) file formats. This makes the further numerical or Author Biographies
visual analysis of the outputs very easy.
Mohammad Ali Goudarzi is a
Acknowledgments We included two functions of the geodetic PhD candidate in Geodesy at
toolbox developed by Mike Craymer in our software in order to Laval University, Canada. He
reduce the number of the MATLAB toolboxes that are necessary to received his Master’s in Geo-
run the software. Information Science and Earth
Observation from University of
Twente, the Netherlands. In his
Master’s thesis, he studied the
L’Aquila 2009 earthquake using
References InSAR and geodetic inversion
modeling. He is currently
Argus DF, Gordon RG (1991) No-net-rotation model of current plate studying the geodetic crustal
velocities incorporating plate motion model NUVEL-1. Geophys deformations of eastern Canada
Res Lett 18(11):2039–2042 using GPS observations.
Baarda W (1968) A testing procedure for use in geodetic networks.
Publication on Geodesy, New Series, 2(5), Netherlands Geodetic
Commission Marc Cocard is a professor of
Cannavò F, Palano M (2011) PlatEMotion: a Matlab tool for geodetic Geodesy at the Department of
reference frame definition. Rapporti Tecnici INVG 201:1–13 Geomatics Sciences of Laval
Chase CG (1972) The N plate problem of plate tectonics. Geophys J University and a regular mem-
Int 29(2):117–122 ber of the Center for Research in
Curtis HD (2009) Orbital mechanics for engineering students, 2nd Geomatics. His research inter-
edn. Butterworth-Heinemann, London ests relate to the efficient
DeMets C, Gordon RG, Argus DF, Stein S (1990) Current plate exploitation and future applica-
motions. Geophys J Int 101(2):425–478 tions of GNSS including, among
DeMets C, Gordon RG, Argus DF (2010) Geologically current plate others, mitigation of the differ-
motions. Geophys J Int 181(1):1–80 ent error sources.
Ghilani CD (2010) Adjustment computations: spatial data analysis.
Wiley, Hoboken
Hill EM, Blewitt G (2006) Testing for fault activity at Yucca
Mountain, Nevada, using independent GPS results from the
BARGEN network. Geophys Res Lett 33(14):L14302 Rock Santerre is a full profes-
Kuang S (1996) Geodetic network analysis and optimal design: sor of Geodesy and GPS in the
concepts and applications. Ann Arbor Press, Chelsea Department of Geomatics Sci-
Leick A (2004) GPS Satellite surveying, 3rd edn. Wiley, Hoboken ences and a member of the
Liu S, Trenkler G (2008) Hadamard, Khatri-Rao, Kronecker and other Center for Research in Geo-
matrix products. Int J Inf Syst Sci 4(1):160–177 matics at Laval University.
Lowrie W (2007) Fundamentals of geophysics. Cambridge University Since 1983, his research activi-
Press, New York ties have been mainly related to
Minster JB, Jordan TH (1978) Present-day plate motions. J Geophys high-precision GPS for static
Res 83(11):5331 and kinematic positioning. Dr.
Pope AJ (1976) The statistics of residuals and the detection of Santerre is the author and
outliers. NOAA TRNOS 65 NGS 1, NOAA, Rockville, MD coauthor of more than 150
Qiang Z, Wenyao Z, Yongqin X (1999) Global plate motion models publications, and he holds three
incorporating the velocity. Geophys Res Lett 26(18):2813–2816 patents related to GPS
Trauth MH (2010) MATLAB recipes for earth sciences. Springer, equipment.
Berlin
Weber S (2004) The success of open source. Harvard University
Press, Cambridge

123

You might also like