skip to the main content area of this page

The openair project » Examples of usage » Wind and pollution roses

Open Air Plume Wind roses and pollution roses are the 'bread and butter' of air pollution analysis, but it is surprisingly difficult to find software to produce these plots properly. openair comes with a dataset 'mydata', which provides several years of air pollution data from a site in London.

The 'mydata' dataset is useful for seeing how the functions work and all openair examples use it.

Given a data set with wind speed (ws) and wind direction (wd) data it is easy to produce a basic plot:

windRose(mydata)

Wind Rose

Wind Rose screenshot

Often, however, it is very useful to plot wind roses or pollution roses split by the levels of another variable. For example, concentrations of ozone by season:

pollutionRose(mydata, pollutant = 'o3', type = 'season')

In this example ozone concentrations are plotted for each season, shown by the four panels below. Now it is possible to see that the highest ozone concentrations occur during springtime at this site and when the wind is from the north.

The option 'type' in openair offers tremendous flexibility in data analysis. It offers a way to 'split' or 'condition' an analysis by different variables. In the pollutionRose analysis the inbuilt option 'season' was chosen – but there are many others e.g. 'hour', 'weekday', 'month', 'daylight' (to analyse data by daytime/nighttime).

In addition it is possible to use other variables. For example, if a column 'nox' was available, setting type = 'nox' would show a plot split by four different levels (quantiles) of NOX concentration.

The ability to quickly carry out quite sophisticated analyses quickly allows a different approach to data analysis. Rather than producing a single plot or analysis e.g. in Excel, openair encourages more of an exploratory approach: the ability to ask lots of questions and answer them quickly and easily.

Pollution Rose

Pollution Rose screenshot