A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

AirMonitor

Utilities for working with hourly air quality monitoring data with a focus on small particulates PM2.5.
https://github.com/mazamascience/airmonitor

Category: Natural Resources
Sub Category: Air Quality

Last synced: 1 day ago
JSON representation

Repository metadata

Utilities for working with air quality monitoring data

README.md

CRAN status
Downloads
DOI

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 from [email protected].

AirMonitor

Utilities for working with hourly air quality monitoring data
with 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".

Background

The USFS AirFire group is focused on air quality measurements associated with
wildfire smoke and maintains both historical and real-time databases of PM2.5
monitoring data obtained from stationary monitors. This data is used in
operational displays and for retrospective analysis. Data ingest and management
of air quality “stationary time series” are both important ongoing activities.

Related Packages

The AirMonitorIngest
package is used to create data archives for the AirMonitor package and
isolates the work of meticulously cleaning, validating and harmonizing data from
various sources.

The AirMonitor package contains data access functions to easily download
harmonized data files as well as data manipulation functions that
make it easy to create "recipe style" analysis pipelines. The combination allows
analysts to work efficiently with short, readable R scripts. Interactive and
base R plotting functions allow for visual review of the data.

The AirMonitorPlots
package contains ggplot2 based plotting functions for advanced plots.

Installation

NOTE: This package has not yet been uploaded to CRAN

Install the latest version from GitHub with:

devtools::install_github('mazamascience/AirMonitor')

Data Model

The AirMonitor package uses the mts data model defined in
MazamaTimeSeries.

In this data model, each unique time series is referred to as a
"device-deployment" -- a timeseries collected by a particular device at a
specific location. Multiple device-deployments are stored in memory as a
monitor 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 additional datetime column)

A key feature of this data model is the use of the deviceDeploymentID as a
"foreign key" that allows data columns to be mapped onto the associated
spatial and device metadata in a meta row. The following will always be true:

identical(names(monitor$data), c('datetime', monitor$meta$deviceDeploymentID))

Each column of monitor$data represents a timeseries associated with a particular
device-deployment while each row represents a synoptic snapshot of all
measurements made at a particular time.

In this manner, software can create both timeseries plots and maps from a single
monitor object in memory.

Note: The monitor object time axis specified in data$datetime is
guaranteed to be a regular hourly axis with no gaps.


This project is supported by the USFS AirFire group.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 123
Total Committers: 2
Avg Commits per committer: 61.5
Development Distribution Score (DDS): 0.016

Commits in past year: 11
Committers in past year: 1
Avg Commits per committer in past year: 11.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Jonathan Callahan j****n@g****m 121
Jonathan Callahan j****n@S****l 2

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 6
Total pull requests: 0
Average time to close issues: 5 months
Average time to close pull requests: N/A
Total issue authors: 1
Total pull request authors: 0
Average comments per issue: 0.0
Average comments per pull request: 0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/mazamascience/airmonitor

Top Issue Authors

  • jonathancallahan (6)

Top Pull Request Authors


Top Issue Labels

  • enhancement (3)
  • bug (2)

Top Pull Request Labels


Package metadata

cran.r-project.org: AirMonitor

Air Quality Data Analysis

  • Homepage: https://github.com/MazamaScience/AirMonitor
  • Documentation: http://cran.r-project.org/web/packages/AirMonitor/AirMonitor.pdf
  • Licenses: GPL-3
  • Latest release: 0.4.2 (published 7 months ago)
  • Last Synced: 2025-04-25T11:33:28.843Z (2 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 375 Last month
  • Rankings:
    • Stargazers count: 20.574%
    • Forks count: 21.046%
    • Dependent repos count: 23.981%
    • Average: 24.675%
    • Dependent packages count: 28.751%
    • Downloads: 29.02%
  • Maintainers (1)

Dependencies

DESCRIPTION cran
  • R >= 4.0.0 depends
  • MazamaCoreUtils >= 0.4.13 imports
  • MazamaRollUtils >= 0.1.3 imports
  • MazamaTimeSeries >= 0.2.10 imports
  • dplyr * imports
  • dygraphs * imports
  • leaflet * imports
  • lubridate * imports
  • magrittr * imports
  • readr * imports
  • rlang >= 1.0.0 imports
  • stringr * imports
  • tidyselect * imports
  • xts * imports
  • knitr * suggests
  • markdown * suggests
  • rmarkdown * suggests
  • roxygen2 * suggests
  • testthat * suggests
docker/Dockerfile docker
  • rocker/geospatial 4.2.3 build

Score: 8.704833909687792