
1.2.1. Consistency of ozone mixing ratio from limb, nadir, and in situ measurements#
Production date: 20-07-2025
Produced by: Chiara Volta (ENEA, Italy) and Sandro Calmanti (ENEA, Italy)
🌍 Use case: Support policy in detecting large ozone depletion events.#
❓ Quality assessment questions#
How well do limb and nadir satellite datasets agree with ozonesondes in monitoring stratospheric ozone mixing ratio in high-latitude regions?
Can differences between limb and nadir measurements affect the interpretation of ozone depletion events for policymaking?
Stratospheric ozone plays a vital role in protecting life on Earth from harmful solar ultraviolet radiation, and assessing its return to historical levels and its full recovery from ozone-depleting substances (ODS) is a critical objective [1]. Since the adoption of the 1987 Montreal Protocol, the international scientific community has been tasked with providing governments with regular updates on the state of the ozone layer and guidance for strengthening the Protocol’s provisions. In this context, the availability of high-quality ozone observations is essential for monitoring trends, evaluating the effectiveness of policy measures, and supporting robust scientific assessments.
The goal of the present assessment is to evaluate the consistency between ozone observations from limb- and nadir-viewing satellite sensors and in situ ozonesonde measurements of stratospheric ozone. Additionally, it aims to assess whether differences between limb and nadir data could influence the interpretation of ozone depletion events, with potential implication for the scientific advice that informs policy decisions.
A full description of ozone data from limb and nadir satellite sensors and derived datasets is provided in [2]. Ozonesonde data are freely available from the World Ozone and Ultraviolet Radiation Centre (WOUDC).
📢 Quality assessment statements#
These are the key outcomes of this assessment
Both limb- and nadir-viewing satellite datasets effectively capture the seasonal variability of stratospheric ozone mixing ratios at mid- and high-latitudes.
Satellite datasets demonstrate significantly higher agreement with ozonesondes at mid-to-high Northern latitudes than in the Antarctic region.
Despite the extended temporal coverage provided by successive satellite missions, inconsistencies between different versions of the same product and between products from similar sensor types (i.e., limb or nadir) limit their suitability for detecting long-term ozone trends in the stratospheric ozone layer.
The consistency between satellite and in situ measurements depends on both the ozone concentration in the stratosphere and latitude.
The tendency for satellites to overestimate ozone during depletion events at high Southern latitudes could lead to an underestimation of the severity of ozone depletion events.
📋 Methodology#
The analysis performed in this notebook focuses on comparing ozone mixing ratios measured by limb and nadir satellite sensors with in situ ozonesonde observations from two stations: Edmonton (EDT - Canada) and Marambio (MBI - Antarctica). These stations were selected due to the availability of long-term time series and can be considered as representative of mid- to high-latitude regions in the Northern and Southern Hemispheres, respectively. To evaluate consistency across datasets, time series from satellite and ozonesonde measurements were compared, and statistical indicators such as Root Mean Square Error (RMSE), Mean Bias Error (MBE), Mean Absolute Percentage Error (MAPE) and Standard Error (SE) were calculated.
The analysis excludes merged satellite datasets (e.g., MSR and AMZM) to avoid potential inconsistencies related to cross-sensor averaging and algorithmic harmonization.
1. Set up the code and choose the satellite data to use
Import libraries
Define data requests and other parameters
2. Satellite data caching functions and retrieval
Define required functions
Data retrieval
3. Download external ozonesonde data
Define function to extract ozonesonde data
Download ozonesonde data by station
Define statistical function
5. Display and discuss results
Display results
Discussion
📈 Analysis and results#
1. Set up the code and choose the satellite data to use#
Import libraries#
Besides the standard libraries used to manage and analyse multidimensional arrays, the C3S EQC custom function c3s_eqc_automatic_quality_control is imported to download satellite data and calculate their spatially weighted means. The requests module is imported to download ozonesonde data.
Define data requests and other parameters#
The analysis performed in this notebook focuses on ozone data from both limb and nadir satellite sensors [2]. Specifically, it uses limb and nadir data extracted over latitude bands centred on the ozonesonde station locations (see ‘Download ozonesonde data by station’ section below), at an atmospheric pressure level of 50 hPa. This pressure level, corresponding to an altitude of about 20 km, lies within the lower stratosphere and is commonly used to evaluate ozone profiles due to the high ozone concentrations typically found at this altitude [3].
2. Satellite data caching functions and retrieval#
Define required functions#
The satellite datasets require the dedicated preprocess function to properly handle their time dimension.
While the nadir datasets directly provide ozone volume mixing ratio (i.e., mole fraction in ppv), the limb datasets require it to be calculated from ozone concentration (mol m\(^{-3}\)), along with the corresponding temperature (in K) and atmospheric pressure (in hPa). In this case, an ideal gas constant (rconst) of 8.314 J mol\(^{-1}\) K\(^{-1}\) is used. Moreover, while the limb data are already provided as zonal means, the nadir data must be spatially averaged.
Appropriate unit conversions are applied to express ozone mixing ratio in parts per million by volume (ppmv).
Data retrieval#
Limb and nadir datasets are downloaded and combined into two separate datasets. Overall, 17 limb and 19 nadir datasets are downloaded. The limb dataset OMPS-v0002-usask is excluded from the analysis, as most of its files (106 out of 130) lack the required time attribute.
2025-06-26 08:35:07,870 WARNING [2025-06-23T00:00:00] Scheduled System Session affecting Service reliability - 30 June 2025. Please follow status [here](https://status.ecmwf.int/) or in our [forum](https://forum.ecmwf.int/t/scheduled-maintenance-of-the-cloud-infrastructure-on-30-june-2025/13598)
2025-06-26 08:36:06,558 WARNING [2025-06-23T00:00:00] Scheduled System Session affecting Service reliability - 30 June 2025. Please follow status [here](https://status.ecmwf.int/) or in our [forum](https://forum.ecmwf.int/t/scheduled-maintenance-of-the-cloud-infrastructure-on-30-june-2025/13598)
3. Download external ozonesonde data#
Ozonesonde data are retrieved from the World Ozone and Ultraviolet Radiation Centre (WOUDC).
Define function to extract ozonesonde data#
The get_station function is implemented to retrieve in situ ozone partial pressure (mPa) and atmospheric pressure (hPa) data from the WOUDC database. Only data at a pressure level of about 50 hPa are extracted. Ozonesonde data are combined to calculate the ozone mixing ratio (ppmv), which is then averaged monthly.
Download ozonesonde data by station#
Ozonesonde data are downloaded as single array from two stations: Edmonton (EDT) and Marambio (MBI). The EDT station is located in Canada (lat 53.55°N, lon 114.09°W) and represents mid- to subpolar latitudes in the Northern Hemisphere, while MBI station is in Antarctica (lat 64.24°S, lon 56.62°W) and represents high southern latitudes. Among the mid- and high-latitude stations in the WOUDC database, these two offer the longest time series available. More information can be found on the WOUDC website.
/data/common/miniforge3/envs/wp5/lib/python3.11/site-packages/xarray/computation/nanops.py:118: RuntimeWarning: invalid value encountered in scalar divide
data = data / (valid_count - ddof)
/data/common/miniforge3/envs/wp5/lib/python3.11/site-packages/xarray/computation/nanops.py:118: RuntimeWarning: invalid value encountered in scalar divide
data = data / (valid_count - ddof)
/data/common/miniforge3/envs/wp5/lib/python3.11/site-packages/xarray/computation/nanops.py:118: RuntimeWarning: invalid value encountered in scalar divide
data = data / (valid_count - ddof)
4. Compute statistics#
Define statistical function#
The compute_statistics function is implemented to calculate the Root Mean Square Error (RMSE), Mean Bias Error (MBE), Mean Absolute Percentage Error (MAPE) and Standard Error (SE) between ozone monthly mixing ratios from limb and nadir datasets and in situ ozonesonde observations.
5. Display and discuss results#
Display results#
Monthly time series are displayed to compare satellite-derived ozone mixing ratios against ozonesonde measurements at two representative latitudes corresponding to the EDT (55°N) and MBI (65°S) stations. The satellite datasets are grouped by geometry: limb-viewing sensors in the upper panels and nadir-viewing in the lower panels. Each colored lines represents a satellite product, while black line corresponds to ozonesonde data. For each station, a scatter plot comparing monthly limb and nadir ozone mixing ratios (in red and green, respectively) with ozonesonde data is also presented, with statistical metrics indicated in the legend. The statistical analysis is performed by excluding monthly data before year 2002 due to the high discontinuity in both satellite and ozonesonde measurements. Dashed black 1:1 line in the scatter plots indicates perfect agreement between satellite and ozonesonde ozone mixing ratios.
Discussion#
Monthly time series
Time series figures show the seasonal cycle of ozone mixing ratio at two latitudes (55°N and 65°S), approximately corresponding to the EDT and MBI ozonesonde stations, respectively. The seasonal cycle is more pronounced at 65°S, and the results demonstrate the consistency of different satellite products in capturing this variability. These figures also provide a long-term perspective by displaying overlapping datasets from multiple satellite missions, including both limb- and nadir-viewing sensors, thereby increasing confidence in trend analyses. However, some inconsistencies are evident between datasets, even when derived from sensors with the same viewing geometry. For example, notable differences are observed between the ACE and OSIRIS limb products at both stations due to different retrieval techniques, as well as temporal, spatial and spectral resolution [4]. A similar analysis reveals discrepancies between successive versions of the same product (e.g., the GOME nadir dataset), which arise from algorithm improvements and extended temporal coverage [2] [4]. These results highlight the improved performance and stability of updated dataset versions , emphasising the critical need for using the latest reprocessed records to ensure data stability for accurate long-term ozone trend assessments (see Product’s Overview [here]). Additionally, the figures indicate a clear discontinuity in both satellite and ozonesonde records before 2002 at 65°S, likely due to the limited satellite coverage and the sporadic nature of in situ campaigns during the austral winter.
Scatter plots and statistics
Although limb-viewing sensors are generally regarded as more accurate than nadir-viewing sensors for stratospheric ozone retrievals, the scatter plots and associated statistical metrics reveal only minor differences between the two observation geometries in their agreement with ozonesonde measurements at the two high-latitude stations.
However, the overall agreement is substantially poorer at the MBI station (65°S) than at the EDT station (55°N). This difference is particularly evident in the RMSE, which increases from approximately 0.34 ppmv at EDT to more than 0.52 ppmv at MBI for both sensor types. This pattern indicates that satellite products encounter greater difficulty under the extreme atmospheric conditions of the Antarctic region, likely related to the polar vortex, and strong temperature and ozone variability, than at Northern mid-to-high latitudes. Across all datasets, the mean bias error (MBE) at EDT remains relatively small, with a slight underestimation by nadir products (−0.085 ppmv). At MBI, nadir products instead show a small positive bias (0.077 ppmv). Although this value is numerically smaller than at EDT, the substantially higher RMSE and MAPE (exceeding 22%) at MBI indicate a larger overall uncertainty. In addition, limb products at MBI exhibit a considerably larger positive bias (0.283 ppmv), nearly four times higher than that of the nadir products. While this may appear counterintuitive, the smaller standard error (SE) associated with the limb products (0.012 vs 0.017 ppmv for nadir) suggests a more precise and consistent representation of the in situ observations. This likely reflects a more stable and homogeneous set of satellite–sonde matchups.
The scatter plots further show that the agreement between satellite and ozonesonde ozone mixing ratios depends on the absolute ozone concentration. At the EDT station, nadir products exhibit a relatively larger overall negative bias, yet they agree better with ozonesonde data when ozone mixing ratios are below 3.0 ppmv, whereas at higher concentrations, all satellite products tend to underestimate ozone. In contrast, at the MBI station, both limb and nadir products generally overestimate ozone mixing ratios, particularly for values below 2.5 ppmv.
These concentration-dependent biases have important implications for interpreting ozone recovery. As satellites tend to overestimate ozone during low-value events at MBI, they may underestimate the severity of Antarctic ozone depletion episodes. This could result in an overly optimistic assessment of ozone layer recovery in policy contexts. In addition, the discontinuities and version-to-version differences (e.g., GOME-v0004 vs. v0006) evident in the time series highlight the risk of attributing apparent recovery trends to physical changes when they may instead reflect algorithm updates. The consistent use of the most recent, fully reprocessed, and harmonized data records is therefore essential for robust long-term trend analyses and for supporting evidence-based decisions under the Montreal Protocol.
ℹ️ If you want to know more#
Key resources#
CDS catalogue entry used in this notebook is the Ozone monthly gridded data from 1970 to present from satellite observations
Product Documentation is available on the CDS website
Additional quality information and use cases on the satellite-derived Ozone products are available on the CDS website
Ozonesonde data are freely available from the World Ozone and Ultraviolet Radiation Centre (WOUDC) website.
Code libraries used:
C3S EQC custom functions,
c3s_eqc_automatic_quality_control, prepared by B-Open
Further readings:
References#
[1] Bernhard, G.H., et al. (2023). Stratospheric ozone, UV radiation, and climate interactions. Photochemical and Photobiological Science, 16(10), 1519-1523.
[2] Van Roozendael, M. (2024). Product User Guide and Specification (PUGS): Level 3 and Level 4 ozone columns and profiles. E.U. Copernicus Climate Change Service. Document ref. C3S2_312a_Lot2_D-WP2-FDDP-PUGS_202311_O3_v3.5.
[3] Bekki, S., & Lefevre, F. (2009). Stratospheric ozone: History and concepts and interactions with climate. European Physical Journal Conferences, 1, 113-136.
[4] Van Roozendael, M. (2024). Ozone Algorithm Theoretical Basis Document (ATBD), Version: Multiple Ozone products and related versions. E.U. Copernicus Climate Change Service. Document ref. C3S2_312a_Lot2_D-WP2-FDDP-ATBD_202311_O3_v3.6.