Code Monkey home page Code Monkey logo

pollucheck's Introduction

pollucheck: Open-Source Air Quality App!

R-CMD-check DOIDOI

pollucheck helps exploring the open-source air quality data.

  • pollucheck allows users to handle open-source air quality data sets available from OpenAQ, Central Pollution Control Board CPCB, and AirNow.
  • Users can visualize data, analyze data, perform basic statistical operations, and generate a variety of publication-ready plots.
  • We have also included the popular openair package in this app.
  • We have hosted this app here - https://aruapps.shinyapps.io/OpenSourceAirQualityApp/

We are in this together!

A walk through to use this app for everyone -

Download data - CPCB website

  • Example - Where do you live in India?

  • Find the nearest CPCB station to download data from a regulatory air quality monitor.

  • Visit CPCB website to access the Central/State Pollution Control Board Data.

  • Select the Indian state from the "State Name" drop-down.

  • Now select the city for which the data needs to be downloaded using the "City Name" drop-down menu.

  • Now from the "Station Name" drop-down select the desired station.

  • Select the Parameters. Note- Multiple parameters can be selected at a time.

  • Report Format- To use the pollucheck app, Please keep the format as "tabular".

  • Criteria- This drop-down will help you to select between different time averaging of data. Note- pollucheck app only supports 15 min, 30 min, and 60 min average data.

  • Select the Start Date and End date of the data and click on "Submit".

  • Download that data (15, 30, 60 min resolution would be good).

Download data - OpenAQ

  • Click on OpenAQ in the app to download the OpenAQ data set.

  • Now, click on the Download option on your browser.

  • In data download, you can download the data by Locations or by Datasets.

  • Now select the desired, Country, City/Region and Location using the drop-down.

  • To proceed further select the Start Date and the End Date for the data.

  • Now select which type of sensor is available at that location. Is it a Low-cost Sensor or Reference Grade monitor?

  • Finally, select the parameters from the list of Core and Additional Parameters which you wish to download from that particular location and click on Download Selection. The file will be saved in your local disk in .csv format.

Download data - AirNow

  • Select the desired city and the parameters.

  • Now go to the Historical sub-menu on the Homepage and download the desired file.

App usage

  • Select the source from where the data was downloaded.

  • Now select the time resolution at which the data was downloaded.

  • Select the check box according to your need.

    • Remove Negative values- Negative values do not represent concentration,they represent missing values, so it is always advised to remove them.This option helps you to remove all the negative values from your entire data set.

    • Remove duplicate consecutive values- Sometimes when the instrument breaks down, it tends to show exactly same consecutive values, it is advised to remove these as well. This feature removes consecutive repetitive values in your data set.

    • Specify a multiple (X) to remove outliers based on Mean and SD- If you want to clean your data set based on outliers, not usually necessary, use only if you want to remove outliers based on Mean and Standard Deviation values.

    • Specify % of data completeness for computing daily mean values- If you are looking for entire/complete data set to be present for analysis and not less, you can use this to select the desired level of completeness in a day using the scroll bar.

    • Remove PM2.5 and PM10 above- Usually, values above 9999 are incorrect, also because the instruments usually measure only to 999 values in PM instruments. This can be removed using this filter option.

  • Output aggregation- The uploaded data can be converted into daily or hourly mean values.

  • "Download as csv" or click on "Show Data" to see the data in the app.

  • Look at the time series of pollutant concentrations in the Plots tab (time series are plots with x axis representing time). Do you see patterns? Are there times of the month or times of the day where concentrations are particularly higher or lower? Are there particular months in a year that are more polluted than others?
  • Think about sources in the particular location: traffic, industries, garbage burning, etc.
  • What more do you want to learn? Talk to the Humans of ILK.

App tabs

File tab
  • Displays the data after cleaning process.

Summary tab
  • Displays the summary statistics for daily, monthly or for the entire data set.

Summary Plots tab
  • generates time series, box plot, and diurnal plot of the selected parameter.

  • Data availability plot of all the pollutants after the cleaning process can be generated.

  • The parameter to plot and the data aggregation options are available.

  • Options to edit the Title and axis labels are available.

  • Time-series plot

  • Month and year box plot

  • Monthly box plot

  • Vertical bar plot

  • Diurnal pot using hourly values - has two types using all data or distributed month wise. There is an option to plot point and bars as Median and IQR respectively or Mean and Standard Deviation. The data used for plotting can be downloaded as csv file.

Statistical Plots tab
  • Tests for normality, pattern and generates density plot, qq plot of the selected parameter.

  • Using a selected parameter and aggregation methods, normality test using the Anderson Darling test (for N > 500) or Shapiro-Wilk test can be conducted.

  • Density plot

  • Q-Q plot

  • Trend Analysis is also available for daily values. For trend analysis using Mann-Kendall test we use mk.test. For imputing values in the discontinuous data set we use forecast package. For continuous wavelet transform we use biwavelet package. In periodicity analysis, the contours covered by black lines represent the significant periodicity at 95% significant 519 level.

Linear Regression tab
  • There is an option of plotting linear regression plots between various parameters available.

  • Also multi linear regression can be performed.

Compare tab
  • Allows user to upload data from another site for comparison and generate time series and a scatter plot between parameters selected from different sites.

  • There are options to generate time series, scatter plot / linear regression and diurnal plots for both the sites.

openair tab
  • allows users use the package's widely used functions for the selected parameter.

  • Calendar plot

  • Time variation plot

Installation

pollucheck is hosted online on shinyapps.io and can be installed to serve locally from GitHub.

Load and run pollucheck as follows:

install.packages("devtools")
devtools::install_github("adithirgis/pollucheck")
pollucheck::pollucheck_run()

pollucheck is furnished with a preloaded data set for a quick user tour of the analysis, plotting options and the functions available. In the Compare tab, the preloaded data set acts as the second input file if no second file is uploaded.

Community guidelines

  1. Contribute to the software

  2. Report issues or problems with the software / Seek Support

  1. Contributors must adhere to the Code of Conduct.

  2. We are happy to incorporate more features based one what users need. Write to us at [email protected].

Author credit statement

Adithi R. Upadhya created the package, Meenakshi Kushwaha supervised and will maintain. Pratyush Agrawal contributed to designing, testing the app and data collection while Sreekanth Vakacherla designed and supervised. All the authors contributed to the manuscript.

pollucheck's People

Contributors

adithirgis avatar danielskatz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.