mazamascience / airsensordataviewer Goto Github PK
View Code? Open in Web Editor NEWAn RShiny application based on the AirSensor package
License: GNU General Public License v3.0
An RShiny application based on the AirSensor package
License: GNU General Public License v3.0
For some sensors and days, only the pollution rose or the met data table will be displayed (see examples below)
(versions 1.0.1)
Example: missing met data table
Sensor: SCTV_22, Date: 10/13/20, with 1 week prior shown
Example: missing pollution rose
Sensor: SCTV_22, Date: 10/6/20, with 1 week prior shown
Example: data table and pollution rose present for same sensor shown in two previous examples
Sensor: SCTV_22, Date: 9/29/20, with 1 week prior shown
Example: missing met data table
Sensor: SCAP_50, Date: 10/13/20, with 1 week prior shown
Example: missing met data table
Sensor: SCAP_50, Date: 9/28/20, with 1 week prior shown
About Page requested updates:
It would be helpful to add a little more clarity in the labeling, including:
(version 1.0.1)
Not all community videos generated for communities in September. This is specific for Seal Beach, but may impact other communities. Timelapse not working for SealBeach community. When viewing videos for September, only the 9/30 date is present for a video.
... Documenting Issue WIP ...
If select community, currently can ‘t select sensor outside of community to display on barchart --- locked only to sensors in community selected. If select different sensor in map – the menu accordion should automatically update/change community and sensor and displays barchart
Zoom is glitchy at times
If user is zoomed into one community and selects a different community and/or a different sensor – could the map automatically re-center to the selected community?
The AirSensorDataViewer package is using the {golem}
framework. Many of the functions currently in the package do not contain function and parameter descriptions. The package is documented just like any other roxygen2
documentation and R package.
New videos are being created at:
http://data.mazamascience.com/PurpleAir/v1/videos/2020/
We probably need to split these out into per-month subdirectories and then reference them in the DataViewer. That is a task for Jon. Jon also needs to create a script to populate an archive with videos for previous days. Overall tasks include:
It would be helpful to make the labeling a little more consistent on the timeseries:
Title – “Sensor/Reference Monitor comparison -- PurpleAir [NAME] is x.x km from Reference Monitor: [Station Name] (located in air district: [airDistrict])
Legend – change ‘PA hourly’ to “Sensor hourly” and “PWFSL” to “Reference Monitor hourly”, also add light grey series and appropriate label to legend
(version 1.0.1)
Historical Data Page - Daily Patterns Tab
For the bar chart in the Overview tab: (1) add the time zone to label on x-axis, (2) add the pollutant label to the y-axis (PM2.5) in addition to the units.
(Version: 1.0.1)
[Overview Tab]
Usage example:
For someone interested in what is happening in their neighborhood, this is likely to be a very common behavior.
We need to address the following issues:
Historical Data Page - Community Timelapse tab
Latest Data Page
... Documenting Issue WIP ...
Add feedback with loading screens to help the user along the way. Use the waiter
package in similar fashion to the startup loader in the mod_main_panel.R
module.
For a full year, the calendar is intersected by the well panel
in its tab. Adust to dynamic updating.
Update code on calendar plot to reflect new 24HR color scale:
Brandon requests:
Also, the color scale / breaks information should be included on this tab so user knows the breaks when viewing the calendar plot.
Jon believes finding an attractive place for this graphic on the calendar tab may be challenging and recommends the following instead:
Would it be possible to increase the font size?
(version 1.0.1)
Historical Data Page - Calendar Tab
When first opening up the DataViewer, the current date is the UTC date than the date as it would appear in "America/Los_Angeles". After 5pm, this has the effect of causing the NOAA wind download to fail.
The default date should be chosen with the configured timezone.
Timezone, timezone, timezone!
There is a bug that exists where the hidden barchart div
remains up when a new input$date_range
is selected and the update client method is executed.
... Documenting Issue WIP ...
... Documenting Issue WIP ...
Now that the worldmet and AirSensor packages have been updated, we should use one or the other to access wind data.
Reference data not displaying presumably due to a 20 km filter – the first example confirms that the reference data from the site is complete and available, however it is not displayed in the timeseries of the second example (though it appears to show up in the scatter plot). Could we remove this filter and display the reference data as it is in the plot above – it may confuse users if comparison data is not available from all sensors in the same community.
Example w/ reference data (sensor: SCTV_50, date: 10/13/20, 2 weeks prior shown)
Example w/ no reference data (sensor: SCTV_22, date: 10/13/20, 2 weeks prior shown)
(versions 1.0.1)
Title says it all. Once the data is available, implement the loading in the mod_latest.R
module, preferably asynchronous as it takes a moment to load.
In the three examples below, where dates from November 2019 are selected there appears to be a discrepancy between selected dates and the data displayed in the bar chart on the Overview tab. (let me know if these errors are not reproducible)
Example 1: (Alhambra, SCAP_03, 2019-11-18 - 2019-11-21)
The time series map does not filter the points on community selection
There are a occasional visual glitches when using the show/hide functionality on the Overview page and I'm not sure that this functionality is needed. (Was the intention to provide more space for the map when viewed on a laptop?)
Comment and close this issue if this functionality is critical for laptop use.
Historical Data Page - Tabular Data Tab
Historical Data Page - Overview Tab - Slider updates
Slider should not overlay over bar chart
Options:
Right now, each plot can be zoomed individually. It would be much nicer if all three were coordinated so that zooming in/out on one plot affected the others.
This can be simplified by specifying that interactivity only occurs on the A/B plot and that the humidity and temperature plots follow whatever is chosen in A/B.
I see two components to this task:
The Leaflet map on the Historical Data > Compare tab currently shows the monitors site name/sensor label when you click on them. This should be enabled for "onHover" if that is straightforward.
Further clarification regarding the time zone throughout the tool would be helpful, time zones should be labeled where appropriate and it would be great if visual alert could be added, such as a popup window, that would appear if the user’s date selection bridges one of the two time changes (e.g., “FYI: your selected date range includes one of the daylight savings time changes”).
(versions 1.0.1)
It seems there may be issues displaying historic data. Below we can see this sensor has data for the period around July 4th 2019 and the A and B channels are in pretty good agreement, but the Overview tab cannot seem to find the data (for the bar chart, though the map may be fine) and in the Calendar tab many values are displayed as zeros when I believe they should be higher.
Community: All
Sensor: SCAP_50
Dates: 2019-06-27 - 2019-07-10
Requested updates for Menu Accordion
Bar Chart requested updates
Rather than displaying every minute and staggered Ch A/Ch B data, could A and B be matched to the nearest 2-minute? This will be much easier for users to work with if they download the data.
(Version: 1.0.1)
Please add units to all columns on the resulting excel file, e.g., “datetime (local)” for time.
(Version 1.0.1)
Jon's comments:
strftime(format = "%Y-%m-%d %H:%M:%S", usetz = true, tz = "America/Los_Angeles")
(Version: 1.0.1)
NOAA fails to load in the Shiny Application. Fix this.
Documenting Issue WIP
Building the docker specified in docker/Dockerfile
takes a long time.
We should instead have a separate docker/Dockerfile_base
which does all the installation of libraries and R packages and then another docker/Dockerfile
(another name?) that does that last few items required for installation.
If the golem environment automates the create of Dockerfile
then we should just have our own _base
and _top
? versions derived from the global Dockerfile
. The _top
version will start with FROM mazamascience/airsensordataviewer_base:X.X.X
Modifying R code and redeploying the dockerized DataViewer should be something that is very east and fast,
Verbatim from email from Brandon
Platform: Mazama Science DataViewer Application
Version: 0.9.7
URL: http://tools.mazamascience.com/airsensor-dataviewer/v8/
Requested Text Updates
Update versioning when South Coast AQMD is ready to publish on our end
a. Update: Version 1.0.0
A comment should be added that the DataViewer does not function with Internet Explorer or that is only works with a list of browsers (i.e., Chrome and Safari). This could be placed in the About tab.
Add a link to the manual on the DataViewer (e.g., add a link or an icon with the document below the software version on the left side below the menu accordion).
Explore page – overview tab: Change the text that currently reads “The colors in the map and in the plot correspond to different levels of PM2.5 and the scale in the [location on app] shows which colors correspond to which concentration ranges.” ----- to “The colors in the map and in the plot correspond to different levels of PM2.5. The scale is provided in the About page and shows which colors correspond to which concentration ranges.”
Identified Bugs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.