My lifestyle has changed dramatically over the past week, ever since the Sumatra-peatland-fire-inspired haze has enshrouded Singapore. It’s actually an annual phenomenon in Singapore, but somehow this year, the haze situation has deteriorated quickly. We’ve hit record PSI readings. I’ve cancelled and rescheduled meetings when the haze hits 300 and above. My family and I have cooked and eaten in almost exclusively. My 19-month old son hasn’t stepped out of the door and has seen more of our Sharp Plasmacluster Ion air purifier (operating at full tilt) and air conditioner than his parents. I’ve succumbed to wearing the N95 mask each time I step out of the house. The above are the only actions I can take against something which I can’t do much about.

Or can we?

This image was captured by Nasa's Moderate Resolution Imaging Spectroradiometer at 2.30pm on Wednesday, June 19, 2013. -- PHOTO: NASA

This image was captured by Nasa’s Moderate Resolution Imaging Spectroradiometer at 2.30pm on Wednesday, June 19, 2013. — PHOTO: NASA

And so I lobbed an idea of a “HazeCast” network to my old friends from Tinkertanker whom I’ve known since I was 13. We’ve been kicking the cans around getHacking for the past few weeks but never really got going. I threw out the gauntlet for us to build an open source air quality sensor prototype, initially providing readings for PM10 and PM2.5, and assembling enough of them to form a citizen-led air quality sensor network. I was inspired by what Joi, bunnie and Sean did with SafeCast, and figured an open source community-led Collaborative Economy approach would also work great here. Other similar projects (e.g. AirQualityEgg) have been mooted and worked on elsewhere in the world, so we’re certainly not the first to try. The tech looked simple enough. We huddled for some planning, bought the components (dust sensor, amongst others) for an initial production of ~20 sensor modules, and hope to have something to show in the next week or two.

It’s not that the National Environment Agency (NEA) isn’t giving us data. Since the onset of the seasonal haze, NEA has moved towards publishing more data on the severity of the haze, via hourly 3-hour PSI readings and 24-hour PSI readings. The Singapore Government has also acted decisively in the form of setting up the Haze Inter-Ministerial Committee, the Prime Minister’s remarks, then with Minister Vivien Balakrishnan hand-delivering PM Lee’s letter to his Indonesian counterpart, and today, with the statement that they will be giving away 1 million N95 masks to 200,000 low-income households and ensuring supply of said masks. Big deal, and good job, but I’m sure you can do better.

The Singapore Government is trying really hard and acting decisively in such trying times, which is great, but I think the good intentions of our government to give us their version of air quality is still not instilling enough trust amongst the citizenry. What we’re all crying out for is real-time or near-real-time data of air quality from a published list of air quality monitoring stations, displayed against official metrics as prescribed by the authorities with rationale for their metrics explained in simple language. Singapore’s PSI is based off US EPA’s old standards, which US themselves no longer use, and does not take into account PM2.5, which in my opinion is the most significant and hazardous component of our haze. NEA tries to deal with this by publishing 3-hour PSI and PM2.5 concentrations separately, and applies a 3-hour weighted moving average function to their readings. Someone has reverse-engineered NEA’s MA function for its 3-hour PSI in this Gdoc spreadsheet, and it shows a 50%(current)-33.33%(last)-16.67%(previous before last) weight. It seems like a sensible formula, but I’d also love to see a 1-hour PSI reading with an aggregate weighted moving average reading for each 15-minute block, say with a 50%-30%-15%-5% weight, for a more accurate “real-time” reading.

Update: NEA has re-organised its presentation of air quality data, i.e. streamlined front page on NEA and more granular historic PSI readings, but have firmly re-focused on 24-hour aggregate readings for the most part. I can’t remember if 3-hour PM2.5 readings used to be there (I think so), but I can’t find it anywhere now; sneaky!

As per their haze FAQ, NEA appears to be presenting its PSI and PM2.5 readings from a “telemetric network of air monitoring stations strategically located in different parts of Singapore” (question 1). Singapore’s PSI zones are also segregated into 5 (N, S, E, W and Central), but as the FAQ explains, the zones are split the same as for weather reporting, as per the town centres of major population centres in Singapore. From the FAQ, I can’t tell how many air sensor inputs NEA is basing its PSI off, and a less-informed individual may erroneously link question 1 with question 4 and assume that there are air sensor monitoring stations in all the listed town centres as per NEA’s response to question 4. A quick look at NEA’s Singapore Weather website reveals weather data from 54 stations, though it’s not clear which of those also have equipment for air quality monitoring.

Comparison between 1-hr & 3-hr PSI readings - Photo credit: Harinderpal S Grewal’s Facebook Page

Comparison between 1-hr & 3-hr PSI readings; note the smoothening effects a moving-average function has – Photo credit: Harinderpal S Grewal’s Facebook Page

More transparency is needed, and instead of lobbying or waiting for the government to take action, join us as we attempt to build HazeCast, a citizen-owned alternative air quality monitoring network. We’ll start with 20 modules, but could possibly rope as many households and individuals as we can keep up, to add to the accuracy and density of our hyperlocal data.

We’ll post updates as we make progress. Stay tuned!

About James Chan

James Chan is an entrepreneur, investor, geek, photographer and husband/father based out of Singapore. Apart from frequent travels to Vietnam, Myanmar and Indonesia for work, James can also be found online via his trusty 15″ Retina MacBook Pro or iPhone 6+.