Updates to work with AirMonitor 0.3.11.

  • Minor updates to pass R CMD check.
  • Minor documentation improvements.
  • Removed “clockPlot” functionality.
  • Removed unused aqiStyle argument from plotting functions.
  • Change mts_monitor argument name to monitor to match the AirMonitor package.
  • Change deviceDeploymentID argument name to id to match the AirMonitor package.
  • Various cleanup.

NOTE: version 0.8 is not compatible with the PWFSLSmoke package

Version 0.8 represents a complete refactoring of the plotting code to support mts_monitor objects found in the AirMonitor package. This is part of the large shift from “v1” data archives based on a unique montorID to “v2” archives based on “known locations” and a unique deviceDeploymentID.

Refactored files:

  • brandPlot.R
  • custom_aqiAnnotation.R
  • custom_datetimeScale.R
  • custom_pm25DiurnalScales.R
  • custom_pm25TImeseriesScales.R
  • geom_PM25Points.R
  • ggplot_pm25Timeseries.R
  • monitor_ggCalendarPlot.R
  • monitor_ggClockPlot.R
  • monitor_ggDailyBarplot_archival.R
  • monitor_ggDailyBarplot.R
  • monitor_ggDailyByHour_archival.R
  • monitor_ggDailyByHour.R
  • monitor_ggDailyByHourBarplot.R
  • monitor_ggDailyTimeseries_archival.R
  • monitor_ggTimeseries.R
  • monitor_isTidy.R
  • monitor_toTidy.R
  • nowcast.R
  • stat_AQCategory.R
  • stat_meanByHour.R
  • stat_nowcast.R
  • themes.R
  • utils-pipe.R

Starting the 2021 fire season at version 0.7 with minor fixes and several new plots.

New “archival plots are designed to create fully annotated, nice looking plots for longer time periods than the default plots which are designed for the most recent 10 days:

Additional helper functions:

  • Bug fix for monitor_ggDailyByHour() so that it doesn’t ignore data from “today”.
  • Increased whitespace above titles.
  • New monitor_ggCalendar() function.
  • Updated to use MazamaCoreUtils 0.3.10.
  • Minor cleanup/refactoring.
  • Added option for SCAQMD coloring in stat_meanByHour(), accessible by calling stat_meanByHour(output = "scaqmd").
  • monitor_ggDailyByHour() now checks for available data for “yesterday” and “today” before attempting to plot those lines.

Use explicit time zones throughout package

Rename package from PWFSLSmokePlots to AirMonitorPlots.

Style refactoring and coalescing functions.

Breaking Changes

All tidy_gg* plot functions have been removed in favor of the equivalent monitor_gg* plot functions. This reflects a change in philosophy that “tidy-formatted” data should be the default assumption within the package, and with all monitor_* functions being designed to work directly with PWFSLSmoke pipelines.


Style refactoring was done to make the package more consistent with current Mazama Science coding practices.

Cleanup of refactored code before CRAN submission

  • renamed _AQILevel() functions to _AQCategory()
  • general improvements to documentation and code comments

Complete refactoring of the code to utilize low level ggplot concepts.

  • tidy_gg* and monitor_gg* functions to create out-of-the-box plots for the monitoring site
  • Modularized with custom stats and geoms and custom_ functions, making it easy to create customized plots.

Adding standard plots used in the USFS Monitoring site.

  • added dailyBarplot() and dailyBarplotBase()
  • added timeseriesPlot() and timeseriesPlotBase()
  • improvements to clockPlot() and clockPlotBase()
  • now importing gridExtra

Moving all base plot related code from PWFSLSmokePlot to PWFSLSmoke so that all functionality in the former is purely ggplot2 based.

  • removed addPolygon(), addWindBarb() and addWindBarbs()
  • removed aqiPalette()
  • removed monitor_getDailyMean()
  • updated for latest devtools package
  • added monitor_getDailyMean() function
  • added clockPlot() function
  • added clockPlotBase() function
  • added aqiPalette() function and unit test
  • added unit test for dailyHourlyBarplot()
  • deprecated createTarnayPlot() in favor of dailyHourlyBarplot()
  • removed ~Tidy() functions in favor of those in PWFSLSmoke
  • exporting “%>%” as part of the package
  • updated DESCRIPTION file
  • wind barbs grow in length between zero and 5 knots
  • added windBarbs function

This release tweaks the calculation of NowCast in the daily-hourly-barplot:

  • add the option to subset data with tlim argument (allows for proper NowCast calculation)

This release also reverses the legend scale ordering for better visual consistency

This release focuses on refining the visual aesthetics of the daily-hourly-barplot:

  • Refactored the plot theme into its own function
  • tweaked the theme style
  • made the x-axis labeling reactive to the date range of the data
  • introduced the option to include a third column in the legend (Currently contains only dummy text and off by default.)

Addresses the following issues regarding the daily-hourly-barplot:

  • Add control over hourly data calculation
  • Fix bug where daily and hourly data were misaligned
  • Make legend more verbose
  • Make plot title reactive to the data being plotted
  • Add an option to include a footnote caption linking to an AQI explainer
  • Added daily-hourly barplot(). This is a time series barplot showing PM2.5 data for the given monitors. The overall plot is faceted by monitor, and each facet has two sets of columns: one for daily levels, and one for hourly levels.
  • Added isWSMon() function to test an object for the ws_monitor class.
  • Added isTidy() function to test if an object is in tidy format.
  • Added wsMonToTidy() function to convert ws_monitor objects to a tidy format.
  • added addPolygon() function