Show HN: SF Microclimates

14 days ago (github.com)

https://microclimates.solofounders.com/

My favorite weather map for SF is PurpleAir: https://map.purpleair.com/environment-estimated-temerature-f...

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.)

  • This one is neat, I might actually use it.

    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?

    • The project is using PurpleAir data.

      Footer should say "Data from PurpleAir API" instead of "Data from SF Microclimates API"...

It seems weird to me that there's no human readable version on the webpage?

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.

As a Meteorologist, I love this! There is one little thing to be aware of with using Purple Air for temperatures, though, as their primary purpose is AQI not temp, all temp data comes with this disclaimer. That said, everything is still at lease directionally accurate.

"Temperature, estimated using a formula temp = 1.0227 * raw_temp_f - 9.3755 developed by Lance Wallace to account for heat generated by the WiFi module and other electronics in a PurpleAir sensor. This will not be accurate for all situations. More information can be found in Lance Wallace's notes."

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

  • Yeah it’s not accurate at all. Not the OPs fault but the purpleair sensors are placed by users. Right now it says fidi is 9° warmer than haight. Plausible, but it could also be the only 1 sensor reporting from fidi is on a balcony near a drier vent.

    • More than plausible, for 8am on a January morning!

      I used to ride a motorcycle every day from the Haight (home) to the Financial District (work), and the temperature grade changes were palpable.

      Your point is also completely correct, of course. :)

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...

  • If your MEDIAN is biased, and there are 10+ inputs, the data is fundamentally garbage and biased.

    • it's meant to throw out crazy low or crazy high numbers. i monitor 5 nearby stations and usually only 1-2 of them are bad (which is tolerable but not ideal).

Love the idea, but tried "japantown" which is mentioned in the README but doesn't exist in the app? https://microclimates.solofounders.com/sf-weather/japantown

  • thanks for catching this. just fixed.

    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.