/aqi

Air Quality Index - get AQI from chemicals concentration levels (ug/m3, ppm, ppb). Also some remarks on aqicn.org and WIOŚ.

Primary LanguagePython

AQI (Polski)

Narzędzie do wyliczania Air Quality Index (AQI) na podstawie stężeń substancji (ug/m3, ppm, ppb).

Narzędzie powstało, ponieważ niektórzy specjaliści twierdzą, że wartości dostępne w serwisie aqicn.org są nieprawidłowe i chciałem to sprawdzić samodzielnie. Serwis ten dla każdej z substancji wylicza AQI na podstawie poziomów wyrażonych w ug/m3 pochodzących z warszawskiego WIOŚ.

Na stronach aqicn.org znajduje się ciekawy artykuł o różnicach między skalami -- między innymi między amerykańskim AQI od EPA oraz IJP używanym przez WIOŚ.

Sprawdź proszę samodzielnie i daj znać o błędach. Niektóre wyliczone wartości mogą się nieco różnić -- wydaje mi się, że może to być spowodowane odmiennym sposobem uśredniania lub inną metodą konwersji ug/m3 na ppm.

Stacje WIOŚ

Warszawa PM2.5 PM10 O3 NO2 SO2 CO
Komunikacyjna X X X X
Marszałkowska X X X X
Targówek X X X X X X
Ursynów X X X X X

Obecność czujnika na danej stacji zaznaczona przez "X". Podano tylko te substancje, które uwzględnia aqicn.org. Serwis ten podaje poziom wszystkich 6 substancji dla każdej lokalizacji, więc dla niektórych z nich musi to być wartość szacunkowa.

Dane aqicn.org vs WIOŚ vs GIOŚ

Otrzymałem odpowiedź na skierowane do WIOŚ zapytanie o źródło twierdzenia, że aqicn.org podaje błędne dane. Najwyraźniej WIOŚ przeliczył swoje dane na AQI, a następnie wyrywkowo porównał z danymi prezentowanymi przez chiński serwis. Porównanie potwierdziło występowanie znacznych różnic, więc nie jest to jedynie problem innych jednostek. WIOŚ zwrócił również ponownie uwagę na fakt, że stacja Krucza jest od dawna wyłączona. Serwis aqicn.org odnotował już ten fakt i oznaczył stację w specjalny sposób.

W międzyczasie odkryłem, że serwis WIOŚ oparty o CMS Made Simple co jakiś czas zwraca błędne dane (dla innej stacji, daty, zestawu substancji). Prawdopodobnie wynika to z błędnego działania pamięci podręcznej CMS-a. Sytuację można łatwo rozpoznać po tym, że w źródle pojawia się fraza:

<!-- Generated in 0.91902 seconds by CMS Made Simple 0.10.3 (cached) using 11 SQL queries -->

zamiast:

<!-- Generated in 0,92187 seconds by CMS Made Simple 0.10.3 (not cached) using 18 SQL queries -->

WIOŚ i aqicn.org zostali poinformowani o błędzie. WIOŚ obiecał przekazanie informacji swoim informatykom.

Serwis aqicn.org potwierdził, że problem wpłynął na prezentowane przezeń dane. Pod koniec grudnia 2015 serwis wprowadził poprawkę opartą o wykrywanie przypadków, gdy strona WIOŚ serwowana jest z pamięci podręcznej. Poinformował również, że nigdy nie stosował interpolacji wartości dla brakujących czujników na podstawie danych z sąsiednich stacji w Warszawie. Obecność nieistniejących czujników i stacji wynikała jedynie z błędnego działania strony WIOŚ.

W międzyczasie aqicn.org rozpoczął prace nad przejściem na korzystanie z danych pochodzących z nowego portalu GIOŚ.

Dostępne substancje

  • ozon (O3),
  • pył zawieszony poniżej 10 mikronów (PM10),
  • pył zawieszony poniżej 2.5 mikrona (PM2.5),
  • tlenek węgla (CO),
  • dwutlenek siarki (SO2),
  • dwutlenek azotu (NO2).

Przykłady

$ ./aqi pm25 114.3
concentration = 114.30ug/m3
concentration = 114.30ug/m3
concentration = 114.30ug/m3, range 55.5-150.4ug/m3
AQI = 181, level 3 = Unhealthy, range 151-200

$ ./aqi no2 35.2
concentration = 35.20ug/m3
concentration = 18.72ppb
concentration = 18.72ppb, range 0-53ppb
AQI = 18, level 0 = Good, range 1-50

AQI (English)

A tool to calculate the Air Quality Index (AQI) from chemicals concentration levels (ug/m3, ppm, ppb).

This tool has been created because some specialists state that values available on aqicn.org are incorrect and I wanted to verify it. That site calculates AQI from ug/m3 levels for every chemical reported by the Varsovian WIOŚ.

On the aqicn.org site you can find a very interesting article about differences between scales -- specifically, the US EPA AQI and IJP used by WIOŚ.

Please check yourself and report bugs. Some calculated values differ a bit -- I suppose it may be due to a different averaging method or conversion between ug/m3 and ppm method.

WIOŚ stations

Warszawa PM2.5 PM10 O3 NO2 SO2 CO
Komunikacyjna X X X X
Marszałkowska X X X X
Targówek X X X X X X
Ursynów X X X X X

Availability of a sensor at a particular station is marked with "X". Only those chemicals which are reported by aqicn.org are included in the table. The site reports levels of all 6 chemicals for every location so for some of them they have be estimated values.

Data from aqicn.org vs WIOŚ vs GIOŚ

I received a reply to my inquiry to WIOŚ about the basis of the statement suggesting that aqicn.org publishes incorrect data. Apparently WIOŚ converted their data to AQI values and then compared a couple of them with data presented by the Chinese website. The comparison confirmed significant differences for some cases, so it wasn't just a problem of converting units. WIOŚ pointed out again that the Krucza station is long offline. The aqicn.org site has noted that and marked the station as being offline.

In the meantime I discovered that from time to time the WIOŚ site based on CMS Made Simple responds with incorrect data (wrong station, date, set of substances). Probably it's because of the faulty cache mechanism of the CMS. The situation is easily detectable by looking for the following phrase in the HTML source code:

<!-- Generated in 0.91902 seconds by CMS Made Simple 0.10.3 (cached) using 11 SQL queries -->

Instead of the following information when a response is correct:

<!-- Generated in 0,92187 seconds by CMS Made Simple 0.10.3 (not cached) using 18 SQL queries -->

WIOŚ and Aqicn.org have been notified about the bug. WIOŚ promised to notify their IT guys.

Aqicn.org confirmed that the bug influenced the data presented on their site. At the end of December 2015 the site applied a patch based on detection of cases when the WIOŚ site serves data from cache. Aqicn.org also informed that they have never interpolated values for missing sensors using data from nearby stations in Warsaw. Presence of nonexistent sensors and stations was caused solely by the bug on the WIOŚ site.

In the meantime aqicn.org started working on the transition to the new source of data, i.e. new GIOŚ portal.

Available chemicals

  • ozone (O3),
  • particulate matter under 10um (PM10),
  • particulate matter under 2.5um (PM2.5),
  • carbon monoxide (CO),
  • sulphur dioxide (SO2),
  • nitrogen dioxide (NO2).

Examples

$ ./aqi pm25 114.3
concentration = 114.30ug/m3
concentration = 114.30ug/m3
concentration = 114.30ug/m3, range 55.5-150.4ug/m3
AQI = 181, level 3 = Unhealthy, range 151-200

$ ./aqi no2 35.2
concentration = 35.20ug/m3
concentration = 18.72ppb
concentration = 18.72ppb, range 0-53ppb
AQI = 18, level 0 = Good, range 1-50