For “worldwide” use the US EPA standard is used.
That is the one most often used to compare pollution levels in different areas/countries.
BUT every country or region such as Canada or European ones can use their own local standard for their own measurements.
Not to compare with others but to stress the airquality changes / risks.
Based on user requests I added those calculations for Ierland, Belgium, Netherlands as an extra to the US.
Trying to cope with those local “standards” becomes tricky when a country does not use PM2.5 but solely PM10 as a PM10 level often shows a better AQ compared to PM2.5
As long as a weather-program supplies the AQ-EPA and the particle count anyone can do the calculations at their website.
Be aware, the colours used are also very different.
At least all countries use the average 24 hour values for the health effects.
Never ever one should use the realtime measurement to give health effects texts or an “officially looking” AQindex.
I post the arrays used for different countries and the links to their documentation.
# Belgium http://www.irceline.be/nl/luchtkwaliteit/metingen/belaqi-luchtkwaliteitsindex/informatie
$thrshld_aq = array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 99999);
$thrshld_pm10 = array (0, 10, 20, 30, 40, 50, 60, 70, 80, 100, 500, 99999);
$thrshld_pm25 = array (0, 5, 10, 15, 25, 35, 40, 50, 60, 70, 500, 99999);
# Ierland http://www.epa.ie/air/quality/
$thrshld_aq = array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 99999);
$thrshld_pm10 = array (0, 16, 33, 50, 58, 66, 75, 83, 91, 100, 500, 99999);
$thrshld_pm25 = array (0, 11, 23, 35, 41, 47, 53, 58, 64, 70, 500, 99999);
# Netherlands https://www.luchtmeetnet.nl/uitleg
$thrshld_aq = array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 99999);
$thrshld_pm10 = array (0, 10, 20, 30, 45, 60, 75, 100, 125, 150, 200, 99999);
$thrshld_pm25 = array (0, 10, 15, 20, 30, 40, 50, 70, 90, 100, 140, 99999);
# default US https://www.airnow.gov/index.cfm?action=aqibasics.aqi
$thrshld_aq = array (0, 50, 100, 150, 200, 300, 500, 99999);
$thrshld_pm10 = array (0, 54, 154, 254, 354, 424, 604, 99999);
$thrshld_pm25 = array (0.0, 12.0, 35.4 ,55.4, 150.4, 250.4, 500.4, 99999);
Here you can check my realtime measurements: AQ Luftdaten sensor - Leuven-Sluispark
Wim
P.S. The complete script which can be used stand-alone and in most templates. Check it here: https://leuven-template.eu/luftdaten/