Skip to main content

Magnetic observations from CryoSat-2: calibration and processing of satellite platform magnetometer data


We describe and discuss the preprocessing and calibration steps applied to the magnetic data measured by the three “platform magnetometers” on-board the CryoSat-2 satellite. The calibration is performed by comparing the magnetometer sensor readings with magnetic field values for the time and position of the satellite as given by the CHAOS-6 geomagnetic field model. We allow for slow temporal variations of the calibration parameters by solving for scale values, offsets, and non-orthogonalities in monthly bins, and account for non-linearities as well as the magnetic disturbances caused by battery, solar panel and magnetorquer currents. Fully calibrated magnetic vector data, together with time and position, are provided as daily files in CDF data format at The data show good agreement with Swarm satellite magnetic measurements during close encounters (rms difference between 1 and 5 nT for inter-satellite distances below 300 km).


Measurements of Earth’s magnetic field enable the study of Earth’s interior (e.g. the dynamics in Earth’s fluid outer core) and its environment (e.g. space-weather effects). Such measurements are routinely performed by a network of geomagnetic ground observatories, their geographical distribution is, however, rather uneven, with large gaps in oceanic areas.

A global coverage of magnetic field measurements is only possible from space. Various dedicated satellites for exploring Earth’s magnetic field have been flown over the past two decades, including the Ørsted (1999–2014, e.g. Neubert et al. 2001; Olsen 2007), CHAMP (2000–2010, e.g. Reigber et al. 2005; Maus 2007) and Swarm (since 2013, e.g. Friis-Christensen et al. 2002; Olsen and Floberghagen 2018) satellites. However, geomagnetic field measurements from space may also be obtained from other low Earth orbiting satellites, since most spacecraft carry magnetometers as part of the attitude control system. Data collected by these so-called “platform magnetometers” can often be use—after careful calibration—for scientific purposes. This paper describes the preprocessing and calibration of platform magnetometer data collected by the CryoSat-2 satellite operated by the European Space Agency (ESA).

CryoSat-2 was launched on 8 April 2010 into a near-polar orbit with mean altitude of 717 km. The orbital inclination of \(92^\circ \) implies a Local Time (LT) drift rate of the ascending node of 1.5 h/month; all local times are thus covered every 8 months. Even if the primary scientific objective of CryoSat-2 is to precisely measure changes in polar ice thickness (Wingham et al. 2006), after 10 years of operation the mission has demonstrated its value as a source of observations for other applications over the ocean and inland water (Parrinello et al. 2018). In addition to its main instrument (a SAR/Interferometric Radar Altimeter, SIRAL, not discussed further here), the satellite carries three star trackers (STR) and three 3-axis fluxgate magnetometers (FGM) of type Billingsley TFM100S ( Figure 1 shows the location of these instruments. Data from each of the three FGM magnetometers are available at a sampling rate of 4 s, while data from the three star trackers are available at 1 s sampling. In this study we use these data covering the period August 2010 to December 2018.

Fig. 1
figure 1

The location of the three magnetometers (FGM\(x, x=1-3\)) and star trackers (STR\(x, x = 1-3\)) on the CryoSat-2 satellite (Credit: ESA/AOES Medialab, modified)

This paper presents a calibration of the CryoSat-2 magnetic data and provides information on the contents of the CryoSat-2 magnetic data files in version 0102, available at in the folder./#CryoSat-2/.

The content of this paper is as follows: "Theory: calibration of magnetometer data" section describes the mathematical model used to calibrate magnetometer data, including taking account of temperature and non-linear effects and of spacecraft disturbance fields. A description of the CryoSat-2 data used in the calibration effort and their preprocessing is provided in "Data and data preprocessing" section, while "Determination of the calibration parameters" section presents the calibration parameter estimation procedure. Results are discussed in "Results and discussion" section. A validation of the calibrated CryoSat-2 magnetic data through comparison with independent simultaneous measurements taken by the Swarm Bravo satellite during close conjunctions is reported in "Close conjunctions between the CryoSat-2 and Swarm Bravo satellites" section. The paper concludes with a summary and outlook.

Theory: calibration of magnetometer data

Let \(\mathbf {E}\) be the three-dimensional vector of magnetometer sensor readings, given in the (usually non-orthogonal) sensor frame of the instrument. Starting with the assumption of a linear instrument response and following the notation of Olsen et al. (2003), the (uncalibrated) sensor output \(\mathbf{E }\) is related to the ambient magnetic field vector \(\mathbf {B}_{\text{FGM}}\) (in the orthogonal magnetometer coordinate system) according to

$$\begin{aligned} \mathbf {E=\underline{\underline{S}}\ \underline{\underline{P}}\ B}_{\text{FGM}}+\mathbf {b}, \end{aligned}$$


$$\begin{aligned} \mathbf {b}=\left( \begin{array}{l} b_{1} \\ b_{2} \\ b_{3} \end{array} \right) \end{aligned}$$

is the vector of offsets (in engineering units [eu] or in [nT] if some pre-flight calibration parameters have been applied to the data),

$$\begin{aligned} \underline{\underline{\mathbf {S}}}=\left( \begin{array}{lll} S_{1} &{} 0 &{} 0 \\ 0 &{} S_{2} &{} 0 \\ 0 &{} 0 &{} S_{3} \end{array} \right) \end{aligned}$$

is the (diagonal) matrix of scale values (dimensionless in case the sensor readings \(\mathbf{E }\) are given in physical units of [nT]), and

$$\begin{aligned} \underline{\underline{\mathbf {P}}}=\left( \begin{array}{ccc} 1 &{} 0 &{} 0 \\ -\sin u_{1} &{} \cos u_{1} &{} 0 \\ \sin u_{2} &{} \sin u_{3} &{} \sqrt{\left( 1-\sin ^{2}u_{2}-\sin ^{2}u_{3}\right) } \end{array} \right) \end{aligned}$$

is a matrix which transforms a vector from the orthogonal magnetometer frame to the non-orthogonal sensor axes frame. Sensor axis 1 is assumed to be projection invariant, axis 2 has a single degree of freedom in the 1–2 plane, and sensor axis 3 has two degrees of freedom. The projection consists of three angles, the first (\(u_1\)) being between the orthogonal and non-orthogonal axes 2, and the second (\(u_2\)) and third (\(u_3\)) being between the orthogonal and non-orthogonal axes 3, cf. Fig. 1 of Olsen et al. (2003). The nine parameters \(b_{i},S_{i},u_{i},\)\(i=1, 2, 3\) completely describe a linear magnetometer. However, these parameters may vary, e.g. with time and instrument temperature. Note that the scale values \(S_i\) are often also called “sensitivities”.

Once the calibration parameters are known, it is possible to determine the magnetic field vector \(\mathbf {B}_{\text {FGM}}\) in the (orthogonal) magnetometer frame by inverting Eq. 1:

$$\begin{aligned} \mathbf {B}_{\text {FGM}}= \, & {} \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\, (\mathbf {E}-\mathbf {b}) \end{aligned}$$


$$\begin{aligned} \underline{\underline{\mathbf {S}}}^{-1}=\left( \begin{array}{lll} 1/S_{1} &{} 0 &{} 0 \\ 0 &{} 1/S_{2} &{} 0 \\ 0 &{} 0 &{} 1/S_{3} \end{array} \right) \end{aligned}$$


$$\begin{aligned} \underline{\underline{\mathbf {P}}}^{-1}=\left( \begin{array}{ccc} 1 &{} 0 &{} 0 \\ \frac{\sin u_{1}}{\cos u_{1}} &{} \frac{1}{\cos u_{1}} &{} 0 \\ -\frac{\sin u_{1}\sin u_{3}+\cos u_{1}\sin u_{2}}{w\cos u_{1}} &{} -\frac{\sin u_{3}}{w\cos u_{1}} &{} \frac{1}{w} \end{array} \right) \end{aligned}$$

with \(w=\sqrt{1-\sin ^{2}u_{2}-\sin ^{2}u_{3}}\).

To obtain the magnetic field in the NorthEastCenter (NEC) coordinate system fixed to Earth, a rotation of the calibrated magnetometer vector magnetic field \(\mathbf{B }_\text {FGM}\) from the magnetometer frame to the NEC frame is necessary. This requires information about the attitude of the magnetometer frame. CryoSat-2 attitude is measured by three star trackers (STRs) which provide quaternions describing the rotation between the International Celestial Reference Frame (ICRF) and the frame of each of the three STRs. In order to minimise measurement noise and to avoid data gaps, e.g. by blinding of one or two of the three star trackers, we combine the attitude information of the three STRs to obtain attitude quaternions \(q_\text {J2000}\) of a Common Reference Frame (CRF) with respect to ICRF. Details of this merging process are described in "Preprocessing of attitude data" subsection below. A further rotation has to be applied to transform the magnetic field vector \(\mathbf{B }_\text {FGM}\) from the magnetometer frame to the CRF frame. Finally, a rotation from the ICRF to the International Terrestrial Reference Frame (ITRF), and further to the North–East–Center Frame (NEC) is needed, too. To summarise, the following steps are required for rotating the magnetic field vector \(\mathbf {B}_{\text {FGM}}\) in the magnetometer frame to the magnetic vector \(\mathbf {B}_{\text {NEC}}\) in the NEC frame:

$$\begin{aligned} \mathbf {B}_{\text {NEC}} {\xleftarrow {q_\text {NEC}}} \mathbf {B}_{\text {ICRF}} \xleftarrow {q_\text {J2000}} \mathbf {B}_{\text {CRF}} \xleftarrow {q_\text {A}} \mathbf {B}_{\text {FGM}}, \end{aligned}$$

which can be written in matrix form as

$$\begin{aligned} \mathbf {B}_{\text {CRF}}= \, & {} \underline{\underline{\mathbf{R }}}_{\text {A}} \ \mathbf {B}_{\text {FGM}} \end{aligned}$$
$$\begin{aligned}= \, & {} \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\, (\mathbf {E}-\mathbf {b}) \end{aligned}$$
$$\begin{aligned} \mathbf {B}_{\text {NEC}}=\, & {} {\underline{\underline{\mathbf{R }}}_{\text {NEC}}} \ \underline{\underline{\mathbf{R }}}_{\text {J2000}} \ \underline{\underline{\mathbf{R }}}_{\text {A}} \ \mathbf {B}_{\text {FGM}} \end{aligned}$$
$$\begin{aligned}=\, & {} {\underline{\underline{\mathbf{R }}}_{\text {NEC}}} \ \underline{\underline{\mathbf{R }}}_{\text {J2000}} \ \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\, (\mathbf {E}-\mathbf {b}), \end{aligned}$$

where the rotation matrix \(\underline{\underline{\mathbf{R }}}_{\text {A}}\) (corresponding to the quaternions \(q_\text {A}\)) describe the rotation between the FGM and the CRF reference frame (typically parameterised by three Euler angles); the rotation matrix \(\underline{\underline{\mathbf{R }}}_{\text {J2000}}\) (corresponding to the quaternions \(q_\text {J2000}\)) describe the combined attitude information provided by the three star trackers and provides the rotation from CRF to ICRF; and \({\underline{\underline{\mathbf{R }}}_{\text {NEC}}}\) (corresponding to \(q_\text {NEC}\)) describe the rotation from ICRF to NEC. The latter is calculated using the IERS (International Earth Rotation and Reference Systems Service) software (Vallado et al. 2006).

Note that the combination of \({\underline{\underline{\mathbf{R }}}_{\text {NEC}}}\) and \(\underline{\underline{\mathbf{R }}}_{\text {J2000}}\) corresponds to the information given in the Swarm L1b data files, where quaternions \(q_{\text {NEC}\leftarrow \text {CRF}}\) (describing the rotation matrix \( \underline{\underline{\mathbf{R }}}_{\text {J2000}}^{-1}\ {\underline{\underline{\mathbf{R }}}_{\text {NEC}}^{-1}} \)) are given. We follow a similar approach and provide quaternions \(q_{\text {NEC}\leftarrow \text {CRF}}\) (which is the inverse of \(q_{\text {CRF}\leftarrow \text {NEC}}\)) in the CryoSat-2 magnetic data product.

Scalar calibration

Estimation of the nine calibration parameters involved in Eq. 3 (including their dependence, e.g. on time and temperature) is possible by minimising the difference \(\Delta F \) between the scalar intensity of the calibrated magnetometer data \(|\mathbf {B}_\text {FGM}|\) and some reference magnetic field intensity \(F_\text {ref} = |\mathbf {B}_\text {ref}|\). This approach is called a scalar calibration of the magnetometer. For dedicated magnetic field satellites like Ørsted, CHAMP and Swarm the reference field intensity \(F_\text {ref}\) is provided by an on-board absolute scalar magnetometer; see Olsen et al. (2003) and Tøffner-Clausen et al. (2016) for details. However, satellites like CryoSat-2 do not carry such an absolute scalar magnetometer, and therefore the reference magnetic field has to be taken from a geomagnetic field model.

Vector calibration

In contrast to such a scalar calibration a vector calibration uses the full vector information and determines the calibration parameters by minimising the vector residuals \(|\Delta \mathbf {B}| = |\mathbf {B}_\text {FGM} - \mathbf {B}_\text {ref,FGM}|\). This, however, requires knowledge of the magnetic reference field vector \(\mathbf {B}_\text {ref,FGM}\) in the magnetometer frame. The necessary rotation, which does not affect the magnetic field intensity (and thus has no influence on a scalar calibration), can be described by 3 additional parameters (Euler angles). A vector calibration therefore involves \(9+3=12\) calibration parameters: 9 parameters (offsets, scale values and non-orthogonalities) necessary to obtain the magnetic field vector \(\mathbf {B}_\text {FGM}\) in the FGM frame, plus 3 Euler angles for rotating \(\mathbf {B}_\text {FGM}\) into the CRF frame (and further into the NEC frame). These 12 parameters are estimated by minimising the average of the squared residuals

$$\begin{aligned} |\Delta \mathbf {B}|^2 = |\mathbf {B}_\text {CRF} - \mathbf {B}_\text {ref,CRF}|^2 \end{aligned}$$

in a least-squares sense (see Eq. 17 below for details).

As reference magnetic field vector \(\mathbf {B}_\text {ref}\) we use model field values \(\mathbf {B}_\text {mod}\) for the time and position of the satellite magnetometer readings as given by the CHAOS-6 geomagnetic field model (Finlay et al. 2016) in version x9. These model values include contributions from the core, lithospheric and large-scale magnetospheric (plus induced) fields, the time dependence of which is parameterised by the RC-index (Olsen et al. 2014).

The reference model magnetic field vector is rotated from NEC into the CRF frame,

$$\begin{aligned} \mathbf {B}_{\text {mod,CRF}} = \underline{\underline{\mathbf{R }}}_{\text {J2000}}^{-1} \ {\underline{\underline{\mathbf{R }}}_{\text {NEC}}^{-1}} \ \mathbf {B}_{\text {mod,NEC}} \end{aligned}$$

and compared with \(\mathbf {B}_{\text {CRF}}\) as given by Eq. 5b. The 12 model parameters (3 offsets, 3 scale values, 3 non-orthogonalities and 3 Euler angles) may then be estimated by solving a non-linear inverse problem minimising the data misfit, Eq. 6, in a least-squares sense.

However, Eq. 5b can be rewritten as

$$\begin{aligned} \mathbf {B}_{\text {CRF}}= \, & {} \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\, (\mathbf {E}-\mathbf {b}) \end{aligned}$$
$$\begin{aligned}= \, & {} \underline{\underline{\mathbf{A }}}\ \mathbf {E} + \tilde{\mathbf{b }}, \end{aligned}$$

where the 9 elements of the \(3 \times 3\) matrix \(\underline{\underline{\mathbf{A }}} = \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\) and the 3 values of \({\tilde{\mathbf {b}}}= -\underline{\underline{\mathbf{A}}}{\mathbf b}\) can be estimated as part of a linear inverse problem. This is advantageous compared to a direct but non-linear estimation of the 12 calibration parameters (offsets, scale values, non-orthogonalities and Euler angles) since there is no need to specify starting values initiating the iterative non-linear inversion scheme.

Once the 12 model parameters (the 9 elements of the matrix \(\underline{\underline{\mathbf{A }}}\) plus the three elements of the vector \({\tilde{\mathbf {b}}}\)) have been found, a determination of the 12 “classical” calibration parameters (3 offsets, 3 scale values, 3 non-orthogonalities and 3 Euler angles) can be efficiently achieved via a QL decomposition of \(\underline{\underline{\mathbf{A }}} = \underline{\underline{\mathbf{Q }}}\ \underline{\underline{\mathbf{L }}} = \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1}\ \underline{\underline{\mathbf {S}}}^{-1},\) where \(\underline{\underline{\mathbf{Q }}} = \underline{\underline{\mathbf{R }}}_\text {A}\) is the rotation matrix parameterised by the 3 Euler angles and \(\underline{\underline{\mathbf{L }}} = \underline{\underline{\mathbf {P}}}^{-1} \underline{\underline{\mathbf { S}}}^{-1}\) is a lower triangular matrix. The offsets follow from \(\mathbf {b} = -\underline{\underline{\mathbf{A }}}^{-1} {\tilde{\mathbf {b}}}\). Since \(\underline{\underline{\mathbf {P}}}^{-1}\) is lower triangular and \(\underline{\underline{\mathbf {S}}}^{-1}\) is diagonal (and all scale values \(S_i\) have to be positive), a unique determination of scale values and non-orthogonalities is possible using this decomposition.

Accounting for time dependence, temperature effects and s/c disturbance fields

Up to now we assumed that the platform magnetometers on-board CryoSat-2 are linear instruments and that their calibration parameters do not depend on time or instrument temperature. In the following, we include such a dependency and also account for spacecraft disturbance magnetic fields.

A possible temporal variation of the 12 “basic” calibration and alignment parameters (3 offsets, 3 scale values, 3 non-orthogonalities and 3 Euler angles) is accounted for by solving for these 12 parameters in monthly bins. This is implemented by estimating the 9 elements of \(\underline{\underline{\mathbf{A }}}\) and the 3 elements of \(\tilde{\mathbf{b }}\) of Eq. 8b separately for each of the 101 months spanning August 2010 to December 2018. However, we regularise the month-to-month variation by damping the temporal first differences of each of these 12 parameters.

To allow for temperature effects and spacecraft magnetic disturbance fields, we add to the offset a term that depends on magnetometer temperature \(T_\text {FGM}\), the electric current strengths \(I_\text {SA1,2}\) of the two solar arrays of CryoSat-2, on battery current \(I_\text {Batt}\), and on the currents \(I_{\text {MTQ},i}, i = \, 1-3\), in each of the three magnetorquer coils. The magnetometer offset \(\tilde{\mathbf{b }}\) is thus decomposed as

$$\begin{aligned} \tilde{\mathbf{b }}=\, & {} \tilde{\mathbf{b }}_0(t_k) + \Delta \tilde{\mathbf{b }}(T_\text {FGM}, \mathbf{I }_\text {MTQ}, I_\text {SA1}, I_\text {SA2}, I_\text {Batt}) \end{aligned}$$
$$\begin{aligned} \Delta \tilde{\mathbf{b }}= \,& {} \tilde{\mathbf{b }}_T \cdot (T_\text {FGM}-T_0) + \underline{\underline{\mathbf{M }}}\ \mathbf{I }_\text {MTQ} + \tilde{\mathbf{b }}_\text {SA1} I_\text {SA1}+ \tilde{\mathbf{b }}_\text {SA2} I_\text {SA2} + \tilde{\mathbf{b }}_\text {Batt} I_\text {Batt} \end{aligned}$$

and consists of an explicitly time-dependent part \(\tilde{\mathbf{b }}_0(t_k)\) determined in monthly bins (\(k=1, 2, \dots , K\) with \(K=101\) as the number of months) and a contribution \(\Delta \tilde{\mathbf{b }}\) assumed to be valid for the entire mission (but also changed implicitly with time due to the time dependence of the currents \(\mathbf{I }_\text {MTQ}(t)\), \(I_\text {SA1}(t)\), \(I_\text {SA2}(t)\), \(I_\text {Batt}(t)\) and of temperature \(T_\text {FGM}(t)\)). The latter is described by 21 parameters (representative of the entire mission period) by a further decomposition into \(\tilde{\mathbf{b }}_T\) which depends on the FGM instrument temperature \(T_\text {FGM}\) (3 parameters, with \(T_0 = 5^\circ \) C as reference temperature), a \(3 \times 3\) matrix \(\underline{\underline{\mathbf{M }}}\) (i.e. 9 parameters) that describes the magnetic disturbance at the FGM sensor caused by the magnetorquer coil currents \(\mathbf{I }_\text {MTQ}\) (separate currents for each of the three coils), and contributions due to the magnetic disturbances of the electric currents in solar array 1 and 2 (\(I_\text {SA1}\) and \(I_\text {SA2}\)) and of the battery current \(I_\text {Batt}\) (3 parameters for each of \(I_\text {SA1}\), \(I_\text {SA2}\) and \(I_\text {Batt}\)).

In a similar way, the scale values

$$\begin{aligned} S_n = S_{n,0}(t_k) + \Delta S_{n,T} \cdot (T_\text {FGM} - T_0), \ n=1-3 \end{aligned}$$

of Eq. (2b) are split into a part \(S_{n,0}(t_k)\) that varies on a monthly basis and a temperature-dependent part, where \(\Delta S_{n,T}\) is constant for the entire mission. This yields an additional 3 model parameters. (Note that estimation of these parameters requires solving a weakly non-linear problem which requires decomposition of the matrix \(\underline{\underline{\mathbf{A }}}\). However, the strictly linear problem of Eq. 8b is in any case solved iteratively due to the introduction of robust weights to account for data outliers—cf. Eq. 17 and the related text—and thus iterative estimation of the three non-linear parameters \(\Delta S_{n,T}\) by linearisation comes at no additional cost.)

Non-linearities, sensor cross-talk and the transverse field effect

The high-precision magnetometer on-board recent dedicated satellites for measuring Earth’s magnetic field like Ørsted, CHAMP and Swarm are all of the “spherical coil compensated” magnetometer type (e.g. Nielsen et al. 1995). In that instrument design the three fluxgate sensors are placed in a tri-axial coil system which generates a zero field in its centre, thus compensating the full magnetic field vector in all directions. However, other fluxgate magnetometers such as the Billingsley TFM100S on-board CryoSat-2 use single-sensor compensation, which means that for each of the three sensors only the magnetic field in the direction of that sensor is compensated. This may lead to a Transfer Field Effect (TFE) as described, e.g. by Brauer et al. (1997). A TFE implies that the sensor output in one axis depends non-linearly on the magnetic field strength in directions perpendicular to the sensor axis. In addition, the electronics of the magnetometers may introduce non-linear effects, too.

To model these effects, we augment the linear equation of Eq. 8 as follows:

$$\begin{aligned} \mathbf {B}_{\text {CRF}}= \, & {} \underline{\underline{\mathbf{R }}}_{\text {A}} \ \underline{\underline{\mathbf {P}}}^{-1} \, \underline{\underline{\mathbf {S}}}^{-1}\, (\mathbf {E} -\mathbf {b}) + \varvec{\xi } + \varvec{\eta } \end{aligned}$$
$$\begin{aligned}= \, & {} \underline{\underline{\mathbf{A }}}\ \mathbf {E} + \tilde{\mathbf{b }} + \varvec{\xi } + \varvec{\eta }, \end{aligned}$$

where the vectors \(\varvec{\xi }\) and \(\varvec{\eta }\) describe quadratic, and respectively, cubic, effects in sensor output \(\mathbf{E }\). The ith components (\(i = 1-3\)) of \(\varvec{\xi }\) and \(\varvec{\eta }\) are parameterised according to

$$\begin{aligned} {\xi ^i}= \, & {} \xi ^i_{11} {\hat{E}}_1^2 + \xi ^i_{22} {\hat{E}}_2^2 + \xi ^i_{33} {\hat{E}}_3^2 + \xi ^i_{12} {\hat{E}}_1{\hat{E}}_2 + \xi ^i_{13} {\hat{E}}_1{\hat{E}}_3 + \xi ^i_{23} {\hat{E}}_2{\hat{E}}_3 \end{aligned}$$
$$\begin{aligned} {\eta ^i}= \, & {} \eta ^i_{111} {\hat{E}}_1^3 + \eta ^i_{222} {\hat{E}}_2^3 + \eta ^i_{333} {\hat{E}}_3^3 + \eta ^i_{112} {\hat{E}}_1^2{\hat{E}}_2 + \eta ^i_{113} {\hat{E}}_1^2{\hat{E}}_3 + \eta ^i_{223} {\hat{E}}_2^2{\hat{E}}_3 \nonumber \\&+\eta ^i_{122} {\hat{E}}_1{\hat{E}}_2^2 + \eta ^i_{133} {\hat{E}}_1{\hat{E}}_3^2 + \eta ^i_{233} {\hat{E}}_2{\hat{E}}_3^2 + \eta ^i_{123} {\hat{E}}_1{\hat{E}}_2{\hat{E}}_3 \end{aligned}$$

There are thus 6 coefficients \(\xi ^i_{kn}, k=1\dots 3, n = k \dots 3\) per sensor axis (which yields 18 parameters in total) describing quadratic effects, and 10 coefficients \(\eta ^i_{knm}, k=1\dots 3, n = k \dots 3, m = n \dots 3\) per sensor axis (which yields 30 parameters in total) describing cubic effects. The sensor output \(E_k\) is scaled according to \({\hat{E}}_k = E_k/E_0\) with a scaling constant \(E_0 = 10^4\) nT. This scaling transforms the sensor output \(E_k\) (which may reach values up to \(5\cdot 10^4\) nT near the magnetic poles) to non-dimensional quantities \({\hat{E}}_k\) of order O(1) and thus leads to quadratic and cubic coefficients \(\xi ^i_{kn}\) and \(\eta ^i_{knm}\) of similar magnitude, thereby reducing numerical instabilities in estimating these parameters.

The calibration effort described here is performed using an a priori model of Earth’s magnetic field. Alternatively, a geomagnetic field model can be co-estimated with (at least some of) the magnetometer calibration instead of using an a priori model. Such an approach has been used by Alken et al. (2020) and Kloss et al. (to be submitted to Earth Planets and Space) for estimation of the 12 “basic” calibration parameters of CryoSat-2, after correcting for temperature effects, spacecraft disturbance fields and non-linearities using the “common” calibration parameters determined in the present paper.

Data and data preprocessing

CryoSat-2 data spanning the 101 months between August 2010 and December 2018 have been used in this study. Most of the observed quantities are available with a 4-s sampling rate; these include the 3-axis sensor readings for each of the three FGM magnetometers, satellite position, and the auxiliary current data (solar array currents \(I_\text {SA1}\) and \(I_\text {SA2}\), battery currents \(I_\text {Batt}\) and three-axis magnetorquer currents \(\mathbf{I} _\text {MTQ}\)). Magnetometer temperature \(T_\text {FGM}\) is available every 15th second, while star-tracker attitude (quaternions) is available with a 1-s sampling rate.

All data have been spline-interpolated to the 4-s time instant of the FGM magnetometer readings. The special treatment of the attitude data is described in "Preprocessing of attitude data" subsection below.

The top panel of Fig. 2 shows the temperature of each of the three FGM magnetometers. As expected due to the close proximity of FGM1 and FGM2, the temperatures of these two magnetometers are more similar compared to that of FGM3 which is located on the other side of the spacecraft, as shown in Fig. 1.

The second panel from top shows the current of the three magnetorquers. Improved attitude control after uploading a STR software update in the second half of 2016 is the reason for the weaker magnetorquer currents after that period.

The third panel from the top presents the currents \(I_\text {SA1,2}\) of the two solar arrays—one on each side of the satellite—and the battery current \(I_\text {Batt}\). There is generally maximum illumination (and thus currents) of solar array 1 (located on the right side of the satellite seen in flight direction) when the ascending node of the spacecraft orbit is around 06 Local Time (LT), while solar array 2 (located on the left side) is at maximum illumination around 18 LT.

Local time of the equatorial crossing of the ascending orbit track is shown in the bottom panel.

Fig. 2
figure 2

From top to bottom: instrument temperature \(T_\text {FGM}\) for the three magnetometers. Magnetorquer currents \(I_\text {MTQ}\). Solar array currents \(I_\text {SA1,2}\) and battery current \(I_\text {Batt}\). Shown are daily minimum/maximum values. Bottom: Local Time of ascending node.

Preprocessing of attitude data

The attitude data used in this study and provided in the data files, for the rotation from the Common Reference Frame (CRF) to inertial space (J2000) specified by \(\underline{\underline{R}}_{J2000}\), are based on measurements taken by three star trackers (STRx, x = \(1 - 3\)) on-board CryoSat-2. Each star tracker provides uncorrected attitude information at a rate of 1 s. The following correction steps are applied to the attitude data: first, the data of each star tracker are corrected for relativistic aberration (Shuster 2003). Second, the corrected attitudes from the individual camera units are combined to form the attitude of the CRF using the method described in more detail below. Finally, the CRF attitudes are interpolated to the time-instants of the corresponding FGM measurements.

The combination of the individual attitudes measured by the three STR units follow the scheme developed for the Swarm satellites as described in detail in the Swarm Level 1b Processor Algorithm (Nielsen and Tøffner-Clausen 2019). This scheme takes into account the anisotropic uncertainty of the STR attitude data: uncertainty of the direction of the camera boresight is typically \(5-10\) times smaller than uncertainty of the rotation about the boresight. Attitude data from the three STRs are combined into a single attitude solution using spatial data weights in accordance to the anisotropic uncertainty, the estimated uncertainty and the validity of the individual attitudes. The combined attitude solution refers to the Common Reference Frame (CRF).

The attitude combination for CryoSat-2 is a three-step process: (1) establish a CRF and determine the rotation from the individual STR heads to CRF, (2) produce estimates of the individual STR attitude uncertainties, and (3) compute the combined CRF attitude.

Step 1: we define CRF to be equal to the instrument frame of STR1, hence the rotation from STR1 to CRF, averaged over the entire mission, is the identity transformation. The transformations from STR2 and STR3 to CRF are computed as the robust mean over the entire mission of the rotations described by \(\underline{\underline{R}}^{-1}_\text {STR1,J2000} \ \underline{\underline{R}}_\text {STR2,J2000}\), respectively \(\underline{\underline{R}}^{-1}_\text {STR1,J2000} \ \underline{\underline{R}}_\text {STR3,J2000}\), when both involved attitude samples are valid.

Step 2 is more complicated since consistent attitude uncertainty information associated with the individual STR samples is not available. We therefore developed a heuristic approach to estimate attitude uncertainty \(q_{\text {error}}\). It involves the following steps: for each of the three STR, the on-board computed STR Penalty provides an indication of the accuracy of the attitude. Penalty gives for each sample the average deviation of the star centroids w.r.t. the star catalogue (in units of pixels of the star imager CCD); a value below 0.1 pixels is generally considered good. However, analyses have shown that this measure alone does not provide a reliable absolute indicator of attitude uncertainty. We therefore also looked at the temperature \(T_\text {STR}\) of the star trackers: accurate attitudes are generally obtained when \(T_\text {STR}\) is below 0 °C, in particular during the first half of the mission before a STR software update was uploaded after which accurate attitudes were also obtained at higher temperatures.

Based on this, a heuristic uncertainty estimate of the individual STR attitudes, \({\hat{\sigma }}\) (in units of arcsecs), has been computed as:

$$\begin{aligned} {\hat{\sigma }}= \, & {} \left\{ \begin{array}{ll} {\hat{\sigma }}_{\textit{Penalty}} + {\hat{\sigma }}_{T} &{} \text {if } {\hat{\sigma }}_{\textit{Penalty}} + {\hat{\sigma }}_{T} \ge 4 \text{ arcsecs } \\ 4 \text{ arcsecs } &{} \text{ otherwise } \end{array} \right. \end{aligned}$$


$$\begin{aligned} {\hat{\sigma }}_{\textit{Penalty}}= \, & {} 200 \frac{\text{ arcsecs }}{\text{ pixel }}\times \textit{Penalty} \end{aligned}$$
$$\begin{aligned} {\hat{\sigma }}_{T}= \, & {} \left\{ \begin{array}{ll} 3 \times (T_\text {STR}/^\circ\text{C} + 5) \text{ arcsecs } &{} \text {if } T_\text {STR} > -5\, ^\circ\text{C} \\ 0 \text{ arcsecs } &{} \text{ otherwise } \end{array} \right. \end{aligned}$$

Step 3 is the actual computation of the combined attitude solution which is done in the same manner as for the Swarm mission. Basically, the method merges the corrected attitudes from the STRs providing valid attitude data for which \({\hat{\sigma }} < 255\) arcsecs by rotating the single STR attitudes and their anisotropic covariance matrices weighted by \({\hat{\sigma }}\) into the CRF and solving a weighted least-squares problem. The thus computed combined attitude quaternion \(q_{j2000}\) is assigned a scalar uncertainty estimate

$$\begin{aligned} q_{\text{error}} = \left\{ \begin{array}{ll} \frac{\sqrt{3/2}}{\sum 1/{\hat{\sigma }}} &{} \text {if data from more than one STR unit have been used} \\ 10 \times {\hat{\sigma }} &{} \text {if only one STR is used} \end{array} \right. \end{aligned}$$

The special treatment of single-unit STR data accounts for the large uncertainty in the rotation about the STR camera boresight. \(q_{\text{error}}\) aims at a crude estimate of the attitude uncertainty expressed in arcseconds, however it is a rather coarse quantity and for \(q_{\text{error}} \gtrsim 30\) arcsecs the actual uncertainty may be larger or smaller. \(q_{\text{error}}\) is provided in the distributed CryoSat-2 data product files. We recommend to use attitude data (and thus magnetic vector data in the NEC frame) only when \(q_{\text{error}} < 30\) arcsecs.

Determination of the calibration parameters

The 12 “basic” calibration parameters are determined separately for each of the 101 months (August 2010 to December 2018) in consideration; this results in \(101 \times 12 = 1212\) model parameters. In addition, we determine 72 “common parameters” which are assumed to be constant for the entire time period. These common parameters consist of

  • 6 parameters describing the temperature dependency of the offsets (3 parameters) and scale values (3 parameters);

  • 9 parameters describing the \(3 \times 3\) magnetorquer coupling matrix \(\underline{\underline{\mathbf{M }}}\);

  • 9 parameters describing the dependency on solar array currents (3+3 parameters) and battery currents (3 parameters);

  • 48 parameters describing non-linearities.

In total there are thus 1284 parameters for calibrating the data of each of the three FGM instruments.

For the estimation of these model parameters, we use measurements downsampled at 60 s (which means taking every 15th value of the 4-s data). This yields 13.3 mio observations (corresponding to \(3 \times 4.4\) mio vector triplets) from which we estimate the 1284 model parameters by minimising the squared difference, \( |\Delta \mathbf{B} |^2 = |\mathbf{B} _\text {CRF} - \mathbf{B} _\text {mod,CRF} |^2, \) averaged over all data points, where the calibrated magnetic field vector \(\mathbf{B} _\text {CRF}\) depends on the sensor output \(\mathbf{E} \) and on the model parameters as indicated by Eq. 12. The reference (model) values \(\mathbf{B} _\text {mod,CRF}\) are calculated for each measured vector \(\mathbf{E} \) (i.e. each satellite position and time instant) using the CHAOS-6 field model (Finlay et al. 2016) which consists of contributions from the core, lithosphere and large-scale magnetosphere (plus Earth-induced counterparts) after rotation to the CRF frame according to Eq. 7 using the merged attitude quaternions \(q_{J2000}\).

The CHAOS-6 model does not include magnetic field signatures caused by polar ionospheric and field-aligned current systems and thus \(\mathbf{B} _\text {mod,CRF}\) cannot be expected to provide as good a reference magnetic field vector at polar latitudes. For estimating the calibration parameters, we therefore only use data at quasi-dipole (QD) latitudes (Emmert et al. 2010) equatorward of ±\(60^\circ \). Other than that we have not further selected data, which means we use data from all local times and geomagnetic activity conditions.

We use an Iteratively Reweighted Least-Squares approach with Huber weights (Huber 1981), minimising the Chi-squared misfit

$$\begin{aligned} \chi ^2 = \mathbf {e}^{T} \underline{\underline{W}}\mathbf {e} + \mathbf {m}^T \underline{{\underline{\Lambda }}} \mathbf {m}, \end{aligned}$$

where the model vector \(\mathbf {m}\) contains the model parameters and the residuals vector \(\mathbf {e}=\mathbf {d}_{\text {obs}}-\mathbf {d}_{\text {mod}}\) is the difference between the data vector \(\mathbf {d}_{\text {obs}}\) (containing all elements of \(\mathbf{B} _\text {CRF}\)) and the model prediction vector \(\mathbf {d}_{\text {mod}}\) (containing all elements of \(\mathbf{B} _\text {mod,CRF}\)). The diagonal weight matrix \(\underline{\underline{W}}\) contains the Huber weights (to account for data outliers). \(\underline{{\underline{\Lambda }}}\) is a block diagonal matrix which regularises the month-to-month variation (first differences) of the 12 “basic” model parameters offsets, scale values, non-orthogonalities and Euler angles. We use different regularisation parameters for offsets \(\tilde{\mathbf{b }}\) (\(\lambda _b = 5 \cdot 10^4/\text{ nT }^2\)) and for the 9 elements of the matrix \(\underline{\underline{\mathbf{A }}}\) (combining scale values, non-orthogonalities and Euler angles, \(\lambda _A = 3 \cdot 10^{12}\)) due to their different magnitude; the values of these regularisation parameters were found by visual inspection of the month-to-month variations of the estimated calibration parameters and the achieved rms data misfit.

Results and discussion

Table 1 lists Huber-weighted rms data misfits (considering all three magnetic vector components) for various combinations of calibration parameter estimates when applied to the full CryoSat-2 data set spanning August 2010 to December 2018. In the following, we will focus on the results for FGM1 as they are representative of all three magnetometers.

Table 1 Huber-weighted rms misfit (in nT) for various model parameterisations. \(N_\text {para}\) is the number of model parameters

Estimating the full set of common parameters (72 parameters, describing temperature dependencies, non-linearities and accounting for the magnetic disturbances due to solar array, battery and magnetorquer currents, denoted as case # 1) results in estimating 1284 model parameters and leads to an overall rms misfit of 6.43 nT. This is our preferred model, estimated by applying a weak temporal regularisation of the month-to-month variation of the 12 “basic” model parameters. Figure 3 shows the temporal variation of these parameters in terms of the deviation from their mean values. Typical variations are up to \(\pm 6\) nT variation for the offsets, up to \(\pm\,200\) ppm variation for the scale values, and up to \(\pm\,0.03^\circ \) (corresponding to about \(\pm \,100\) arcsecs) variation in the non-orthogonalities and Euler angles.

Fig. 3
figure 3

Time dependence of the 12 “basic” calibration parameters for FGM1. Shown are deviations from their mean values as indicated in the figure legend

Discarding any temporal regularisation (case # 7 in Table 1) results in a slight reduction of the data misfit by 0.6% to 6.39 nT, but leads to an increased month-to-month scatter of the parameters (e.g. scale values varying by more than \(\pm 500\) ppm). We therefore consider the chosen weak regularisation (case #1) to be justified.

How important are the common parameters? To investigate this we derived various models for which we only estimate a subset of the common parameters—or none at all. Ignoring the temperature dependence (case # 2 in Table 1) increases the rms misfit by 2.1% to 6.57 nT while reducing the number of model parameters by 6 to 1278; ignoring any dependency on solar array and battery currents (case # 3, 9 fewer model parameters) increases the rms misfit by 1.4 %; discarding the disturbance of magnetorquer (case # 4) increases the rms misfit by 5.9% to 6.81 nT, and ignoring non-linear effects (case # 5) increases the misfit by 10.9% to 7.13 nT compared to the rms misfit of case #1. Finally, ignoring any common parameters (case # 6) results in an rms increase of 22.1% while reducing the number of parameters by only 5% (from 1284 to 1212). From this we conclude that consideration of magnetic disturbance effects as described by the common parameters significantly improves the results.

The data improvement when considering magnetic signature of spacecraft disturbances, temperature effects and non-linearities measured by statistical means is shown in Table 1: for FGM1 the rms decreases from 7.85 nT when discarding such effects (case #6) to 6.43 nT (case #1). This improvement is also visible when looking at residual plots vs QD-latitude. The top panel of Fig. 4 shows residuals (observations minus CHAOS-6 model predictions) in the vertical component \(B_C\) for case #6 (blue) and the fully calibrated data of case #1 (red), for the two days 3 and 4 April 2011. The improvement is particularly obvious at non-polar latitudes (here a reduction from 5.98 nT to 4.10 nT). In particular, some “excursions” (e.g. between latitude \(-20^\circ \) and \(0^\circ \)) can be attributed to magnetorquer action, as indicated by the corresponding magnetorquer current strengths shown in the bottom panel.

Fig. 4
figure 4

Top: residuals \(\Delta B_C = B_C - B_{C, \text {mod}}\) in dependence on QD-latitude for the 2 days 3 to 4 April 2011, for FGM1. Blue dots present results when discarding “common calibration parameters” (i.e. not accounting for spacecraft disturbance fields and magnetometer non-linearities—case #6 of Table 1) while red dots present results for the fully calibrated data (case #1). Bottom: magnetorquer currents in dependence on QD-latitude for the same data span.

The left panel of Table 2, labelled “2010–2018”, lists the 72 common parameters for each of the three FGM magnetometers, obtained from the entire data set. But how robust are these estimates of the common parameters? In order to investigate this, we derived separate models using data from the first half of the mission (August 2010 to December 2014, i.e. 53 months) and from the second part (January 2015 to December 2018, i.e. 48 months), respectively. The middle and right panel of Table 2, labelled “2010–2014” and “2015–2018”, respectively, show the results of these completely independent estimates of the 72 common parameters.

Table 2 Values of the common calibration parameters

The estimated values of many of these parameters are quite similar for the two data sets, which gives us some confidence that their inclusion in the calibration process is justified. However, a detailed analysis of the significance of each of these parameters is beyond the scope of the present paper, and an interpretation of these estimated values has to be done with care. We therefore consider the co-estimation of these common calibration parameters merely as a tool to obtain an improved calibration of the magnetic data—similar to the usual approach of co-estimating “nuisance parameters” in statistics.

The rms data misfit values listed in Table 1 are mean values for the entire mission and all components. The misfit of FGM2 seems to be slightly higher than those of the other two fluxgate magnetometers. This tendency is confirmed when looking at daily values of the rms misfit at non-polar latitudes (QD-latitude equatorward of \(\pm 60^\circ \)), shown in Fig. 5. In particular, the rms misfit of the vertical magnetic field component \(B_C\) is systematically higher for FGM2 compared to FGM1 and FGM2; a tendency that is also visible in the rms of the scalar intensity F. The reason for this increased rms in FGM2 is presently unknown.

Fig. 5
figure 5

Daily rms of difference \(\Delta \mathbf{B} = \mathbf {B}_\text {obs} - \mathbf {B}_\text {mod}\) at non-polar latitudes for the three vector components in the NEC frame and for scalar intensity \(\Delta F = F_\text {obs} - F_\text {mod}\) (bottom), for all three FGM fluxgate magnetometers.

The obtained rms data misfit comprises contributions from unmodeled magnetic disturbances and from magnetometer noise. In order to investigate the noise behaviour at periods shorter than a few minutes, we select data segments of length 320 s (i.e. 80 samples) of \(\Delta \mathbf{B} = \mathbf {B}_\text {obs} - \mathbf {B}_\text {mod}\) at non-polar latitudes. After detrending each data segment, we calculated its auto-covariance function. As an example, Fig. 6 shows the results for 5. January 2011. Each grey curve presents the auto-covariance function of a single data segment (255 samples of length 320 s each), calculated, respectively, for the scalar field intensity (left side) and for the magnetic vertical component (right side) and for the difference between the magnetic field measured by FGM1 and CHAOS-6 model predictions (top panel) and for the difference between the field measured by FGM1 minus that measured by FGM2 (bottom panel). The red curve presents the median, determined by averaging all 255 sample auto-covariance functions.

Fig. 6
figure 6

Auto-covariance function for 320-s-long data segments at non-polar latitudes from 5. January 2011. Grey curves show the auto-covariance functions of each data segment; red curve presents the median curve. See text for details

The peak at zero lag indicates a significant amount of white noise in the data, of variance \(\sigma _F^2 \approx 10~\text {nT}^2\) for the scalar intensity and \(\sigma _{B_C}^2 \approx 12~\text {nT}^2\) for the magnetic vertical component (top part of Fig. 6). Averaging over successive data points reduces this random noise contributions considerably: averaging over 5 samples, which leads to the median auto-covariance function shown in yellow, results in a random noise reduction by a factor of about 3 (from \(\sigma _F^2 \approx 10~\text {nT}^2\) to \(\sigma _F^2 \approx 3~\text {nT}^2\), resp. from \(\sigma _{B_C}^2 \approx 12~\text {nT}^2\) to \(\sigma _{B_C}^2 \approx 3.5~\text {nT}^2\)). This reduction is, however, slightly lower than the expected fivefold reduction for purely Gaussian random errors.

The auto-covariance functions of the vector component \(B_C\) reveal secondary peaks at time lags of 12-s and multiples, which indicates a 12-s period in the magnetic vector components (the same periodicity is seen in the two other magnetic vector components and on other days). The reason for this is probably a 3-s periodicity in the 1 Hz star tracker data which, when combined with the FGM data (sampled at 4 s) leads to a 12-s “beat pattern”.

The existence of a large amount of uncorrelated noise is confirmed by the variance (at zero time lag) of the difference between the magnetic data of FGM1 minus FGM2, shown in the lower panel of Fig. 6. Any contribution due to unmodeled spacecraft disturbances, attitude errors or geophysical signals will be removed when analysing these differences since such contributions would be identical for the two magnetometers. Consequently, the 12-s periodicity in the auto-covariance function of \(B_C\) (right panel) has disappeared. However, the variance at zero time lag has increased considerably by almost a factor of two (which is the expected value for the difference of two Gaussian-distributed signals of same variance), confirming the origin of this noise as intrinsic to the FGM magnetometers.

When using the calibrated CryoSat-2 magnetic data products for geophysical investigations, we recommend averaging over, e.g. 5 successive values in order to reduce the random noise. It may also be useful to average data from the 3 FGMs since this further reduces the noise. This is shown by the blue curves in the top panel of Fig. 6. A 20-s robust running mean (i.e. over 5 samples in time) of the calibrated and aligned data from all three FGMs (if available) is therefore included in the provided CryoSat-2 magnetic data product.

Close conjunctions between the CryoSat-2 and Swarm Bravo satellites

An independent validation of the calibrated CryoSat-2 magnetometer data is possible by comparing with close-by magnetic measurements taken by the Swarm Bravo satellite. This is one satellite of the Swarm constellation trio, flying at an altitude of about 530 km (which is more than 50 km higher than the side-by-side flying lower pair Swarm Alpha and Charlie). The different orbital inclination of Swarm Bravo (\(i=88.0^\circ \)) and CryoSat-2 (\(i=92.0^\circ \)) results in different drift of the Local Time of the orbital planes. Roughly every 22 months the LT of the ascending tracks of the two satellites are equal (which corresponds to co-rotating satellite orbits), and likewise every 22 months they are separated by 12 h in LT (which corresponds to counter-rotating orbits). Of particular interest are these counter-rotating orbits, a situation that so far occurred three times since the launch of the Swarm satellites in November 2013: around 15 December 2014, 11 October 2016 and 8 August 2018.

We consider as “close conjunction” when the distance between the two satellites is smaller than some threshold \(d_0 = 300\) km. Since the altitude difference between CryoSat-2 and Swarm Bravo is roughly 200 km, the distance of the footprints is much smaller during these conjunctions and reaches values down to 30 km. However, since the satellites are in counter-rotating orbits their relative velocity is about 16 km/s, which means that each conjunction only lasts for a few values, given the 4-s data sampling rate of CryoSat-2. This is, however, compensated by the number of 30 conjunctions per day during a period of counter-rotating orbits.

As an example, Fig. 7 shows results for close conjunctions in August 2018. This was a geomagnetic quiet period, with \(Kp \le 2^0\) and \(|Dst| < 20\) nT, as shown in the top panel of the figure. In the following we only consider conjunctions at non-polar latitudes with QD-latitude equatorward of \(\pm 60^\circ \). Inter-satellite distance d (yellow), and the separation \(d_F\) of the footprints (magenta) are shown in the second panel. The two satellites are closest on 8 August, with \(d_F\le 30\) km during 28 conjunctions. Including neighbouring days, \(d_F\le 100\) km occurred for 90 conjunctions, during which the inter-satellite distance was \(d\le 250\) km.

Fig. 7
figure 7

Close conjunctions between the CryoSat-2 and Swarm Bravo satellites in August 2018. From top to bottom: geomagnetic activity indices Kp and Dst; inter-satellite distances; QD-latitude of conjunctions; the three components of the magnetic field difference \(\Delta \mathbf {B} = \mathbf {B}_\text {Cr} - \mathbf {B}_\text {Sw}\).

The third panel presents the QD-latitude at which the conjunctions occurred during the dayside part of the orbit (red, \(\approx 11\) h LT), resp. the nightside (blue, \(\approx 23\) h LT).

The lower three panels show the difference \(\Delta \mathbf{B} = \mathbf{B} _\text {Cr} - \mathbf{B} _\text {Sw}\) of the magnetic vector residuals (observations minus CHAOS-6 model values) as measured by CryoSat-2 and Swarm Bravo, for day- and nightside conjunctions. These differences are below \(\pm 10\) nT, with slightly smaller mean values during night-time (\(\overline{\Delta \mathbf{B} } = (\overline{\Delta B}_N, \overline{\Delta B}_E, \overline{\Delta B}_C) = (-0.8, 3.9, 1.0)\) nT) compared to the dayside (\(\overline{\Delta \mathbf{B} } = (1.4, 6.5, 1.3)\) nT). The larger dayside values may indicate ionospheric F-region currents flowing on the dayside in the altitude region between Swarm Bravo and CryoSat-2.

The close agreement between the calibrated magnetic field measurements taken by CryoSat-2 and Swarm Bravo gives us confidence in the validity of the calibration approach presented here.

Summary and outlook

We have described and discussed the preprocessing and calibration steps applied to the magnetic data measured by the three “platform magnetometers” on-board the CryoSat-2 satellite. The calibration is performed by comparing the magnetometer sensor readings with magnetic field values for the time and position of the satellite as given by the CHAOS-6 geomagnetic field model (Finlay et al. 2016). Fully calibrated magnetic vector data, together with time and position, are provided as daily files in the Common Data Format (CDF, see Goucher and Mathews (1994) and in a format similar to that used for distribution of the Swarm satellite constellation magnetic Level 1b data (e.g. Olsen et al. (2013) and The product name follows that used for the Swarm Level 1b data: file CS_OPER_MAG_20180123T000000_20180123T235959_0102.cdf contains data for 23 January 2018 (more precisely from 00:00:00 UT to 23:59:59 UT on that day). The last four digits of the filename—here 0102—indicate product version 0102.

Table 2 lists the content of the CryoSat-2 magnetic data product, which have been calibrated using the approach described in "Determination of the calibration parameters" section, case #1 of Table 1. In addition to time and position, it contains the three components of the calibrated magnetic vector in the FGM instrument frame as well as in the NEC frame, for each of the three FGMs. To reduce the intrinsic noise of the magnetometers a 20-s robust average (i.e. average over 5 successive data points in time) of the magnetic field vectors of up to 3 FGMs, for \(q_{\text{error}} < 30\) arcsecs, is provided as variable \(\mathbf{B} _{\text {NEC}}\). Scalar intensity \(F = |\mathbf{B} _{\text {NEC}}|\) is also provided.

Table 3 Content of CryoSat-2 magnetic data product

The CryoSat-2 data product files are freely available at in the folder /#CryoSat-2. Since the data format follows that used for the Swarm Level 1b data, a visualisation of the CryoSat-2 magnetic data is possible by uploading the CDF files to the VirES for Swarm web service available at

We hope that the calibrated and aligned CryoSat-2 magnetic data will prove useful to the scientific community, both regarding investigations of the dynamics of the core field, the time–space structure of ionospheric currents, in unravelling the various magnetospheric contributions, for induction studies and more. Examples of scientific research that make use of the CryoSat-2 magnetic data include several geomagnetic field models (e.g. Alken et al. 2020), the determination of “virtual Geomagnetic Observatories in Space” from CryoSat-2 data and their application for studying core-field variations (Hammer et al., to be submitted to Earth Planets and Space), as well as improved determination of the space–time structure of large-scale magnetospheric field contributions and their use to determine the electrical conductivity of Earth’s mantle (Kuvshinov et al., to be submitted to Earth Planets and Space).

As one example, we show an application of CryoSat-2 magnetic data for studying the magnetospheric ring-current. Its strength is monitored by the Dst-index (Sugiura and Kamei 1991) which is routinely derived from the magnetic horizontal component \(\Delta H\) (after removal of contributions from the core and lithosphere) at four low-latitude ground geomagnetic observatories. For a given time instant Dst is defined as the average of \(\Delta H\) at these four stations, divided by \(\cos \lambda _d\) (where \(\lambda _d\) is the dipole latitude of the observatory location) in order to extrapolate to the magnetic dipole equator. Dst thus provides the magnetic signature of the ring-current at the dipole equator.

A similar approach can be applied to satellite magnetic data. As an example, Fig. 8 shows, for September 2017, time series of Dst (magenta curve) and estimates obtained from magnetic data taken by CryoSat-2 (blue), Swarm Bravo (red) and Swarm Alpha (yellow) between \(\pm 60^\circ \) dipole latitude. A major geomagnetic storm started around 00 UT on 7. September, with a secondary, even stronger, minimum in the afternoon of that day, and a slow recovery during the following days. CryoSat-2 and Swarm Bravo have been in the same orbital plane (03:45/15:45 h LT) during these days, while Swarm Alpha was in an orbital plane separated by almost \(90^\circ \) (10:15/22:15 h LT), which provides a unique opportunity to study this major geomagnetic storm from space.

Fig. 8
figure 8

Signature of the magnetospheric ring-current for September 2017 as determined from various satellites. For comparison the Dst-index (shifted by \(- \, 40\) nT in order to correct for the well-known baseline-instabilities of that index) is also shown.

There is excellent correlation between the time series obtained using CryoSat-2 and Swarm Bravo (correlation coefficient of \(\rho = 0.927\)) and slightly lower correlation with Swarm Alpha (\(\rho = 0.920\)) and Dst (\(\rho = 0.915\)). This may indicate a dependence of the ring-current strength on Local Time (i.e. an asymmetric ring-current, e.g. Luehr et al. (2016)). Differences are in particular present during the main phase of the storm (shown in the figure inset), indicating an increasing asymmetry (as seen in the difference between Swarm Alpha and CryoSat-2/Swarm Bravo) or storm-time contributions from ionospheric currents (i.e. enhanced F-region currents which result in different magnetic signature at the various satellite heights, e.g. Fukushima (1989), as seen in the difference between CryoSat-2 and Swarm Bravo). A detailed investigation of these phenomena is beyond the scope of the present article, but clearly demonstrates the potential of the CryoSat-2 magnetic data for geophysical studies.

Platform magnetometer data like those from CryoSat-2 are a highly valuable augmentation to high-precision magnetic data from dedicated satellites like Swarm. It is, however, important to note that they never can be a substitute for dedicated satellite missions, since the proper calibration of platform magnetometer data requires good global geomagnetic field models which can only be obtained with data from high-precision magnetic satellites.

Availability of data and materials

The datasets generated and analysed in the current study are available at in folder /#CryoSat-2.



CHAllenging Minisatellite Payload


Common Data Format


Common Reference Frame


Disturbance storm time


European Space Agency


Fluxgate Magnetometer




International Celestial Reference Frame


International Terrestrial Reference Frame


Iteratively Re-weighted least-squares


Local Time


Swarm Level 2 data product


Swarm, Magnetospheric L2 data product




North, East, Center coordinate system




Ring-current index


Root-mean square


Star tracker


Transfer field effect


Universal Time


  • Alken P, Olsen N, Finlay CC (2020) Co-estimation of geomagnetic field and in-orbit fluxgate magnetometer calibration parameters. Earth Planets Space 72:49.

    Article  Google Scholar 

  • Brauer P, Merayo JMG, Nielsen OV, Primdahl F, Petersen JR (1997) Transverse field effect in fluxgate sensors. Sens Actuators A Phys 59(1–3):70–74.

    Article  Google Scholar 

  • Emmert JT, Richmond AD, Drob DP (2010) A computationally compact representation of magnetic-apex and quasi-dipole coordinates with smooth base vectors. J Geophys Res 115(A8):A08322.

    Article  Google Scholar 

  • Finlay CC, Olsen N, Kotsiaros S, Gillet N, Tøffner-Clausen L (2016) Recent geomagnetic secular variation from Swarm and ground observatories as estimated in the CHAOS-6 geomagnetic field model. Earth Planets Space 68(1):112.

    Article  Google Scholar 

  • Friis-Christensen E, Lühr H, Hulot G (2002) Swarm—a constellation to study the dynamics of the earth’s magnetic field and its interactions with the earth system, DSRI Report 1/2002. Danish Space Research Institute, Copenhagen

    Google Scholar 

  • Fukushima N (1989) Eastward Ring-Current at the Bottom of the ionosphere detected by MAGSAT, unpublished manuscript, 1989

  • Goucher GW, Mathews GJ (1994) A comprehensive look at CDF. National Space Science Data Center (NSSDC) Publication, pp 94–07

  • Huber PJ (1981) Robust statistics. Wiley, Hoboken

    Book  Google Scholar 

  • Luehr H, Xiong C, Olsen N, Le G (2016) Near-earth magnetic field effects of large-scale magnetospheric currents. Space Sci Rev.

    Article  Google Scholar 

  • Maus S (2007) CHAMP magnetic mission. In: Gubbins D, Herrero-Bervera E (eds) Encyclopedia of geomagnetism and paleomagnetism. Springer, Heidelberg, pp 59–60

    Chapter  Google Scholar 

  • Neubert T, Mandea M, Hulot G, von Frese R, Primdahl F, Joergensen JL, Friis-Christensen E, Stauning P, Olsen N, Risbo T (2001) Ørsted satellite captures high-precision geomagnetic field data. EOS Trans AGU 82(7):81–88

    Article  Google Scholar 

  • Nielsen JB, øffner-Clausen LT (2019) Swarm Level 1b Processor Algorithms, Technical Report SW-RS-DSC-SY-0002, DTU Space—Technical University of Denmark.

  • Nielsen OV, Petersen JR, Primdahl F, Brauer P, Hernando B, Fernandez A, Merayo JMG, Ripka P (1995) Development, construction and analysis of the Ørsted fluxgate magnetometer. Meas Sci Technol 6(8):1099

    Article  Google Scholar 

  • Olsen N (2007) Ørsted. In: Gubbins D, Herrero-Bervera E (eds) Encyclopedia of geomagnetism and paleomagnetism. Springer, Heidelberg, pp 743–745

    Chapter  Google Scholar 

  • Olsen N, Floberghagen R (2018) Exploring geospace from space: the swarm satellite constellation mission. Space Res Today 203:61–71.

    Article  Google Scholar 

  • Olsen N, Tøffner-Clausen L, Sabaka TJ, Brauer P, Merayo JMG, Jørgensen JL, Léger J-M, Nielsen OV, Primdahl F, Risbo T (2003) Calibration of the Ørsted vector magnetometer. Earth Planets Space 55:11–18.

    Article  Google Scholar 

  • Olsen N, Friis-Christensen E, Floberghagen R, Alken P, Beggan CD, Chulliat A, Doornbos E, da Encarnac JT, Hamilton B, Hulot G, van den IJssel J, Kuvshinov A, Lesur V, Luehr H, Macmillan S, Maus S, Noja M, Olsen PEH, Park J, Plank G, Puethe C, Rauberg J, Ritter P, Rother M, Sabaka TJ, Schachtschneider R, Sirol O, Stolle C, Thebault E, Thomson AWP, Toeffner-Clausen L, Velimsky J, Vigneron P, Visser PN (2013) The Swarm Satellite Constellation Application and Research Facility (SCARF) and Swarm Data Products. Earth Planets Space 65. 1189–1200

  • Olsen N, Lühr H, Finlay CC, Sabaka TJ, Michaelis I, Rauberg J, Tøffner-Clausen L (2014) The CHAOS-4 geomagnetic field model. Geophys J Int 197:815–827

    Article  Google Scholar 

  • Parrinello T, Shepherd A, Bouffard J, Badessi S, Casal T, Davidson M, Fornari M, Maestroni E, Scagliola M (2018) CryoSat: ESA’s ice mission—eight years in space. Adv Space Res 62(6):1178–1190.

    Article  Google Scholar 

  • Reigber C, Lühr H, Schwintzer P, Wickert J (2005) Earth observation with CHAMP, results from three years in orbit. Springer, Berlin

    Book  Google Scholar 

  • Shuster MD (2003) Stellar aberration and parallax: a tutorial. J Astronaut Sci 51(4):477–494

    Google Scholar 

  • Sugiura, . Kamei, Equatorial \(D_{st}\)-Index 1957–1986 (IAGA Bulletin \(N^{{\rm o}}\) 40, 1991)

  • Tøffner-Clausen L, Lesur V, Olsen N, Finlay CC (2016) In-flight scalar calibration and characterisation of the Swarm magnetometry package. Earth Planets Space 68(1):129.

    Article  Google Scholar 

  • Vallado DA, Seago JH, Seidelmann PK (2006) Implementation issues surrounding the new IAU reference systems for astrodynamics. Paper AAS 06–134:

  • Wingham DJ, Francis CR, Baker S, Bouzinac C, Brockley D, Cullen R, de Chateau-Thierry P, Laxon SW, Mallow U, Mavrocordatos C, Phalippou L, Ratier G, Rey L, Rostan F, Viau P, Wallis DW (2006) CryoSat: a mission to determine the fluctuations in earth’s land and marine ice fields. Adv Space Res 37(4):841–871.

    Article  Google Scholar 

Download references


The European Space Agency (ESA) is gratefully acknowledged for providing access to the CryoSat-2 data and for supporting the calibration effort. Calibrated data are available as daily files from


The study has been partly supported as part of Swarm DISC activities, funded by ESA contract no. 4000109587.

Author information

Authors and Affiliations



NiO led the calibration of the CryoSat-2 data and the writing of this paper. JB and TP initiated the study; GA provided the raw CryoSat-2 data; and LTC designed and applied the preprocessing of the CryoSat-2 star camera data. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Nils Olsen.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Olsen, N., Albini, G., Bouffard, J. et al. Magnetic observations from CryoSat-2: calibration and processing of satellite platform magnetometer data. Earth Planets Space 72, 48 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: