There are thousands of sensors around the city. You can get a sense of shade-vs-sun temperatures by the spread of numbers you see (on cloudy days, the reported temperatures will be much closer together, while on sunny days, sensors in the sun will report elevated temperatures.)
You do need to make sure to disable indoor sensors, and keep in mind that some sensors are faulty. (I've seen some that have been reporting a constant temperature for years.)
or just click the buttons that accomplish the same thing. The point is someone at PurpleAir is asleep at the wheel if such an obvious default configuration isn't being set. If they can't get such a basic thing right, why do we trust anything else from them? "Anything else" specifically including "running their software on a raspberry pi inside my home network".
I use Mr Chilly to demonstrate to non-SF folks how many microclimates SF (and the Bay Area has).
Only suggestion: separate Inner and Outer Sunset since there can be a massive difference between near Ocean Beach and near Irving/9th Ave in autumn (ie. SF's hottest season).
Edit: nevermind, just saw both inner_sunset and outer_sunset in /neighborhoods. I'd assumed it was merged based on the human readable list on the landing page. Thanks for the fun API!
I use PurpleAir data for a lot of my home automations— I have a smart window vent and configure it to blow in/out depending on which side has the worse air.
(Thank you to those who maintain public sensors!)
I do notice that in my neighborhood (Noe Valley) a lot of the sensors are very incorrect or often offline. I've resorted to taking the median and throwing outliers away, but even this often doesn't work. This is the challenge of relying on crowdsourced data I suppose...
An interesting problem with self-reported temperature is that people just put their outdoor sensors inside for some reason or near an ambient heat source; also in neighborhoods with tall buildings, it's a bit colder higher up, so the balcony readers are a bit off from sidewalk temperature, it is interesting to see though that one block from another is super different in temp, is it because it's actually different or is there something heating/cooling the sensor off randomly
note that I also have a system where if the temperature seems outlier compared to direct neighbors it averages the 3 nearest neighbors. this usually occurs in neighborhoods with a single sensor that can skew the results heavily at certain times of the day, etc.
There are thousands of sensors around the city. You can get a sense of shade-vs-sun temperatures by the spread of numbers you see (on cloudy days, the reported temperatures will be much closer together, while on sunny days, sensors in the sun will report elevated temperatures.)
You do need to make sure to disable indoor sensors, and keep in mind that some sensors are faulty. (I've seen some that have been reporting a constant temperature for years.)
I don't understand why it includes indoor sensors at all let alone by default. Why would I want to know the temperature inside some random building?
Add location_type=0 to only get outdoor sensors
Mr. Chilly is one of those niche apps that sparks joy and reminds me of the early app days.
It's an excellent iOS app: https://mr-chilly.com/
My goal was to do something similar as a Claude Code skill
Only suggestion: separate Inner and Outer Sunset since there can be a massive difference between near Ocean Beach and near Irving/9th Ave in autumn (ie. SF's hottest season).
Edit: nevermind, just saw both inner_sunset and outer_sunset in /neighborhoods. I'd assumed it was merged based on the human readable list on the landing page. Thanks for the fun API!
Usually what I want the weather for is to choose what to wear, not to put in a bash script or an LLM or something.
Made it in about 5 minutes with v0.
https://v0-weather-app-one-coral.vercel.app/
Surprisingly, Lands End is the highest temp right now.
Kinda neat!
(Thank you to those who maintain public sensors!)
I do notice that in my neighborhood (Noe Valley) a lot of the sensors are very incorrect or often offline. I've resorted to taking the median and throwing outliers away, but even this often doesn't work. This is the challenge of relying on crowdsourced data I suppose...
Hacked together an SF parks ranking system based on current weather
https://sfparks.nathanflurry.com/
note that I also have a system where if the temperature seems outlier compared to direct neighbors it averages the 3 nearest neighbors. this usually occurs in neighborhoods with a single sensor that can skew the results heavily at certain times of the day, etc.
Is that the source of the data?
You should use Purple Air if you want to make it more focused https://www2.purpleair.com/