more robust sun tracker can support more cities, user specified colors