Releases: MazamaScience/PWFSLSmoke
1.2.1
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 wereDEBUG
) - entering a function will generate a
DEBUG
level statement with the
function name
- internal logging statements use
- 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.
- Argument
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 indistance()
. - 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()
fromINFO
toTRACE
- eliminated section from "Maps and Timeseries Plots" vignette that used
now defunctmonitor_currentData()
PWFSLSmoke 1.1.20
Breaking Change
monitor_writeCurrentGeoJSON()
has been removedmonitor_currentData()
has been removed
New Functions
monitor_writeCurrentStatusGeoJSON()
- This function is equivalent to
monitor_writeCurrentGeoJSON()
, but
internally usesmonitor_getCurrentStatus()
- This function is equivalent to
PWFSLSmoke 1.1.19
This release enhances monitor_getCurrentStatus()
.
- Added 'summary' columns for previous times to match last times
- Renamed
yesterdayAQI
column toyesterday_pm25_24hr
for better fit with
the column naming scheme - Added
last_validLocalTimestamp
andprevious_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 tomonitor_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 aws_monitor
object with a full 'meta'
dataframe that retains any metadata that is shared- added
monitor_timeInfo()
convenience wrapper - added
localStandardTime_UTC
anddaylightSavings
columns to the dataframe
returned bytimeInfo()
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()
callsairnow_loadAnnual()
and will is pre-deprecatedairsis_load()
callsairsis_loadAnnual()
and will is pre-deprecatedwrcc_load()
callswrcc_loadAnnual()
and will is pre-deprecated- renamed
loadData()
tomonitor_load()
- new dependency on MazamaCoreUtils
- removed code associated with
DUMP
files - corrected spelling from
heidike
toheidke
in allskill
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()
andmonitor_loadAnnual()
functions - refactored
airnow
,airsis
,epa
andwrcc
~_load~()
functions to include
adataDir
parameter to allow data loading from a local directory rather than
always from the internet. theairsis
andwrcc
functions now support the
(unused)parameter
argument to match theairnow
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 usemonitorEsriMap()
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 oftidyr
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
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 convertws_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 returnNA
when monitor data re missing. (See the NowCast vignette.)
PWFSLSmoke 1.0.28
- support for
datetime
parameter inmonitor_writeCurrentGeoJSON()
andmonitor_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()
andwrcc_createMonitorObject()
now both accept argumentsexistingMeta
with
a default value ofNULL
andaddGoogleMeta
andaddEsriMeta
with default values ofFALSE
airsis_createMetaDataframe()
andwrcc_createMetaDataframe()
now both accept argumentsexistingMeta
with
a default value ofNULL
andaddGoogleMeta
andaddEsriMeta
with default values ofFALSE
- 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
PWFSLSmoke 1.0.20
- tweaks for CRAN submission
PWFSLSmoke 1.0.19
- fixed bug in
esriMap_getMap()
whenwidth != 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 testsmonitor_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
andAQI_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
inmonitorPlot_timeseries()
now works on Windows monitorPlot_dailyBarplot()
acceptstlim
argument of classPOSIXct
v1.0.18
PWFSLSmoke 1.0.18
- fixed newly introduced bug in
monitor_combine()
PWFSLSmoke 1.0.17
- new
loadLatest()
andloadDaily
() functions
v1.0.16
PWFSLSmoke 1.0.16
- tweaks for CRAN submission
PWFSLSmoke 1.0.15
- fixed chronoligical ordering bug in
monitor_combine()
wrcc_downloadData()
now usesparseDatetime()
like other functionsmonitorID
argument is no longer required inmonitor_join()
. Defaults to joining all shared monitorIDs.
PWFSLSmoke 1.0.14
- corrected
baseUrl
argument inwrcc_loadLatest()
andwrcc_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
todailyAvg
inmonitor_dailyStatistics()
argumentextraColumns
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
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()
andairnow_load()
PWFSLSmoke 1.0.5
- tweak to
localExecutables/epa_createAnnualDataframes_exec.R
- removed
logger
statements frommonitor_combine()
andmonitor_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 usingstyle="aqidots"
PWFSLSmoke 1.0.3
- tweaks for CRAN submission
- fixed bug in
monitor_subsetBy()
when filtering on metadata columns withNAs
present
Monitoring Data Access
PWFSLSmoke 1.0.2
monitor~
functions now test for emptyws_monitor
objects- new Github
localNotebooks/
directory contains detailed examples
PWFSLSmoke 1.0.1
monitor~
functions now test for emptyws_monitor
objects~_loadLatest()
functions now explicitly create and close connections- fixed bug in
monitor_dailyStatistic()
that didn't test forminHours
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 columnssiteID
andinstrumentID
- added
initializeMazamaSpatialUtils()
convenience function - new
US_52
vector of all US state codes includingDC
andPR
- upgraded all
~_createMetaDataframes()
to produce v1.0 metadata airnow_createMetaDataframes()
filters incoming sites forcountryCode %in% c('CA','MX','US')
,
discarding sites associated with other countriesmonitorPlot_timeseries()
argumentaqiDots
renamed toaqidots
- new
airnow_createMonitorObjects()
function - new
addUSGSElevation()
function - deprecating
addGoogleMetadata()
in favor of new functionsaddGoogleElevation()
andaddGoogleAddress()
- 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()
toairnow_downloadParseData()
- new
monitor_join()
function allows you to merge the data of ws_monitor objects with shared monitorIDs - renamed
CarmelValley
dataset toCarmel_Valley
- converted all uses of
GMT
toUTC
- new
createEmptyMetaDataframe()
function monitor_subset~()
functions now return 'meta' dataframes with zero rows and 'data' dataframes with a singledatetime
column rather thanNULL
when no monitors exist in the subset.
v0.99.33-beta
- 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 includesdropMonitors=FALSE
default
v0.99.27-beta
- 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
- bug fix for monitor assignment issues in WRCC and AIRSIS monitors that move