Show HN: SF Microclimates

53 pointsposted 12 days ago
by weisser

36 Comments

meatmanek

12 days ago

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

why_at

12 days ago

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?

weisser

12 days ago

> I don't understand why it includes indoor sensors at all let alone by default.

Add location_type=0 to only get outdoor sensors

fragmede

12 days ago

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

roughly

11 days ago

Because PurpleAir is not a weather service, they’re a sensor company.

BigBalli

6 days ago

The project is using PurpleAir data.

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

650REDHAIR

12 days ago

I use that and Mr. Chilly.

Mr. Chilly is one of those niche apps that sparks joy and reminds me of the early app days.

weisser

12 days ago

This was directly inspired by Mr Chilly which was designed by my friend Anna Bleker.

It's an excellent iOS app: https://mr-chilly.com/

My goal was to do something similar as a Claude Code skill

jonpurdy

11 days ago

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!

weisser

11 days ago

thanks I will update the homepage to reflect this.

why_at

12 days ago

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.

graupel

6 days ago

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

forthwall

12 days ago

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

kfarr

6 days ago

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.

quesera

6 days ago

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

brdd

11 days ago

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

ramraj07

7 days ago

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

lubujackson

11 days ago

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

weisser

11 days ago

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.

lukevp

12 days ago

This happens in Portland as well! Can this be adapted/updated to work here?

weisser

12 days ago

Fork the Github! Would love to see it elsewhere :)

x3n0ph3n3

12 days ago

Multiple neighborhoods have no data, including Lakeside and Stonestown.

weisser

12 days ago

Good flag. I've just added add fallback to the nearest location with a sensor to the repo.

spicycorncheese

12 days ago

Is it possible to get individual sensor data via this API?

weisser

12 days ago

no I made this primarily for a Claude Code / Clawdbot skill so I am not making it super sophisticated.

You should use Purple Air if you want to make it more focused https://www2.purpleair.com/

baby

12 days ago

Can you do celsius