Data
I used the CRUTS data set (you might have heard of HadCRUT...it's the CRUT in that) for everything in this except for humidity. I used NASA's dataset for humidity.
Methodology
The process has a massive number of steps, so I'll just provide a basic summary:
- calculate the monthly average for each variable from 1990 - 2009 at each lat/lon location
- use bilinear interpolation with each city's lat/lon location to get the monthly averages for each variable for each city; fallback to nearest neighbor and repeat for invalid data
- using something very similar to a RSS equation for each variable, calculate for all combinations of cities with a variety of weighting terms to scale all errors to be roughly the same scale
- adjust the weighting so that it's roughly 30% how hot it gets, 30% how cold it gets, 20% how much it rains, 10% how sunny it is, and 10% how humid it is; to handle north and south of the equator being flipped, each variable is sorted and the sorted lists are compared
- for each city, calculate the error comparing with ever other city using the equation determined in the previous steps, and rank these
- remove cities that are too close together from the rankings for each city so that you get an interesting spread (e.g., no one cares if two cities 5 miles apart have similar climates); the radius I picked is roughly the size of New York and Pennsylvania put together
City List
I have ~1100 cities at the time of writing. I started with a list of the largest cities in the world, mapped them, and then started filling in gaps in the map. I added a lot more once I found that a few cities that I tested had no good matches. I think I have pretty decent coverage at this point, and almost every major population center on Earth should be within 50 miles or so of a city in this tool.
My Favorites
So this is actually a tool I've wanted forever and was the original reason I started this site, so I've played with it a lot. My favorite random similar cities are:
- Iquitos, Peru and Timika, Indonesia
- Lviv, Ukraine and Muskegon (Michigan), USA
- Salt Lake City (Utah), USA and Tblisi, Georgia
- Panama City, Panama and Manila, Phillipines
Feeback
If you want this tool to do other stuff or you find bugs, feel free to let me know in the comments. I had the ability to pick the cities using the map, but it was kind of hard to use and I couldn't figure out a better way to do it. It worked well for ~50 cities, but above that became annoying. I also only tested this on a ZenFone so it might be awful on mobile.
In case you missed the link at the top, it is here:
http://cityprojections.com/CompareCityClimates.html
In case you missed the link at the top, it is here:
http://cityprojections.com/CompareCityClimates.html
This is a really awesome tool. Do you know if there are other tools like it with broader coverage, or is there some way to add more locations? I live near Twentynine Palms, California. You don't have enough desert cities in the US, Mexico, Iran, Iraq, India, and elsewhere for me to make accurate comparisons. The closest city in your database to my climate is Yuma AZ -- which is interesting, but not close enough for me to find a true "sister city" somewhere else on earth.
ReplyDeleteHi, it would be great to be able to start with a graph, adjust it, and have it report back the closest match.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI'd like to be able to compare this data for cities that do not necessarily match.. would it be possible to just search for two cites and view the comparison between them?
ReplyDelete