Skip to content

Releases: MazamaScience/PWFSLSmoke

1.2.1

03 Apr 22:53
Compare
Choose a tag to compare

PWFSLSmoke 1.2.1

  • addedd an introductory vignette

PWFSLSmoke 1.2.0

Version 1.2.x marks the official release for the 2019 fire season.

  • monitor_leaflet() now visibly returns a leaflet object which can be
    further customized by the user.
  • code refactoring and cleanup unrelated to functionality --
    .e.g. indentation
  • logging changes in data processing functions:
    • internal logging statements use TRACE level
      (previously, many were DEBUG)
    • entering a function will generate a DEBUG level statement with the
      function name
  • bug fix for monitor_getCurrentStatus()

PWFSLSmoke 1.1.29

Breaking Changes

  • monitor_getCurrentStatus()
    • Argument EndTime now defaults to the most recent time in the given
      ws_monitor.
    • Ordering of columns in the output table have changed.

Internals

  • monitor_getCurrentStatus()
    • Code has been refactored to be more independent of prior steps.
    • Logging statements have been added.

PWFSLSmoke 1.1.28

  • Fixed bug in parsing of arb2 monitors in "ebamMulti" format. (unitID 1048)

PWFSLSmoke 1.1.27

  • Fixed bug in monitor_leaflet() which didn't properly assign colors when
    some monitors had all missing data.
  • monitor_leaflet() now displays monitors with all missing values as light
    gray.
  • monitor_leaflet() now invisibly returns a leaflet object which can be
    further customized by the user.

PWFSLSmoke 1.1.26

  • Now using the geosphere package to greatly improve the speed of distance
    calculations in distance().
  • Fixed bug when calling timeInfo(..., timezone = "UTC").
  • monitor_dailyStatistic() now uses the most common timezone when multiple
    timezones are encountered. (It previously just picked the first one.)
  • monitor_getDailyMean() now works with multiple-monitor ws_monitor
    objects and returns a dataframe of daily means

PWFSLSmoke 1.1.25

Improved documentation and harmonization of monitor_writeCSV() and
monitor_print().

PWFSLSmoke 1.1.24

Minor cleanup in preparation for CRAN submission.

PWFSLSmoke 1.1.23

This release adds functions for working with generic data.

New Functions

  • generic_downloadData()
    • Reads data files as a string of data
  • generic_parseData()
    • Parses data based on a customizable configuration list

PWFSLSmoke 1.1.22

  • fixed bug in monitor_load() where the incorrect year was used in requests
    for archival data

PWFSLSmoke 1.1.21

  • lowered logging level inside esriMap_getMap() from INFO to TRACE
  • eliminated section from "Maps and Timeseries Plots" vignette that used
    now defunct monitor_currentData()

PWFSLSmoke 1.1.20

Breaking Change

  • monitor_writeCurrentGeoJSON() has been removed
  • monitor_currentData() has been removed

New Functions

  • monitor_writeCurrentStatusGeoJSON()
    • This function is equivalent to monitor_writeCurrentGeoJSON(), but
      internally uses monitor_getCurrentStatus()

PWFSLSmoke 1.1.19

This release enhances monitor_getCurrentStatus().

  • Added 'summary' columns for previous times to match last times
  • Renamed yesterdayAQI column to yesterday_pm25_24hr for better fit with
    the column naming scheme
  • Added last_validLocalTimestamp and previous_validLocalTimestamp columns,
    which are strings showing the local time at a monitor

PWFSLSmoke 1.1.18

This release refactors functions prefixed with monitorPlot_* to instead start
with monitor_*, keeping in line with other functions accepting a ws_monitor
object as their first argument.

The affected functions are:

Old Name New Name
monitorPlot_dailyBarplot() monitor_dailyBarplot()
monitorPlot_hourlyBarplot() monitor_hourlyBarplot()
monitorPlot_noData() monitor_noDataPlot()
monitorPlot_rollingMean() monitor_rollingMeanPlot()
monitorPlot_timeseries() monitor_timeseriesPlot()

In addition, monitorPlot_timeOfDaySpaghetti() has been marked as defunct,
with no replacement.

PWFSLSmoke 1.1.17

  • added tidy_toMonitor()

Added new function monitor_getCurrentStatus(), which returns a data frame
containing meta information as well as current status information given a
ws_monitor_ object.

PWFSLSmoke 1.1.16

  • added additional logging to EsriMap_getMap()
  • added PWFSL monitoring site "mv4" AQI colors
  • monitor_currentData() bug fix

PWFSLSmoke 1.1.15

  • spell check

PWFSLSmoke 1.1.14

Add convenience functions monitor_extractData() and monitor_extractMeta(),
which return the dataframes inside a ws_monitor object.

PWFSLSmoke 1.1.13

  • added for pch argument to monitor_map()

PWFSLSmoke 1.1.12

This release refactors functions so that all functions accepting a ws_monitor
object as their first parameter include the monitor_ prefix in their name.

The affected functions are:

Old Name New Name
monitorDygraph() monitor_dygraph()
monitorEsriMap() monitor_esriMap()
monitorLeaflet() monitor_leaflet()
monitorMap() monitor_map()
monitorMap_performance() monitor_performanceMap()

In addition, monitorGoogleMap() has been deprecated in favor of
monitor_esriMap().

PWFSLSmoke 1.1.11

  • montor_collapse() now returns a ws_monitor object with a full 'meta'
    dataframe that retains any metadata that is shared
  • added monitor_timeInfo() convenience wrapper
  • added localStandardTime_UTC and daylightSavings columns to the dataframe
    returned by timeInfo()

PWFSLSmoke 1.1.10

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

  • added addPolygon(), addWindBarb() and addWindBarbs()`
  • added aqiPalette()
  • added monitor_getDailyMean()

PWFSLSmoke 1.1.9

  • airnow_load() calls airnow_loadAnnual() and will is pre-deprecated
  • airsis_load() calls airsis_loadAnnual() and will is pre-deprecated
  • wrcc_load() calls wrcc_loadAnnual() and will is pre-deprecated
  • renamed loadData() to monitor_load()
  • new dependency on MazamaCoreUtils
  • removed code associated with DUMP files
  • corrected spelling from heidike to heidke in all skill related functions

PWFSLSmoke 1.1.8

  • %>% is now exported
  • added new monitor_download~() functions to download local copies of PWFSL
    monitor data files.
  • added new monitor_loadLatest(), monitor_loadDaily() and monitor_loadAnnual() functions
  • refactored airnow, airsis, epa and wrcc ~_load~() functions to include
    a dataDir parameter to allow data loading from a local directory rather than
    always from the internet. the airsis and wrcc functions now support the
    (unused) parameter argument to match the airnow function signature

PWFSLSmoke 1.1.7

  • added loadData() to load monitoring data covering any time period within a
    single year
  • fixed monitor_join() to skip over monitorIDs that are not found in either
    of the monitor objects being joined together

PWFSLSmoke 1.1.6

  • actual parsing done by lubridate::parse_date_time
  • vectorized for inputs
  • handle any format of Ymd[HMS] (including multiple formats within same input)
  • new parameter expectAll, which controls how strict the parsing should be about accepting failures
  • added unit tests

PWFSLSmoke 1.1.5

  • add testthat framework to package

PWFSLSmoke 1.1.4

  • tweaks for CRAN submission
  • cleanup recommended by goodpractice package
  • removed non-functioning monitorGooglMap() and updated examples to use monitorEsriMap() instead
  • additional logging in esriMap_getMap()

PWFSLSmoke 1.1.3

  • added logging functionality to esriMap_getMap()

PWFSLSmoke 1.1.2

  • removed dependence on zoo package in favor of tidyr for filling data

PWFSLSmoke 1.1.1

  • added linting configuration and suggest lintr package
  • added PWFSLSmoke.Rproj for consistent development
  • added Travis-CI configuration

PWFSLSmoke 1.1.0

  • version bump

1.0.33

20 Sep 22:08
Compare
Choose a tag to compare

PWFSLSmoke 1.0.33

  • updated docker/ to use mazamascience/spatialutils:0.5.4 which is based off of rocker/tidyverse:3.5.1

PWFSLSmoke 1.0.32

  • new monitor_toTidy() function to convert ws_monitor objects into tidyverse 'tidy-formatted' data (see more here)
  • new monitor_isTidy() function to check if given data is in a 'tidy' format

PWFSLSmoke 1.0.31

  • bug fix for "negative subscripts" error from monitor_writeCurrentGeoJSON()*
  • modified Maps_and_Timeseries_Plots vignette to use ESRI maps instead of Google maps.

PWFSLSmoke 1.0.30

  • added support for parsing for AIRSIS ARB2 EBAM-Multi file format (ARB2 unitIDs 1044-1049)

PWFSLSmoke 1.0.29

  • updated monitor_nowcast() algorithm to return NA when monitor data re missing. (See the NowCast vignette.)

PWFSLSmoke 1.0.28

  • support for datetime parameter in monitor_writeCurrentGeoJSON() and monitor_currentData()

PWFSLSmoke 1.0.27

  • added monitor_writeCurrentGeoJSON() function
  • monitor_currentData() returns metadata in addition to current data
  • added monitor_writeCSV() function
  • enabled monitor_print() quietly=TRUE

PWFSLSmoke 1.0.26

  • added monitor_currentData() function

PWFSLSmoke 1.0.25

  • added package environment with googleApiKey, esriApiKey and getter/setter functions for each
  • added addEsriAddress() function

PWFSLSmoke 1.0.24

  • airsis_createMonitorObject() and wrcc_createMonitorObject() now both accept arguments existingMeta with
    a default value of NULL and addGoogleMeta and addEsriMeta with default values of FALSE
  • airsis_createMetaDataframe() and wrcc_createMetaDataframe() now both accept arguments existingMeta with
    a default value of NULL and addGoogleMeta and addEsriMeta with default values of FALSE
  • removed deprecated addGoogleMetadata()

PWFSLSmoke 1.0.23

  • new aqiColors() function to simplify creation of color vectors for use in maps and plots
  • new monitor_print() function to generate human readable CSV files
  • fixed bug in monitor_dailyStatistic() which did not return the first daily average
  • fixed bug in monitor_subsetByDistance() which failed when no monitors were found within the radius
  • fixed bug in monitor_subsetBy() which failed when a filter used variables defined within a calling function

PWFSLSmoke 1.0.22

  • fixed bug in monitor_join() which failed when a monitorID was missing from one of the ws_monitor objects being joined

PWFSLSmoke 1.0.21

  • removed errant TAB character from AQI_es$names

v1.0.20

08 May 18:26
Compare
Choose a tag to compare

PWFSLSmoke 1.0.20

  • tweaks for CRAN submission

PWFSLSmoke 1.0.19

  • fixed bug in esriMap_getMap() when width != height
  • fixed single-digit month parsing in airnow_load()
  • capitalized AQI$names: 'Good', 'Moderate', ...
  • added addAQIStackedBars() function
  • added example test for monitor_load() which then tests monitor_combine()
  • shrunk legend in monitorDygraph()
  • changed monitorDygraph() to default to UTC when more than one timezone is present
  • added AQI$actions -- text with suggested actions to protect health
  • added language specific versions of AQI: AQI_en and AQI_es
  • added monitor_isMonitor() to valide the structure of a ws_monitor object
  • updated example code in all functions
  • turning off grid lines with ~Lwd=0 in monitorPlot_timeseries() now works on Windows
  • monitorPlot_dailyBarplot() accepts tlim argument of class POSIXct

v1.0.18

07 Mar 21:08
Compare
Choose a tag to compare

PWFSLSmoke 1.0.18

  • fixed newly introduced bug in monitor_combine()

PWFSLSmoke 1.0.17

  • new loadLatest() and loadDaily() functions

v1.0.16

06 Mar 16:49
Compare
Choose a tag to compare

PWFSLSmoke 1.0.16

  • tweaks for CRAN submission

PWFSLSmoke 1.0.15

  • fixed chronoligical ordering bug in monitor_combine()
  • wrcc_downloadData() now uses parseDatetime() like other functions
  • monitorID argument is no longer required in monitor_join(). Defaults to joining all shared monitorIDs.

PWFSLSmoke 1.0.14

  • corrected baseUrl argument in wrcc_loadLatest() and wrcc_loadDaily()

PWFSLSmoke 1.0.13

  • fixed bug in monitor_dailyStatistics() that ignored the last full day. Thanks to jmatchett for the fix.

PWFSLSmoke 1.0.12

  • changed daily_avg to dailyAvg in monitor_dailyStatistics() argument extraColumns

PWFSLSmoke 1.0.11

  • new monitor_asDataframe() function
  • fixed bug in monitor_dailyStatistics() that appeared when the host computer runs in the UTC timezone

v1.0.10

17 Jan 20:56
Compare
Choose a tag to compare

PWFSLSmoke 1.0.10

  • tweaks for CRAN submission

PWFSLSmoke 1.0.9

  • tweaks for CRAN submission
  • removed dependency on xml2 and rvest packages

PWFSLSmoke 1.0.8

  • removed dependency on RCurl package
  • internal WRCC object with unitIDs is now a list of lists
  • more consistent error handling and logging during WRCC data processing
  • updated airnow_loadLatest() function to access real-time, last 10 day files
  • new airnow_loadDaily() function to access daily-updated, last 45 day files
  • new wrcc_load() function to access pre-generated annual .RData files
  • updated wrcc_loadLatest() function to access real-time, last 10 day files
  • new wrcc_loadDaily() function to access daily-updated, last 45 day files

PWFSLSmoke 1.0.7

  • more consistent error handling and logging during AIRSIS data processing
  • new airsis_load() function to access pre-generated annual .RData files

PWFSLSmoke 1.0.6

  • consistent use of log levels during AirNow data processing
  • updated airnow_load() function to access pre-generated monthly .RData files
  • properly closing connections in epa_load() and airnow_load()

PWFSLSmoke 1.0.5

  • tweak to localExecutables/epa_createAnnualDataframes_exec.R
  • removed logger statements from monitor_combine() and monitor_join()
  • fixed bug in monitor_join() when averaging overlapping measurements

PWFSLSmoke 1.0.4

  • fixed vignette typos
  • new epa_load() function accesses pre-generated annual .RData files
  • fixed bug in monitorPlot_timeseries() when using style="aqidots"

PWFSLSmoke 1.0.3

  • tweaks for CRAN submission
  • fixed bug in monitor_subsetBy() when filtering on metadata columns with NAs present

Monitoring Data Access

04 Jan 17:30
Compare
Choose a tag to compare

PWFSLSmoke 1.0.2

  • monitor~ functions now test for empty ws_monitor objects
  • new Github localNotebooks/ directory contains detailed examples

PWFSLSmoke 1.0.1

  • monitor~ functions now test for empty ws_monitor objects
  • ~_loadLatest() functions now explicitly create and close connections
  • fixed bug in monitor_dailyStatistic() that didn't test for minHours properly

PWFSLSmoke 1.0.0

  • changed the non-guaranteed columns in ws_monitor$meta
  • ws_monitor$meta$monitorID is now a combination of new metadata columns siteID and instrumentID
  • added initializeMazamaSpatialUtils() convenience function
  • new US_52 vector of all US state codes including DC and PR
  • upgraded all ~_createMetaDataframes() to produce v1.0 metadata
  • airnow_createMetaDataframes() filters incoming sites for countryCode %in% c('CA','MX','US'),
    discarding sites associated with other countries
  • monitorPlot_timeseries() argument aqiDots renamed to aqidots
  • new airnow_createMonitorObjects() function
  • new addUSGSElevation() function
  • deprecating addGoogleMetadata() in favor of new functions addGoogleElevation() and addGoogleAddress()
  • removed all openaq_~ data download and processing functions
  • added zeroMinimum parameter to data ingest functions to specify whether negative values should be converted to zero
  • renamed airnow_downloadData() to airnow_downloadParseData()
  • new monitor_join() function allows you to merge the data of ws_monitor objects with shared monitorIDs
  • renamed CarmelValley dataset to Carmel_Valley
  • converted all uses of GMT to UTC
  • new createEmptyMetaDataframe() function
  • monitor_subset~() functions now return 'meta' dataframes with zero rows and 'data' dataframes with a single datetime column rather than NULL when no monitors exist in the subset.

v0.99.33-beta

12 Dec 18:20
Compare
Choose a tag to compare
v0.99.33-beta Pre-release
Pre-release
  • added NowCast vignette
  • new airsis_availableUnits() function
  • new AIRSIS object with available monitor types
  • functions for ESRI Maps added: esriMap_getMap(), esriMap_plotOnStaticMap(), monitorEsriMap()
  • new addMarker() function to add a marker to a plot
  • monitor_reorder() now includes dropMonitors=FALSE default

v0.99.27-beta

29 Aug 02:41
Compare
Choose a tag to compare
v0.99.27-beta Pre-release
Pre-release
  • corrected monitor_nowcast() now calculates values after the first 2 valid measurements
  • new monitor_aqi() algorithm
  • changed EBAM and E-Sampler QC pm25 threshold to accept as valid any pm25 value up to 5000 ug/m3

v0.99.23-beta

15 Aug 01:13
Compare
Choose a tag to compare
v0.99.23-beta Pre-release
Pre-release
  • bug fix for monitor assignment issues in WRCC and AIRSIS monitors that move