- Notifications
You must be signed in to change notification settings - Fork1
Utilities for working with air quality monitoring data
License
MazamaScience/AirMonitor
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A dedicated Slack channel has been created for announcements, support and to help build a community of practice around this open source package. You may request an invitation to join fromjonathan.callahan@dri.com.
Utilities for working with hourly air quality monitoring datawith a focus on small particulates (PM2.5). A compact data model is structured as a list with two dataframes. A 'meta' dataframe contains spatial and measuring device metadata associated with deployments at known locations. A 'data' dataframe contains a 'datetime' column followed by columns of measurements associated with each "device-deployment".The USFS AirFire group works with air quality measurements associated withwildfire smoke and maintains both historical and real-time databases of PM2.5monitoring data obtained from stationary monitors. This data is used inoperational displays and for retrospective analysis. Data ingest and managementof air quality “stationary time series” are important ongoing activities.
TheAirMonitor package contains data access functions to easily downloadharmonized data files as well as data manipulation functions thatmake it easy to create "recipe style" analysis pipelines. This combination allowsanalysts to work efficiently with short, readable R scripts. Interactive andbase R plotting functions allow for visual review of the data.
TheAirMonitorPlotspackage containsggplot2 based plotting functions for advanced plots.
Install from CRAN with:
install.packages('AirMonitor')
Install the latest version from GitHub with:
devtools::install_github('mazamascience/AirMonitor')
TheAirMonitor package uses themts data model defined inMazamaTimeSeries.
In this data model, each unique time series is referred to as a"device-deployment" -- a timeseries collected by a particular device at aspecific location. Multiple device-deployments are stored in memory as amonitor object -- an R list with two dataframes:
monitor$meta -- rows = unique device-deployments; cols = device/location metadata
monitor$data -- rows = UTC times; cols = device-deployments (plus an additionaldatetime column)
A key feature of this data model is the use of thedeviceDeploymentID as a"foreign key" that allowsdata columns to be mapped onto the associatedspatial and device metadata in ameta row. The following will always be true:
identical(names(monitor$data), c('datetime', monitor$meta$deviceDeploymentID))Each column ofmonitor$data represents a timeseries associated with a particularID while each row ofmonitor$data represents asynoptic snapshot of allmeasurements made at a particular time.
In this manner, both timeseries plots and maps can be created from a singlemonitor object in memory.
Note: Themonitor object time axis specified indata$datetime isguaranteed to be a regular hourly axis with no gaps.
This project is supported by theUSFS AirFire team.
About
Utilities for working with air quality monitoring data
Resources
License
Uh oh!
There was an error while loading.Please reload this page.