Git Product home page Git Product logo

usecase_aircon's Introduction

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 hourly PM2.5

  • 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)

  • gather station data
  • add elevation
  • add CLC
    • reclassify to 8 classes (Horalek 2019, section 3.4)
  • add 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 covariates to a common grid
  • function wrapping lm
  • function for residual kriging in parallel

create 3 separate map layers based on…

  • rural background stations

  • urban/suburban background stations

  • urban/suburban traffic station

  • run interpolation test for one annual datasets (2015-2023)

Map merging

  • rasterize GRIP road data (area impacted by traffic)
    • buffer and rasterize GRIP vector data for road classes 1-3
    • distance to nearest road (by type)
  • function to merge the 3 map layers

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.

usecase_aircon's People

Contributors

joheisig avatar

Watchers

Tomislav Hengl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.