Learn R Programming

openair

open source tools for air quality data analysis

openair is an R package developed for the purpose of analysing air quality data — or more generally atmospheric composition data. The package is extensively used in academia, the public and private sectors. The project was initially funded by the UK Natural Environment Research Council (NERC), with additional funds from the UK Department for Environment Food & Rural Affairs (Defra).

Part of the openair toolkit

| | |

Copy Link

Version

Install

install.packages('openair')

Monthly Downloads

5,273

Version

3.0.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

David Carslaw

Last Published

April 2nd, 2026

Functions in openair (3.0.0)

calc_sqtba_cpp

C++ kernel for SQTBA computation
binData

Bin data, calculate mean and bootstrap confidence interval in the mean
TaylorDiagram

Taylor Diagram for model evaluation with conditioning
TheilSen

Tests for trends using Theil-Sen estimates
importADMS

CERC Atmospheric Dispersion Modelling System (ADMS) data import function(s) for openair
importImperial

Import data from Imperial College London networks
cutData

Function to split data in different ways for conditioning
distAngle

Optimized Distance matrix based on similarity of trajectory angles
datePad

Pad a time-series dataframe and optionally fill values by block
corPlot

Correlation matrices with conditioning
importMeta

Import monitoring site meta data for UK and European networks
importEurope

Import air quality data from European database until February 2024
conditionalQuantile

Conditional quantile estimates for model evaluation
distEuclid

Optimized Euclidean distance for trajectories
openColours

Pre-defined openair colours and definition of user-defined colours
importUKAQ

Import data from the UK Air Pollution Networks
polarAnnulus

Bivariate polarAnnulus plot
polarCluster

K-means clustering of bivariate polar plots
importAURN

Import data from individual UK Air Pollution Networks
modStats

Calculate common model evaluation statistics
openair-package

openair: Tools for the Analysis of Air Pollution Data
percentileRose

Function to plot percentiles by wind direction
importTraj

Import pre-calculated HYSPLIT 96-hour back trajectories
mydata

Example air quality monitoring data for openair
rollingMean

Calculate rolling mean pollutant values
runRegression

Rolling regression for pollutant source characterisation.
rolling_gaussian_cpp

Fast Rolling Gaussian Smoother
polarFreq

Function to plot wind speed/direction frequencies and other statistics
pollutionRose

Pollution rose variation of the traditional wind rose plot
polarPlot

Function for plotting bivariate polar plots with smoothing.
quickText

Automatic text formatting for openair
rollingQuantile

Calculate rolling quantile pollutant values
polarDiff

Polar plots considering changes in concentrations between two time periods
scatterPlot

Flexible scatter plots
splitByDate

Divide up a data frame by time
timeAverage

Function to calculate time averages for data frames
shared_openair_params

Shared openair parameters
selectRunning

Function to extract run lengths greater than a threshold
timePlot

Plot time series, perhaps for multiple pollutants, grouped or in separate panels.
smoothTrend

Calculate nonparametric smooth trends
timeProp

Time series plot with categories shown as a stacked bar chart
selectByDate

Subset a data frame based on date
trajCluster

Calculate clusters for back trajectories
timeVariation

Temporal variation plots with flexible panel control
windflowOpts

Define windflow options for openair plots
trajLevel

Trajectory level plots with conditioning
trajPlot

Trajectory line plots with conditioning
trendLevel

Plot heat maps of atmospheric composition data
variationPlot

Variation Plot
windRose

Traditional wind rose plot