Skip to content

Releases: MazamaScience/AirSensor2

0.5.6

25 Mar 23:31

Choose a tag to compare

AirSensor2 0.5.6

Added support for Clarity calibrationCategory = "global PM2.5 v2.1".

0.5.5

22 Mar 20:19

Choose a tag to compare

AirSensor2 0.5.5

Added support for private sensors by adding read_keys parameter to the following
functions:

  • pat_createHourly()
  • pat_createRaw()
  • pat_create()
  • pat_downloadParseRawData()
  • PurpleAir_getSensorHistoryCSV()

0.5.4

30 Oct 22:57

Choose a tag to compare

AirSensor2 0.5.4

  • Updated various examples that referenced example_pas with the newer example_pas_pm25.
  • Added example_pat_epa with fields required to run pat_applyCorrection().
  • Fixed the bug in pat_create() that generated:
Elements `last_modified`, `privacy`, `model`, `hardware`, `firmware_version`, etc. don't exist.

0.5.3

21 Aug 16:38

Choose a tag to compare

AirSensor2 0.5.3

Updated all Clarity functions to default to format = "USFS2" which returns
two extra fields: calibrationId, calibrationCategory.

0.5.2

31 May 21:31

Choose a tag to compare

AirSensor2 0.5.2

Updated the of data that can be requested in a single call in pat_create() to
match updates to the PurpleAir API:

Average Period Previous Limit New Limit
Real-Time 2 Days 30 Days
10 Minutes 3 Days 60 Days
30 Minutes 7 Days 90 Days
1 Hour 14 Days 180 Days
6 Hours 90 Days 1 Year
1 Day 1 Year 2 Years

0.5.1

02 May 23:39

Choose a tag to compare

AirSensor2 0.5.1

Lots of bug fixes to version 0.5.0.

  • pat_createNew() now checks for and removes duplicate timesteps and guarantees
    that the returned object has class name 'sts' for "SingleTimeSeries" so that it
    can work with functions from MazamaTimeSeries.
  • Fixed bug in pat_toMonitor() that always complained about missing fields.
  • Fixed a bug where the sensor_index field returned from PurpleAir was sometimes
    interpreted as an integer instead of a character. (Identifiers should always
    be of character type as in "007" for James Bond.)
  • Fixed a bug in pat_downloadParseRawData() where timestamps representing
    number of seconds sometimes used exponential notation which the PurpleAir API
    does not understand. Example of the bug:
> MazamaCoreUtils::parseDatetime("2023-05-02 03:59:59", timezone = "UTC") %>% as.numeric()
[1] 1.683e+09

0.5.0

13 Mar 23:41

Choose a tag to compare

Version 0.5 introduces changes in the default parameters that are requested
when making data requests from the PurpleAir API. In the past, when data was
free, functions download as many potentially relevant parameters
as possible. Now that a payment system is in place, AirSensor2 will be focused
on downloading as few parameters as required to accomplish a task. Many of
the low level PurpleAir data access functions will thus behave differently.

Package dependency updates:

MazamaCoreUtils (>= 0.5.2)
MazamaLocationUtils (>= 0.4.3),
MazamaSpatialUtils (>= 0.8.6),
MazamaTimeSeries (>= 0.3.0),
AirMonitor (>= 0.4.0),
  • Modified pas_downloadParseRawData() defaults to only query for non-measurement
    fields defined in PurplAir_SENSOR_METADATA_FIELDS.
  • Added pas_filterDate() to help find historical sensor data.
  • Added pas_filterNearMonitor() to associate sensors with the closest available
    monitor in a mts_monitor object from the AirMonitor package.
  • Renamed pas_get() to pas_pull().
  • Updated pas_createNew() and pas_leaflet() to default to working with
    non-measurement fields defined in PurplAir_SENSOR_METADATA_FIELDS.
  • Added pas_lifespanPlot() to show when PurpleAir sensors were producing data.
  • Updated collections of fields used in creation of pas and pat objects:
    • PurpleAir_PAS_MINIMAL_FIELDS
    • PurpleAir_PAS_METADATA_FIELDS
    • PurpleAir_PAS_AVG_PM25_FIELDS
    • PurpleAir_PAList_PM25_FIELDS
    • PurpleAir_PAT_QC_FIELDS
    • PurpleAir_PAT_EPA_HOURLY_FIELDS
  • Added a sleep parameter to pat_create() to avoid "rate limiting" errors
    from the PurpleAir API.
  • Removed PurpleAir_createNewMonitor().
  • Added pat_toMonitor().
  • Renamed pat_createNew() to pat_create().
  • Added pat_createRaw().

0.4.0

29 Nov 20:16

Choose a tag to compare

0.4.0 Pre-release
Pre-release

AirSensor2 0.4.0

Updated to handle changes in upstream packages:

  • MazamaCoreUtils 0.4.15 => 0.5.1
  • MazamaSpatialUtils 0.8.5 => 0.8.6
  • MazamaLocationUtils 0.3.8 => 0.4.1
  • MazamaTimeSeries 0.2.13 => 0.2.15
  • AirMonitor 0.3.11 => 0.3.12

The breaking change that precipitated this was the change from 'zip' to
'postalCode' in the core metadata used by MazamaLocationUtils. For
backwards compatibility, all functions that work with metadata will guarantee
that both 'zip' and 'postalCode' exist. These include:

  • Clarity_enhanceRawSynopticData()
  • Clarity_createAllOpenMonitors()
  • Clarity_createOpenMonitor()
  • PurpleAir_createNewMonitor()
  • pas_createNew()
  • pas_enhanceRawData()
  • pat_createNew()

0.3.6

22 Sep 22:10

Choose a tag to compare

0.3.6 Pre-release
Pre-release

AirSensor2 0.3.6

  • Updated all documentation to match current functionality.
  • Enabled faster downloading of pat data with parallel = TRUE.
    (not available on Windows)

AirSensor2 0.3.5

  • Updated Mazama package dependencies.
  • Updated example datasets.
  • Improved documentation and examples for pas~() functions.

0.3.4

19 Jul 00:12

Choose a tag to compare

0.3.4 Pre-release
Pre-release

AirSensor2 0.3.4

  • Renamed PurpleAir_createMonitor() to PurpleAir_createNewMonitor(). This
    leaves room for a modified PurpleAir_createMonitor() that will accept a previously
    saved "hourly pat" object.
  • Added "MVCAA Tutorial 1: Exploring PurpleAir Data" article.