An essential feature of the GOCE time-wise global gravity field solutions is that they only depend on GOCE data, avoiding the usage of any other gravity field observations. Thus, they are well suited for further combination and reflect the Earth gravity field as observed by GOCE.
As the data of a single mission is processed starting at observation level, consistency is guaranteed and rigorous error modeling from the observations to the final model estimate is realized. This results in the second request to the time wise-models, that is to provide a realistic error description of the model in terms of a full covariance matrix. This section discusses the methodological basics applied in the processing of the new time-wise RL06 GOCE-only model (GO_CONS_EGM_TIM_RL06) and provides references to some deeper insights.
For a GOCE-only model, to achieve an acceptable performance of the entire spherical harmonic spectrum, a combined gravity field estimated from the kinematic orbits and the gravity gradients of good quality is essential. In addition, due to the polar gap (e.g., Sneeuw and van Gelderen 1997; Rudolph et al. 2002), some mathematical regularization has to be applied to constrain the data gaps and to improve the signal to noise ratio for the higher degrees.
Spherical Harmonic Representation
Conventionally, global gravity field models are represented by a truncated series of spherical harmonics. Following (e.g., Hofmann-Wellenhof and Moritz 2005), the finite series for the Earth’s gravitational potential \(V\left( r,\theta ,\lambda \right)\) reads
$$\begin{aligned} V\left( r,\theta ,\lambda \right) = \frac{\text {GM}}{a}\sum _{l=0}^{l_{\max }} \left( \frac{a}{r}\right) ^{l+1}\sum _{m=0}^{l}\left( c_{lm}\cos \left( m\lambda \right) +s_{lm}\sin \left( m\lambda \right) \right) P_{lm}\left( cos \theta \right) , \end{aligned}$$
(1)
where \(l_{\max }\) denotes the maximum degree and r, \(\theta\) and \(\lambda\) the coordinates of the evaluation point. GM and a are the gravitational constant of the Earth and the equatorial radius. \(P_{lm}\left( \cdot \right)\) denote the fully normalized associated Legendre base functions.
Given the set of \(u = (l_{\max }+1)^2\) fully normalized spherical harmonic parameters \(\left\{ c_{lm},\,s_{lm}\right\}\) (fully normalized Stokes coefficients) for \(l \in 0\dots l_{\max }, m\in 0\dots l\) (\(m\in 1\dots l\) for sine coefficients), various functions of the potential can be evaluated (see Barthelmes 2013). Gravity field recovery from GOCE is an inverse problem. Given an observation \(\ell _i\) at some location, it is expressed as some function of the potential
$$\begin{aligned} \ell _i = f\left( V\left( \cdot \right) \right) =f\left( \left\{ c_{lm},\,s_{lm}\right\} \right) . \end{aligned}$$
(2)
The function \(f\left( \cdot \right)\) on the one hand depends on the type of the observations, which for GOCE are either the kinematic orbits position in the case of SST-hl or a component of the gravitational tensor in the case of the gravity gradient analysis.
Having a suitable function \(f\left( \cdot \right)\) relating the observations to the spherical harmonic parameters, they can be estimated in a least-squares adjustment, minimizing the squared sum of residuals and introducing the inverse covariance matrix of the observations \(\varvec{\Sigma }\left\{ \varvec{\ell }\right\} ^{-1}\) as a metric.
Processing of SST-hl Observations
The SST-hl observations are processed and made available by the Institute of Geodesy of the Graz University of Technology. Based on the kinematic orbits as input observations, normal equations are assembled based on the short arc integral equation approach (cf. Mayer-Gürr et al. 2005; Mayer-Gürr 2006) in the same way as done for ITSG GRACE analysis (Kvas et al. 2019a). Input for the generation of the GO_CONS_EGM_TIM_RL06 model is a set of normal equations
$$\begin{aligned} \mathbf {N}_{\mathrm{sst}}\mathbf {x}&= \mathbf {n}_{\mathrm{sst}} \end{aligned}$$
(3)
$$\begin{aligned} \lambda _{c,s}&:= \varvec{\ell }_{\mathrm{sst}}^{T}\mathbf {P}_{\mathrm{sst}} \varvec{\ell }_{\mathrm{sst}}, \end{aligned}$$
(4)
which is assembled from the official reprocessed kinematic orbit product.
Arcs of a length of 20 min are used. To account for the relative weighting, the given \(3\times 3\) epoch covariance matrix is refined by arc dependent empirically estimated covariance functions (\(\mathbf {P}_{\mathrm{sst}}\) in (4)). Following the GRACE processing strategy (Kvas et al. 2019a), temporal variations are reduced before the assembly of normal equations, resulting in a reference epoch for the model as 2010-01-01 (MJD 55197). The applied correction models are summarized by Table 1 (Mayer-Guerr 2019). Normal equations up to degree and order 150 serve as input for the RL06 model.
Table 1 Models applied to account for temporal variations of the gravity field Processing of the Observed Gravity Gradients
The level 1b processing with all its steps (cf. Siemes 2018a) derives the gravity gradients from the measurements of the three-axis gradiometer which is realized by three pairs of three-axis accelerometers. The individual gravity gradients are the entries of the symmetric Marussi-tensor in the gradiometer reference frame (GRF) at a location \(\mathbf {p}\) (e.g., Rummel et al. 2011). The gradiometer reference frame is a local Cartesian coordinate system, which is realized by the three axes of the gradiometer arms. The x-axis is roughly in the flight direction, the y-axis orthogonal to the orbital plane, and the z-axis is pointing radial downwards (cf. Rummel et al. 2011). The tensor represents the second derivatives of the gravitational potential in the GRF. Consequently, it is required to relate (1) in the earth fixed reference frame to the observations in the GRF. For this, in addition to the Earth rotation, the star camera observations are required (EGG_IAQ product), describing the orientation of the satellite in the inertial frame.
Observation Equations for the Gravity Gradients
As it is well known (e.g., Rummel et al. 2011; Pail et al. 2011), two of the six gravity gradients are by design of lower quality. The \(V_{xy}\) and \(V_{yz}\) gravity gradients have a noise level, which is about 100 times higher than the accurately measured \(V_{xx}\), \(V_{xz}\), \(V_{yy}\) and \(V_{zz}\) gradients. To indicate this different error level, Fig. 1 shows the power spectral density (PSD) of least-squares residuals for a representative period (2013, August and September) without outliers and gross errors. All gravity gradient components are shown in a logarithmic scale.
Within the time-wise approach, the observations of an individual gradient component \(c\in \{xx,\,yy,\,zz,\,xz\}\) are treated as a time-series along the orbit. Without loss of generality, we can assume that we can decompose the entire data set into S segments \(s\in \{1,\ldots ,S\}\), where all observations in a segment are gapless and equidistantly sampled. For GOCE the sampling rate is 1 Hz.
As for the case of GOCE only four components of the tensor are usable for gravity field recovery, it is important to not transform the tensor of observations to the earth-fixed frame where (1) is defined, but to transform the observation equations of the second derivatives of (1) to the GRF. In case the tensor was rotated, a mixing of precise and inaccurate gradients takes place, which results in an imperfect signal-to-noise ratio.
The transformed observation equations are calculated as follows. For a specific measurement location \(\mathbf {p}_i\) of a segment s, the six second partial derivatives of (1) according to \(\lambda\) and \(\theta\) can be computed. The observation equations can be set up as a \(6\times u\) design matrix, which can then be rotated from the earth-fixed reference frame to the GRF (using the Earth rotation parameters and the satellite orientation as derived from the star trackers) applying tensor rotation of the design matrix. This procedure is discussed in more detail in Brockmann et al. (2010) and especially in Hausleitner (1995). The observation equation for a single gravity gradient component c can be extracted from the associated row of the rotated time-series. Consequently, repeating the procedure for each measurement location, we can arrange least squares observation equations individually for the gradient components, i.e.
$$\begin{aligned} \varvec{\ell }_{c,s} + \mathbf {v}_{c,s}&= \mathbf {A}_{c,s} \mathbf {x} \end{aligned}$$
(5)
where the vector \(\mathbf {x}\) contains the unknown Stokes coefficients in a specific ordering. Here, we already assume that the measured gravity gradients are reduced by time-variable gravity signal derived from models (as for SST-hl, cf. Table 1). The least-squares design matrix \(\mathbf {A}_{c,s},\) and the observation vector \(\varvec{\ell }_{c,s}\) contains only observation of the single gradient component c in the segment s. Consequently the observations in \(\varvec{\ell }_{c,s}\) are equidistant and sorted in time.
Stochastic Model for the Gravity Gradients
A key feature of the time-wise approach is the modeling of the stochastic characteristics of the gravity gradients. As the noise is highly correlated (cf. Fig. 1), a stochastic model is important to derive best possible estimates for the unknown gravity field parameters and reasonable estimates for its accuracy. For that reason, the observations \(\varvec{\ell }_{c,s}\) are treated as a time series along the orbit. Due to its efficiency, the correlations in that time series are modeled with the filter approach (Schuh 2003; Siemes 2008; Schuh and Brockmann 2018). Whereas in RL01 to RL05 AutoRegressive Moving Average (ARMA) filters were used to model the correlations (e.g., Siemes 2008; Krasbutter et al. 2011, 2014), in RL06 a robustified procedure to estimate AR-processes from the residuals is introduced (cf. Schubert et al. 2019).
Starting with residuals of (5)
$$\begin{aligned} \mathbf {v}_{c,s}&= \mathbf {A}_{c,s} \mathbf {x}_{\mathrm{REF}} - \varvec{\ell }_{c,s} \end{aligned}$$
(6)
for a single component and a single segment with respect to some reference model \(\mathbf {x}_{\mathrm{REF}}\) which is either initially the former release (EGM_TIM_RL05 in this case) or the output from a former iteration of adjusting the coefficients of an AR process in a robustified procedure.
The robustification approach implements a series of statistical tests that cover typical systematic errors in highly correlated observation time series in order to detect outliers or non-stationarities, summarized as suspicious data. We incorporate different indicators to detect suspicious data or changes in the underlying process characteristics, i.e., changes in the mean value, the variance or in the signs of the residuals. The identified flags for these effects are used to make the process estimation procedure robust and to reject detected suspicious data for gravity field recovery and the decorrelation filter estimation.
The time series of the residuals \(\mathbf {v}_{c,s}\) are seen as an individual realization of a stochastic process \({\varvec{{\mathcal {V}}}}\) given as a sequential signal \({\mathcal {V}}_i\). The process is characterized by an autoregressive model of order p
$$\begin{aligned} {\mathcal {V}}_i+{\mathcal {R}}_i&= \sum _{j=1}^p \alpha _j {\mathcal {V}}_{i-j} \ . \end{aligned}$$
(7)
where \({\mathcal {R}}_i\) represents a random noise contribution. The AR-process parameters are collected component-wise in a coefficient vector \(\varvec{\alpha }_{c,s}\) for each segment s. As it is assumed that the residuals \(\mathbf {r}_{c,s}\) are realizations of the white noise process \({\varvec{{\mathcal {R}}}}_{c,s}\), \(\mathbf {r}_{c,s}\) can be statistically tested for white noise characteristics.
For the approach, we apply a series of tests, namely, a test for
-
1.
Simple outliers, i.e., gross errors,
-
2.
The deviation from zero mean within a certain period of time,
-
3.
A change in the variance over a period,
-
4.
The imbalance of signs and
-
5.
A suspicious occurrence of sign changes.
Tests 2–5 are applied in moving windows over the time series leading to patches of outliers. The window size \({n_{T_l}}\) is chosen as a fraction of orbit period (e.g., the 30th part) and deployed with three different window sizes (\(l=1,2,3\)) for each test.
For the processing of RL06, the hypothesis tests have experienced a modification compared to Schubert et al. (2019), by introducing the more heavy-tailed Student’s t-distribution with statistics derived from robust scale estimators for data with outliers. In detail, the degrees of freedom of Student’s t-distribution are put in relation to the ratio of mean error \(\sigma\) and average error \(\vartheta\) (cf. (27) and Table 5 in Schuh and Korte 2017). Thus, the hypothesis tests in Schubert et al. (2019) are changed to consistently follow Student’s t-distribution or Fisher distribution, respectively, i.e.
$$\begin{aligned} {\mathcal {T}}_{\mathrm{outlier}}&= \frac{{\mathcal {R}}_i}{\widetilde{s}_{\mathrm{MAD}}} \sim {t(\nu )} \ , \end{aligned}$$
(8)
$$\begin{aligned} {\mathcal {T}}_{\mathrm{mean}}&= \frac{1}{\sqrt{n_{T_l}} \widetilde{s}_{\mathrm{MAD}} } \sum _{j=1}^{n_{T_l}} {\mathcal {R}}_j \ \sim \ t(\nu ) \ , \end{aligned}$$
(9)
$$\begin{aligned} {\mathcal {T}}_{\mathrm{var}}&= \frac{\sum _{j=1}^{n_{T_l}} {\mathcal {R}}_i^2}{n_{T_l} \widetilde{s}_{\mathrm{MAD}}^{2}} \ \sim \ F({n_{T_l}},\nu ), \end{aligned}$$
(10)
where \(t(\cdot )\) and \(F(\cdot ,\cdot )\) stand for the Student’s t-distribution and F-distribution. \(s_{\mathrm{MAD}}\) represents the robust variance estimator \(\widetilde{s}_{\mathrm{MAD}}=1.4826\,\mathrm{MAD}\) (e.g., Schuh and Korte 2017, Tab 2.) MAD (Median Absolute Deviation) estimator (e.g., Huber 1981, p. 107).
Finally, for estimating the AR-coefficients \(\alpha _j\) we take use of a \(k\sigma\)-rejection-estimator in an iteratively re-weighted least squares (IRLS) estimator in the sense of Kleiner et al. (1979) which enables the treatment of single outliers and outlier patches. It is embraced by additional iterations realizing the adjustment of the degrees of freedom. The permanent recomputation of the variance estimators as the scale-step of the well-known IRLS-scheme is essential for the unbiasedness of the scale parameter.
For the adjustment of AR(p)-processes in RL06, the process order is chosen as \(p=800\). The high order is required to model the characteristics below the measurement band of 5ṁHz. To further account for strong drifts, which mainly occur in the \(V_{yy}\) observations, a difference filter is applied in advance of the process estimation and integrated to the final set of process coefficients.
For additional details see Schubert et al. (2019). Output of the stochastic model tuning are the process coefficients \(\varvec{\alpha }_{c,s}\) and binary suspicious data flags \(\mathbf {f}_{c,s}\) (use, do not use) individually for all segments s and for each of the usable gravity gradient components c.
Assembly of Normal Equations Per Segment and Gradient Component
The computational most demanding step is the assembly of the normal equations for the gravity gradients. Due to the number of observations (i.e., about \(110\times 10^{6}\) epochs with four gradient components each), the number of unknown parameters (\(\approx 90,000\) for RL06) and the high correlations in the data, high-performance computing is required to decorrelate the observations and to assemble the system of normal equations (Pail and Plank 2002; Plank 2004; Brockmann 2014).
The challenges are slightly relaxed, as discussed above, the partitioning into segments s is performed and observation equations are set up for the different components c individually. It is assumed that the data after a gap, so with the start of a new segment, are uncorrelated from the previous one, i.e.
$$\begin{aligned} \varvec{\Sigma }\left\{ \varvec{\ell }_{c,s},\,\varvec{\ell }_{c,s-1}\right\} =\mathbf {0}. \end{aligned}$$
(11)
Furthermore, as indicated by empirical cross-correlation estimates, it is assumed that the correlations between different gravity gradients in the measurement band are small and can be neglected, consequently
$$\begin{aligned} \varvec{\Sigma }\left\{ \varvec{\ell }_{c_1,s},\,\varvec{\ell }_{c_2,s}\right\} =\mathbf {0} \quad \text { for } c_1\ne c_2. \end{aligned}$$
(12)
This reduces the numerical complexity for the decorrelation, but there are segments with up to \(6.4\times 10^{6}\) epochs with still 90,000 parameters for a single segment and their length is limited by bimonthly calibration maneuvers. This would result in a fully populated design matrix which has memory requirements of about 4 TB. Special techniques in a high-performance computing environment are implemented to efficiently solve the required steps. The applied approaches are discussed in detail in the literature (Brockmann 2014, Sect. 6.3). This step comprises i) the decorrelation with the component and segment dependent AR process from Sect. 2.3.2 to derive fully decorrelated observation equations
$$\begin{aligned} \bar{\varvec{\ell }}_{c,s} + \bar{\mathbf {v}}_{c,s}&= \bar{\mathbf {A}}_{c,s} \mathbf {x}, \qquad \text { with } \varvec{\Sigma }\left\{ \varvec{\ell }\right\} = \mathbf {I}, \end{aligned}$$
(13)
followed by ii) the computation of the least squares normal equations again per component and segment
$$\begin{aligned} \mathbf {N}_{c,s}&:= \bar{\mathbf {A}}_{c,s}^{T} \bar{\mathbf {A}}_{c,s}^{T} \end{aligned}$$
(14)
$$\begin{aligned} \mathbf {n}_{c,s}&:= \bar{\mathbf {A}}_{c,s}^{T} \bar{\varvec{\ell }}_{c,s} \end{aligned}$$
(15)
$$\begin{aligned} \lambda _{c,s}&:= \bar{\varvec{\ell }}_{c,s}^{T}\bar{\varvec{\ell }}_{c,s}. \end{aligned}$$
(16)
which form the least squares normal equation system for component c and segment s
$$\begin{aligned} \mathbf {N}_{c,s} \mathbf {x}_{c,s}&= \mathbf {n}_{c,s}. \end{aligned}$$
(17)
To avoid a recomputation of the computationally expensive steps within the relative iterative weighting and combination procedure (cf. Sect. 2.5) and having individual sub-solutions available for the internal analysis (cf. Sect. 3.2), all \(\mathbf {N}_{c,s}\), \(\mathbf {n}_{c,s}\) and \(\lambda _{c,s}\) are stored on disk.
The decorrelation process with digital filters can be represented as a matrix multiplication,
$$\begin{aligned} \bar{\mathbf {A}}_{c,s}&:=\mathbf {F}_{c,s}\mathbf {A}_{c,s} \end{aligned}$$
(18)
$$\begin{aligned} \bar{\varvec{\ell }}_{c,s}&:=\mathbf {F}_{c,s}\varvec{\ell }_{c,s} \end{aligned}$$
(19)
which can be efficiently computed (cf. Brockmann 2014, Sect. 6.3.3) using the fact that \(\mathbf {F}_{c,s}\), as it results from a causal time-invariant filter, is a band matrix of order p with Toeplitz structure.
As this requires equidistant time-series in \(\varvec{\ell }_{c,s}\), the suspicious data flags are applied after the decorrelation by setting corresponding rows of \(\bar{\mathbf {A}}_{c,s}\) to zero, using the information provided by \(\mathbf {f}_{c,s}\). Using a massive parallel implementation and a two-dimensional block cyclic representation of all matrices from (13), the computation of (14)-(16) is straightforward using numerical libraries like PBLAS and ScaLAPACK (Blackford et al. 1997; Brockmann 2014).
Compared to the assembly of (14), the solution of (17) is fastFootnote 1. Consequently, the implemented software package tries to solve (17) by default after its assembly, which is of course only possible if (17) is positive definite which is the case for longer segments (about longer than seven days). These segment-wise and component-wise solutions will help to analyze the internal consistency and the quality of the data (cf. Sect. 3.2).
Due to (11) and (12) component-wise full normal equations
$$\begin{aligned} \underbrace{\sum _{s=1}^{S} w_{c,s}\mathbf {N}_{c,s}}_{:= \mathbf {N}_{c}} \mathbf {x}_c&= \underbrace{\sum _{s=1}^{S} w_{c,s}\mathbf {n}_{c,s}}_{:= \mathbf {n}_{c}} \end{aligned}$$
(20)
$$\begin{aligned} \mathbf {N}_{c}\mathbf {x}_c&= \mathbf {n}_{c} \end{aligned}$$
(21)
and the full gravity gradient normal equations
$$\begin{aligned} \underbrace{\sum _{c} \mathbf {N}_{c}}_{:= \mathbf {N}_{\mathrm{sgg}}} \mathbf {x}_{\mathrm{sgg}}&= \underbrace{\sum _{c} \mathbf {n}_{c}}_{:= \mathbf {n}_{\mathrm{sgg}}} \quad c\in \{xx,yy,zz,xz\} \end{aligned}$$
(22)
$$\begin{aligned} \mathbf {N}_{\mathrm{sgg}}\mathbf {x}_{\mathrm{sgg}}&= \mathbf {n}_{\mathrm{sgg}} \end{aligned}$$
(23)
can be computed and solved as well. \(w_{c,s}\) is a segment and component depending weighting factor, which is estimated from the data, cf. Sect. 2.5. As the filters are estimated reflecting a complete decorrelation, \(w_{c,s}\approx 1.0\) has to hold so that the estimation of the weights is another quality control.
Prior Information to Stabilize the GOCE-Only Solution
Due to the polar gap and in general the downward continuation, the inverse problem of determining the gravity field from GOCE observations is ill-posed (e.g., Sneeuw and van Gelderen 1997; Rudolph et al. 2002). Due to the gaps at the poles, especially the near zonal coefficients are highly correlated and the approximation within the polar areas is poor. Meanwhile, it is state of the art to include some prior information to constrain the field in the polar areas and to damp the amplified noise in the higher degrees to decorrelate the coefficients (e.g., Koch and Kusche 2002; Ditmar et al. 2003).
Various kinds of prior information are possible, e.g., additional data sources from GRACE (e.g., Bruinsma et al. 2014) or terrestrial campaigns (e.g., Zingerle et al. 2019b; Lu et al. 2020). To remain independent of other gravity field data, the time-wise modeling applies simple mathematical smoothness conditions to force the full signal toward zero using regularization. To account for the different characteristics, different approaches are applied for i) the polar gap and ii) the high degree coefficients.
Polar gap Whereas a strong regularization of the near zonal coefficients influenced by the polar gap (cf. van Gelderen and Koop 1997; Sneeuw and van Gelderen 1997) toward zero was applied in the former releases of the time-wise models, RL06 uses pseudo zero gravity anomaly observations. For that purpose, gravity anomaly observation equations in the polar caps on a highly oversampled regular grid are set up for the empirically determined starting degree 11 to maximum spherical harmonic degree 300 and full normal equations with a zero right hand sides are computed numerically. These normal equations are generated individually for the south pole (sp) area (below \(-83^{\circ }\) with \(0.5^{\circ }\) sampling in longitude and latitude direction) and the north pole (np) area (above \(83^{\circ }\) with \(0.5^{\circ }\) sampling in longitude and latitude direction). The generated observations are assumed to be uncorrelated and have the same accuracy.
This results in the fully populated least squares normal equations
$$\begin{aligned} \mathbf {N}_{a}&:= \bar{\mathbf {A}}_{a}^{T} \bar{\mathbf {A}}_{a}^{T}, \quad \text {for } a \in \left\{ \text {np, sp}\right\} \end{aligned}$$
(24)
$$\begin{aligned} \mathbf {n}_{a}&:= \bar{\mathbf {A}}_{a}^{T} \mathbf {0} = \mathbf {0} \end{aligned}$$
(25)
$$\begin{aligned} \lambda _{a}&:= 0. \end{aligned}$$
(26)
Note that they are assembled in a different numbering, as the coefficients below degree 11 are not contained.
High degrees To improve the signal-to-noise ratio for the higher degrees, a regularization of the full signal toward zero is applied. For this purpose, a diagonal regularization matrix is set up for all spherical harmonic coefficients above degree 200. The choice is motivated by a contribution analysis as discussed in detail in the upcoming Sect. 4.2. Stochastic pseudo observations stating that the coefficients are zero are introduced, with a variance which is derived from the average coefficient signal from Kaula’s rule of thumb (Kaula 1966), again to remain independent of any gravity model prior information. The observation equations lead to a diagonal normal equation matrix and again a zero right hand side for the high degree regularization (hd), whose entries depend only on the degree \(l_i\) of the i-th coefficient
$$\begin{aligned} \mathbf {N}_{\mathrm{HD}}&, \quad \text {with } \mathbf {N}_{\mathrm{HD}}(i,i) = 10^{10} l_i^4 \quad l_i=201,...,300 \end{aligned}$$
(27)
$$\begin{aligned} \mathbf {n}_{\mathrm{HD}}&= \mathbf {0} \end{aligned}$$
(28)
$$\begin{aligned} \lambda _{\mathrm{HD}}&= 0. \end{aligned}$$
(29)
The scaling of \(\mathbf {N}_{\mathrm{HD}}\) is derived with variance component estimation later.
The Combination Procedure
Due to the assumption that all individual normal equations as set up in Sects. 2.2–2.4 are independent, they can be easily combined by simply adding the normal matrices, right hand sides and \(\lambda _i\). But, one has to account for the fact that the parameter spaces differ, as not all normal equations are set up for all spherical harmonic coefficients. Consequently, the numbering scheme differs and reordering strategies have to be applied.
As the gradiometry normal equations are set up for the entire parameter space, it can be assumed that the combined normal equations are set up in the numbering scheme the SGG normal equations were assembled in. Defining a reordering operator \(\mathrm {reo}\left( \cdot \right)\) which performs the necessary row (and column) permutations, the combined normal equation system reads
$$\begin{aligned} \mathbf {N}&:= w^{(\nu )}_{\mathrm{sst}} \mathrm {reo} \left( \begin{bmatrix} \mathbf {N}_{\mathrm{sst}} & 0\\ 0 & 0 \end{bmatrix} \right)\\ &\quad +\sum _{s=1}^{S} \sum _{c \in C} w^{(\nu )}_{c,s}\mathbf {N}_{c,s} \nonumber \\&\quad +\sum _{a \in \{\text {np},\,\text {sp}\}} w^{(\nu )}_{a}\,\mathrm {reo} \left( \begin{bmatrix} \mathbf {N}_{\mathrm{a}} & 0\\ 0 & 0 \end{bmatrix}\right) \nonumber \\&\quad +w^{(\nu )}_{\mathrm{hd}}\,\mathrm {reo} \left( \begin{bmatrix} \mathbf {N}_{\mathrm{hd}} & 0\\ 0 & 0 \end{bmatrix}\right)\end{aligned}$$
(30)
$$\begin{aligned} \mathbf {n}&:= w^{(\nu )}_{\mathrm{sst}}\,\mathrm {reo} \left( \begin{bmatrix} \mathbf {n}_{\mathrm{sst}} & 0\\ 0 & 0 \end{bmatrix}\right) + \sum _{s=1}^{S} \sum _{c \in C} w^{(\nu )}_{c,s}\mathbf {n}_{c,s} \end{aligned}$$
(31)
$$\begin{aligned} \lambda&:= w^{(\nu )}_{\mathrm{sst}}\lambda _{\mathrm{sst}} + \sum _{s=1}^{S} \sum _{c \in C} w^{(\nu )}_{c,s}\lambda _{c,s}. \end{aligned}$$
(32)
introducing the \(4S+4\) weighting factors \(w^{(\nu )}_*\) for all normal equations. With initial values \(w^{(0)}_* = 1\), the normal equations
$$\begin{aligned} \mathbf {N} \mathbf {x}&= \mathbf {n} \end{aligned}$$
(33)
can be solved for the spherical harmonic coefficients arranged in \(\mathbf {x}\) via the Cholesky decomposition followed by forward and backward substitution, which yields the least squares estimate \(\hat{\mathbf {x}}^{(\nu )}\).
With \(\hat{\mathbf {x}}^{(0)}\), \(\mathbf {N}_{*}\), \(\mathbf {n}_{*}\), \(\lambda _{*}\) and the number of observations used to compute the normal equation \(n_*\), the weights \(w^{(\nu )}_*\) can be estimated iteratively as inverse variance components (Förstner 1979; Koch and Kusche 2002). The procedure of reassembling (30) and (32) and solving for \(\hat{\mathbf {x}}^{(\nu )}\) is iterated until convergence of the weights (cf. Brockmann 2014, Chap. 4).
After modeling the stochastic characteristics of the observations when setting up the normal equations and conversion of the weights, a realistic covariance matrix reflecting the uncertainty of the spherical harmonic coefficients is obtained by
$$\begin{aligned} \varvec{\Sigma }\left\{ \hat{{\varvec{{\mathcal {X}}}}} \right\} = \mathbf {N}^{-1}. \end{aligned}$$
(34)