Skip to content

Open-Earth-Monitor/UseCase_AIRCON

Repository files navigation

OEMC Use Case 23: Air Quality Monitoring at Continental Scale

The goal is to create annual, monthly, daily, and potentially hourly maps of four key air quality indicators (NO2, O3, SO2, PM10, PM2.5). Hourly data from about 7,000 EEA measurement stations throughout the EU serves as basis for interpolation. Supplementary variables such as population density, land cover, climatology are further inputs to a universal Kriging method.

ToDo

Preprocess AQ

  • write download functions
  • write function to filter by quality flags
  • write function to filter for rural/urban/suburban & background/traffic
  • write function to join pollutant tables by country
  • download station data for all countries (2015-2023)
  • preprocess all station data
  • gapfill all PM2.5 with predictors according to EEA

Temporal aggregates (annual, monthly, daily)

  • NO2 mean
  • SO2 mean
  • PM2.5 mean
  • PM10
    • mean
    • 90.4 percentile of daily mean
  • O3
    • mean
    • 93.2 percentile of max. daily 8h rolling mean

Supplementary data

Station-level (static)

  • Elevation: COP-DEM
  • Corine Land Cover
    • reclassify to 8 classes (Horalek 2019, section 3.4)
    • aggregate to single-class 1 km fractional cover
    • aggregate to single-class 10 km fractional cover
    • aggregate to single-class 1 km fractional cover within 5 km radius
  • Population Density

Measurement-level (hourly)

  • CAMS data (atmospheric transport model outputs for each pollutant, hourly)
    • reanalysis for 2015-2022
      • validated reanalysis: 2015-2020
      • interim reanalysis: 2021-2022
    • forecasts for 2023 (3-year rolling archive)
    • download
      • 2015-2022
      • 2023
  • ECWMF ERA5 Land data (hourly):
    • wind speed (from u and v)
    • surface net solar radiation
    • temperature
    • relative humidity (from temp. and dew point temp.)
    • download
    • calculate wind speed/direction & humidity
    • temporal aggregates (daily, monthly, annual)
      • mean
      • percentiles
  • Sentinel-5P TROPOMI (daily)
    • annual
    • monthly
    • daily

Interpolation

  • function to read aq data
  • function to read and warp required covariates to a common grid
  • function wrapping lm
  • function for residual kriging in parallel
  • functions for (LOO-) cross-validation
  • function to combine lm and kriging prediction
  • functions for plotting prediction and standard error

Map merging

  • Weights: Traffic Exposure
    • buffer and rasterize GRIP vector data for road classes 1-3
    • distance to nearest road (by type)
  • Weights: Urban Character
    • scale and reclassify population density grid
  • function to weight and merge map layers in parallel
    • RB: rural background stations
    • UB: urban/suburban background stations
    • JB: joint rural/urbal background stations
    • UT: urban/suburban traffic station (not for O3)
    • adjust RB and UB where necessary using JB
    • adjust UT where necessary using UB (not O3)
  • write final maps (prediction and se) to COG
    • gdal_translate in out -of "COG" -co "COMPRESS=DEFLATE" -co "PREDICTOR=3" -co "BIGTIFF=YES"

Potential improvements to the current method

  • interpolation using
    • standard Random Forest
    • Random Forest with awareness for spatial correlation (RF-GLS)

Codeflow

Step File Description
1 ACS_CAMS_access.R CCS_ERA5_access.R download_nc_job.R rename_nc.R Request hourly ERA5 weather and CAMS pollution data. Copy to URLs from the web interface and store in .txt file to iterate over for downloading. Rename files according to metadata.
2 EEA_stations.qmd Create a spatial dataset with all AQ stations and supplement them with static covariates (elevation, population, land cover).
3 EEA_AQ_data_access.qmd EEA_AQ_data_access_all_countries.R Download & pre-process hourly AQ measurements. This includes reading, filtering, and joining up to 4 pollutant time series per station for 2015-2023.
4 xarray_extract_station_SSR.ipynb EEA_PM25_gapfilling_all_countries.qmd Extract hourly Surface Solar Radiation before gapfilling PM2.5 (only where PM10 is measured) using linear regression.
5 xarray_dask_rel_humidity.ipynb xarray_dask_ws_wd.ipynb Process ERA5 wind vectors and temperature data to wind speed & direction and relative humidity.
6 EEA_AQ_data_temporal_aggregation.qmd xarray_temp_aggregate.ipynb xarray_temp_aggregate_rolling.ipynb Aggregate AQ measurements and CAMS/ERA5 hourly data to annual, monthly, daily means/quantiles.
7 AQ_interpolation_demo.qmd Interpolate AQ data using environmental and socio-economic covariates.

About

Use Case 23: Air Quality at Continental Scale

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published