1 Introduction and motivation

Satellite laser and radar altimeter mission data report Earth's ocean and ice surface heights referred to various ellipsoids. The TOPEX/POSEIDON and Jason series of radar altimeters, and the ICESat laser altimeter, refer height to the TOPEX ellipsoid, while the Sentinel-3 radar and ICESat-2 laser altimeters refer height to the WGS84 ellipsoid. Height and latitude on one ellipsoid differ from height and latitude on the other, and the differences are functions of latitude because these two ellipsoids have different shapes as well as different sizes (Table 1). In order to use the current and historic constellation of altimeters to observe temporal changes in sea level and/or ice height, one must first put all the observations into the same geodetic ellipsoidal height system. Progress in climate science requires measurement of sea level rise rates with errors less than 0.3 mm/year (World Meteorological Organization, 2011). The conversion of height from one ellipsoid to another should therefore be made with an accuracy of at least 0.1 mm, and ideally much better than that.

Table 1 Defining constants of the TOPEX and WGS84 ellipsoids

The usual approach to height conversion (Kotsakis 2008), like more general conversions (Badekas 1969; Deakin 2004; Reit 1998, Soler 1976; Watson 2006), moves from one geodetic system through Earth-centered, Earth-fixed (ECEF) Cartesian coordinates and then to the second geodetic system. The calculation of ECEF from geodetic coordinates is elementary, but calculating geodetic from ECEF requires either the solution of a quartic equation or iteration of a sequence of successive approximations for latitude, \(\phi \), and height, \(h\) [e.g., Bowring (1976), Fok and Iz (2003), Fukushima (1999), Vermeille (2002), Zhu (1994)]. The process is computationally expensive, and unless an algorithm is particulary robust and intelligently coded, it may have errors that vary systematically with latitude (Fukushima 1999; 2006).

The accuracy of height and/or latitude conversions computed by moving from \({\left(h,\phi \right)}_{E1}\) to ECEF and then from ECEF to \({\left(h,\phi \right)}_{E2}\) (the subscripts indicate positions referred to ellipsoid \(E1\) and ellipsoid \(E2\)) is limited. The magnitude of an ECEF vector is more than 6 \(\times \) 1010 larger than 0.1 mm, and computing small differences between large quantities is numerically inaccurate (Acton 1990). The accuracy of the ECEF computed from \({\left(h,\phi \right)}_{E1}\) values given in the data may also be limited by the data product format. The TOPEX altimeter data product format (AVISO 1996), for example, rounds the geo-location information to the nearest integer 1 mm, which limits the accuracy of the height conversion that can be calculated via ECEF (Fig. 1).

Fig. 1
figure 1

Calculating the height change by passing through ECEF \(\left(p,z\right)\) with data position accuracy limited to 1 mm by the data format, as in the TOPEX data product (Aviso 1996), introduces errors (wiggly line); the method of this paper calculates the correction shown as the smooth line independently of the accuracy or precision limitations of the data position coordinates

The above considerations motivate the present paper. The investigation here applies when \(E1\) and \(E2\) are oblate ellipsoids of revolution having the same center and symmetry axis, so that ECEF \(x,y,z\) coordinates are invariant during the conversion from \(E1\) to \(E2\). In this case, longitude need not be considered; the useful ECEF coordinates are \(\left(p,z\right)\), in which \(p={\left({x}^{2}+{y}^{2}\right)}^{1/2}\).

2 Definitions: ellipsoid specification, ECEF Cartesian and geodetic coordinates, orthogonality

An oblate ellipsoid of revolution is defined by two real positive constants, at least one of which must have length units. For purposes of illustration, this paper will take the WGS84 ellipsoid as \(E1\) and the TOPEX ellipsoid as \(E2\), as then the change in height, \(\Delta h={h}_{E2}-{h}_{E1}\), is positive. The defining parameters of these ellipsoids are their semi-major axis, \(a\), and reciprocal flattening, \(1/f\)(Table 1, AVISO 1996; NIMA 2000). The expressions here are written in terms of \(a\) and \(f=\left(a-b\right)/a\). The semi-minor axis, \(b\), and the eccentricity, \(e={\left({a}^{2}-{b}^{2}\right)}^{1/2}/a\), may also be used where they simplify an expression.

Define \(S\left( {f,\phi } \right) \equiv \left[ {\cos^{2} \phi + \left( {1 - f} \right)^{2} \sin^{2} \phi } \right]^{1/2} \equiv \left( {1 - e^{2} \sin^{2} \phi } \right)^{1/2}\). The radius of curvature of the prime vertical, \(N\left( {a,f,\phi } \right) \equiv a S^{ - 1}\). The equations of the ECEF coordinates

$$ p = \left[ {h + N\left( {a,f,\phi } \right)} \right]\cos \phi $$
$$ z = \left[ {h + \left( {1 - e^{2} } \right)N\left( {a,f,\phi } \right)} \right]\sin \phi $$

combine to give \(h = p\cos \phi + z\sin \phi - a S\left( {f,\phi } \right)\). Treating \(p\) and \(z\) as constants one finds \(\partial h/\partial \phi =0\), identically, because on any one ellipsoid \(h\) and \(\phi \) are orthogonal coordinates. Orthogonality guarantees that on any one ellipsoid, infinitesimal changes in \(h\) and \(\phi \) are independent, but it does not guarantee that the finite \(\Delta h\) and \(\Delta \phi \) which occur while changing ellipsoids may be handled separately. Therefore, in the next section, I find a strict bound on\(\left|\Delta \phi \right|\).

3 Latitude conversion

The geocentric latitude of a point, \(\theta =\mathrm{arctan}\left(z/p\right)\), does not change as the specification of the ellipsoid changes. The ECEF coordinate equations on any given ellipsoid yield

$$ \tan \left( \theta \right) = \left[ {1 - e^{2} \left( {1 + h/N} \right)^{ - 1} } \right]\tan \left( \phi \right) $$

and if the point is on the ellipsoid this reduces to \(\tan \left( \theta \right) = \left( {1 - e^{2} } \right)\tan \left( \phi \right)\), in which case one has also \(\tan \left( \rho \right) = \left( {1 - f} \right)\tan \left( \phi \right)\), and \(\tan \left( \theta \right) = \left( {1 - f} \right)\tan \left( \rho \right)\), where \(\rho\) is the parametric, or “reduced”, latitude. All of these equations have the form \(\tan \left( {u_{K} } \right) = \alpha_{JK} \tan \left( {u_{J} } \right)\), where \(u_{J}\) and \(u_{K}\) are different kinds of latitudes; as such, their difference \(u_{K} - u_{J}\) is zero at the equator and the poles, and therefore, the difference can be developed in a Fourier sine series in \(\sin \left( {2nu_{J} } \right)\) with terms for positive integer \(n.\) This Fourier sine series is obtained as follows.

$$ \tan \left( {u_{K} - u_{J} } \right) = \frac{{\tan u_{K} - \tan u_{J} }}{{1 + \tan u_{K} \tan u_{J} }} = \frac{{\left( {\alpha_{JK} - 1} \right)\tan u_{J} }}{{1 + \alpha_{JK} \tan^{2} u_{J} }} = \frac{{\beta_{JK} \sin \left( {2u_{J} } \right)}}{{1 - \beta_{JK} \cos \left( {2u_{J} } \right)}} $$

The right-most equality is obtained from the one on its left by multipling numerator and denominator by \(\cos^{2} \left( {u_{J} } \right),\) using double angle formulae, and setting \(\beta_{JK} = \left( {\alpha_{JK} - 1} \right)/\left( {\alpha_{JK} + 1} \right).\) Then

$$ u_{K} - u_{J} = \arctan \left( {\frac{{\beta_{JK} \sin \left( {2u_{J} } \right)}}{{1 - \beta_{JK} \cos \left( {2u_{J} } \right)}}} \right) = {\text{Im}}\left\{ {\log \left[ {1 - \beta_{JK} \exp \left( { - i2u_{J} } \right)} \right]} \right\} $$

and since \(\left| {w \equiv - \beta_{JK} \exp \left( { - i2u_{J} } \right)} \right| < 1,\) one may use

$$ \log \left( {1 + w} \right) = \mathop \sum \limits_{n = 1}^{\infty } \left( { - 1} \right)^{{\left( {n + 1} \right)}} \frac{1}{n}w^{n} $$

and so one has

$$ u_{K} = u_{J} + \mathop \sum \limits_{n = 1}^{\infty } \frac{1}{n}\beta_{JK}^{n} \sin \left( {2nu_{J} } \right) $$

The order of the subscripts on \({\alpha }_{JK}\) and \({\beta }_{JK}\) in the above indicates that they express latitude \({u}_{K}\) as a sine series in latitude \({u}_{J}\). Reversing the roles of the “input” and “output” one has \({\alpha }_{KJ}=1/{\alpha }_{JK}\), and \({\beta }_{KJ}=-{\beta }_{JK}\). Consequently, one may express one or the other of the differences \(\pm \left({u}_{K}-{u}_{J}\right)\) as a series which is majorized by an alternating power series, and therefore truncating the series at the \(n\) th term gives the latitude difference with an error smaller than \({\left|{\beta }_{JK}\right|}^{n}/n.\)

If \(\phi_{E1}\) and \(\phi_{E2}\) are the geodetic latitudes, referred to ellipsoids \(E1\) and \(E2\), of a point with geocentric latitude \(\theta\), then their difference can be expressed as

$$ \phi_{E2} - \phi_{E1} = \left( {\phi_{E2} - \theta } \right) - \left( {\phi_{E1} - \theta } \right) = \mathop \sum \limits_{n = 1}^{\infty } \frac{1}{n}\sin \left( {2n\theta } \right)\left( {\beta_{E2}^{n} - \beta_{E1}^{n} } \right) $$

using beta values \(\beta_{E1}\) and \(\beta_{E2}\) that express geodetic latitude on the subscripted ellipsoids in terms of a sine series in geocentric latitude. \(\beta_{E1} = e_{E1}^{2} \kappa_{E1} /\left( {2 - e_{E1}^{2} \kappa_{E1} } \right)\), with \(\kappa_{E1} = N_{E1} /\left( {N_{E1} + h_{E1} } \right)\), and likewise for \(E2\). At the altitude of the Sentinel-3 satellites \(\kappa \approx 8/9\), while if \(h\) is the height of sea level above or below the ellipsoid then \(\kappa \approx 1\), with an error less than 2 \(\times\) 10–5. \(\beta \approx e^{2} /2\), to first order in \(e^{2}\), and the alternating series argument yields a simple bound on \(\left| {\phi_{E2} - \phi_{E1} } \right|\):

$$ \left| {\phi_{E2} - \phi_{E1} } \right| < \left| {\beta_{E2} - \beta_{E1} } \right| < \frac{1}{2}\left| {e_{E2}^{2} - e_{E1}^{2} } \right| < \left| {f_{E2} - f_{E1} } \right| $$

As an example, \(f\) TOPEX \(- f\) WGS84 \(\approx\) 2.5 \(\times\) 10–9, and positive; therefore, the difference in latitude on the two ellipsoids is less than a few nanoradians, with TOPEX latitude more polar than WGS84 latitude in middle latitudes. A latitude change of this size represents a north–south displacement of less than 2 cm on the Earth's surface, which may be negligible for many applications. The displacement is an apparent one, caused by the change in flattening; the \(\left(p,z\right)\) position of the data remains invariant as the ellipsoid changes.

In theory, the kappa values on the right-hand side depend, through \(N\) and \(h\), on the \(\phi \) values on the left-hand side, but for practical purposes, one may treat both \({\kappa }_{E1}\) and \({\kappa }_{E2}\) as constants and use only the first term in the series. The upper bound estimate, shown as the dashed curve in Fig. 2, is obtained with \({\kappa }_{E1}={\kappa }_{E2}=1\). The solid curve in Fig. 2 is obtained with \(\kappa \) WGS84 \(=1\) and \(\kappa \) TOPEX \(=\overline{a }/\left(\overline{a }+\overline{h }\right)\), in which \(\overline{a }\) is \(N\) TOPEX evaluated at 45˚ latitude, \(\overline{a }=a/\sqrt{1-{e}^{2}/2}\), and \(\overline{h }={\delta }_{0}\) is the mean value of the \(\Delta h\) from WGS84 to TOPEX. The solid line approximation differs from the total latitude change by less than 9 \(\times \) 10–12 radians, an invisible difference in Fig. 2. If this level of latitude error is tolerable, then one need not compute \(\theta ={\mathrm{tan}}^{-1}\left(z/p\right)\), as only \(\mathrm{sin}\left(2\theta \right)=\left(pz\right)/\left({p}^{2}+{z}^{2}\right)\) is needed.

Fig. 2
figure 2

The exact and one-term approximations (solid line) and simple upper bound (dashed line) for the latitude change, in nano-radians (10–9 rad), from the WGS84 to the TOPEX ellipsoids

4 Height conversion

To second order the Taylor series expressing \({\Delta }h = h_{E2} - h_{E1}\) in terms of \({\Delta }a = a_{E2} - a_{E1}\) and \({\Delta }f = f_{E2} - f_{E1}\) has the form

$$ {\Delta }h = {\Delta }a\frac{\partial h}{{\partial a}} + {\Delta }f\left( {\frac{\partial h}{{\partial f}} + {\Delta }a\frac{{\partial^{2} h}}{\partial a \partial f}} \right) + \frac{{\left( {{\Delta }f} \right)^{2} }}{2}\frac{{\partial^{2} h}}{{\partial f^{2} }} + \ldots $$

because \(\partial^{n} h/\partial a^{n} = 0\) for \(n > 1\). The partial derivatives, to be evaluated at \(E1\), are

$$ \frac{\partial h}{{\partial a}} = - S $$
$$ \frac{\partial h}{{\partial f}} = a \left( {1 - f} \right)\sin^{2} \phi S^{ - 1} $$
$$ \frac{{\partial^{2} h}}{\partial a \partial f} = \left( {1 - f} \right) \sin^{2} \phi S^{ - 1} $$
$$ \frac{{\partial^{2} h}}{{\partial f^{2} }} = - a \sin^{2} \phi \cos^{2} \phi S^{ - 3} $$

The \(S^{k}\) factors are of order 1, so the first-order terms in \({\Delta }h\) have magnitudes of order \({\Delta }a\) and \(b {\Delta }f/2\); the second-order terms are of order \({\Delta }a {\Delta }f/4\) and \(a\left( {{\Delta }f} \right)^{2} /8\). For the conversion from WGS84 to TOPEX, the maximum magnitudes of these terms are about 0.7 m, 16 mm, 1.8 nm, and 5 pm, respectively. These are shown in Fig. 3, with one or two subscripts on \({\Delta }h\) indicating the partial derivatives corresponding to that term, e.g. \({\Delta }h_{af} = {\Delta }a{\Delta }f\partial^{2} h/\partial a\partial f\).

Fig. 3
figure 3

The first four terms in the Taylor series expansion of the height change in moving from the WGS84 to the TOPEX ellipsoid. The subscripts on \(\Delta h\) indicate the derivatives of the corresponding Taylor series term. The \(y\) axis labels mm, nm, pm indicate millimeters, nanometers, and picometers, respectively

The Fourier series for \(\Delta h={\delta }_{0}+{\delta }_{1}\mathrm{cos}\left(2\phi \right)+{\delta }_{2}\mathrm{cos}\left(4\phi \right)+\cdots \). The Fourier series for \({S}^{1}\) and \({S}^{-1}\) each have an infinite number of terms with coefficients formed by recursions on complete elliptic integrals of the first and second kinds (Cvijovic, 2010). The Fourier series coefficients for \(\Delta h\) cannot be expressed analytically, but one may evalute \(\Delta h\) at a uniformly spaced sequence of latitudes and then compute the coefficients by least-squares. The first three coefficients obtained this way from \(E1\) = WGS84 and \(E2\) = TOPEX are given in Table 2.

Table 2 Fourier coefficients of \(\Delta h={h}_{TOPEX}-{h}_{WGS84}\) to 2nd order, in microns (μm)

4.1 Simple approximation of \(\Delta h\)

Figure 3 shows that three of the first four terms in the Taylor series expansion for \(\Delta h\) have a component in \(\mathrm{cos}\left(2\phi \right)\), and the Fourier series terms in higher frequencies are likely to be very small compared to the \(\mathrm{cos}\left(2\phi \right)\) term; therefore, one may expect that there is a good approximation in the form \(\Delta h\approx {\delta }_{0}+{\delta }_{1}\mathrm{cos}\left(2\phi \right)\). It can be found most accurately by the least-squares approach above, but the following approach is nearly as accurate and yields an alternative expression.

In the equatorial plane, \(z=0\), \(S=1\), and \(\Delta h\left(\phi =0\right)=\left({a}_{E1}-{a}_{E2}\right)\). On the polar axis, \(p=0\), \(S=\left(1-f\right)\), and \(\Delta h\left(\left|\phi \right|=\pi /2\right)=\left({b}_{E1}-{b}_{E2}\right)\). Using these “boundary conditions” to set the two constants in \(\Delta h\approx {\delta }_{0}+{\delta }_{1}\mathrm{cos}\left(2\phi \right)\) one obtains a result which can be rearranged into the form \(\Delta h=\left({a}_{E1}-{a}_{E2}\right){\mathrm{cos}}^{2}\phi +\left({b}_{E1}-{b}_{E2}\right){\mathrm{sin}}^{2}\phi \). An IDL script evaluating this equation is included in a set of IDL scripts furnished by the U.S. National Snow and Ice Data Center and known as the ICESat/GLAS Tools; according to the “README.txt” file included with the tools, this form was found empirically by Terry Horan. For the transformation from WGS84 to TOPEX, this form has a maximum error of 12.48 μm.

5 Notes on computation

Height conversions in this paper use \({S}^{k}\left(f,\phi \right)\) for \(k\in \left\{-1, 1\right\}\), and if picometer accuracy is desired, then also for \(k=-3\). If the computing environment has “log1p” to evaluate \(\mathrm{log}\left(1+\xi \right)\) when \(\left|\xi \right|\ll 1\), then \({S}^{k}=\mathrm{exp}\left[k \mathrm{log}1\mathrm{p}\left(-{e}^{2}{\mathrm{sin}}^{2}\phi \right)/2\right]\) can be used for all \(k\). If the environment has “hypot” to evaluate \({\left({\xi }^{2}+{\eta }^{2}\right)}^{1/2}\), then \(S=\mathrm{hypot}\left[\mathrm{cos}\phi ,\left(1-f\right)\mathrm{sin}\phi \right]\) may be more accurate than \(S=\mathrm{sqrt}\left(1-{e}^{2}{\mathrm{sin}}^{2}\phi \right)\). One should not compute \({S}^{k}\left(f,\phi \right)\) by expanding the square root in a binomial series in \({e}^{2}{\mathrm{sin}}^{2}\phi \) as the series truncation error will increase with latitude. All three methods of computing \(S\) are available in the author's computing environment and give \({S}^{-1}\) with relative error magnitude equal to \({2}^{-52}\), or about 2.22 \(\times \) 10–16.

Above, approximations were compared to a “truth” obtained by conversions through ECEF as \({\left(\phi ,h\right)}_{E1}\to \left(p,z\right)\to {\left(\phi ,h\right)}_{E2}\). The many algorithms for estimating \(\left(\phi ,h\right)\) from \(\left(p,z\right)\) distribute error across latitude differently (Fukushima 1999), and error distribution in iterative methods depends on whether the stopping criterion examines \(h\) or \(p\) or \(z\) or \(\phi \) (Fok and Iz 2003). I used the Matlab mapping toolbox routine “geodetic2ecef”, and as I didn't know what algorithm it used, I also coded my own routines for the simple iteration and Bowring's (1976) methods, and checked that all three algorithms agreed to within 2 nm in \(h\) and 3 femtoradians in \(\phi \).

6 Concluding remarks

Transforming geodetic height and latitude coordinates from one ellipsoid to another by passing through ECEF coordinates can introduce error (Fig. 1), is computationally slow, and may distribute error unevenly across latitude (Fukushima 1999, 2006; Fok and Iz 2003). I have presented a method for coordinate conversion that does not obtain \(\left(\phi ,h\right)\) from \(\left(p,z\right)\), and allows the conversion of either \(\phi \) or \(h\) to be done independently of the other. Each coordinate's conversion is expressible as a Fourier series in even multiples of latitude, with height changes having only cosines and latitude changes having only sines. The derivation of the sine series for latitude allows an upper bound on the maximum latitude change to be stated simply in terms of the flattenings of the two ellipsoids. In converting between modern Earth ellipsoids, it will be sufficient for most applications to use the Fourier series only as far as the term in twice the latitude. For the conversion between WGS84 and TOPEX, this gives the latitude conversion with an error less than 9 \(\times \) 10–12 radians and the height conversion within about 6 microns.