Main

There are billions of smartphones worldwide, each equipped with a powerful processor and a wide array of sensors. Although these sensors are generally of lower quality than those in conventional scientific instruments, the number and ubiquity of smartphones offer advantages over existing infrastructure in coverage and resolution. In this paper, we produce maps of the ionospheric total electron content (TEC) using satellite navigation signals from millions of smartphones equipped with dual-frequency Global Navigation Satellite System (GNSS) receivers.

The conditions in the ionosphere are dynamic: the electron density varies depending on the location, time, and solar and geomagnetic activities. Steep spatial gradients in ionospheric TEC often cause plasma density structures that disturb trans-ionospheric radio signals4. The ionospheric TEC refers to the number of free electrons contained in a column of unit cross-sectional area measured in TEC units (1 TECU = 1016 electrons per square metre). TEC is an important indicator of the state of the ionosphere and space weather. Global real-time ionospheric TEC maps are needed to produce space-weather operational products to serve a broad spectrum of civilian and security activities, including electric power distribution, aviation, satellite operations, navigation, precision agriculture and communications5. Current operational ionospheric and space-weather products provide limited coverage, spatial resolution and refresh rates, especially real-time products6.

Global Positioning System (GPS) and other GNSS receivers estimate distances to satellites by measuring the time for a radio signal to travel from a satellite to a receiver. Ionospheric TEC affects the propagation speed of radio waves, introducing significant errors in receivers’ calculations of the distance to satellites. This is one of the largest sources of geolocation error, and many GNSS receivers use a coarse spatiotemporal model of the ionospheric TEC to compensate for it. Most phones use an 8-parameter model, mitigating about 50% of the ionospheric error7. This simple model was developed in the early days of GPS and was optimized for the limited computation and bandwidth available at the time.

Although ionospheric error presents a challenge for navigation, this same effect allows us to use a GNSS receiver to measure ionospheric TEC. The ionosphere causes a smaller delay on signals with a higher frequency. By measuring the discrepancy in travel time between signals of different frequencies, we can estimate the TEC along a line of sight between a dual-frequency GNSS receiver and a satellite. This approach has long been used with high-quality ground-based GNSS stations8, but these stations are expensive to install and maintain. Some regions are sparsely covered, leaving gaps in the picture of the ionosphere (Fig. 1, orange dots).

Fig. 1: Geographical coverage of phones and monitoring stations.
figure 1

ac, The 9,036 monitoring stations (orange dots) contribute to the Madrigal database, which consolidates dozens of global and regional station networks. The blue dots show approximately 100,000 locations where phone measurements are available. A location within a big city may have thousands of phones. The global map (a) shows that some parts of the world (such as the USA and Europe) are densely covered by monitoring stations. Zooming-in on Europe (b) shows that phones have even denser coverage. In India (c), the relative coverage of phones is greater still. Station locations were taken from the Madrigal database23. Locations with phones are from the present study.

Source Data

Using a distributed sensor network consisting of millions of mobile phones, we are able to resolve ionospheric phenomena with effectively double the measurement coverage. Although using low-cost receivers to improve the spatiotemporal resolution of TEC maps has been proposed before9,10,11,12,13,14,15, these efforts have not progressed past ideation, encountering significant organizational and technical challenges for ionosphere monitoring16. We show that a sufficient number of mobile phones offers a valuable resource for TEC mapping. Figure 1 contrasts the global distribution of monitoring stations with locations where Android phones generate dual-frequency GNSS measurements. Although both phones and monitoring stations have dense coverage in many regions, mobile phones provide unmatched coverage in Eastern Europe, India, South Asia, much of South America and parts of Africa.

We map the ionosphere using measurements from a population of Android devices that have location and relevant settings enabled and are using satellite signals to determine location. Android users can allow sensor data collection for improving location accuracy. Previous improvements have used measurements from users’ phones to enable indoor localization when satellite-based positioning is unavailable. Mapping the ionosphere with satellite measurements from phones will improve outdoor location accuracy by mitigating errors caused by inaccurate knowledge of the ionosphere. See Methods for more information on data collection.

Android’s GNSS application programming interface17 provides similar data to GNSS monitoring stations, including the satellite identifier, carrier frequency, and times of signal transmission and reception. However, mobile phones present a number of challenges. Antennas are much smaller, and GNSS hardware is less sophisticated than dedicated monitoring stations, leading to noisier measurements. Monitoring stations are stationary with a clear view of the sky, whereas mobile phones are often in users’ pockets or in urban canyons. Moreover, each individual phone has its own unique bias, determined by its hardware and various environmental factors. To achieve accurate results, we must mitigate the bias of each phone individually.

A GNSS receiver measures the ionosphere TEC along a line of sight from a satellite using the difference in measured travel times18, t1 and t2, for the satellite signal on two different frequencies, f1 and f2, respectively. The TEC along the path is approximated to first order in the frequencies by:

$${\rm{TEC}}=\frac{c({t}_{2}-{t}_{1})}{\kappa }\frac{{f}_{1}^{2}{f}_{2}^{2}}{{f}_{2}^{2}-{f}_{1}^{2}}$$

with the proportionality constant κ given by

$$\kappa =\frac{{c}^{2}{r}_{{\rm{e}}}}{2{\rm{\pi }}}\times {10}^{16}\approx 40.3\times {10}^{16}\,{{\rm{m}}}^{3}\,{{\rm{s}}}^{-2}$$

where c is the speed of light and re is the classical electron radius. Typical TEC values can be up to 200 TECU. Our analysis shows that the noise in the raw phone measurements has a standard deviation of around 70 TECU, more than 30 times larger than the measurement noise for traditional monitoring stations. Carrier-phase smoothing19 would ordinarily reduce the noise further (to 0.2 TECU (ref. 20)) but carrier-phase measurements are often unreliable on phones. Figure 2 compares the TEC measured by a particular monitoring station with the measurements from 1,011 nearby phones. Despite the far larger noise in individual phone measurements, when averaged they agree with the station measurements.

Fig. 2: Comparison of phone and station measurements.
figure 2

Ionospheric TEC measurements along the path from a satellite to the ground by 1,011 phones and by a GNSS monitoring station (TLSE00FRA) in Toulouse, France (UTC + 1) on 5 November 2023. a, Comparison of measurements from a GNSS monitoring station with nearby phones over the same time period. Each blue point is a single TEC measurement to this satellite from a phone within 10 km of the monitoring station. Measurements from a single phone are shown in green to show the level of noise. The solid blue line shows the median of measurements from all phones in the area using a 10-minute sliding window. (The median is robust to infrequent outlier measurements beyond the axis limits.) The orange line shows the ionospheric TEC measured by monitoring station TLSE00FRA. b, Elevation angle to the satellite as it rises, passes the receiver antenna overhead and then sets. c, Map of the receiver location (Toulouse, France), the ground track of the satellite (GPS PRN 30 in purple) and the ionospheric piercing-point track of the GPS signal (red). The station measurements in a and the station location and satellite track in b and c are from International GNSS Service35 and were obtained via NASA Crustal Dynamics Data Information System36. All phone data are from the present study.

Source Data

TEC measures the integral of the electron density along the straight-line path between a satellite and a phone. We adopt a standard thin-shell model of the ionosphere at a height of 350 km. The cosine of the angle between the line of sight and the shell normal converts between slant TEC (STEC) and vertical TEC (VTEC), the TEC for a path straight upwards. We partition the surface of the ionosphere into approximately 98,000 cells of roughly equal area (about 75 km edge length) using the S2 geometry library21 and assume that the VTEC is constant within each cell.

The hardware in satellites and mobile phones introduces different latencies when processing signals of different frequencies, leading to the so-called differential code bias (DCB). The biases shift the measured STEC from its true value as follows:

$${{\rm{STEC}}}_{{\rm{measured}}}={{\rm{STEC}}}_{{\rm{true}}}+{{\rm{DCB}}}_{{\rm{satellite}}}+{{\rm{DCB}}}_{{\rm{phone}}}$$

Although DCB values for satellites are published22, we must calculate the DCB for each individual phone. Substituting STEC = VTEC/cos(θ), where θ is the angle of incidence at the ionosphere piercing point, and rearranging, we obtain a linear equation for each line-of-sight measurement:

$$\frac{1}{\cos (\theta )}{{\rm{VTEC}}}_{{\rm{true}}}+{{\rm{DCB}}}_{{\rm{phone}}}={{\rm{STEC}}}_{{\rm{measured}}}-{{\rm{DCB}}}_{{\rm{satellite}}}$$

Over 10-minute time windows, we solve for the unknown VTECtrue and DCBphone using weighted least squares. In a typical time window, there are approximately 15,000–30,000 S2 cells with valid measurements and 100,000–500,000 phones. To make this tractable, we exploit the sparsity and block structure of the system (Methods). Our solutions show that DCBphone clusters by phone model (Extended Data Fig. 1).

We evaluate our phone-based VTEC maps by comparing with the Madrigal database23,24. This database combines line-of-sight STEC measurements from over 9,000 monitoring stations for the US GPS and Russian GLONASS constellations at 30-second intervals, with carrier-phase smoothing to reduce noise. Our VTEC maps are spatially discretized into approximately 98,000 cells and temporally discretized into 1-minute windows. We compare our VTEC estimates in each cell-minute with measurements from the Madrigal database over the period of 10 September to 6 November 2023 to assess the accuracy and coverage of our measurements.

When a part of the ionosphere is simultaneously measured by both stations and phones, we can compare the STEC implied by phone measurements with the STEC measured by the monitoring stations (Fig. 3; details in Methods). The phone-based TEC agrees well with the station measurements (Pearson correlation of 0.94), with the average phone-based TEC slightly lower than the Madrigal station measurements (mean offset of −3.4 TECU). Small offsets of this magnitude are typically found between published ionosphere models25,26 (see discussion in Methods).

Fig. 3: Quantitative comparison of monitoring station measurements with the ionospheric TEC derived from phone measurements.
figure 3

We validated against STEC measurements from monitoring stations in the Madrigal dataset from 10 September to 6 November 2023. For each measurement of the STEC along the path between a station and the satellite, we calculated the corresponding STEC from the phone-based VTEC map (see Methods for details). a, The differences between each station measurement and the phone-derived STEC. b, Comparison of Madrigal’s reported STEC with the STEC predicted by phone-based maps, revealing a Pearson correlation of 0.94. Owing to the large number of data points (7 billion STEC measurements), STEC values are discretized to the nearest TECU and plotted as a density. The axis ranges are limited to drop outliers while keeping 99% of the data points. The complete dataset is available in the Source Data. Station data in both plots were taken from the Madrigal database23. Phone data in both cases are from the present study.

Source Data

To compare the ionosphere measurement coverage between stations and phones, we compute the proportion of cell-minutes containing a value for the Madrigal database and for phone-based TEC maps. Over large portions of the globe (particularly Asia, Africa, Eastern Europe and South America), phones provide measurements of the ionospheric TEC at times and places missed by monitoring stations (Extended Data Fig. 2). Over the entire time period, 14% of the ionosphere was measured by stations alone, while 21% was measured by phones alone. Including phones with monitoring stations leads to measurements of 28% of the ionosphere, doubling the coverage of the ionosphere from monitoring stations alone.

The TEC maps from phone measurements capture the day–night cycle, with the peak in ionization in the early afternoon, and also show the Ionosphere Equatorial Anomaly, a crest of ionization north and south of the geomagnetic equator with a characteristic dip southwards over South America (Supplementary Videos 1 and 3).

Solar storms affect the ionosphere, and we see signatures of such storms in our measurements. On 10–11 May 2024, an extreme G5 geomagnetic storm hit Earth causing visible auroras at lower latitudes. This storm, the biggest in more than 20 years, caused a strong disturbance in Earth’s magnetic field, with a Kp (planetary Kennziffer) index exceeding 9 reported by the National Oceanic and Atmospheric Administration’s Space Weather Prediction Center. Figure 4a shows the ionosphere measured by phones during this storm, revealing a cluster of TEC enhancement over the Caribbean and an intense, narrow plume of ionization often referred to as storm-enhanced density27,28 over North America. Supplementary Video 4 shows the intense TEC enhancement during the storm and the depletion afterwards.

Fig. 4: Ionospheric TEC features seen by phones and comparisons with other instruments.
figure 4

a, Ionospheric VTEC from phones during a geomagnetic storm (Kp index reaching 9) at 23:30 on 10 May 2024 showing the storm-enhanced density over North America. b,c, Plasma bubbles in the equatorial anomaly over South America at 00:20 on 13 October 2023 in ionospheric VTEC from phones (b) and in a far-ultraviolet image (c) of O i emission at 135.6 nm from the ionosphere F region captured by a geostationary satellite at 0.04-nm bandwidth (data from NASA/GOLD37). dj Plasma bubbles over South Asia on 14 October 2023. Longitudinal features are visible in the equatorial anomaly in the ionospheric VTEC from phones at 14:39 (e) but were absent earlier at 12:57 (d). The dotted lines show the trajectory of a COSMIC-2 satellite measuring the local ion density at 520 km altitude (data from the University Corporation for Atmospheric Research (UCAR) COSMIC Program29). The ion density varies smoothly in h before the plasma bubbles have formed but shows a depletion in i as it passes through one of the bubbles. South Asia has few publicly available ionospheric monitoring stations so the VTEC measurements from the 18 monitoring stations (data from Madrigal23) shown in f fail to capture the detail seen by around 32,000 phones in e over the same time window. To visualize the time evolution of the longitudinal features, a slice of cells was chosen (g) and the VTEC measured by phones for the slice over time is shown in j. As the Sun rises, the ionization increases and the northern equatorial anomaly appears over this region. Near sunset, a series of longitudinal features appear in the equatorial anomaly moving eastwards at about 100 m s−1. Their motion can be seen as stripes from 14:00 onwards. All times are in UTC.

Source Data

Storm-enhanced density over North America was also seen in another geomagnetic storm on 5 November 2023. This time, phone measurements also reveal a depletion in ionization over Europe, a so-called mid-latitude ionospheric trough. Extended Data Fig. 3 compares maps from 180,000 phones and 4,097 monitoring stations. There is a striking contrast between phone measurements during the storm and the previous day’s measurements (Extended Data Fig. 4).

The phone measurements significantly extend the coverage of high-resolution TEC maps, making it possible to see interesting phenomena in parts of the world with few monitoring stations. Figure 4d–j shows longitudinal structures within the equatorial anomaly near sunset over South Asia that are not captured by the few monitoring stations available in that area. These structures lasted several hours and moved eastwards at around 100 m s−1 (Supplementary Video 2). We validate the observations using a COSMIC-2 (Constellation Observing System for Meteorology, Ionosphere, and Climate-2) satellite29 that passed through this structure at the same time, confirming a dip in ion density. The phone observations also match the characteristics (speed, tilt, width and spacing) of plasma bubbles observed over India using a nighttime all-sky imager during a campaign30 in 2008.

We also observed these longitudinal structures in the equatorial anomaly over South America. These phenomena have been recently observed in nighttime extreme-ultraviolet images from the geostationary GOLD (Global-scale Observations of the Limb and Disk) satellite31. The ionospheric VTEC measured by phones (Fig. 4b) agrees with the observations made by GOLD (Fig. 4c). The plasma bubble structures are telltale signs of plasma instability, which can result in scintillation of GNSS signals4,32 and disrupted radio navigation and communication systems2. Extended Data Fig. 5 shows that a GNSS monitoring station near São Paulo, Brazil, experienced strong scintillation during this time.

Mitigating ionospheric error in satellite-based positioning for Android users is the primary aim of this work. The increased detail and coverage of phone-based TEC maps leads to improved location accuracy, particularly in parts of the world with few monitoring stations (Extended Data Figs. 6 and 7 and Methods). Efforts are underway to deliver the location-accuracy improvements enabled by this research to Android users.

Although measurements from individual mobile phones are noisier than those from conventional monitoring stations, we have shown that millions of phones in concert yield valuable measurements of ionospheric TEC. Other recent work has shown that phone accelerometers can detect earthquakes to provide early warning33 and that phone barometers can improve weather forecasting34. Building on these examples, our work continues to illuminate the potential for mobile phone sensors as a powerful tool to improve the scientific understanding of our planet.

Methods

Data collection and outlier rejection

The phone measurements used in this work are from a population of Android devices that have location and relevant settings enabled and are using satellite signals to determine location. Android periodically collects sensor measurement data from this population of Android devices to provide and improve location-based services. This collection is limited to conserve battery, memory and network use. More information about Android’s collection and use of location data is available at https://policies.google.com/technologies/location-data.

Our research used the collected measurements to make ionospheric TEC maps that can improve location accuracy. For this feasibility study, we used a subset of the collection with daytime satellite measurements (05:00–22:00 local time) and latency up to several days. For simplicity, we limited our analysis to measurements of US GPS and European Galileo constellations at frequencies of 1,575 MHz and 1,176 MHz (known as L1 and L5), accounting for 70% of dual-frequency phone measurements. With these restrictions, we used measurements from between 200,000 and 2 million unique phones per hour, significantly larger than the approximately 9,000 monitoring stations available in the Madrigal database. Our dataset included measurements from about 40 million dual-frequency phones each day.

TEC is a measure of the integral of free-electron density along the straight-line path between a satellite and a phone. We adopted a standard thin-shell model of the ionosphere at a height of 350 km above Earth, allowing us to combine measurements along different paths based on where they intersect the shell, the so-called ionosphere piercing point.

Determining the path taken by the radio signal through the ionosphere requires positions of both the satellite and the phone. Whereas accurate satellite positions are available from published orbit parameters, phone position is calculated by the GNSS receiver in the phone. To maintain user privacy, we used only the location of each phone coarsened to an approximately 10-km grid, and we removed isolated phones with locations far from populated areas. Although this limits the resolution of features in our calculated TEC map, we see that this is still sufficient for resolving the small-scale ionospheric features necessary for location-accuracy improvement and for observations of scientific phenomena.

Although dedicated GNSS receivers reduce the noise in the calculated TEC using an additional measurement of the carrier phase19, this carrier phase is often unavailable or too noisy in phone receivers. Instead, measurements were collected with a frequency of up to 1 Hz and were aggregated using an uncertainty weighted average over a 1-minute window. Time windows with fewer than ten measurements were dropped.

When solving the linear system to yield the ionospheric VTEC in each cell and the DCB of each phone, some receivers or ionosphere cells are poorly constrained. These phones and cells were removed so that the calculation could proceed without regularization. The calculation is also sensitive to outlier measurements so we filtered these in advance by removing measurements more than 300 TECU from the median for that phone and constellation (about 0.4% of the phone measurements).

Exploiting blockwise structure

Estimating VTEC requires solving a system of linear equations of the form

$$\frac{1}{\cos (\theta )}{{\rm{VTEC}}}_{{\rm{true}}}+{{\rm{DCB}}}_{{\rm{phone}}}={{\rm{STEC}}}_{{\rm{measured}}}-{{\rm{DCB}}}_{{\rm{satellite}}}$$

where VTECtrue and DCBphone are unknown. As each phone has a unique bias for each satellite constellation, we must jointly fit thousands of ionospheric parameters and millions of bias terms. We do this by minimizing the squared error:

$${x}^{\ast }=\mathop{{\rm{a}}{\rm{r}}{\rm{g}}{\rm{m}}{\rm{i}}{\rm{n}}}\limits_{x}{\Vert Mx-y\Vert }_{2}^{2}$$

where y= STECmeasured − DCBsatellite, x is a vector containing both ionospheric parameters and phone bias values, and M encodes the linear relationship between these quantities. In this case, M is a sparse matrix and takes the form

$$M=\,\left[\begin{array}{cc}R & S\end{array}\right]$$

The matrix R has shape n × r, where n is the number of measurements and r is the number of ionospheric parameters—in this case, corresponding to tens of thousands of S2 cells. The matrix S has shape n × s, where s is equal to the number of (phone, constellation) pairs in the dataset, as each phone has a unique bias for each constellation.

Solving the least-squares problem amounts to exactly solving the linear system

$${M}^{T}{Mx}={M}^{T}y$$

where T indicates matrix transpose. Using the structure described above, we have

$${M}^{T}M=\left[\begin{array}{cc}A & B\\ {B}^{T} & D\end{array}\right]=\left[\begin{array}{cc}{R}^{T}R & {R}^{T}S\\ {S}^{T}R & {S}^{T}S\end{array}\right]$$

A has the shape r × r, where r is on the order of tens of thousands. It is sparse, having non-zero entry in position ij only when there is a receiver that sees both S2 cells i and j. In this sense, it is a kind of incidence matrix between S2 cells. In particular, A is tractable to invert and apply.

The matrix B is a weighted incidence matrix between S2 cells and receivers with shape r × s, and is short and wide.

D has shape s × s, where s is potentially in the millions. However, S has only one non-zero entry per line, corresponding to the bias of the (receiver, constellation) pair for the particular measurement. As a result, D is diagonal and can be inverted and applied trivially.

We can now apply the blockwise matrix inversion identity

$${({M}^{T}M)}^{-1}=\left[\begin{array}{cc}{(A-B{D}^{-1}{B}^{T})}^{-1} & -{(A-B{D}^{-1}{B}^{T})}^{-1}B{D}^{-1}\\ -{D}^{-1}{B}^{T}{(A-B{D}^{-1}{B}^{T})}^{-1} & {D}^{-1}+{D}^{-1}{B}^{T}{(A-B{D}^{-1}{B}^{T})}^{-1}B{D}^{-1}\end{array}\right]$$

If we are interested only in extracting ionospheric parameters and not the biases for each individual receiver, then we need only consider the terms from the first row of this equation and we get

$${x}_{\text{VTEC}}={(A-B{D}^{-1}{B}^{T})}^{-1}[\begin{array}{c}I-B{D}^{-1}\end{array}]{M}^{T}y$$

P = A − BD−1BT is known as the Schur complement of D. It has size r × r and is tractable to invert, whereas D is diagonal and is trivial to invert.

In addition to solving for the maximum likelihood value for each coefficient, we would also like to estimate the variance associated with each coefficient. The variance of the solution x is given by

$$\mathrm{cov}(x)={({M}^{T}M)}^{-1}$$

As we are only interested in the covariance of the ionosphere coefficients, we can take the upper left portion of this covariance matrix:

$$\mathrm{cov}({x}_{\text{VTEC}})={P}^{-1}={(A-B{D}^{-1}{B}^{T})}^{-1}$$

In particular, we are interested in the diagonal elements, as these are the variances of the individual coefficients. However, this is still a large sparse matrix and we would like to avoid materializing it and inverting it directly just to obtain the diagonal. Instead, we use an unbiased estimator for the diagonal of a matrix:

$$d=v\,\ast \,{P}^{-1}v$$

where v is a vector-valued random variable whose entries are drawn uniformly from {+1, −1}, and the asterisk denotes entry-wise multiplication. This approximation generalizes the well-known Hutchinson trace estimator38. To see that this is an unbiased estimator, we first note that

$${\mathbb{E}}({v}_{j}{v}_{k})=\{\begin{array}{cc}1 & {\rm{if}}\,j=k\\ 0 & {\rm{if}}\,j\ne k\end{array}$$

We can now compute the expectation of the jth element of the estimator:

$$\begin{array}{l}{\mathbb{E}}({d}_{j})\,=\,{\mathbb{E}}(\sum _{k}{P}_{jk}^{-1}{v}_{j}{v}_{k})\\ \,\,=\,\sum _{k}{P}_{jk}^{-1}{\mathbb{E}}({v}_{j}{v}_{k})\\ \,\,=\,{P}_{jj}^{-1}\end{array}$$

as required. To reduce the variance of this estimate, we apply the procedure to a large number of randomly sampled vectors v and take the average. This allows the ionospheric VTEC and the uncertainty to be estimated from a large number of phone measurements efficiently.

Comparison with monitoring station measurements

Phone measurements and monitoring stations generally agree, but disagreements also exist and are discussed in this section. We compared with monitoring station line-of-sight STEC measurements from the Madrigal database23. We computed the phone-based STEC estimate for each line of sight from the map using the VTEC at the piercing point and the slant angle to convert to STEC.

One possible source of disagreements is the conversion of the phone-generated VTEC to STEC. This conversion process assumes that the ionosphere is a two-dimensional thin shell at 350 km altitude. This modelling assumption allows the STEC to be computed for some lines of sight not measured by phones if the VTEC at the piercing point has been measured along a different line of sight. The Madrigal dataset also applies a thin-shell assumption (for bias calibration), but there may be small differences in how Earth’s curvature and electron-density profiles are accounted for when applying the zenith-angle correction to convert STEC to VTEC.

In some places and times, the phone-based VTEC estimate is particularly uncertain. Phone measurements are noisy, so a large number must be averaged to get a reliable estimate. In some cases, averaging a few noisy measurements results in a negative (non-physical) VTEC estimate. In addition, the linear system for VTEC and receiver DCBs is poorly constrained when the baselines separating receivers on the ground are short, leading to piercing points being measured at a narrow range of slant angles. Maps can also be poorly constrained when few receivers are making measurements to few satellites. These poorly constrained regions shift over time as the geometry of satellites and receivers changes. Fortunately, our method also provides an uncertainty for each VTEC estimate, and these situations can be distinguished by their large uncertainty. VTEC estimates with standard deviation larger than √50 TECU are excluded from the maps. Extended Data Fig. 3 shows an example of a disagreement between phone-based maps and station measurements with high uncertainty in the phone-based map, indicating that the phone-based map is unreliable in this region.

GNSS measurements are sometimes biased by an effect known as multipath19. This occurs when the radio signal reaches the receiver by two or more paths and is commonly caused by reflections from the ground or buildings. Phones are more susceptible to this than monitoring stations owing to their complex operating environments. We tried removing multipath measurements but found that the detection methods were unreliable.

Any of these issues could explain the bias shown in Fig. 3 for the quantitative comparison of monitoring station measurements with the ionosphere TEC derived from phone measurements. Similar magnitudes of TEC bias have also been observed in other measurement methods, such as lightning and satellite altimetry, and among the various global ionosphere models25,26.

Location-accuracy improvement

The primary aim of this work was to improve the location accuracy for Android users by providing more accurate corrections for ionospheric effects. We evaluated the difference in the horizontal location accuracy when different ionospheric models are used by applying the dilution of precision technique39 on a held-out set of phones. To form a baseline for comparison, we also evaluated two published TEC models: a global ionospheric TEC model from the NASA Jet Propulsion Laboratory (JPL)3 and the Klobuchar model7.

The Klobuchar model was developed in the early days of GPS and was optimized for the limited computation and bandwidth available at the time. It uses only eight parameters that are broadcast by the satellite and updated daily. The Klobuchar model is still used in the majority of mobile phones, because it is free, reliably available in real time and easy to use. It is sometimes tightly integrated into GNSS hardware in phones.

The JPL Final model has a latency of approximately 3 days, incorporating measurements from 200 monitoring stations to produce a global map of VTEC for every 2 hours on a grid of 2.5° latitude by 5° longitude using a Kalman filter. This model demonstrates the performance when monitoring station measurements are carefully applied.

Extended Data Fig. 6 shows that when evaluated globally, the TEC model fit on phone measurements provides a similar performance to the JPL model and improved performance compared with the Klobuchar model. When limited to India, where there are far more phone measurements available than monitoring stations, the phone-based model outperforms both the Klobuchar model and the JPL model. Extended Data Fig. 7 shows the spatial distribution of location error, confirming this finding in regions of the world with sparse networks of monitoring stations.

Instruments for ionosphere observation

GNSS receivers on the ground are not the only way to observe the ionosphere. Orbiting satellites also use GNSS receivers to track their position, and the same technique can be used to measure the TEC between low-Earth-orbit (LEO) satellites and navigation satellites. Orbit determination receivers map the TEC above LEO satellite orbits40. Radio occultation measures the TEC at opportune moments when radio signal paths pass through the limb of the atmosphere and enter side-looking antennas onboard LEO satellites41. These LEO satellites may also capture GNSS signals reflected off calm waters or ice on Earth’s surface through GNSS reflectometry techniques to measure the TEC along the reflection signal path42. All-sky imagers map the emission of ions and neutral particles in the ionosphere at night and reveal structures in the varying plasma density, both from the ground43,44 and in space45,46,47. Incoherent scatter radars48, coherent radars49 and ionosondes50 transmit radio waves and record the incoherent backscatters and coherent reflections from layers in the ionosphere to profile the ionospheric electron-density distributions in the radar field of view. In situ measurements can also be performed by LEO satellites such as COSMIC-2 and Swarm, which measure the plasma density along a trajectory inside the ionosphere51,52.