We used 28 months (November 26, 2013–March 30, 2016) of magnetic data from the three *Swarm* satellites. Data were selected using the same criteria as for the SIFM model (Olsen et al. 2015): In particular, we select data (vector and scalar) from dark regions only (sun at least \(10^\circ \) below the horizon) for which the strength of the magnetospheric ring current, as measured by the RC index (Olsen et al. 2014), varied by at most 2 nT/h. At quasi-dipole (QD) latitudes (Richmond 1995) equatorward of \(\pm 55^\circ \) we require that the geomagnetic activity index \(Kp\le 2^0\), while for regions poleward of \(\pm 55^\circ \) QD latitude the weighted average over the preceding 1 h of the merging electric field at the magnetopause (e.g., Kan and Lee 1979) has to be below 0.8 mV/m. The vector components of the magnetic field were taken for non-polar latitudes (equatorward of \(\pm 55^\circ \) QD latitude), while only scalar data were used for higher latitudes.

In contrast to the selection of magnetic vector and scalar field data (\(Kp \le 2^0, |\hbox {d}{\text {RC}}/\hbox {d}t| < 2\) nT/h, a condition that in 2014–2015 was fulfilled for 39 % of the time) we allow for higher geomagnetic activity when selecting gradient data (\(Kp \le 3^0, |\hbox {d}{\text {RC}}/\hbox {d}t| < 3\) nT/h, which is fulfilled for 60 % of the time). We also use scalar and vector gradient data from the dayside but excluded low-latitude (QD latitudes \(<\pm 10^\circ \)) dayside data to avoid contamination by the *Equatorial Electrojet*.

The East–West gradient is approximated by the difference \(\delta B_{\text {EW}} = \pm [B_A(t_1, r_1, \theta _1, \phi _1) - B_C(t_2, r_2, \theta _2, \phi _2)]\) of the magnetic observations measured by *Swarm Alpha* (also referred to here as SW-A) and *Charlie* (SW-C), where *B* may be either the scalar intensity *F* or one of the three magnetic vector components. Here \(t_i, r_i, \theta _i, \phi _i,\)
*i* = 1–2 are time, radius, geographic co-latitude and longitude of the two observations. The sign of the difference was chosen such that \(\delta \phi = \phi _1 - \phi _2 > 0\). For each observation \(B_A\) (from SW-A) fulfilling the above selection criteria we selected the corresponding value \(B_C\) (from SW-C) that was closest in co-latitude \(\theta \), with the additional requirement that the time difference \(|\delta t| = |t_1 - t_2|\) between the two measurements should not exceed 50 s.

The North–South gradient is approximated by the difference \(\delta B_{\text {NS}} = \pm [B_k(t_k, r_k, \theta _k, \phi _k) - B_k(t_k+15{\text {\,s}}, r_k+\delta r, \theta _k + \delta \theta , \phi _k + \delta \phi )]\) of subsequent data measured by the same satellite (\(k=A, B\) or *C*) 15 s later, corresponding to an along-track distance of \({\approx } 115\) km (\({\approx } 1^\circ \) in latitude). The sign of the difference was chosen positive if \(\delta \theta >0\), otherwise negative.

Not only the data selection but also the basic model parameterization follows closely that of SIFM. The model parameters consist of spherical harmonic expansion coefficients for the magnetic scalar potential *V* and sets of Euler angles describing the rotation of the satellite vector measurements from the magnetometer frame to the star tracker frame.

The magnetic field vector \(\mathbf{B}=-\nabla V\) is derived from the magnetic scalar potential \(V=V^{\text {int}}+V^{\text {ext}}\) consisting of a part, \(V^{\text {int}}\), describing internal (core and lithospheric) sources, and a part, \(V^{\text {ext}}\), describing external (mainly magnetospheric) sources and their Earth-induced counterparts. Both parts are expanded in terms of spherical harmonics.

For the internal part this yields

$$\begin{aligned} V^{\text {int}} =a \sum _{n=1}^{N_{\text {int}}}\sum _{m=0}^{n}\left( g_{n}^{m}\cos m\phi +h_{n}^{m}\sin m\phi \right) \left( \frac{a}{r}\right) ^{n+1}P_{n}^{m}\left( \cos \theta \right) \end{aligned}$$

(1)

where \(\left( r,\theta ,\phi \right) \) are geographic coordinates, \(P_{n}^{m}\) are the associated Schmidt semi-normalized Legendre functions, \(\left\{ g_{n}^{m},h_{n}^{m}\right\} \) are the Gauss coefficients describing internal sources, and \(N_{\text {int}}=80\) is the maximum degree and order of the internal expansion (for SIFM \(N_{\text {int}}=70\) was chosen). Coefficients up to degree \(n=6\) include a quadratic dependence on time (i.e., a secular acceleration), while coefficients of degree *n* = 7–15 vary linearly in time (linear secular variation). This yields \(80\times 82 + 15 \times 17 + 6 \times 8 = 6863\) coefficients describing the internal part of Earth’s magnetic field.

The parameterization of external magnetic field contributions is also similar to that of our previous models, with an expansion of near magnetospheric sources in the Solar Magnetic (SM) coordinate system (up to \(n=2\), with special treatment of the \(n=1\) terms) and of remote magnetospheric sources in Geocentric Solar Magnetospheric (GSM) coordinates (also up to \(n=2\), but restricted to order \(m=0\)). We solve for an RC-baseline correction (described by SM dipole coefficients that explicitly vary in time) in bins of 5 days (for \(m=0\)), resp. 30 days (for \(m=1\)), which in total results in 238 parameters describing the external field part of the model. See Sect. 3 of Olsen et al. (2014) for details on this parameterization of magnetospheric field contributions.

Experience with previous modeling efforts, like SIFM, reveals that model residuals \((\delta F = F_{\mathrm{obs}} - F_{\mathrm{mod}})\) are typically considerably larger in the polar regions compared to non-polar latitudes. This is likely due to ionospheric cross-cap currents and associated auroral electrojets, below the satellite altitude. In an attempt to describe the magnetic signatures of these currents we co-estimate a spherical harmonic expansion of an additional potential part that depends on QD latitude \(\theta _\mathrm{QD}\) and magnetic local time \(\tau \):

$$\begin{aligned} V^{\text {MLT}} = a \sum _{n=1}^{20} \sum _{m=1}^n \left( g_n^{m, {\text {MLT}}} \cos m \tau + h_n^{m, {\text {MLT}}} \sin m \tau \right) \left( \frac{a}{r} \right) ^{n+1} P_n^m(\cos \theta _\mathrm{QD}) \end{aligned}$$

(2)

Note that there are no \(m=0\) (i.e., zonal) terms, which means no variation independent of MLT, since that part is handled by the SH expansion of the core and crustal field, cf. Eq. (1). This results in 420 additional coefficients \(g_n^{m, {\text {MLT}}}, h_n^{m, {\text {MLT}}}\), which are determined by scalar field and scalar gradient data at all latitudes, and by vector field data at non-polar latitudes. To stabilize the solution at non-polar latitudes we add 10,000 synthetic zero-value data points randomly distributed in MLT and non-polar \((\pm 55^\circ )\) QD latitudes. Adding the 420 coefficients of Eq. 2 to the 238 magnetospheric terms results in 658 parameters describing external field contributions.

Finally, we co-estimate the Euler angles describing the rotation between the vector magnetometer frame and the star tracker frame in bins of 10 days (i.e., \(3 \times 85\) sets of angles for each of the three satellites *Alpha*, *Bravo* and *Charlie*) which results in an additional 765 model parameters.

The 8286 model parameters are estimated from almost \(15 \times 10^6\) observations (373,985 scalar data, \(3 \times 1{,}272{,}456 = 3{,}817{,}368\) vector data, 4,360,011 estimates of scalar gradients and \(3 \times 2{,}048{,}239 = 6{,}144{,}717\) estimates of vector gradients) by means of an *Iteratively Reweighted Least-Squares* approach using Huber weights, using SIFM as starting model. The gradient data were handled by taking the difference of the design matrices corresponding to the two positions \(t_i, r_i, \theta _i, \phi _i, i=1-2\). Gradient dayside data do not contribute to the core field part of the model (i.e., internal Gauss coefficients up to \(n=15\)), whereas the remaining parts of the model are constrained by all data. No model regularization has been applied.