Skip to main content

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)

license BSD 3-Clause

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

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

aqicalc-0.0.8.1.tar.gz (12.5 kB view hashes)

Uploaded Source

Built Distribution

aqicalc-0.0.8.1-py3-none-any.whl (13.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page