Fusing Sentinel-5P Satellite Observations with Ground Sensors to Map and Forecast Trace Gases over Large Regions

(Please note this project is only for MSc in Statistics and Sustainability dissertations)

Project background and requirement: Trace gases such as nitrogen dioxide, sulphur dioxide, carbon monoxide and ozone are regulated because of their effect on respiratory and cardiovascular health. They are measured very accurately by ground reference stations, but those stations are sparse and clustered in cities, so most of a country has no measurement at all. A regional map built by interpolating between stations is therefore little more than a guess in the places that matter most.

The Sentinel-5P satellite, carrying the TROPOMI instrument, fills part of this gap. It provides daily, near global coverage of column densities for these gases at a spatial resolution of a few kilometres, and the data are free and openly licensed. The difficulty is that a satellite measures the total amount of gas in a vertical column of atmosphere, whereas health regulation concerns the concentration in the air at the surface. The two quantities are related, but the relationship depends on meteorology, on the height of the boundary layer, on the season, and on the land cover beneath. It is also unreliable under cloud.

Learning that relationship is a well posed machine learning problem, and it is the core of this project. The requirement is a model that takes a Sentinel-5P column observation together with meteorological and geographic context, and estimates the ground level concentration at that location, so that a map can be produced for the whole region rather than only where sensors happen to exist. A second stage then asks whether the same fused inputs can predict the concentration one or two days ahead.

The aim of this project is to fuse Sentinel-5P trace gas columns with ground station measurements and meteorological data, in order to estimate and short term forecast surface level trace gas concentrations across a large geographic region, including at locations with no ground sensor. The primary question to explore: how accurately can surface level trace gas concentrations be estimated at an unmonitored location from satellite column data and meteorology, and how much does adding satellite data improve on a ground station only model?

This project is in collaboration with Prasanjit Dey, Chalmers University of Technology.

Required outcomes:

  1. A pipeline that downloads, filters and aligns Sentinel-5P products with ground station and weather data on a common spatial and temporal grid.
  2. A trained fusion model, validated by holding out entire ground stations, so that performance is measured at genuinely unseen locations rather than unseen dates.
  3. Regional concentration maps produced from the model, with an honest treatment of where the estimate is weak, in particular under cloud cover and at night.
  4. A short term forecasting extension estimating concentrations one to two days ahead.

What is involved for the students: The student will work through the following stages:

  1. Review the literature on satellite based air quality estimation, on the relationship between column and surface concentrations, and on data fusion methods.
  2. Select a study region and a target gas. Nitrogen dioxide over Sweden or Ireland is the suggested starting point, since the satellite signal is strong and ground stations are available.
  3. Acquire the data. Sentinel-5P Level 2 products from the Copernicus Data Space, ground reference measurements from the national environment agency or the European Environment Agency, and hourly weather from an open API.
  4. Build the alignment pipeline. Each ground station observation is matched to the satellite pixel that contains it, at the satellite overpass time, with quality flags applied to discard cloud affected and low quality retrievals. This step is the real substance of the project and should be given proper time.
  5. Engineer the context features: wind speed and direction, temperature, humidity, boundary layer height, solar angle, day of year, elevation, land cover class and population density.
  6. Train and compare models. A linear regression and a gradient boosted tree provide the baselines, and a neural network, either a multilayer perceptron on the feature vector or a small convolutional network on a patch of surrounding satellite pixels, provides the main model.
  7. Validate by spatial holdout. Entire stations are withheld from training and used for testing, which is the only honest way to measure how the model behaves where no sensor exists. Compare against a ground station only interpolation baseline to isolate the value added by the satellite.
  8. Produce the regional maps, extend the model to one and two day ahead forecasting, and write up the dissertation.

Skills required:

  • Working knowledge of Python, including pandas and scikit-learn. All development is in Python, with Git for version control.
  • An introductory machine learning or data analytics module. Deep learning experience with PyTorch is helpful but not assumed, and the first weeks allow time to ramp up.
  • Willingness to work with geospatial raster data. Familiarity with xarray, rasterio or geopandas is an advantage, though these can be learned during the project.
  • Patience with data cleaning. A realistic share of the effort goes into matching satellite pixels to stations and handling missing and cloud flagged observations.