openair-package: openair: Tools for the Analysis of Air Pollution Data

openair-packageR Documentation

openair: Tools for the Analysis of Air Pollution Data

Description

logo

Tools to analyse, interpret and understand air pollution data. Data are typically regular time series and air quality measurement, meteorological data and dispersion model output can be analysed. The package is described in Carslaw and Ropkins (2012, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.envsoft.2011.09.008")}) and subsequent papers.

Details

This is a UK Natural Environment Research Council (NERC) funded knowledge exchange project that aims to make available innovative analysis tools for air pollution data; with additional support from Defra. The tools have generally been developed to analyse data of hourly resolution (or at least a regular time series) both for air pollution monitoring and dispersion modelling. The availability of meteorological data at the same time resolution greatly enhances the capabilities of these tools.

openair contains collection of functions to analyse air pollution data. Typically it is expected that data are hourly means, although most functions consider other time periods. The principal aim to make available analysis techniques that most users of air quality data and model output would not normally have access to. The functions consist of those developed by the authors and a growing number from other researchers.

The package also provides access to a wide range of data sources including the UK Automatic Urban and Rural Network (AURN), networks run by King's College London (e.g. the LAQN) and the Scottish Air Quality Network (SAQN).

The package has a number of requirements for input data and these are discussed in the manual (available on the openair website at https://davidcarslaw.github.io/openair/). The key requirements are that a date or date-time field must have the name ⁠date' (and can be \code{Date} or \code{POSIXct} format), that wind speed is represented as ⁠ws' and that wind direction is ‘wd’.

Most functions work in a very straightforward way, but offer many options for finer control and perhaps more in-depth analysis.

The openair package depends on several other packages written by other people to function properly.

To ensure that these other packages are available, they need to be installed, and this requires a connection to the internet. Other packages required come with the R base system. If there are problems with the automatic download of these packages, see https://davidcarslaw.github.io/openair/ for more details.

NOTE: openair assumes that data are not expressed in local time where 'Daylight Saving Time' is used. All functions check that this is the case and issue a warning if TRUE. It is recommended that data are expressed in UTC/GMT (or a fixed offset from) to avoid potential problems with R and openair functions. The openair manual provides advice on these issues (available on the website).

To check to see if openair has been correctly installed, try some of the examples below.

The openair class

As well as generating the plots themselves, openair plotting functions also return an object of class “openair”. The object includes three main components:

  • call, the command used to generate the plot.

  • data, the data frame of summarised information used to make the plot.

  • plot, the plot itself.

If retained, e.g., using output <- polarPlot(mydata, "nox"), this output can be used to recover the data, reproduce or rework the original plot or undertake further analysis.

An openair output can be manipulated using a number of generic operations, including print, plot and summary. The examples below show some examples of using an openair object.

Author(s)

Maintainer: David Carslaw david.carslaw@york.ac.uk

Authors:

References

Most reference details are given under the specific functions. The principal reference is below but users may also wish to cite the manual (details for doing this are contained in the manual itself).

Carslaw, D.C. and K. Ropkins, (2012) openair — an R package for air quality data analysis. Environmental Modelling & Software. Volume 27-28, 52-61.

See Also

See https://davidcarslaw.github.io/openair/ for up to date information on the project, and the openair book (https://bookdown.org/david_carslaw/openair/) for thorough documentation and examples.

Examples

## Not run: 
# load package
library(openair)

# summarise data in a compact way
summaryPlot(mydata)

# traditional wind rose
windRose(mydata)

# polar plot
polar_nox <- polarPlot(mydata, pollutant = "nox")

# see call
polar_nox$call

# get data
polar_nox$data

# could, e.g., re-plot in {ggplot2}
library(ggplot2)
ggplot(polar_nox$data, aes(u, v, fill = z)) + geom_tile() + coord_equal() +
scale_fill_gradientn(colours = openair::openColours(), na.value = NA)

## End(Not run)


openair documentation built on Oct. 9, 2023, 5:10 p.m.