openair 2.6-99

openair 2.6-0

  • In aqStats use default data.thresh = 0 rather than 75% to ensure summaries are calculated
  • Fix confidence intervals in timeVariation when statistic - “median”. Revision will result in narrower range.
  • Change default in corPlot to plot lower and upper triangles; add lower as an option.
  • Update meta data for Scottish Air Quality Network (“saqn”); was badly out of date
  • fix bug in timeAverage when interval more than one time unit e.g. “10 day”

openair 2.5-0

  • add simple versions of viridis colour palettes: “viridis”, “plasma”, “magma”, “inferno” and “cividis” e.g. polarPlot(mydata, cols = "plasma")
  • allow option align to be used in aqStats to determine how rolling means are calculated. Can take the values “center” (default), “left” and “right”.
  • make sure full year present in importAURN
  • fix issue with mutiple pollutants in polarAnnulus
  • fix issues in trajectory functions due to dplyr.

openair 2.4-0

  • use lubridate in timeAverage to improve speed / simplicity
  • make sure all strip colours are white for openair objects
  • fix bug in polarPlot when statistic = "cpf" when using tibbles
  • fix bug in polarCluster with exported data (date was not correctly merged to produce single date column)
  • convert internal mydata to a ‘tibble’ for easier printing.
  • allow npoints = NA in trajPlot to suppress plotting of interval points.
  • fix bias correction bug in windRose when ws/wd have different names
  • fix bug in timeAverage for wind direction (wd) when statistic = "data.cap"
  • New built-in colour palette for the colour blind “cbPalette”. Note maximum number of colours is 8 e.g. windRose(mydata, col = "cbPalette", breaks = 6). Thanks to Jerry Martin.

openair 2.3-0

  • add option plot to TheilSen. FALSE can be useful when analysing data to extract the trend components and plot in otherways and when the TheilSen plot is not required.
  • add option silent to TheilSen to avoid printing updates to trend fitting. By default it is FALSE.
  • fix wrong ordering of names in timeVariation when more than one pollutant
  • fix date parsing issues in selectByDate.
  • fix wrong ordering in timePlot
  • allow calendarPlot to span any time period. The function can now straddle parts of two years or several years.
  • add option col.arrow to calendarPlot to control colour of the wind speed / direction annotation arrows.

openair 2.2-3 2018-02-26

Main changes

  • refine selectByDate due to changes in lubridate
  • fix issue with importSAQN when no data
  • remove site information from help of importAURN and point users to importMeta
  • fixed bug in scatterPlot when method = "level" due to NSE
  • use tidyr in place of reshape2
  • remove dependency of plyr and reshape2
  • fix bug in percentileRose for method = "cpf" with mutiple pollutants

openair 2.1-5 2017-08-31

Main changes

  • change polarCluster resolution to “normal” rather than “fine” to speed up.
  • fix regression when fitting smooth using trajLevel
  • remove all Airbase functions, will be available via new package that also incorporates newer e-reporting data
  • fix bug in timeAverage when statistic = "sum" and all data in period was missing (would return 0 rather than NA)
  • make sure that same data used in all conditionalEval plots by using data where there are no missing data for all variables used. This is more important of var.obs and var.mod are supplied and hence additional variables are considered relative to only obs and mod.
  • fix date issues in calendarPlot to do with time zones
  • remove missing data when type is a numeric value split up into quantiles
  • fix bug in windRose/pollutionRose when two conditioning variables were given (problem in bias correction)

openair 2.1-0 2017-04-12

Main changes

  • add angle option to percentileRose to allow wind direction averages for sectors >10 degrees.
  • fix bug in aqStats if only a few lines of data
  • allow statistic to equal “mean”, “median” or “frequency” in scatterPlot, when method = "level"
  • change smoothing in scatterPlot when method = "level" to use tensor interaction to allow for better smoothing when x and y are on different scales.
  • warn when >10% negative data detected in polarPlot and suggest setting force.postive = FALSE
  • make maps Suggests rather than Depends
  • refine check on whether bias correction is needed in windRose
  • still plot data when <6 points in TheilSen and when no trend information is given
  • New function binData to easily summarise mean and 95% confidence intervals for intervals of a variable
  • Export bootMeanDF, used to calculate the bootstrap uncertainty in the mean of a vector.

openair 2.0-0 2016-11-23

Main changes

  • silence download progress by default in importAURN
  • update polarPlot to work with pairwise statistics to compare two pollutants. The function can consider Pearson correlation and slopes from ordinary linear regression, robust regression (using MASS function rlm) and quantile regression (requires the quantreg package to be installed). See open access version of the paper.
  • change default polarPlot plot resolution to “fine”.
  • fix windRose problem with some data due to missings
  • move mapdata package to Suggests
  • add option to return meta data (site type, lat, lon) from importAURN and importKCL.
  • fix statistic = “weighted.mean” issue in polarPlot.
  • make sure y.relation is used when there is no grouping in timePlot. To retain the behaviour of earlier versions use relation = "free"
  • fix issue with type when used with timeProp
  • fix bias correction when not default type in windRose
  • fix pch colour bug in timePlot
  • add option alpha to polarPlot to control transparency of plotted surface. Mostly useful for overlaying polar plots on leaflet maps (see openairmaps package)
  • enhance grid.line option in windRose so that users can control grid spacing, line type and line colour

openair 1.9-9 Unreleased

Main changes

  • correct citation information
  • Now depends on R version of >= 3.2.0 so that download.file can use libcurl for access to https (used in importAURN)
  • add avg.time option to summaryPlot to control the averaging times of the time series lines and print.datacap to control whether the data capture % is shown for each interval.
  • fix bug in selectByDate where a day number would not work
  • remove arrows in windRose, polarPlot to avoid ambiguous interpretation of wind direction
  • add key.position option to timePlot to control the location of the key.
  • fix labels in timeVariation when data for some types is missing.
  • fix trendLevel issue due to dplyr
  • use lubridate package in timeAverage
  • fix bug in summaryPlot related to dplyr use (would not plot missings correctly)
  • better handling of precision in windRose mean and statistics returned in data (thanks to Dr Ulrich Quass)
  • fix bug in importKCL when incomplete time series (would drop site code and site name)
  • fix bug in pollutionRose due to issue with calms
  • fix bug in smoothTrend where model uncertainties were not returned
  • fix bug in summaryPlot where missings would not be shown correctly when date was not ordered in sequence
  • fix annotation in windRose when comparing two data sets
  • GoogleMapsPlot is deprecated and will be replaced with a better function.

openair 1.8-6 2016-06-15

  • Only plot lower triangle for corPlot
  • make sure date class is POSIXct, POSIXt in importAURN
  • fix problem in importMeta for AURN - change in database source format
  • fix pollutionRose plot warning
  • fix NMB in modStats
  • fix bug in timeAverage where estimating the time interval in input data could be unreliable due to low data availability
  • fix time expansion bug in timeAverage
  • add new type “yearseason” (or “seasonyear”). This will split data by every year / season combination, making sure the seasons are contiguous. For example, in winter in the northern hemisphere December 2010 will be considered part of winter 2011, rather than winter 2010. Thanks to Ralf Weisse for the suggestion.
  • fix download issues with importAURN and importMeta when users are within an organisational network. Problems likely due to move from http to https and SSL Certificates.
  • fix TheilSen bug when two types.

openair 1.8-2 2016-04-25

  • fixes for new version of dplyr
  • adjust legends in conditionalEval to avoid plot error.
  • fix problem on linux and simplify importAURN
  • update importAURN meta data in help function.

openair 1.8-0 2016-03-24

  • Allow scatterPlot to have control over plot symbol fill and colour (for symbols 21 to 25). Use cols and fill to control.
  • scatterPlot can now fit more than one linear equation when there is a grouping variable
  • give message when using a users’ own type such as month, year etc.
  • fix ordering of bars on timeProp, remove box.width option
  • fix bug introduced in 1.7-4 that affected windRose bias correction (thanks to Eric Christensen)
  • Add option for statistic = "r" in polarPlot for comparing polar plot correlation surfaces between two pollutants using Gaussian kernel weighting.
  • fix bug in type = "daylight" when time zone not UTC.
  • remove cutDaylight as a separate function (cutData works for everything)
  • add w.shift option to calendarPlot to control the first day of the week and subsequent order (thanks to Giovanni Bonafè)

openair 1.7.3 Unreleased

  • Fix regression in timeAverage when expanding time series
  • Remove dplyr warnings in TheilSen
  • Keep season order correct when averaging time is season and type = "season" in TheilSen and smoothTrend
  • add origin marker to trajCluster
  • better date padding when >1 type
  • fix some dplyr bugs where some functions would fail with two types
  • retrun data frame of cluster information in trajCluster

openair 1.7 2016-02-22

  • Allow linearRelation to use any arbitrary time averaging period.
  • don’t add line to monthly plot in timeVariation when group = “season”
  • fix NA factors in trajPlot
  • make border black when using maps for improved clarity
  • fix bug in trajPlot that sometimes failed to print map when grouping
  • add percentage total trajectories for trajCluster and option by.type
  • don’t touch existing date-based types in cutData
  • refine date checks
  • speed up timeAverage
  • new dependent package lubridate for easier / faster date-time manipulations
  • fix slow timeProp (lattice panel.barchart is very slow)
  • only remove missing wind speed in windRose (wd can be NA and ws zero i.e. calm)
  • correct order of labels in timeVariation when difference = TRUE for some factor levels (were in alphabetical)

openair 1.6.6 Unreleased

  • Not all labels shown if >25 in trendLevel; make sure strip is white
  • correct bug in timeVariation (vector.ws did not work)
  • fix some cases where background strip was not white

openair 1.6.5 2015-11-04

  • changes to fix examples not run during the R CMD check
  • make TaylorDiagram more flexible when using two groups and the second is date-based

openair 1.6.4 2015-10-23

  • fix bug in GoogleMapsPlot when pollutant not given
  • don’t clutter up working directory with GoogleMapsPlot; write to temporary file instead
  • fix bug when trying to access multiple sites with no data in
  • fix problem with mutiple sites in aqStats
  • TheilSen should always give trend in units/year (would use xlab if supplied)
  • fix cutData bug where quantile cuts are made
  • don’t remove missings in scatterPlot so that factors with no data still shown
  • TheilSen should always give trend in units/year (would use xlab if supplied)
  • New option slope.text in TheilSen to allow users to add their own text i.e. not the default “units/year”
  • refine check on DST
  • Always report data capture % in aqStats

openair 1.6 2015-07-23

  • Don’t force integer results for importAURN
  • fix bug with period = "months" in summaryPlot
  • allow linear fit with method = "hexbin" in scatterPlot
  • allow users to define own map limits in trajectory functions and better scaled map grids
  • fix renaming bug in airbaseStats
  • bug in windRose when all calm
  • date bug fixes in scatterPlot
  • add option windflow to scatterPlot and timePlot to allow wind flow plots
  • suppress harmless warnings in smoothTrend
  • fix bug in some functions when type more than one
  • add support in pollutionRose for option normalise to show probability by wind sector (0 to 1).
  • timeAverage now has an option type similar to other functions. A common use would be to apply timeAverage to a data frame with multiple sites where there is a column representing site name e.g. type = "site".
  • Add receptor location for trajectory plots trajLevel and trajPlot.
  • Add an option trend to TheilSen to control how the trend lines are drawn.
  • fix bug in calendarPlot when partial month available
  • fix bug in calendarPlot, don’t need to cut data first
  • add npoints option to trajPlot to control time spacing of dots shown on back trajectories
  • don’t include missings when statistic = "frequency in timeAverage
  • fix bug in timeProp due to point above
  • fix bug in timeVariation with type = "season" when space in pollutant name

openair 1.5 2015-04-14

  • Add ‘days’ as a time unit to summaryPlot - useful for shorter time series
  • Initial changes to use dplyr to speed up some of the code e.g. timeAverage
  • Automate x.inc and y.inc if not supplied by user in scatterPlot
  • Fix regression in trajLevel frequency calculation
  • Fix a few problems with trajectory plotting - some methods would fail given recent updates
  • Make trajectory gridded analysis faster
  • Fix bug in importMeta introduced since using dplyr
  • Add angle.scale to windRose to control placement of radial scale (helps to avoid clash with wind rose paddles)
  • Fix bug in timePlot when avg.time given (regression)
  • Allow TaylorDiagram to have group of length two. This will show all group combinations but will only differentiate them by colour/symbol according to the first grouping variable.
  • timeVariation can now take a ylim list to control the y-limits on each individual plot
  • For trajectory plotting allow map.res to be “state” to show the US States.
  • Fix bug in importKCL when date was not at beginning of the year

openair 1.1 Unreleased

  • Add ref.y option to timeVariation for y references line(s)
  • Fix type = “wd” labelling to corPlot
  • Refine airbaseStats to include site type and city by default
  • Make trendLevel colour scaling consistent with other functions and allow missing data to be shown in different colour
  • Allow categorical scales in trendLevel
  • Fix type = ‘season’ in trajLevel (winter period not properly calculated)
  • Allow multiple reference lines to be added to timePlot, scatterPlot, timeVariation and add to smoothTrend together with full control of their properties. Note - ref.x and ref.y must now be lists; see help file for details.
  • Don’t open graphics window in aqStats
  • Add more flexibility to timeAverage for irregular time intervals
  • Add 12-hour interval points on back trajectory lines
  • Fix bug in percentileRose with stat = “cpf” and non-default type (now uses single percentile based on all data, not each panel)
  • Check if date is in POSIXt format and throw error if TRUE
  • Improve date checks in selectByDate
  • Add dendrogram option to corPlot (thanks to James Durant for the suggestion)
  • Remove strip in corPlot when type = “default”
  • Remove statistic description in pollutionRose when annotate = FALSE.
  • Fix colour scaling bug in scatterPlot/trajPlot when user limits supplied
  • Check period = “years” or “months” in summaryPlot; some users supplied “year” resulting in incorrect statistics
  • Give mean and percent calm in pollutionRose when statistic = “prop.mean” (was erroneously percentage)
  • getMet function for downloading Hysplit met files in manual did not download as binary files; now corrected
  • Add name.pol argument to smoothTrend for more control over names used for plotting
  • Show first few dates when import fails to apply correct date format (helps to provide a clue as to actual date format)
  • Updates to trajectory plots to allow for different map projections using the mapproj package (new dependency)
  • Fix trajectory frequency calculation - underestimated frequencies.

openair 1.0-0 Unreleased

  • Pass all arguments in corPlot
  • Enhance timeVariation to consider median + quantiles through option ‘statistic’
  • Do not remove NA results from modStats
  • Better scaling in polarCluster; consitent with polarPlot
  • Fix importKCL where dates were filled if two non contiguous years were chosen
  • Refine scaling of ws in polarPlot when upper is set
  • Fix bug when type = “weekday” but not all days of the week are present
  • Add annotate option to TaylorDiagram
  • Allow modStat statistics to be chosen by user and add Index of Agreement
  • Needs to be >24 months to deseason in smoothTrend/TheilSen (was >=)
  • Refine names returned by importADMS when used with .pst file
  • Fix trajectory code in appendix D in the manual (some function arguments were not passed)
  • Better user defined limits scaling in polarPlot, scatterPlot, polarAnnulus when limits within data range
  • Clarify time zone for importing data to openair and checking (see manual for details)
  • Initial versions of functions to import EEA airbase data - see newsletter/manual for details
  • Better treatment of daylight saving time in cutData, timeVariation and polarAnnulus (allow any local time zone to be used; was just GMT/BST befote)
  • Remove existing date-based columns in cutData to ensure date is used instead
  • Allow users to shade/not shade alternate years in smoothTrend and TheilSen
  • Do not smooth percentileRose by wind direction by default.
  • Add option ‘wd’ to percentileRose
  • Fix trajPlot bug when trajectory data was not at 3-hour intervals
  • Return data and smooth fit information in smoothTrend

openair 0.9-0 2013-11-12

  • Fix bug introduced in 0.8-0 for scatterPlot surfaces
  • Add statistic and percentile option to polarAnnulus; allow Conditional Probability Functions
  • Allow percentile intervals to be considered in polarPlot when statistic = “cpf”
  • Correct calculation of AOT40 in aqStats to take account of daylight hours and growing season (Apr. to Sep.). Can use latitude/longitude, if supplied
  • Fix bug in aqStats when non predefined pollutant used
  • Allow log10 factor of 2 lines in scatterPlot when x and/or y are on a log scale
  • Allow users to supply own transform/inverse functions to hexbin
  • Don’t try and pad-out missing data in rollingMean when returning results
  • Make latticeExtra a ‘depends’
  • Don’t copy-down data by default in timeAverage when requested averaging time is < original. Better handling when ‘site’ is present
  • Update AURN help file site information; add site type
  • Show where data removed when min.bin > 1 for polarPlot
  • Add ‘trim’ value to percentiles in polarPlot to extract more source information.
  • Add ‘weights’ argument to polarPlot to down-weight bins with few data points - alternative to min.bin
  • Use more wd sectors for surface modelling when wd is not already rounded to 10 degree intervals in polarPlot
  • Fix bug in timePlot when pch supplied and group = TRUE.
  • Add Air Quality Standard for O3 in aqStats (days >120 ug/m3) not to be exceeded more than 10 days a year.
  • Add max.freq option to windRose/pollutionRose to control extent of radial limits
  • Add map.res option to trajPlot and trajLevel and make default lower resolution. Make default pollutant ‘height’ (always present)
  • Add Oslo and Rotterdam to trajectory database for 2010-2012
  • Better limits control on calendarPlot, use first year if not supplied, add option month to allow only selected month(s)
  • Fix bug when type = “wd” and some are missing (remove them)
  • Don’t open up graphic window in timeAverage
  • Fix indexing problem in polarCluster which sometimes caused the function to trip up
  • Only plot full length trajectories in trajPlot
  • Allow smoothing parameter k to be used when smooth = TRUE for more control in scatterPlot
  • Add a bias correction to windRose (thanks to Philippe Barneoud from Environment Canada for pointing out the need and solution)
  • Better treatment of pollutionRose when comparing two met datasets when ws bias is zero
  • Fix conditionalEval to use COE, not IOA and other minor changes
  • Allow method = “density” in trajLevel

openair 0.8-0 2013-02-13

  • make sure missing dates are plotted properly in scatterPlot
  • fix regression in corPlot - main did not work
  • remove time zone options in import - users must supply data in GMT (UTC). Too many problems introduced due to daylight saving time
  • Use Legates and McCabe Coefficient of Efficiency in modStats in place of the Index of Agreement - easier to interpret.
  • Allow type = “month” etc to be used in timeVariation (was variable clash). Allow more flexibility when group and type are used
  • Better handling of user-defined limits in polarPlot and scatterPlot (method = “level”)
  • Add optional mean line option to percentileRose.
  • Correct pollutionRose documentation about comparing 2 data sets (first subtracted from second)
  • Fix bug in timeVariation that showed extra NA level for certain groups/types
  • Fix scaling bug in polarCluster when there is negative data e.g. x = “temp”
  • Allow statistic = “median” in trajLevel
  • NEW FUNCTION timeProp to plot time series by category as a barchart
  • Fix windRose bug when wind direction name was not wd
  • Fix bug in importAURN when pollutant = “all” was specified
  • Allow minimum value of breaks in ws to be above minimum ws value, but warn.
  • Allow day to be numeric in selectByDate to select days of the month
  • Better base maps with trajectory plotting (filled and alpha transparency)
  • Fix windRose bug where all data are missing
  • Use higher resolution mapdata not maps package for trajectory plots
  • Allow method = “hexbin” in trajLevel for hexagonal binning of trajectory frequencies
  • Refine rollingMean to allow moving window to be aligned centre/center, left or right + better treatment of ends when data capture threshold used. Use option ‘width’ rather than ‘hours’ because non-hourly data can be considered.
  • Fix pollutionRose scaling issue, which sometimes missed the lower interval
  • Fix timeAverage data capture issue - was not always setting data to NA
  • Output clusters as C1, C2 etc. not 1, 2.
  • Use same labelling in calendarPlot as other functions (wrong month order in non-English locales)
  • Export dendogram in corPlot - see example in help file
  • Fix scaling bug in polarPlot when radial variable was negative and small
  • Update ‘mydata’ to set negative data to NA
  • Add method = CPF to percentile rose and polarPlot
  • Update trajectory analysis to allow Potential Source Contribution Function (PSCF) and Concentration Weighted Trajectory (CWT) to be considered

openair 0.7-0 2012-09-19

  • Allow more flexible layout when two or more pollutants are used with polarPlot and type is default
  • Fix colour scale problem for windRose when interval does not exist
  • Added ‘nativeRaster’ class handler for GoogleMapsPlots
  • (test) Fix for GoogleMapsPlot xlim, ylim
  • Do not remove missing data from timeVariation
  • Fix bug in FAC2 in modStats when observations = 0 (exclude from calculation because indeterminate)
  • Fix bug in windRose for empty panels and panel labelling when data missing
  • New option start.day in cutData that affects most plots; allows users to set start day when type = “weekday”
  • Allow categorical scales in calendarPlot
  • Allow two met data sets to be compared in pollutionRose
  • Allow statistic = “percentile” to be used with polarPlot
  • Allow ‘method’ to be passed to cor in corPlot
  • Added more back trajectory locations.
  • Try harder to plot polarPlots when there is insufficent data to calculate a smooth surface.
  • Rename some variables in timeAverage to avoid variable clash.
  • Add gridded frequency capability to trajLevel
  • Fix bug in colour scaling in polarFreq when statistic = “stdev” (0 would not be plotted)
  • Fix bug in summaryPlot: type = “density” broken in recent versions

openair 0.6-0 2012-05-11

  • Add y.relation option to timePlot
  • Fix interpolation bug in calcFno2 and names in documentation.
  • Refine conditionalQuantile scales
  • Provide volatile and non-volatile components for FDMS PM10 and PM2.5 in importKCL - now consistent with importAURN
  • NEW FUNCTION conditionalEval for model evaluation - allows other variable performance to be assessed.
  • Make lattice strips white by default for cleaner look on complicated plots
  • Complete re-write of import to simplify - changes are NOT backward compatible but will allow more developments
  • Allow line breaks in titles using \n to work woth quickText
    • thanks to Karl
  • Allow better annotation of calendarPlot - highlight values above/below a certain threshold.

openair 0.5-25 2012-03-19

  • Fix bug when type = “wd” - would add missing data to north sector
  • Add observed histogram to conditionalQuantile
  • Fix bug in timeAverage when ws was not available but wd was
  • Temporaryfix to GoogleMapsPlot documentation due to new package version

openair 0.5-23 2012-03-05

  • Fix bug in windRose when paddle = FALSE

openair 0.5-22 Unreleased

  • Fix scaling bug that could sometime affect polarPlot grid lines
  • Fix regression in importKCL that was intruduced in 0.5-21
  • Make sure wd data are rounded to 10 degrees in polarFreq
  • Fix date padding issue in smoothTrend when type = “site”
  • windRose now gives mean ws in each panel rather than count
  • add otion date.format to timePlot for more control over date format on axis

openair 0.5-21 2012-02-22

  • Use C++ code for rolling mean calcs. Much faster, more to follow
  • NEW function trajCluster to carry out cluster analysis on back trajectories
  • Simple model ranking available in modStats

    Changes in openair 0.5-18 [2012-01-16] 2012-02-22

  • Update trajectory files to 2011 and add Berlin, Paris
  • Add option seg to pollutionRose to control the width of the segments
  • Add option start.day to timeVariation to control the order of weekdays.
  • Fixed bug in polarAnnulus where 360 degree winds were absent.
  • Remove dependency on zoo and proto.
  • Allow importAURN to import new ws/wd from pre-calculated WRF data at AURN sites

openair 0.5-17 Unreleased

  • Update to [IN DEVELOPMENT] GoogleMapsPlot. (1 lat,lon default handling)

openair 0.5-15 Unreleased

  • Update imports etc.

openair 0.5-15 Unreleased

  • Update to [IN DEVELOPMENT] GoogleMapsPlot.
  • Tidy up calcFno2 plotting.
  • Improve speed of timeAverage by removing date.pad.
  • Add vector averaging option to timeAverage for wind speed.

openair 0.5-14 Unreleased

  • NEW FUNCTION polarCluster for undertaking k-means clustering of bivariate polar plots

  • Remove any considerations of time zones in selectByDate. If start and end are supplied, whole days based on Date format are used to select. Now accepts start/end in the form “YYYY-mm-dd” as well as UK format e.g. dd/mm/YYYY.

openair 0.5-13 Unreleased

  • Major update to polarPlot allowing variables other than “ws” to be plotted with wind direction.
  • Improve documentation for polarPlot/TaylorDiagram
  • Update openair citation information to Journal article

openair 0.5-12 Unreleased

  • do not clip polarPlot concentrations unless upper is supplied
  • new option ‘intervals’ for percentileRose
  • add min.bin option to polarAnnulus
  • add Index of Agreement to modStats
  • new averaging time “season” for timeAverage
  • better treatment of avg.time = “season” and type = “season” in TheilSen and smoothTrend
  • use bootstrap methods to calculate 95% confidence intervals in the mean for timeVariation
  • New option ‘difference’ in timeVariation to show difference between two variables with bootstrap 95% CI in the mean
  • Byte-compile package
  • Place key on right be default in scatterPlot to avoid clash with x or y axis labels.
  • Include all colour schemes defined in the RColorBrewer package

openair 0.5-11 2011-10-05

  • update to corPlot, scatterPlot, smoothTrend, linearRelation, percentileRose, trajPlot, trajLevel, timeVariation, TaylorDiagram, timePlot, summaryPlot improved … handling
  • remove warnings when importing air pollution data
  • additional update to corPlot added pollutant option, and openair class output
  • tweak scaling on percentileRose deal with negative data
  • change MannKendall to use TheilSen for all estimates for consistency. May slightly affect some p estimates.

openair 0.5-10 Unreleased

openair 0.5-9 Unreleased

  • allow model performance change to be considered in TaylorDiagram
  • update to windRose and pollutionRose stat related annotation
  • update to polarPlot, ploarFreq and polarAnnulus improved … handling

openair 0.5-8 Unreleased

  • NEW FUNCTION importMeta to import site meta data from air pollution networks

openair 0.5-7 Unreleased

  • update to trendLevel: improved … handling
  • update to windRose/pollutionRose: added statistic option “abs.count”; improved scaling of segment widths; improved … handling

openair 0.5-6 Unreleased

  • NEW FUNCTIONS importTraj, trajPlot, trajLevel for importing and plotting pre-defined HYSPLIT back trajectories. These functions are under active development and are for testing purposes only!
  • Fix error in % upper/lower uncertainty intervals for MannKendall
  • More control over trend information placement for MannKendall
    • arguments text.col, lab.frac (for vertical position) and lab.cex (for font size)

openair 0.5-4 Unreleased

  • Use roxygen2 for package documentation and future maintainability
  • Allow splitByDate to handle mutiple sites and output a new column controlled by argument ‘name’
  • More options for MannKendall: control of colour and variable x-axis scales

openair 0.5-0 Unreleased

  • NEW FUNCTION corPlot for correlation matrices
  • add sep argument to import

openair 0.4-23 2011-07-26

  • enhance ‘normalise’ option in timePlot
  • add annotate option to windRose/pollutionRose
  • NEW FUNCTION TaylorDiagram for model evaluation.

openair 0.4-22 Unreleased

  • NOTE - use reshape2 in place of reshape for speed and reliability
  • allow more than one pollutant with percentileRose
  • fixed title bug with scatterPlot - not shown for some methods
  • modifed key handling on plots using drawOpenKey, so key = NULL or FALSE now removes colour key.
  • added method = “level” to scatterPlot for binning data with optional smoothing, plus other code clean-ups
  • fix bug in conditionalQuantile that labelled plots wrongly when site(s) has missing data
  • added ref.x and ref.y to timePlot to allow refernce lines to be added
  • do not remove calm wind speed conditions in any functions where this is unecessary

openair 0.4-21 Unreleased

  • fixed bug in polarAnnulus that resulsted in a failure to annotate the plot properly with period = “trend” and less than 1 year of data; improved smoothing default options used
  • new ‘statistic’ option to pollutionRose to show contribution to counts and contribution to the mean. The latter is useful for displaying those wind directions that make most contribution to teh overall mean. Panel mean is also now shown.
  • small change to final example of re-shaping data in importKCL
  • timeAverage can now expand data to shorter time periods e.g. hourly to 15-minute. This makes it more flexible to combine data sets with differeing averging times. For example, daily mean particle data can be expanded to 1-hour means and combined with an hourly meteorological data set.
  • Fix treatment of calms in checkPrep, which affected cases with zero wind speeds in timeAverage
  • Fix to vector averaging in timeAverage (did not include wind speed in calculations). For most data this will make very little difference, but will be more important for low wind speeds and/or variable wind directions.
  • allow type = ‘variable’ in smoothTrend
  • Add avg.time to smoothTrend for “month” or “year” averages

openair 0.4-20 Unreleased

  • Do not remove calms in timeAverage
  • NEW FUNCTION importSAQN to import data from the Scottish Air Quality Network

openair 0.4-19 Unreleased

  • improved import date.name/time.name handling of spaces
  • Improved scaling for polarFreq
  • scatterPlot type = “wd” labels aligned
  • Added option “statistic” to polarPlot, which can now consider “mean”, “median”, “max” (maximum), “frequency”. “stdev” (standard deviation) or “weighted.mean” in a similar way to polarFreq
  • Fixed bad.24 and international tz bugs in import
  • updated import/import.2

openair 0.4-18 Unreleased

  • Better handling of missing data in smoothTrend/MannKendall; particularly when there are mutiple sites
  • Do not run checkPreo on selectByDate because it removes calms
  • Fixed scaling bug in polarFreq when ws.int != 1
  • use avg.time in calcPercentile instead of ‘period’ to ensure consistency with other functions (timePlot would fail with percentiles)
  • return NA in aqStats when no data present; previously it tried to calculate quanities, returning -Inf etc

openair 0.4-17 2011-04-24

  • use readRDS and not .readRDS (caused failure on R Dev)
  • openair now depends on >=R2.13.0
  • NEW FUNCTION sqStats to calculate common and pollutant-specfic air quality statsitics by year and site.
  • Changed option data.capture in rollingMean to data.thresh to be consistent with other functions.

openair 0.4-16 Unreleased

  • Fixed bugs in cutData when a partial year was used with type = “month”. Also affected type = “season” and “weekday”. The plots were labelled in the wrong order.
  • Ensure that missing wind sectors are skipped in type = “wd” for smoothTrend, MannKendall, timePlot and scatterPlot

openair 0.4-15 2011-04-12

  • Preparation for CRAN release
  • removed some restrictions on type/period combinations in polarAnnulus

openair 0.4-14 Unreleased

  • Added preliminary greyscale method to openColours and linked in strip background and other text and line colour control for standard openair plots.

openair 0.4-13 Unreleased

  • Removed ad-hoc sites from importKCL, added site classification to the help file and ensured GMT is exported.

openair 0.4-12 Unreleased

  • Added y.relation option to smoothTrend and MannKendall to allow flexible y-scales.
  • NEW FUNCTION ‘percentileRose’ for flexible plotting of percentiles by wind direction
  • NEW FUNCTION selectRunning for selecting run lengths of a numeric variable above a certain threshold.
  • Modified plot layout in polarPlot to maximise plotting area
  • Initial fixes to functions affected by time zone settings
  • polarFreq now has consistent annotation cf. windRose and percentileRose; new option grid.line to control radial axes.
  • Fixed couple of minor auto.text bugs in summaryPlot and timePlot
  • Removed dependency of date for polar functions where time-based types are not required.

openair 0.4-11 Unreleased

  • More consistent use of strips in default plot (remove them)
  • Add percentage units to windRose and pollutionRose on radial scale

openair 0.4-10 2011-03-08

  • Fixed calendarPlot main/quickText handling.
  • Fixed calendarPlot first day of month error.
  • Fixed summaryPlot site ordering when more than one site.

openair 0.4-9 Unreleased

  • Added new options to scatterPlot (plot.type, lwd, and lty) making it possible to add points and/or lines

openair 0.4-8 Unreleased

  • Added new cutData type option ‘daylight’, enabled using new function cutDaylight.