Articles | Volume 11, issue 2
Research article
31 Aug 2022
Research article |  | 31 Aug 2022

In situ calibration of the Swarm-Echo magnetometers

Robert M. Broadfoot, David M. Miles, Warren Holley, and Andrew D. Howarth

CASSIOPE/e-POP, now known as Swarm-Echo, was launched in 2013 to study polar plasma outflow, neutral escape, and the effects of auroral currents on radio propagation in the ionosphere. The e-POP suite contains an array of eight instruments, including two fluxgate magnetometers on a shared boom. Until now, the two magnetometers relied on a set of preflight calibrations, which limited the accuracy of the magnetic field product and the magnetometers' utility for some applications. Here we present the results of an in situ calibration performed on data from 3 January 2014 to 30 January 2021 and a case study showing the improvements the calibration has made to the data utility. Periodic vector–vector calibration using the CHAOS magnetic field model results achieves an estimated root-mean-square (rms) uncertainty of 9 nT during nominal operation. This data product is now openly available through the ESA Swarm repository.

1 Introduction

The CAScade Smallsat and Ionospheric Polar Explorer (CASSIOPE) containing the Enhanced Polar Outflow Probe (e-POP) instrument suite (Yau and James, 2015) was launched in 2013 by the Canadian Space Agency in partnership with the University of Calgary; the Communication Research Center in Ottawa; Magellan Aerospace; and MacDonald, Dettwiler, and Associates (MDA), the prime contractor for the mission. In 2018, the European Space Agency (ESA) adopted CASSIOPE into its Third Party Missions Programme and inducted it into the Swarm constellation (Friis-Chistensen et al., 2008) as Swarm-Echo. The original Swarm spacecraft have roughly circular orbits at  450 km for A and C and > 500 km for B. The e-POP instrument was considered to be a desirable addition to the Swarm constellation because the orbit is highly elliptical, with its perigee at  330 km and apogee at  1500 km at launch. As such, it sweeps out a broader range of altitudes than Swarm A, B, and C.

The scientific mission for the e-POP instrument suite is to study the Earth's ionosphere, thermosphere, and magnetosphere while working to gain an understanding of plasma dynamics and their impact on radio propagation in the auroral ionosphere. The e-POP suite contains an array of eight instruments which includes two fluxgate magnetometers (MGFs) (Wallis et al., 2015) separated by 32 cm from center to center on a 92.9 cm carbon fiber boom (Fig. 1). Until recently, MGFs relied on a set of preflight calibrations (discussed in Sect. 2), which limited the accuracy of the magnetic field product and their utility for some applications. Fluxgate magnetometer calibrations can evolve slowly over time, particularly due to baseline drift, and the preflight calibrations cannot practically capture the stray fields from the spacecraft.

CASSIOPE is a three-axis stabilized spacecraft and uses reaction wheels to control the spacecraft attitude in a nominal +Z-to-nadir pointing mode (Fig. 1) with magnetorquers used to periodically momentum dump the reaction wheels. Originally, four reaction wheels were used to stabilize the spacecraft. However, in August 2016 one of the wheels failed and the remaining three wheels were slowed to compensate for this, and in February 2021 a second wheel failed, which resulted in the remaining two being shut off while a solution to stabilize the spacecraft was investigated. A total of 3 months after re-acquiring a three-axis stabilized attitude using two wheels, a third wheel failed in December 2021, forcing the spacecraft into a permanent spin-stabilized sun-pointing attitude. However, that time interval is beyond the scope of this paper.

Here we present the results of an in situ vector calibration, performed to improve the accuracy of the MGF magnetometer data for the period comprising the early mission through to the failure of the second reaction wheel. We present the theory for vector magnetometer calibration, the limitations imposed by the existing preflight calibrations, the updates to the attitude determination software that were necessary for a successful calibration, the steps taken to select data for calibration, the results of the calibration over the entire mission length, a case study demonstrating the improved scientific utility of the MGF data, and future work planned to further improve the fidelity of the MGF data for the entire mission.

Figure 1The CASSIOPE spacecraft showing the two MGF magnetometers mounted at different distances from the spacecraft body on a common boom. The coordinate system shown represents the common reference frame (CRF) with +z-pointing nadir, +x-pointing ram, and +y completing the right-handed coordinate system.


2 Limitations of the preflight calibrations

Preflight calibration (Wallis, 2010) of the two MGF magnetometers was carried out from 2009–2010 at the Geomagnetic Laboratory of the Geological Survey of Canada at Anderson Road, Ottawa. An 8 ft (2.438 m) Helmholtz coil facility in Building 8 was used to cancel the main Earth field, including local variations up to 4 Hz, and apply various stimuli to characterize the sensitivity, orthogonality, instrumental zeros, and rotation between the instruments. These calibrations allow a reasonable reconstruction of the magnetic field vector (Wallis et al., 2015); however, they have several limitations. There was no opportunity to attempt to estimate the stray magnetic field of the spacecraft prior to launch, and in orbit the zeros of the magnetometers are functionally the sum of the intrinsic instrumental zeros plus the static stray field of the spacecraft at the sensor position. The final deployment angle of the magnetometer boom could be estimated from a potentiometer in the joint but was insufficient to accurately rotate the measurements from the frame of each sensor to the common reference frame (CRF) of the spacecraft and then into a geophysical frame. Additional tests were completed to estimate temperature dependence and the mutual interference of the two sensors. Mutual interference was found to exist between the two sensors due to the modest 32 cm of separation between them. On CASSIOPE, the instruments share a common clock that mitigates any interference from the respective drive signals, making the interference primarily one of gain error from the stray fields generated by each sensor's magnetic feedback. The preflight interference was characterized by calibrating the sensors against a variety of fields while powering the other sensor on and off independently. The maximum interference was found to be in the +Z direction (Wallis, 2010), with the presence of a second sensor causing an error of approximately -3.6×10-4 nT nT−1. In orbit, however, the sensors are never operated independently, so this effect is always present and is intrinsically captured by the instrument gains and then corrected by the application of the in situ calibration. The presented in situ vector–vector calibration was developed to resolve these issues and improve the absolute accuracy of the MGF data product.

3 Vector calibration of magnetometers

Here we describe the process we implemented to perform a full vector calibration of a three-axis magnetometer compared against a reference magnetic field. The vector calibration performed, as well as the notation used, is based on the method used by Olsen et al. (2003).

The presented vector calibration utilizes the full vector information by minimizing the vector residuals between the measured field and a model field. Specifically, we minimize ΔB=BCRF-Bref,CRF to obtain the calibration parameters. BCRF is the magnetic field vector in the CRF of the spacecraft and Bref,CRF is a reference field in the same frame. Before the vector residuals can be minimized, we must first characterize the relationship between the raw sensor data (in a slightly non-orthogonal reference frame) and the magnetic field vector. We assume that the raw sensor data have error in offset (b), sensitivity (S), orthogonality (P), and rotation (RA).

Let E be the raw sensor data (in engineering units, eu) that is related to the magnetic field vector BCRF in the common reference frame by

(1) E = SPR A B CRF + b ,


(2) b = b 1 b 2 b 3 ,

is a vector of offsets (given in units of eu) comprising the superposition of the instrumental zeros and the static stray field of the spacecraft platform.

(3) S = S 1 0 0 0 S 2 0 0 0 S 3

while the above matrix is diagonal, with each element representing a scale value, often called sensitivity (given in units of eu nT−1), for each magnetometer axis. Based on the results of the preflight calibrations (Wallis, 2010) we assume that electronic cross-talk between channels is negligible, and hence the non-diagonal terms can be assumed to be zero.

(4) P = 1 0 0 - sin ( u 1 ) cos ( u 1 ) 0 sin ( u 2 ) sin ( u 3 ) 1 - sin 2 ( u 2 ) - sin 2 ( u 3 )

The above matrix describes the projection of the magnetometer by three angles (u1, u2, and u3; one for each axis pair) from a non-orthogonal frame into an orthogonal one. RA is a rotation matrix (order “1–2–3” in the case of MGF) consisting of three separate Euler angles, e1, e2, and e3, which describes the rotation between the magnetometer reference frame and the common reference frame. It should be noted that the choice of rotation order is largely arbitrary as long as it is able to fully describe the rotation from the instrument reference frame into the CRF. The rotation parameters do not have any effect on the magnitude of the calibrated field, however, but are necessary for the vector calibration to ensure the alignment of the frame of the sensor data and the reference field.

These 12 basic calibration parameters (three offsets, three sensitivities, three orthogonalities, and three Euler angles) allow us to find the magnetic field vector in the common reference frame from the sensor data using

(5) B CRF = R A - 1 P - 1 S - 1 E - b ,


(6) S - 1 = 1 S 1 0 0 0 1 S 2 0 0 0 1 S 3 ,


(7) P - 1 = 1 0 0 sin ( u 1 ) cos ( u 1 ) 1 cos u 1 0 - sin ( u 1 ) sin u 3 + cos u 1 sin ( u 2 ) w cos u 1 - sin u 3 w cos u 1 1 w ,

where w=1-sin2u2-sin2(u3) and RA-1=RAT from the properties of rotation matrices.

The 12 calibration parameters can now be obtained by minimizing the difference of the squared residuals

(8) B CRF - B REF , CRF 2 ,

in a least-squares sense.

Obtaining the parameters this way will involve solving a set of nonlinear equations that will be dependent on initial guess parameters. However, following the procedure outlined in Olsen et al. (2020), Eq. (5) can be rewritten as

(9) R A - 1 P - 1 S - 1 E - b = A E + b ̃ ,

where A=RA-1P-1S-1 is a 3×3 matrix and b̃=-Ab. This now allows the equation to be solved as a linear inverse problem that is no longer dependent on initial guess parameters.

The calibration parameters can then be determined by reforming the linearized results of A into matrix form and decomposing using QL decomposition, which decomposes A into two matrices: Q and L. Here Q is an orthogonal matrix and L is a lower triangular matrix. There are different algorithms to perform this decomposition, and here we use a MATLAB function (Houtzager, 2022) that performs this task. This algorithm treats Q as a product of a series of elementary reflectors and uses these to reduce the matrix L to lower triangular form column by column (Parlett, 1998). Other methods of matrix decomposition yield different matrix forms (QR, LQ, LU, etc). However, QL decomposition matches the form of the matrices used to originally create A. As such, we can set Q=RA-1 and L=P-1S-1. From there, the three Euler angles can be obtained from the elements of Q. Since L is a lower triangular matrix that combines two separate matrices, we must use the knowledge that the three sensitivities must be positive, and with this in mind the orthogonalities and sensitivities can be solved for using algebra. Lastly, the offsets can be obtained from b=-A-1b̃.

In addition to the 12 basic calibration parameters, other missions such as CryoSat-2 (Olsen et al., 2020) and Ørsted (Olsen et al., 2003) have had success expanding Eq. (9) to consider additional effects due to nonlinearity and cross-talk and to use individual terms that take temporal variations and effects from external sources into consideration (such as temperature and stray current from the solar panels and batteries). These additional parameters may reduce outliers in the data and improve the overall fit with the reference field and reduce the variability of the individual calibration parameters. For this paper, however, we will focus on the improvements in the data fidelity from the 12 basic parameters only, with the inclusion of the additional terms and regularization being considered for future work.

4 Required updates to CASSIOPE attitude solution

An accurate attitude solution is critical to a successful vector calibration. It is used to rotate the reference magnetic field from a geophysical coordinate system into the coordinate system of the magnetometers. Though CASSIOPE has several methods to determine spacecraft attitude, the difference between the quality of attitude sources is large. Deficiencies were found in the original attitude determination software that impacted the overall quality of the attitude solution. Here we focus on the updates that were made to the attitude determination software, with Sect. 5 detailing the method used to select quality attitude data and rotate the reference magnetic field into the magnetometer's coordinate system. The previous attitude solution was used for versions 1.x.x of the data product, whereas the improved solutions were used for versions 2.x.x. The current attitude file version of 1.3 should not be confused with the data product version. The Swarm-Echo attitude determination system is composed of the Micro Advanced Stellar Compass (µASC) with two camera heads provided by the Technical University of Denmark, six Adcole 46300 coarse sun sensors (CSSs), and two Billingsley TFM-100S magnetometers. Fine attitude knowledge is achieved via the µASC, with the coarse sun sensors and magnetometers providing coarse solutions when a µASC solution is not available. The µASC is specified by the manufacturer to provide solutions with errors of less than 2 arcsec (3σ) until the end of its life (Jørgensen et al., 2003), though there is a known mounting angular offset of  0.447 to bring the two cameras into agreement, which is averaged across both cameras. The attitude solutions provided by the Attitude Determination and Control System (ADCS) derived from CSS have a known error of up to 30 (2σ), which makes them unsuited for calibrating or transforming the MGF instruments and these intervals are rejected during data processing. Early mission attitude data were generated only as yaw–pitch–roll (YPR) values using the AGI Systems Toolkit (STK) from onboard pre-processed attitude telemetry from Swarm-Echo's ADCS. The original system merged the higher-accuracy solutions generated from the star trackers with the low-accuracy solutions from the CSS and treated them as a continuous dataset. This caused STK to reject or discard large sections of the attitude solution or provide solutions with visible steps in the data when the system would transition between attitude determination sources. Reproducibility of these events was a challenge as there is limited visibility into the STK software. Early on this was less of an issue as the cameras were still new. However, as the cameras aged and were exposed to radiation in orbit, the individual star tracker solutions began to diverge from each other, and increasingly more data began to be rejected. The degrading quality of the data necessitated a change to the attitude determination algorithms. The revised attitude solution included improved alignment between different star camera modes, corrections for orbital and annual aberration, which are caused by the relative velocity of the stars within the camera heads, and thermal effects in the star cameras. These corrections closely follow the procedures outlined in the Swarm Level 1b Processor Algorithms (SW-RS-DSC-SY-0002) by Nielsen and Tøffner-Clausen (2019). Additionally, corrections were made to the frame, location, and epoch transforms. The details of these corrections will be covered in a forthcoming publication by the CASSIOPE science operations team. Switching to a spherical linear interpolation (Slerp) or a spherical quadrangle (SQUAD) (Shoemake, 1987) interpolation rather than per-element interpolation further improved the robustness of the attitude transform by enforcing continuity and smoothness of the attitude solution over multiple measurement points, which is appropriate for a physical spacecraft moving in physical space.

5 Attitude selection and reference field rotation

In situ calibration of the MGF instruments requires rotating the reference magnetic field from its native north–east–center (NEC) frame into the local CRF frame of the spacecraft by convolution against the spacecraft attitude solution. As noted above, the spacecraft attitude solution is obtained from multiple sensors that must first be rotated from their native reference frames and merged into the CRF. Each primary attitude datum is provided by an individual µASC solution. The position of the camera heads is on the y axis of the spacecraft (Fig. 2), separated by 130 in the yz plane, with the optical axis 25 from the xy plane (Fig. 2).

Figure 2Location and orientation of the two star tracker camera heads that provide the e-POP attitude solution.


The highest-quality secondary-source solution is the onboard-merged “dual” µASC solution, which is considered of lower quality to ground-processed camera solutions as the algorithm used to merge them onboard cannot be separated into the separate solutions for thermal correction. Following this, attitude solutions derived from the coarse sun sensors and BUS magnetometer are considered. Solutions that use calibrated solar vector and magnetic field steering are considered first, followed by solutions using uncalibrated vector and field estimates. These solutions are used in fine-steering dropouts of greater than 5 s and 2 min respectively. Periods where there are no attitude sources available for extended periods of time (10 min) have zero-quaternion sentinel solutions placed surrounding the period. This is both to segment interpolation and to limit the availability of incorrect solutions. The attitude solutions are then rotated from the coordinate frame of the source into CRF to bias interpolation towards the nominal operational attitude on CASSIOPE. These off-cadence “definitive” solutions are then interpolated to 1 Hz using SQUAD (Shoemake, 1987) quaternion interpolation. These interpolated quaternions are then rotated into the International Terrestrial Reference Frame (ITRF) with a CRF-to-ITRF transform for publication in the Swarm-Echo attitude common data format (CDF) product. The mathematics for the CRF-to-ITRF transformation will be detailed in the forthcoming publication mentioned in Sect. 4. supplementary metadata are also derived from these definitive solutions, such as time to solution and data source, to allow for the accuracy of both the interpolation and the raw data source to be measured and are included in the MGF data product. One additional rotation is performed for the final MGF data product CDF, which rotates the quaternions from ITRF to the NEC frame.

The process to perform this rotation involves generating the quaternions from the rotation matrix that describes the rotation from the ITRF position data into NEC, and each matrix row is generated in reverse order (i.e., center, east, north) and can be obtained by the following equations

(10a) c e n t e r = - r r ,

where r is the ITRF position vector, followed by

(10b) e a s t = c e n t e r × 0 , 0 , 1 ,

and finally,

(10c) n o r t h = e a s t × c e n t e r ,

which completes the right-handed coordinate system.

The matrix terms are then converted into quaternions qNEC→ITRF and multiplied with the qITRF→CRF to make qNEC→CRF quaternions, which are included in the MGF data product and allow us to transform our reference magnetic field model, whose native coordinates are NEC, into the local CRF of the measured magnetic field data to enable vector–vector calibration.

Preliminary analysis suggests that the accuracy of the ephemeris is comparable to the values determined by Montenbruck et al. (2019). The daily attitude files are in CDF format and contain the qITRF→CRF quaternions, and the daily ITRF position files are in SP3 format, which is a precise ephemeris format developed by the National Geodetic Survey to store orbit information. Both are publicly available at, last access: 16 June 2022.

6 Data selection and calibration

As e-POP lacks an absolute scalar magnetometer, our in situ calibration method requires that the data for calibration be compared against a reference magnetic field. We use the CHAOS-7.7 field model (Finlay et al., 2020), which includes contributions from the core, lithospheric, and external sources (such as a large-scale magnetosphere). We select data that falls within ±55 geographic latitude, since the CHAOS model does not contain terms to account for disturbances in the polar regions. However, before we perform the calibration, additional data selection and processing is performed to limit outliers in the calibration.

Table 1Mission-averaged values for the inboard and outboard sensors compared to the values obtained from the preflight calibrations. A sign error was discovered in the original matrix used to calculate the preflight orthogonalities, which is why the discrepancy between them is so large. Orthogonalities are given in degrees and displayed as 90 + orthogonality. The large offset for outboard b1 is likely due to a magnetized object on the boom near the sensor. The preflight values marked with “*” represent the instrument zeros or the offsets that would be measured by the magnetometer in zero magnetic field and are not the same as the in situ offsets, which include effects from the stray field of the spacecraft.

Download Print Version | Download XLSX

Prior to in situ calibration, we reduce the data from its native 160 to 1 sps to reduce the computational burden. We bin the data into 7 d intervals, which is an experimentally determined balance of sufficient data for a robust calibration while capturing time-varying effects. There are exceptions to this rule, especially prior to the first wheel failure when data coverage in non-polar latitudes was extremely sparse.

We have found that the quality of data selected to derive the in situ calibrations is generally more important than the quantity of data. Consequently, we cull the data used for the calibration using information from the attitude, BUS telemetry, and location files, as well as conditions given by the planetary (Kp) and disturbance storm time (Dst) indices, to identify intervals where the spacecraft signal is low, the geomagnetic field is undisturbed (and hence well represented by the CHAOS model), and the location is far from likely auroral disturbances.

Table 2Average residuals and average root-mean-square error (RMSE) for non-polar latitudes by year. The largest change in average residuals occurred between 2015 and 2017, coinciding with the loss of the first reaction wheel and subsequent slowing of the remaining wheel rates. The steady improvement in the results every year afterward can be attributed to the increased data coverage.

Download Print Version | Download XLSX

Figure 3(a) Residuals for the Bx component for inboard (blue) and outboard (green) data. Areas marked in yellow represent any point where the rotation rate exceeded 0.03 s−1 or the attitude solution was not generated by at least one star tracker camera. (b) The angular rotation rate corresponding to the data in the top plot. (c) The seven potential attitude sources for the data, all of which have significantly different solution accuracies. The potential errors in the attitude solution derived from CSS versus one of the star-tracker cameras is clearly shown by the transition from ST-A (star tracker A only) to CSS (coarse sun sensor).


Figure 4Deviation of individual calibration results from the mission average. Mission-averaged values are shown in the legends. The greatest amount of variability in the results occurs prior to the first reaction wheel failure in August 2016, which is denoted by the vertical black line in each plot. Periodic behavior seen in the results is planned to be mitigated in future data releases using regularization.


For calibration, we select data that fall within ±55 latitude during geomagnetically quiet times. We consider geomagnetically quiet to be when the Kp index does not exceed 3 or the Dst index does not exceed a change of 3 nT h−1 when the data were taken. From the attitude files we flag any data where the attitude solution was not generated by at least one of the star tracker cameras, due to the large (up to 30) error in solutions generated from the CSS mentioned in Sect. 4. We also flag any data where the signal has dropped out for greater than 10 s or there is more than 10 s until the next signal is obtained, due to potentially large errors when interpolating the attitude solution. Lastly, we flag any data where the rotation rate of the spacecraft exceeds 0.03 s−1.

Figure 3 shows these flags, the source of the provided attitude solution, and the effect they have on the data. The discrepancy of approximately 800 nT between solutions derived from a single star tracker camera (ST-A) and those derived from the CSS justify the exclusion of attitude solutions not derived from at least one star tracker for the data used in calibration. From the BUS telemetry files, we flag any data where the magnetorquers were engaged, as they suddenly produce a 6000 nT step of stray field on axis at 1 m (Wallis, 2010), which exceeds the bandwidth of MGF, rendering the data clipped and unusable. It should be noted that even though the flagged data are excluded from the calibration process, all data and attitude flags are included in the daily MGF data product so the user can decide if the flagged data are useable.

Figure 5All calibrated 1 Hz residuals for the outboard sensor with the CHAOS model versus latitude. The same data culling as in Sect. 6 was used for this plot, and any data that did not meet that criteria were not included. The darker section in the data represents the RMSE for the data binned by each degree of latitude.


Figure 6(a) Recreation of Fig. 1 from Miles et al. (2018) but using the updated spacecraft attitude solution and vector calibration. Black shows magnetic variations in the outboard sensor NEC East component associated with the auroral currents visible in the superimposed image. (b) Excerpted reproduction of Fig. 1 from Miles et al. (2018) with font changed to improve visibility. Black shows the cross-track spacecraft By component. The red and blue traces in (b) show the cross-track magnetic field for Swarm A and Swarm C, respectively, reproduced from the original publication. Care should be taken when interpreting the image. The solid dot at 06:49:36 represents CASSIOPE's position when the overlying image was taken. As such, only the portion of the magnetometer data that coincides with that dot is related to what was being detected.

After the extensive filtering described above, we use iteratively re-weighted least squares to minimize the difference in the vector residuals between the sensor data and the CHAOS model for each 7 d interval.

(11) d T W d ,

where d is the residual vector BCRFBCHAOS, containing all the selected data for the 7 d interval, and W is a weight matrix. We use Huber weights (Huber, 1981), where the elements of the weight matrix are determined by the following criteria:

(12a) W = r - 1 r > 1 1 r 1 ,

where r is determined from a combination of the residuals (d), the leverage (h), the median absolute deviation of the residuals (s), and a tuning constant (c) and is given by

(12b) r = d c s 1 - h - 1 ,

with c=1.345 (Holland and Welsch, 1977) as it is less sensitive to outliers in non-polar latitudes.

7 Results and discussion

Calibrations were performed for the period of 3 January 2014 to 4 February 2021 for all data up to the second wheel failure. This resulted in 323 total 7 d calibrations after accounting for periods with sparse coverage or an insufficient amount of quality data for the calibration to converge. A mission-averaged static calibration was calculated from the 323 results and compared with the sensitivities and orthogonalities from the preflight calibrations (Table 1). No preflight estimates are shown for the rotations due to the potential variability of the boom deployment. The calculated preflight zeros (Wallis, 2010) are included for completeness. However, it should be noted that these zeros are not the same as the offsets calculated as part of the in situ calibration as they only represent the intrinsic zero-offsets of the sensor and electronics and do not include effects from stray field from the electronics as it was not possible to quantify those prior to integration. The large offset in b1 for the outboard sensor is likely due to a magnetized object on the boom near the sensor – the survival heater added to the boom during final integration is a potential candidate. Additionally, a sign error was discovered in the equation used to calculate the preflight orthogonalities, which accounts for the flipped sign of the values.

After accounting for the two discrepancies mentioned in the previous paragraph, the similarities between the two give us confidence in our mission-averaged result. Any 7 d interval that lacked sufficient data for calibration after culling based on the criteria from Sect. 6 will instead rely on the mission-averaged value to provide potential scientific utility to the usable data in those sets. Additionally, the calibration values that converged were compared against the mission-averaged results (Fig. 4) for orthogonality. We determined that jumps in orthogonality larger than ± 0.1 would be non-physical as it would cause a catastrophic failure in the physical integrity of the sensor itself. This resulted in 22 (6.8 %) of the calibrations being replaced with the mission-averaged values.

Every rejected calibration set occurred prior to the first wheel failure in August 2016. While the sparsity of the data likely plays a significant role in the variability, the values show a noticeable decrease in variability in the calibration set immediately following the loss of the first wheel, as seen in Fig. 4. The larger variability in the outboard sensor is likely due to the large offset seen in the b1 and (to a lesser degree) b3 components. As the numbers are much larger in comparison to the other results, the variation in those values is also proportionally larger. It should also be noted that maximum data coverage did not occur until the later years in the mission. This implies that the reaction wheel tone has a significant impact on the calibration results and that steps will need to be taken to mitigate the wheel tone in future data releases. Implementing this knowledge should have a significant impact on the calibration results for the early mission.

To further validate the calibration results we calculated the residuals for all 1 Hz data compared to the CHAOS model for the calibration set until the start of 2021 (Fig. 5). The results show, as expected, that the residuals in the non-polar latitudes (± 55) are small and increase in the auroral latitudes. The darker area in the residuals represents the RMSE for the residuals at that degree of latitude.

We then calculated the average residuals and average RMSE for non-polar latitudes by year (Table 2) to see to what degree the increased data coverage and loss of the first reaction wheel affected the results. As expected, the largest improvements in the averaged residuals occurred between 2015 and 2017 with the average residuals and RMSE steadily improving each year. We expect to improve on these initial numbers in future data releases by adding additional terms to the calibration, such as temperature and major spacecraft BUS currents.

To show improvements made to the data utility, we present a case study of a recreation of Fig. 1 from Miles et al. (2018) (Fig. 6) using the newly calibrated data and improved attitude and location data. The original publication used the spacecraft cross-track By component instead of NEC since the preflight calibration and original attitude solution were not sufficient to use for the geophysical data. It can be immediately seen that the presumed non-physical features between 62 and 64 geographic latitude in the original figure were removed, while features between 64 and 66 geographic latitude that correspond with the aurora visible in the superimposed image were retained. The improved attitude solution and calibration successfully mitigate non-physical magnetic variation due to platform motion while preserving legitimate changes in the in situ geophysical field. This plot combines the calibrated MGF data for the cross-track magnetic field along the path of the spacecraft from the outboard sensor (to reduce the effects of stray field from the spacecraft) with the Fast Auroral Imager (FAI). The black dot at 06:49:36 UTC represents the position of the spacecraft when the overlying auroral image was taken, and all other magnetic field readings are not associated with that image. While the purpose of this case study is to show the initial improvements made to the MGF data, it also shows one of many possible ways that scientific data from the instruments aboard Swarm-Echo can be combined to explore different events. In addition to the MGF data product, data for the FAI and other instruments are also publicly available at, last access: 16 June 2022.

8 Future Work

The presented calibration is robust and a significant improvement to the static preflight calibration used previously. However, work on improving upon the results is ongoing. The work reported in this paper only focused on using the 12 standard calibration coefficients to improve the utility of the MGF data product. The housekeeping data from the BUS telemetry files will be used to identify when the various spacecraft subsystems turn on or off in an attempt to identify them as potential noise sources. However, the current dominant noise source is the reaction wheel tone (Finley et al., 2022). Once the wheels are mitigated for data prior to the first reaction wheel failure, we expect to be able to characterize and remove the stray fields resulting from various supply currents in the spacecraft and include those results in the next data release. The final goal for the next data release will be to regularize the calibrations using a lasso regularization (Tibshirani, 1996), which will reduce the variability in the individual calibration results by penalizing outlier values based on an a priori model. Looking further ahead, Ness-style gradiometer noise removal was intended as part of the initial mission design (Wallis, 2015); however, it was found to exacerbate the already significant reaction wheel tone. Once the wheel removal algorithms are operational (Finely et al., 2022), we hope to revisit using this as a potential method of noise removal. We look forward to sharing additional improvements made to the data for the MGF instruments on Swarm-Echo.

Appendix A: Common acronyms
ADCS Attitude Determination and Control System
CASSIOPE CAScade Smallsat and Ionospheric
Polar Explorer
CDF Common data format
CRF Common reference frame
CSS Coarse sun sensor
Dst Disturbed storm time
e-POP Enhanced Polar Outflow Probe
ESA European Space Agency
FAI Fast Auroral Imager
ITRF International Terrestrial Reference Frame
Kp Planetary Index
MGF Fluxgate magnetometers
NEC North–east–center reference frame
SQUAD Spherical quadrangle interpolation
YPR Yaw–pitch–roll
µASC Micro Advanced Stellar Compass
Code and data availability

The software described in this paper can be found at (Miles et al., 2022). Daily MGF, attitude, BUS telemetry, and location files are publicly available and can be obtained at https://epop-data.phys.ucalgary (last access: 16 June 2022).

Author contributions

RMB developed the Swarm-Echo calibration process and wrote the manuscript with contributions from all authors. The work presented here was developed at the University of Iowa under a subcontract from the University of Calgary held and supervised by DMM. WH automated the improved CASSIOPE attitude solution and managed the production of Swarm-Echo data. ADH manages Swarm-Echo science operations and provided the Auroral imaging data.

Competing interests

The contact author has declared that none of the authors has any competing interests.


Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


The authors wish to thank Christian Siemes for developing the initial algorithm for the improved e-POP attitude solution, Chris Piker for automating the Swarm-Echo data product software, and Martin Rother for his analysis of the Swarm-Echo data and suggestions for improving the calibration.

Financial support

This research has been supported by the European Space Agency (Third Party Mission Programme).

Review statement

This paper was edited by Ralf Srama and reviewed by Mark Moldwin and Kenneth R. Bromund.


Finlay, C. C., Kloss, C., Olsen, N., Hammer, M. D., Tøffner-Clausen, L., Grayver, A., and Kuvshinov, A.: The CHAOS-7 geomagnetic field model and observed changes in the South Atlantic Anomaly, Earth Planet. Space, 72, 156,, 2020. 

Finley, M. G., Shekhar, S., and Miles, D. M.: Identification and Removal of Reaction Wheel Interference from In-Situ Magnetic Field Data using Multichannel Singular Spectrum Analysis, J. Earth Space Sci. Open Archive, 28,, 2022. 

Friis-Christensen, E., Lühr, H., Knudsen, D., and Haagmans, R.: Swarm – an Earth observation mission investigating geospace, Adv. Space Res., 41, 1,, 2018. 

Holland, P. W. and Welsch, R. E.: Robust regression using iteratively reweighted least-squares, Commun. Stat. A-Theor., 6, 813–827,, 1977. 

Houtzager, I.: QR/RQ/QL/LQ factorizations GitHub [code], (last access: 7 April 2021), 2022. 

Huber, P. J.: Robust Statistics, Wiley, New York,, 1981. 

Jørgensen, J. L., Denver, T., Betto, M., Jørgensen, P. S., Röser, H.-P., Sandau, R., and Valenzuela, A. (Eds.): The Micro ASC, a Miniature Star Tracker. In Small Satellites for Earth Observation, 4th International Symposium of the International Academy of Astronautics, 157–162, 2003. 

Miles, D. M., Mann, I. R., Pakhotin, I. P., Burchill, J. K., Howarth, A. D., Knudsen, D. J., Lysak, R. L., Wallis, D. D., Cogger, L. L., and Yau, A. W.: Alfvénic Dynamics and Fine Structuring of Discrete Auroral Arcs: Swarm and e-POP Observations, Geophys. Res. Lett., 45, 545–555,, 2018. 

Miles, D. M., Broadfoot, R. M., and Piker, C. W.: mgftools matlab source [code],, last access: 26 August 2022.  

Montenbruck, O., Hauschild, A., Langley, R. B., and Siemes, C.: CASSIOPE orbit and attitude determination using commercial off-the-shelf GPS receivers, GPS Solut., 23, 114,, 2019. 

Nielsen, J. B. and Tøffner-Clausen, L. T.: Swarm Level 1b Processor Algorithms, Technical Report SW-RS-DSC-SY-0002, DTU Space-Technical University of Denmark, Level 1bProcessor Algorithms, 2019. 

Olsen, N., Tøffner-Clausen, L., Sabaka, T. J., Brauer, P., Merayo, J. M. G., Jørgensen, J. L., Léger, J. M., Nielsen, O. V., Primdahl, F., and Risbo, T.: Calibration of the Ørsted vector magnetometer, Earth Planet. Space, 55, 11–18,, 2003. 

Olsen, N., Albini, G., Bouffard, J., Parrinello, T., and Tøffner-Clausen, L.: Magnetic observations from CryoSat-2: calibration and processing of satellite platform magnetometer data, Earth Planet. Space, 72, 48,, 2020. 

Parlett, B. N.: The Symmetric Eigenvalue Problem, Society for Industrial and Applied Mathematics, SIAM, 3600 Market Street, Floor 6, Philadelphia, PA 19104, 152–159,, 1998. 

Shoemake, K.: Quaternion calculus and fast animation. In ACM SIGGRAPH Course Notes 10, Computer Animation: 3-D motion specification and control, number 10, 101–121, Siggraph,, 1987. 

Tibshirani, R.: Regression Shrinkage and Selection via the Lasso, J. Roy. Stat. Soc. Ser. B, 58, 267–268, 1996. 

Wallis, D. D.: ePOP MGF Calibrations, Tech. Rep., ePOP-4406, University of Calgary, Tech. Rep., 2010. 

Wallis, D. D., Miles, D. M., Narod, B. B., Bennest, J. R., Murphy, K. R., Mann, I. R., and Yau, A. W.: The CASSIOPE/e-POP Magnetic Field Instrument (MGF), Space Sci. Rev., 189, 27–39,, 2015. 

Yau, A. W. and James, H. G.: CASSIOPE Enhanced Polar Outflow Probe (e-POP) Mission Overview, Space Sci. Rev., 189, 3–14,, 2015. 

Short summary
The Swarm-Echo Satellite carries two magnetometers that allow us to obtain two independent measurements of the changes that occur in the Earth's magnetic field during events such as aurora. Magnetometers must be independently calibrated to ensure they remain accurate. If no magnetic reference is available, a model magnetic field must be used. This paper discusses the method used to calibrate the magnetometers on Swarm-Echo and shows the improvements the calibration has made to the data product.