A library to convert between AQI value and pollutant concentration (µg/m³ or ppm)
Project description
A library to convert between AQI value and pollutant concentration (µg/m³ or ppm) using the following algorithms:
United States Environmental Protection Agency (EPA)
China Ministry of Environmental Protection (MEP)
Central Pollution Control Board (CPCB) India
Forked from python-aqi library
Changes from the original library
Added CPCB AQI Calculation
Added IEMA Brazil AQI Calculation
Added Kuwait AQI
Added Unit Conversion Functions
Added Exception Handling (returns the number or NaN back if it can’t convert)
Install
$ pip install aqicalc
Usage
Library
NOTE: Different standards use different units for calculating AQI, use the appropriate units to get correct results. Examples for getting the units for each standards as well as unit conversion is avaiable (examples soon!)
Convert a pollutant to its IAQI (Intermediate Air Quality Index):
import aqicalc as aqi myaqi = aqi.to_iaqi(aqi.POLLUTANT_PM25, '12', algo=aqi.ALGO_EPA)
Get an AQI out of several pollutant concentrations, default algorithm is EPA:
import aqicalc as aqi myaqi = aqi.to_aqi([ (aqi.POLLUTANT_PM25, '12'), (aqi.POLLUTANT_PM10, '24'), (aqi.POLLUTANT_O3_8H, '0.087') ])
Convert an IAQI to its pollutant concentration:
import aqicalc as aqi mycc = aqi.to_cc(aqi.POLLUTANT_PM25, '22', algo=aqi.ALGO_EPA)
Command line
List supported algorithms and pollutants:
$ aqi -l aqi.algos.epa: pm10 (µg/m³), o3_8h (ppm), co_8h (ppm), no2_1h (ppb), o3_1h (ppm), so2_1h (ppb), pm25 (µg/m³) aqi.algos.mep: no2_24h (µg/m³), so2_24h (µg/m³), no2_1h (µg/m³), pm10 (µg/m³), o3_1h (µg/m³), o3_8h (µg/m³), so2_1h (µg/m³), co_1h (mg/m³), pm25 (µg/m³), co_24h (mg/m³)
Convert PM2.5 to IAQI using EPA algorithm:
$ aqi aqi.algos.epa pm25:12 50
Convert PM2.5 to IAQI using EPA algorithm (full length):
$ aqi -c aqi aqi.algos.epa pm25:12 50
Convert pollutants concentrations to AQI using EPA algorithm:
$ aqi aqi.algos.epa pm25:40.9 o3_8h:0.077 co_1h:8.4 114
Convert pollutants concentrations to AQI using EPA algorithm, display IAQIs:
$ aqi -v aqi.algos.epa pm25:40.9 o3_8h:0.077 co_1h:8.4 pm25:102 o3_8h:104 co_1h:90 114
Convert PM2.5 IAQI to concentration using EPA algorithm:
$ aqi -c cc aqi.algos.epa pm25:39 pm2.5:9.3
Development
To install the development environment:
$ pip install -r dev_requirements.txt
Test
Test the package:
$ python -m unittest discover
Automatic testing in various environments:
$ tox
Release
Use bumpr to release the package:
$ bumpr -b -m
Project
Resources
EPA AQI: Technical Assistance Document for the Reporting of Daily Air Quality – the Air Quality Index (AQI) December 2013) found at http://www.epa.gov/airnow/aqi-technical-assistance-document-dec2013.pdf
National Ambient Air Quality Standards for Particulate Matter found at http://www.gpo.gov/fdsys/pkg/FR-2013-01-15/pdf/2012-30946.pdf
MEP AQI:
GB3095—2012 (2012/02/29) found at http://www.mep.gov.cn/gkml/hbb/bwj/201203/t20120302_224147.htm
HJ633-2012 (2012/02/29) found at http://www.zzemc.cn/em_aw/Content/HJ633-2012.pdf
Kuwait AQI : https://enterprise.emisk.org/eMISKAirQuality/#/KAQI
CAQI : https://www.airqualitynow.eu/download/CITEAIR-Comparing_Urban_Air_Quality_across_Borders.pdf
License
aqicalc is published under a BSD 3-clause license, see the LICENSE file distributed with the project.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aqicalc-0.0.8.1.tar.gz
.
File metadata
- Download URL: aqicalc-0.0.8.1.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf8c43fc20b4c0d610ecc0dff1f4ba301e9bf91460b4cab0eac51b61a25af24b |
|
MD5 | 5b7b1d8af27c3e2ed2d42e26c6b336fe |
|
BLAKE2b-256 | 17468469fa89075ab91afd46682326b623d2541d4d2aa05cf6f088d59934140b |
File details
Details for the file aqicalc-0.0.8.1-py3-none-any.whl
.
File metadata
- Download URL: aqicalc-0.0.8.1-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12d3b97a0d9de2b6d1c973f47c6e26b19e2cc8b63ae9ff8dc614c7ed1ac92c65 |
|
MD5 | b0de412e965d83a1e1f7f5f8149158f1 |
|
BLAKE2b-256 | 4948aa0148956b1c4d9e9fd0a065520455db7d62dab758db7029325523e95a83 |