Given the wide variability of where my smartphone is at any particular moment, I really wonder how good any data it produces can get. I think forecast.io / Dark Sky handle this problem well - use standard data sources but combine them with user data to make things more accurate.