diff --git a/climate-analysis/.gitignore b/climate-analysis/.gitignore new file mode 100644 index 0000000..33fef0c --- /dev/null +++ b/climate-analysis/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.pyc +output/run.log diff --git a/climate-analysis/data/grid_scores.json b/climate-analysis/data/grid_scores.json new file mode 100644 index 0000000..ac6bbff --- /dev/null +++ b/climate-analysis/data/grid_scores.json @@ -0,0 +1,6308 @@ +{ + "metadata": { + "temp_range_f": [ + 65.0, + 74.0 + ], + "grid_step_deg": 2.0, + "source": "IDW interpolation from 48 reference climate stations" + }, + "points": [ + { + "latitude": -46.0, + "longitude": 168.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1895, + "avg_temp_f": 55.6 + }, + { + "latitude": -46.0, + "longitude": 170.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1895, + "avg_temp_f": 55.6 + }, + { + "latitude": -44.0, + "longitude": 170.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1895, + "avg_temp_f": 55.6 + }, + { + "latitude": -44.0, + "longitude": 172.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1897, + "avg_temp_f": 55.6 + }, + { + "latitude": -42.0, + "longitude": 172.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1904, + "avg_temp_f": 55.6 + }, + { + "latitude": -42.0, + "longitude": 174.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1896, + "avg_temp_f": 55.6 + }, + { + "latitude": -40.0, + "longitude": -72.0, + "livability": 0.1356, + "temp_score": 0.1491, + "mosquito_suitability": 0.0909, + "avg_temp_f": 57.3 + }, + { + "latitude": -40.0, + "longitude": -70.0, + "livability": 0.138, + "temp_score": 0.1513, + "mosquito_suitability": 0.0881, + "avg_temp_f": 57.4 + }, + { + "latitude": -40.0, + "longitude": -68.0, + "livability": 0.1416, + "temp_score": 0.1545, + "mosquito_suitability": 0.0834, + "avg_temp_f": 57.4 + }, + { + "latitude": -40.0, + "longitude": -66.0, + "livability": 0.2122, + "temp_score": 0.2305, + "mosquito_suitability": 0.0795, + "avg_temp_f": 57.5 + }, + { + "latitude": -40.0, + "longitude": 176.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1944, + "avg_temp_f": 55.8 + }, + { + "latitude": -38.0, + "longitude": -72.0, + "livability": 0.1332, + "temp_score": 0.147, + "mosquito_suitability": 0.0935, + "avg_temp_f": 57.3 + }, + { + "latitude": -38.0, + "longitude": -70.0, + "livability": 0.1356, + "temp_score": 0.1492, + "mosquito_suitability": 0.0909, + "avg_temp_f": 57.3 + }, + { + "latitude": -38.0, + "longitude": -68.0, + "livability": 0.1374, + "temp_score": 0.1508, + "mosquito_suitability": 0.0888, + "avg_temp_f": 57.4 + }, + { + "latitude": -38.0, + "longitude": -66.0, + "livability": 0.1395, + "temp_score": 0.1526, + "mosquito_suitability": 0.0862, + "avg_temp_f": 57.4 + }, + { + "latitude": -38.0, + "longitude": -64.0, + "livability": 0.2112, + "temp_score": 0.2296, + "mosquito_suitability": 0.0801, + "avg_temp_f": 57.5 + }, + { + "latitude": -38.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -38.0, + "longitude": 144.0, + "livability": 0.3198, + "temp_score": 0.3936, + "mosquito_suitability": 0.1876, + "avg_temp_f": 63.4 + }, + { + "latitude": -38.0, + "longitude": 146.0, + "livability": 0.2624, + "temp_score": 0.4714, + "mosquito_suitability": 0.4434, + "avg_temp_f": 64.0 + }, + { + "latitude": -38.0, + "longitude": 176.0, + "livability": 0.1559, + "temp_score": 0.2333, + "mosquito_suitability": 0.3317, + "avg_temp_f": 60.3 + }, + { + "latitude": -38.0, + "longitude": 178.0, + "livability": 0.1557, + "temp_score": 0.2276, + "mosquito_suitability": 0.3158, + "avg_temp_f": 59.8 + }, + { + "latitude": -36.0, + "longitude": -72.0, + "livability": 0.1328, + "temp_score": 0.1465, + "mosquito_suitability": 0.094, + "avg_temp_f": 57.3 + }, + { + "latitude": -36.0, + "longitude": -70.0, + "livability": 0.1374, + "temp_score": 0.1508, + "mosquito_suitability": 0.0888, + "avg_temp_f": 57.4 + }, + { + "latitude": -36.0, + "longitude": -68.0, + "livability": 0.1382, + "temp_score": 0.1515, + "mosquito_suitability": 0.0879, + "avg_temp_f": 57.4 + }, + { + "latitude": -36.0, + "longitude": -66.0, + "livability": 0.1383, + "temp_score": 0.1516, + "mosquito_suitability": 0.0877, + "avg_temp_f": 57.4 + }, + { + "latitude": -36.0, + "longitude": -64.0, + "livability": 0.1403, + "temp_score": 0.1534, + "mosquito_suitability": 0.0851, + "avg_temp_f": 57.4 + }, + { + "latitude": -36.0, + "longitude": -62.0, + "livability": 0.2122, + "temp_score": 0.2305, + "mosquito_suitability": 0.0795, + "avg_temp_f": 57.5 + }, + { + "latitude": -36.0, + "longitude": 140.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -36.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -36.0, + "longitude": 144.0, + "livability": 0.3157, + "temp_score": 0.3939, + "mosquito_suitability": 0.1986, + "avg_temp_f": 63.4 + }, + { + "latitude": -36.0, + "longitude": 146.0, + "livability": 0.2501, + "temp_score": 0.4722, + "mosquito_suitability": 0.4703, + "avg_temp_f": 64.1 + }, + { + "latitude": -36.0, + "longitude": 148.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.512, + "avg_temp_f": 64.2 + }, + { + "latitude": -36.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -36.0, + "longitude": 174.0, + "livability": 0.1559, + "temp_score": 0.2347, + "mosquito_suitability": 0.336, + "avg_temp_f": 60.4 + }, + { + "latitude": -34.0, + "longitude": -70.0, + "livability": 0.2097, + "temp_score": 0.2282, + "mosquito_suitability": 0.0812, + "avg_temp_f": 57.5 + }, + { + "latitude": -34.0, + "longitude": -68.0, + "livability": 0.1396, + "temp_score": 0.1528, + "mosquito_suitability": 0.086, + "avg_temp_f": 57.4 + }, + { + "latitude": -34.0, + "longitude": -66.0, + "livability": 0.1379, + "temp_score": 0.1512, + "mosquito_suitability": 0.0882, + "avg_temp_f": 57.4 + }, + { + "latitude": -34.0, + "longitude": -64.0, + "livability": 0.1387, + "temp_score": 0.152, + "mosquito_suitability": 0.0872, + "avg_temp_f": 57.4 + }, + { + "latitude": -34.0, + "longitude": -62.0, + "livability": 0.212, + "temp_score": 0.2303, + "mosquito_suitability": 0.0796, + "avg_temp_f": 57.5 + }, + { + "latitude": -34.0, + "longitude": 18.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -34.0, + "longitude": 20.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -34.0, + "longitude": 22.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -34.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -34.0, + "longitude": 118.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -34.0, + "longitude": 136.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -34.0, + "longitude": 138.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -34.0, + "longitude": 140.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -34.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1756, + "avg_temp_f": 63.4 + }, + { + "latitude": -34.0, + "longitude": 144.0, + "livability": 0.3107, + "temp_score": 0.3943, + "mosquito_suitability": 0.2121, + "avg_temp_f": 63.4 + }, + { + "latitude": -34.0, + "longitude": 146.0, + "livability": 0.2412, + "temp_score": 0.4728, + "mosquito_suitability": 0.4898, + "avg_temp_f": 64.1 + }, + { + "latitude": -34.0, + "longitude": 148.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -34.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -32.0, + "longitude": -70.0, + "livability": 0.1319, + "temp_score": 0.1457, + "mosquito_suitability": 0.095, + "avg_temp_f": 57.3 + }, + { + "latitude": -32.0, + "longitude": -68.0, + "livability": 0.1359, + "temp_score": 0.1494, + "mosquito_suitability": 0.0906, + "avg_temp_f": 57.3 + }, + { + "latitude": -32.0, + "longitude": -66.0, + "livability": 0.1361, + "temp_score": 0.1496, + "mosquito_suitability": 0.0904, + "avg_temp_f": 57.3 + }, + { + "latitude": -32.0, + "longitude": -64.0, + "livability": 0.1376, + "temp_score": 0.151, + "mosquito_suitability": 0.0885, + "avg_temp_f": 57.4 + }, + { + "latitude": -32.0, + "longitude": -62.0, + "livability": 0.2122, + "temp_score": 0.2305, + "mosquito_suitability": 0.0795, + "avg_temp_f": 57.5 + }, + { + "latitude": -32.0, + "longitude": 20.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -32.0, + "longitude": 22.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -32.0, + "longitude": 24.0, + "livability": 0.3084, + "temp_score": 0.402, + "mosquito_suitability": 0.2329, + "avg_temp_f": 62.5 + }, + { + "latitude": -32.0, + "longitude": 26.0, + "livability": 0.271, + "temp_score": 0.4099, + "mosquito_suitability": 0.3389, + "avg_temp_f": 63.1 + }, + { + "latitude": -32.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -32.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -32.0, + "longitude": 118.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -32.0, + "longitude": 120.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -32.0, + "longitude": 122.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -32.0, + "longitude": 124.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -32.0, + "longitude": 134.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -32.0, + "longitude": 136.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -32.0, + "longitude": 138.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -32.0, + "longitude": 140.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -32.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -32.0, + "longitude": 144.0, + "livability": 0.3018, + "temp_score": 0.3949, + "mosquito_suitability": 0.2358, + "avg_temp_f": 63.5 + }, + { + "latitude": -32.0, + "longitude": 146.0, + "livability": 0.2366, + "temp_score": 0.4731, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.1 + }, + { + "latitude": -32.0, + "longitude": 148.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -32.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -32.0, + "longitude": 152.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -30.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1008, + "avg_temp_f": 57.2 + }, + { + "latitude": -30.0, + "longitude": -68.0, + "livability": 0.0667, + "temp_score": 0.0737, + "mosquito_suitability": 0.0955, + "avg_temp_f": 57.3 + }, + { + "latitude": -30.0, + "longitude": -66.0, + "livability": 0.1338, + "temp_score": 0.1475, + "mosquito_suitability": 0.093, + "avg_temp_f": 57.3 + }, + { + "latitude": -30.0, + "longitude": -64.0, + "livability": 0.1375, + "temp_score": 0.1509, + "mosquito_suitability": 0.0887, + "avg_temp_f": 57.4 + }, + { + "latitude": -30.0, + "longitude": 18.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -30.0, + "longitude": 20.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -30.0, + "longitude": 22.0, + "livability": 0.3079, + "temp_score": 0.4023, + "mosquito_suitability": 0.2348, + "avg_temp_f": 62.6 + }, + { + "latitude": -30.0, + "longitude": 24.0, + "livability": 0.304, + "temp_score": 0.4839, + "mosquito_suitability": 0.3719, + "avg_temp_f": 63.2 + }, + { + "latitude": -30.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4898, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -30.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -30.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -30.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -30.0, + "longitude": 118.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -30.0, + "longitude": 120.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -30.0, + "longitude": 122.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -30.0, + "longitude": 124.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -30.0, + "longitude": 132.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -30.0, + "longitude": 134.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -30.0, + "longitude": 136.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -30.0, + "longitude": 138.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -30.0, + "longitude": 140.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -30.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -30.0, + "longitude": 144.0, + "livability": 0.2969, + "temp_score": 0.3952, + "mosquito_suitability": 0.2486, + "avg_temp_f": 63.5 + }, + { + "latitude": -30.0, + "longitude": 146.0, + "livability": 0.2312, + "temp_score": 0.4734, + "mosquito_suitability": 0.5117, + "avg_temp_f": 64.2 + }, + { + "latitude": -30.0, + "longitude": 148.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -30.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -30.0, + "longitude": 152.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -28.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1015, + "avg_temp_f": 57.2 + }, + { + "latitude": -28.0, + "longitude": -68.0, + "livability": 0.0653, + "temp_score": 0.0725, + "mosquito_suitability": 0.0989, + "avg_temp_f": 57.2 + }, + { + "latitude": -28.0, + "longitude": -66.0, + "livability": 0.1326, + "temp_score": 0.1464, + "mosquito_suitability": 0.0942, + "avg_temp_f": 57.3 + }, + { + "latitude": -28.0, + "longitude": -64.0, + "livability": 0.2122, + "temp_score": 0.2305, + "mosquito_suitability": 0.0795, + "avg_temp_f": 57.5 + }, + { + "latitude": -28.0, + "longitude": 16.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -28.0, + "longitude": 18.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -28.0, + "longitude": 20.0, + "livability": 0.3083, + "temp_score": 0.402, + "mosquito_suitability": 0.2329, + "avg_temp_f": 62.5 + }, + { + "latitude": -28.0, + "longitude": 22.0, + "livability": 0.2952, + "temp_score": 0.4859, + "mosquito_suitability": 0.3925, + "avg_temp_f": 63.3 + }, + { + "latitude": -28.0, + "longitude": 24.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -28.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -28.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -28.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -28.0, + "longitude": 32.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -28.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -28.0, + "longitude": 118.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -28.0, + "longitude": 120.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -28.0, + "longitude": 122.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -28.0, + "longitude": 124.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -28.0, + "longitude": 134.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -28.0, + "longitude": 136.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -28.0, + "longitude": 138.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -28.0, + "longitude": 140.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.3 + }, + { + "latitude": -28.0, + "longitude": 142.0, + "livability": 0.3242, + "temp_score": 0.3933, + "mosquito_suitability": 0.1755, + "avg_temp_f": 63.4 + }, + { + "latitude": -28.0, + "longitude": 146.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -28.0, + "longitude": 148.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -28.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -28.0, + "longitude": 152.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -26.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1053, + "avg_temp_f": 57.1 + }, + { + "latitude": -26.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1043, + "avg_temp_f": 57.1 + }, + { + "latitude": -26.0, + "longitude": 18.0, + "livability": 0.3089, + "temp_score": 0.4015, + "mosquito_suitability": 0.2307, + "avg_temp_f": 62.5 + }, + { + "latitude": -26.0, + "longitude": 20.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 22.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 24.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 32.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -26.0, + "longitude": 114.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -26.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -26.0, + "longitude": 118.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -26.0, + "longitude": 120.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -26.0, + "longitude": 122.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -26.0, + "longitude": 150.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -26.0, + "longitude": 152.0, + "livability": 0.231, + "temp_score": 0.4734, + "mosquito_suitability": 0.5121, + "avg_temp_f": 64.2 + }, + { + "latitude": -24.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -24.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -24.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -24.0, + "longitude": 20.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 22.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 24.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 32.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 34.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -24.0, + "longitude": 44.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -24.0, + "longitude": 46.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -24.0, + "longitude": 116.0, + "livability": 0.2469, + "temp_score": 0.3182, + "mosquito_suitability": 0.224, + "avg_temp_f": 66.4 + }, + { + "latitude": -22.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -22.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -22.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -22.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -22.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -22.0, + "longitude": 22.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 24.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 32.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 34.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -22.0, + "longitude": 44.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -22.0, + "longitude": 46.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -22.0, + "longitude": 48.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -20.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -20.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -20.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -20.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -20.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -20.0, + "longitude": 24.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 32.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 34.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -20.0, + "longitude": 46.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -20.0, + "longitude": 48.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -18.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": -60.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -18.0, + "longitude": 26.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -18.0, + "longitude": 28.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -18.0, + "longitude": 30.0, + "livability": 0.2846, + "temp_score": 0.4899, + "mosquito_suitability": 0.419, + "avg_temp_f": 63.6 + }, + { + "latitude": -18.0, + "longitude": 46.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -18.0, + "longitude": 48.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -16.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": -60.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -16.0, + "longitude": 40.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -16.0, + "longitude": 46.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -16.0, + "longitude": 48.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -14.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -14.0, + "longitude": 36.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -14.0, + "longitude": 38.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -14.0, + "longitude": 40.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -14.0, + "longitude": 48.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -14.0, + "longitude": 50.0, + "livability": 0.2825, + "temp_score": 0.5647, + "mosquito_suitability": 0.4998, + "avg_temp_f": 64.9 + }, + { + "latitude": -12.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": -62.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -12.0, + "longitude": 34.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -12.0, + "longitude": 36.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -12.0, + "longitude": 38.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -12.0, + "longitude": 40.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -10.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1749, + "avg_temp_f": 58.9 + }, + { + "latitude": -10.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1749, + "avg_temp_f": 58.8 + }, + { + "latitude": -10.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -10.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -10.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -10.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -10.0, + "longitude": -64.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.0064, + "avg_temp_f": 50.1 + }, + { + "latitude": -10.0, + "longitude": 32.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -10.0, + "longitude": 34.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -10.0, + "longitude": 36.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -10.0, + "longitude": 38.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -8.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.175, + "avg_temp_f": 58.8 + }, + { + "latitude": -8.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1749, + "avg_temp_f": 58.9 + }, + { + "latitude": -8.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1749, + "avg_temp_f": 58.9 + }, + { + "latitude": -8.0, + "longitude": 32.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8402, + "avg_temp_f": 78.5 + }, + { + "latitude": -8.0, + "longitude": 34.0, + "livability": 0.0119, + "temp_score": 0.0719, + "mosquito_suitability": 0.8348, + "avg_temp_f": 78.1 + }, + { + "latitude": -8.0, + "longitude": 36.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8388, + "avg_temp_f": 78.4 + }, + { + "latitude": -8.0, + "longitude": 38.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8401, + "avg_temp_f": 78.5 + }, + { + "latitude": -6.0, + "longitude": -80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1752, + "avg_temp_f": 58.8 + }, + { + "latitude": -6.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1753, + "avg_temp_f": 58.8 + }, + { + "latitude": -6.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1756, + "avg_temp_f": 58.8 + }, + { + "latitude": -6.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1755, + "avg_temp_f": 58.8 + }, + { + "latitude": -6.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1749, + "avg_temp_f": 58.9 + }, + { + "latitude": -6.0, + "longitude": 32.0, + "livability": 0.4253, + "temp_score": 0.8913, + "mosquito_suitability": 0.5229, + "avg_temp_f": 68.3 + }, + { + "latitude": -6.0, + "longitude": 34.0, + "livability": 0.1882, + "temp_score": 0.6266, + "mosquito_suitability": 0.6997, + "avg_temp_f": 72.9 + }, + { + "latitude": -6.0, + "longitude": 36.0, + "livability": 0.0411, + "temp_score": 0.221, + "mosquito_suitability": 0.8143, + "avg_temp_f": 76.9 + }, + { + "latitude": -6.0, + "longitude": 38.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8395, + "avg_temp_f": 78.5 + }, + { + "latitude": -6.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": -4.0, + "longitude": -80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1751, + "avg_temp_f": 58.8 + }, + { + "latitude": -4.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1751, + "avg_temp_f": 58.8 + }, + { + "latitude": -4.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1764, + "avg_temp_f": 58.7 + }, + { + "latitude": -4.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1775, + "avg_temp_f": 58.7 + }, + { + "latitude": -4.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1771, + "avg_temp_f": 58.7 + }, + { + "latitude": -4.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": -4.0, + "longitude": 32.0, + "livability": 0.3667, + "temp_score": 0.6124, + "mosquito_suitability": 0.4012, + "avg_temp_f": 65.3 + }, + { + "latitude": -4.0, + "longitude": 34.0, + "livability": 0.4014, + "temp_score": 0.7031, + "mosquito_suitability": 0.4291, + "avg_temp_f": 66.0 + }, + { + "latitude": -4.0, + "longitude": 36.0, + "livability": 0.3912, + "temp_score": 0.7204, + "mosquito_suitability": 0.4569, + "avg_temp_f": 66.7 + }, + { + "latitude": -4.0, + "longitude": 38.0, + "livability": 0.2842, + "temp_score": 0.7988, + "mosquito_suitability": 0.6442, + "avg_temp_f": 71.4 + }, + { + "latitude": -4.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": -2.0, + "longitude": -80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1759, + "avg_temp_f": 58.8 + }, + { + "latitude": -2.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1771, + "avg_temp_f": 58.7 + }, + { + "latitude": -2.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1819, + "avg_temp_f": 58.4 + }, + { + "latitude": -2.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1806, + "avg_temp_f": 58.4 + }, + { + "latitude": -2.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1771, + "avg_temp_f": 58.2 + }, + { + "latitude": -2.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": -2.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": -2.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": -2.0, + "longitude": 34.0, + "livability": 0.3672, + "temp_score": 0.6108, + "mosquito_suitability": 0.3988, + "avg_temp_f": 65.2 + }, + { + "latitude": -2.0, + "longitude": 36.0, + "livability": 0.3673, + "temp_score": 0.6103, + "mosquito_suitability": 0.3982, + "avg_temp_f": 65.2 + }, + { + "latitude": -2.0, + "longitude": 38.0, + "livability": 0.3671, + "temp_score": 0.6111, + "mosquito_suitability": 0.3993, + "avg_temp_f": 65.3 + }, + { + "latitude": -2.0, + "longitude": 40.0, + "livability": 0.3938, + "temp_score": 0.7169, + "mosquito_suitability": 0.4507, + "avg_temp_f": 66.6 + }, + { + "latitude": -2.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": -2.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.6 + }, + { + "latitude": 0.0, + "longitude": -80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1747, + "avg_temp_f": 58.1 + }, + { + "latitude": 0.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1737, + "avg_temp_f": 58.1 + }, + { + "latitude": 0.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1763, + "avg_temp_f": 58.2 + }, + { + "latitude": 0.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1844, + "avg_temp_f": 58.4 + }, + { + "latitude": 0.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1792, + "avg_temp_f": 58.2 + }, + { + "latitude": 0.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": 0.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": 0.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 0.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 0.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 0.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 0.0, + "longitude": 38.0, + "livability": 0.3673, + "temp_score": 0.6103, + "mosquito_suitability": 0.3981, + "avg_temp_f": 65.2 + }, + { + "latitude": 0.0, + "longitude": 40.0, + "livability": 0.3667, + "temp_score": 0.6125, + "mosquito_suitability": 0.4014, + "avg_temp_f": 65.3 + }, + { + "latitude": 0.0, + "longitude": 42.0, + "livability": 0.3646, + "temp_score": 0.6189, + "mosquito_suitability": 0.4109, + "avg_temp_f": 65.6 + }, + { + "latitude": 0.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 0.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 0.0, + "longitude": 110.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.6 + }, + { + "latitude": 2.0, + "longitude": -78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.18, + "avg_temp_f": 58.3 + }, + { + "latitude": 2.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.2131, + "avg_temp_f": 59.4 + }, + { + "latitude": 2.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1929, + "avg_temp_f": 58.7 + }, + { + "latitude": 2.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1876, + "avg_temp_f": 58.5 + }, + { + "latitude": 2.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1812, + "avg_temp_f": 58.2 + }, + { + "latitude": 2.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": 2.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 38.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 40.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 42.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 44.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 2.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 2.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 4.0, + "longitude": -76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.3265, + "avg_temp_f": 62.8 + }, + { + "latitude": 4.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1717, + "avg_temp_f": 57.9 + }, + { + "latitude": 4.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1844, + "avg_temp_f": 58.4 + }, + { + "latitude": 4.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1948, + "avg_temp_f": 58.7 + }, + { + "latitude": 4.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.172, + "avg_temp_f": 57.9 + }, + { + "latitude": 4.0, + "longitude": -66.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": 4.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 38.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 40.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 42.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 4.0, + "longitude": 98.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 4.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9794, + "avg_temp_f": 81.7 + }, + { + "latitude": 6.0, + "longitude": -76.0, + "livability": 0.3343, + "temp_score": 0.978, + "mosquito_suitability": 0.6581, + "avg_temp_f": 70.9 + }, + { + "latitude": 6.0, + "longitude": -74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.2958, + "avg_temp_f": 62.0 + }, + { + "latitude": 6.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.2229, + "avg_temp_f": 59.7 + }, + { + "latitude": 6.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.2244, + "avg_temp_f": 59.8 + }, + { + "latitude": 6.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1848, + "avg_temp_f": 58.4 + }, + { + "latitude": 6.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 6.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 6.0, + "longitude": 38.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 6.0, + "longitude": 40.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2 + }, + { + "latitude": 6.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.9793, + "avg_temp_f": 81.7 + }, + { + "latitude": 8.0, + "longitude": -78.0, + "livability": 0.363, + "temp_score": 0.9904, + "mosquito_suitability": 0.6335, + "avg_temp_f": 70.3 + }, + { + "latitude": 8.0, + "longitude": -76.0, + "livability": 0.3528, + "temp_score": 0.9866, + "mosquito_suitability": 0.6425, + "avg_temp_f": 70.5 + }, + { + "latitude": 8.0, + "longitude": -74.0, + "livability": 0.43, + "temp_score": 0.9913, + "mosquito_suitability": 0.5662, + "avg_temp_f": 68.7 + }, + { + "latitude": 8.0, + "longitude": -72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.3756, + "avg_temp_f": 64.1 + }, + { + "latitude": 8.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.2917, + "avg_temp_f": 61.9 + }, + { + "latitude": 8.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1922, + "avg_temp_f": 58.6 + }, + { + "latitude": 8.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8214, + "avg_temp_f": 83.5 + }, + { + "latitude": 10.0, + "longitude": -74.0, + "livability": 0.4234, + "temp_score": 0.9936, + "mosquito_suitability": 0.5738, + "avg_temp_f": 68.9 + }, + { + "latitude": 10.0, + "longitude": -72.0, + "livability": 0.4833, + "temp_score": 0.9344, + "mosquito_suitability": 0.4828, + "avg_temp_f": 66.7 + }, + { + "latitude": 10.0, + "longitude": -70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.3851, + "avg_temp_f": 64.3 + }, + { + "latitude": 10.0, + "longitude": -68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1701, + "avg_temp_f": 57.8 + }, + { + "latitude": 10.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 12.0, + "longitude": -72.0, + "livability": 0.3864, + "temp_score": 0.996, + "mosquito_suitability": 0.6121, + "avg_temp_f": 69.8 + }, + { + "latitude": 12.0, + "longitude": -70.0, + "livability": 0.3326, + "temp_score": 0.977, + "mosquito_suitability": 0.6596, + "avg_temp_f": 71.0 + }, + { + "latitude": 12.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 12.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 12.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 12.0, + "longitude": 108.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 14.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9 + }, + { + "latitude": 14.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 14.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 14.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 14.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 14.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 14.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 14.0, + "longitude": 108.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": -96.0, + "livability": 0.4752, + "temp_score": 0.7913, + "mosquito_suitability": 0.3995, + "avg_temp_f": 67.8 + }, + { + "latitude": 16.0, + "longitude": -94.0, + "livability": 0.4761, + "temp_score": 0.7908, + "mosquito_suitability": 0.3979, + "avg_temp_f": 67.8 + }, + { + "latitude": 16.0, + "longitude": -92.0, + "livability": 0.4752, + "temp_score": 0.7913, + "mosquito_suitability": 0.3994, + "avg_temp_f": 67.8 + }, + { + "latitude": 16.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9 + }, + { + "latitude": 16.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 16.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 16.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 16.0, + "longitude": 80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 16.0, + "longitude": 98.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 16.0, + "longitude": 108.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": -102.0, + "livability": 0.1148, + "temp_score": 0.1485, + "mosquito_suitability": 0.2267, + "avg_temp_f": 61.5 + }, + { + "latitude": 18.0, + "longitude": -100.0, + "livability": 0.1147, + "temp_score": 0.1482, + "mosquito_suitability": 0.2257, + "avg_temp_f": 61.4 + }, + { + "latitude": 18.0, + "longitude": -98.0, + "livability": 0.3657, + "temp_score": 0.5482, + "mosquito_suitability": 0.3328, + "avg_temp_f": 65.5 + }, + { + "latitude": 18.0, + "longitude": -96.0, + "livability": 0.4762, + "temp_score": 0.7908, + "mosquito_suitability": 0.3978, + "avg_temp_f": 67.8 + }, + { + "latitude": 18.0, + "longitude": -94.0, + "livability": 0.4789, + "temp_score": 0.7892, + "mosquito_suitability": 0.3931, + "avg_temp_f": 67.6 + }, + { + "latitude": 18.0, + "longitude": -92.0, + "livability": 0.4779, + "temp_score": 0.7898, + "mosquito_suitability": 0.395, + "avg_temp_f": 67.7 + }, + { + "latitude": 18.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9 + }, + { + "latitude": 18.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 18.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 18.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 18.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 18.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 18.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 18.0, + "longitude": 80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 18.0, + "longitude": 96.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": 98.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 18.0, + "longitude": 106.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 20.0, + "longitude": -104.0, + "livability": 0.1139, + "temp_score": 0.1458, + "mosquito_suitability": 0.2185, + "avg_temp_f": 61.1 + }, + { + "latitude": 20.0, + "longitude": -102.0, + "livability": 0.1141, + "temp_score": 0.1462, + "mosquito_suitability": 0.2199, + "avg_temp_f": 61.2 + }, + { + "latitude": 20.0, + "longitude": -100.0, + "livability": 0.1138, + "temp_score": 0.1456, + "mosquito_suitability": 0.218, + "avg_temp_f": 61.1 + }, + { + "latitude": 20.0, + "longitude": -98.0, + "livability": 0.1141, + "temp_score": 0.1464, + "mosquito_suitability": 0.2204, + "avg_temp_f": 61.2 + }, + { + "latitude": 20.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9 + }, + { + "latitude": 20.0, + "longitude": -76.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 20.0, + "longitude": 50.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 20.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 20.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 20.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 20.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 20.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 20.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 20.0, + "longitude": 80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 20.0, + "longitude": 96.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 20.0, + "longitude": 98.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 20.0, + "longitude": 100.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 20.0, + "longitude": 102.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 20.0, + "longitude": 104.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.8185, + "avg_temp_f": 83.5 + }, + { + "latitude": 22.0, + "longitude": -104.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 22.0, + "longitude": -102.0, + "livability": 0.1139, + "temp_score": 0.1458, + "mosquito_suitability": 0.2188, + "avg_temp_f": 61.1 + }, + { + "latitude": 22.0, + "longitude": -100.0, + "livability": 0.114, + "temp_score": 0.1461, + "mosquito_suitability": 0.2196, + "avg_temp_f": 61.2 + }, + { + "latitude": 22.0, + "longitude": -98.0, + "livability": 0.1145, + "temp_score": 0.1475, + "mosquito_suitability": 0.2238, + "avg_temp_f": 61.4 + }, + { + "latitude": 22.0, + "longitude": -84.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 22.0, + "longitude": -80.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 22.0, + "longitude": -78.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 22.0, + "longitude": -16.0, + "livability": 0.47, + "temp_score": 0.6256, + "mosquito_suitability": 0.2488, + "avg_temp_f": 69.1 + }, + { + "latitude": 22.0, + "longitude": -14.0, + "livability": 0.4699, + "temp_score": 0.6269, + "mosquito_suitability": 0.2503, + "avg_temp_f": 69.1 + }, + { + "latitude": 22.0, + "longitude": -12.0, + "livability": 0.4698, + "temp_score": 0.6285, + "mosquito_suitability": 0.2525, + "avg_temp_f": 69.2 + }, + { + "latitude": 22.0, + "longitude": -10.0, + "livability": 0.5234, + "temp_score": 0.7015, + "mosquito_suitability": 0.2539, + "avg_temp_f": 69.2 + }, + { + "latitude": 22.0, + "longitude": 48.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 50.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 58.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 22.0, + "longitude": 70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 22.0, + "longitude": 72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 22.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 22.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 22.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 22.0, + "longitude": 80.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": -106.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 24.0, + "longitude": -104.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 24.0, + "longitude": -102.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 24.0, + "longitude": -100.0, + "livability": 0.1139, + "temp_score": 0.1457, + "mosquito_suitability": 0.2183, + "avg_temp_f": 61.1 + }, + { + "latitude": 24.0, + "longitude": -98.0, + "livability": 0.1142, + "temp_score": 0.1467, + "mosquito_suitability": 0.2214, + "avg_temp_f": 61.3 + }, + { + "latitude": 24.0, + "longitude": -14.0, + "livability": 0.4699, + "temp_score": 0.6267, + "mosquito_suitability": 0.2501, + "avg_temp_f": 69.1 + }, + { + "latitude": 24.0, + "longitude": -12.0, + "livability": 0.4699, + "temp_score": 0.6275, + "mosquito_suitability": 0.2511, + "avg_temp_f": 69.2 + }, + { + "latitude": 24.0, + "longitude": -10.0, + "livability": 0.4697, + "temp_score": 0.6275, + "mosquito_suitability": 0.2514, + "avg_temp_f": 69.2 + }, + { + "latitude": 24.0, + "longitude": -8.0, + "livability": 0.1994, + "temp_score": 0.238, + "mosquito_suitability": 0.1622, + "avg_temp_f": 68.0 + }, + { + "latitude": 24.0, + "longitude": -6.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 24.0, + "longitude": 48.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 24.0, + "longitude": 50.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 24.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 24.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 24.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 24.0, + "longitude": 68.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": 70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": 72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 24.0, + "longitude": 78.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 26.0, + "longitude": -112.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 26.0, + "longitude": -104.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 26.0, + "longitude": -102.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 26.0, + "longitude": -100.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 26.0, + "longitude": -98.0, + "livability": 0.1138, + "temp_score": 0.1455, + "mosquito_suitability": 0.2177, + "avg_temp_f": 61.1 + }, + { + "latitude": 26.0, + "longitude": -80.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 26.0, + "longitude": -14.0, + "livability": 0.4698, + "temp_score": 0.6276, + "mosquito_suitability": 0.2514, + "avg_temp_f": 69.2 + }, + { + "latitude": 26.0, + "longitude": -12.0, + "livability": 0.4698, + "temp_score": 0.6264, + "mosquito_suitability": 0.2501, + "avg_temp_f": 69.1 + }, + { + "latitude": 26.0, + "longitude": -10.0, + "livability": 0.3089, + "temp_score": 0.3968, + "mosquito_suitability": 0.2216, + "avg_temp_f": 68.8 + }, + { + "latitude": 26.0, + "longitude": -8.0, + "livability": 0.1419, + "temp_score": 0.1664, + "mosquito_suitability": 0.1476, + "avg_temp_f": 67.8 + }, + { + "latitude": 26.0, + "longitude": -6.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 26.0, + "longitude": -4.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 26.0, + "longitude": -2.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 26.0, + "longitude": 48.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 50.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 58.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 60.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 62.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 64.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 26.0, + "longitude": 70.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 26.0, + "longitude": 72.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 26.0, + "longitude": 74.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 26.0, + "longitude": 76.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.7918, + "avg_temp_f": 80.7 + }, + { + "latitude": 28.0, + "longitude": -114.0, + "livability": 0.1956, + "temp_score": 0.2388, + "mosquito_suitability": 0.1807, + "avg_temp_f": 67.1 + }, + { + "latitude": 28.0, + "longitude": -110.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 28.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 28.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 28.0, + "longitude": -82.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 28.0, + "longitude": -16.0, + "livability": 0.47, + "temp_score": 0.6266, + "mosquito_suitability": 0.25, + "avg_temp_f": 69.1 + }, + { + "latitude": 28.0, + "longitude": -12.0, + "livability": 0.4152, + "temp_score": 0.5513, + "mosquito_suitability": 0.2468, + "avg_temp_f": 69.1 + }, + { + "latitude": 28.0, + "longitude": -10.0, + "livability": 0.1977, + "temp_score": 0.2383, + "mosquito_suitability": 0.1706, + "avg_temp_f": 68.1 + }, + { + "latitude": 28.0, + "longitude": -8.0, + "livability": 0.1434, + "temp_score": 0.1665, + "mosquito_suitability": 0.1389, + "avg_temp_f": 67.7 + }, + { + "latitude": 28.0, + "longitude": -6.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 28.0, + "longitude": -4.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 28.0, + "longitude": -2.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 28.0, + "longitude": 0.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 28.0, + "longitude": 48.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 58.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 60.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 28.0, + "longitude": 62.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": -112.0, + "livability": 0.1448, + "temp_score": 0.1566, + "mosquito_suitability": 0.0752, + "avg_temp_f": 71.6 + }, + { + "latitude": 30.0, + "longitude": -110.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0738, + "avg_temp_f": 72.3 + }, + { + "latitude": 30.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 30.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 30.0, + "longitude": -104.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 30.0, + "longitude": -82.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 30.0, + "longitude": -8.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 30.0, + "longitude": -6.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1374, + "avg_temp_f": 67.7 + }, + { + "latitude": 30.0, + "longitude": -4.0, + "livability": 0.1434, + "temp_score": 0.1666, + "mosquito_suitability": 0.1389, + "avg_temp_f": 67.7 + }, + { + "latitude": 30.0, + "longitude": -2.0, + "livability": 0.1426, + "temp_score": 0.1666, + "mosquito_suitability": 0.1445, + "avg_temp_f": 67.6 + }, + { + "latitude": 30.0, + "longitude": 0.0, + "livability": 0.1415, + "temp_score": 0.1667, + "mosquito_suitability": 0.1508, + "avg_temp_f": 67.4 + }, + { + "latitude": 30.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 30.0, + "longitude": 48.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 58.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 60.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 30.0, + "longitude": 62.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": -116.0, + "livability": 0.3129, + "temp_score": 0.4022, + "mosquito_suitability": 0.2221, + "avg_temp_f": 63.6 + }, + { + "latitude": 32.0, + "longitude": -114.0, + "livability": 0.2119, + "temp_score": 0.2318, + "mosquito_suitability": 0.0855, + "avg_temp_f": 69.8 + }, + { + "latitude": 32.0, + "longitude": -112.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 32.0, + "longitude": -110.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 32.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 32.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 32.0, + "longitude": -104.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 32.0, + "longitude": -86.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 32.0, + "longitude": -84.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 32.0, + "longitude": -82.0, + "livability": 0.0584, + "temp_score": 0.3258, + "mosquito_suitability": 0.8208, + "avg_temp_f": 77.0 + }, + { + "latitude": 32.0, + "longitude": -8.0, + "livability": 0.1437, + "temp_score": 0.1665, + "mosquito_suitability": 0.1372, + "avg_temp_f": 67.7 + }, + { + "latitude": 32.0, + "longitude": -6.0, + "livability": 0.1435, + "temp_score": 0.1666, + "mosquito_suitability": 0.1387, + "avg_temp_f": 67.7 + }, + { + "latitude": 32.0, + "longitude": -4.0, + "livability": 0.1404, + "temp_score": 0.1666, + "mosquito_suitability": 0.157, + "avg_temp_f": 67.3 + }, + { + "latitude": 32.0, + "longitude": -2.0, + "livability": 0.1323, + "temp_score": 0.1639, + "mosquito_suitability": 0.193, + "avg_temp_f": 66.5 + }, + { + "latitude": 32.0, + "longitude": 0.0, + "livability": 0.1824, + "temp_score": 0.2338, + "mosquito_suitability": 0.2197, + "avg_temp_f": 65.7 + }, + { + "latitude": 32.0, + "longitude": 2.0, + "livability": 0.1782, + "temp_score": 0.2323, + "mosquito_suitability": 0.2328, + "avg_temp_f": 65.2 + }, + { + "latitude": 32.0, + "longitude": 20.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 32.0, + "longitude": 22.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 32.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 32.0, + "longitude": 52.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": 54.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": 56.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": 58.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": 60.0, + "livability": 0.2611, + "temp_score": 0.3147, + "mosquito_suitability": 0.1703, + "avg_temp_f": 81.7 + }, + { + "latitude": 32.0, + "longitude": 120.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 34.0, + "longitude": -120.0, + "livability": 0.1826, + "temp_score": 0.2213, + "mosquito_suitability": 0.1751, + "avg_temp_f": 60.8 + }, + { + "latitude": 34.0, + "longitude": -118.0, + "livability": 0.3275, + "temp_score": 0.403, + "mosquito_suitability": 0.1874, + "avg_temp_f": 63.9 + }, + { + "latitude": 34.0, + "longitude": -116.0, + "livability": 0.3187, + "temp_score": 0.4041, + "mosquito_suitability": 0.2114, + "avg_temp_f": 63.8 + }, + { + "latitude": 34.0, + "longitude": -114.0, + "livability": 0.1455, + "temp_score": 0.1573, + "mosquito_suitability": 0.0753, + "avg_temp_f": 71.3 + }, + { + "latitude": 34.0, + "longitude": -112.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 34.0, + "longitude": -110.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 34.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 34.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 34.0, + "longitude": -104.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 34.0, + "longitude": -6.0, + "livability": 0.187, + "temp_score": 0.2353, + "mosquito_suitability": 0.205, + "avg_temp_f": 66.0 + }, + { + "latitude": 34.0, + "longitude": -4.0, + "livability": 0.1804, + "temp_score": 0.2334, + "mosquito_suitability": 0.2272, + "avg_temp_f": 65.4 + }, + { + "latitude": 34.0, + "longitude": -2.0, + "livability": 0.1791, + "temp_score": 0.2328, + "mosquito_suitability": 0.2308, + "avg_temp_f": 65.3 + }, + { + "latitude": 34.0, + "longitude": 0.0, + "livability": 0.1784, + "temp_score": 0.232, + "mosquito_suitability": 0.2313, + "avg_temp_f": 65.1 + }, + { + "latitude": 34.0, + "longitude": 2.0, + "livability": 0.2317, + "temp_score": 0.3031, + "mosquito_suitability": 0.2354, + "avg_temp_f": 64.8 + }, + { + "latitude": 34.0, + "longitude": 4.0, + "livability": 0.2281, + "temp_score": 0.3029, + "mosquito_suitability": 0.2469, + "avg_temp_f": 64.4 + }, + { + "latitude": 34.0, + "longitude": 6.0, + "livability": 0.227, + "temp_score": 0.3029, + "mosquito_suitability": 0.2505, + "avg_temp_f": 64.3 + }, + { + "latitude": 34.0, + "longitude": 120.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 34.0, + "longitude": 132.0, + "livability": 0.0537, + "temp_score": 0.1595, + "mosquito_suitability": 0.6637, + "avg_temp_f": 55.6 + }, + { + "latitude": 34.0, + "longitude": 134.0, + "livability": 0.075, + "temp_score": 0.2291, + "mosquito_suitability": 0.6728, + "avg_temp_f": 59.6 + }, + { + "latitude": 34.0, + "longitude": 136.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 36.0, + "longitude": -120.0, + "livability": 0.1852, + "temp_score": 0.2241, + "mosquito_suitability": 0.1737, + "avg_temp_f": 60.8 + }, + { + "latitude": 36.0, + "longitude": -118.0, + "livability": 0.319, + "temp_score": 0.3934, + "mosquito_suitability": 0.189, + "avg_temp_f": 62.5 + }, + { + "latitude": 36.0, + "longitude": -116.0, + "livability": 0.3238, + "temp_score": 0.4032, + "mosquito_suitability": 0.1969, + "avg_temp_f": 63.8 + }, + { + "latitude": 36.0, + "longitude": -114.0, + "livability": 0.2128, + "temp_score": 0.2338, + "mosquito_suitability": 0.09, + "avg_temp_f": 69.4 + }, + { + "latitude": 36.0, + "longitude": -112.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0742, + "avg_temp_f": 72.1 + }, + { + "latitude": 36.0, + "longitude": -110.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 36.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 36.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 36.0, + "longitude": -104.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 36.0, + "longitude": 2.0, + "livability": 0.2286, + "temp_score": 0.303, + "mosquito_suitability": 0.2455, + "avg_temp_f": 64.4 + }, + { + "latitude": 36.0, + "longitude": 4.0, + "livability": 0.2275, + "temp_score": 0.3029, + "mosquito_suitability": 0.249, + "avg_temp_f": 64.3 + }, + { + "latitude": 36.0, + "longitude": 6.0, + "livability": 0.2265, + "temp_score": 0.3028, + "mosquito_suitability": 0.2519, + "avg_temp_f": 64.2 + }, + { + "latitude": 36.0, + "longitude": 8.0, + "livability": 0.1753, + "temp_score": 0.2378, + "mosquito_suitability": 0.2629, + "avg_temp_f": 59.9 + }, + { + "latitude": 36.0, + "longitude": 10.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 36.0, + "longitude": 118.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 36.0, + "longitude": 120.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 36.0, + "longitude": 128.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 36.0, + "longitude": 136.0, + "livability": 0.0746, + "temp_score": 0.2289, + "mosquito_suitability": 0.674, + "avg_temp_f": 59.9 + }, + { + "latitude": 36.0, + "longitude": 138.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 36.0, + "longitude": 140.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 38.0, + "longitude": -122.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1146, + "avg_temp_f": 56.5 + }, + { + "latitude": 38.0, + "longitude": -120.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1193, + "avg_temp_f": 57.0 + }, + { + "latitude": 38.0, + "longitude": -118.0, + "livability": 0.1219, + "temp_score": 0.1447, + "mosquito_suitability": 0.1576, + "avg_temp_f": 59.8 + }, + { + "latitude": 38.0, + "longitude": -116.0, + "livability": 0.3232, + "temp_score": 0.3986, + "mosquito_suitability": 0.1892, + "avg_temp_f": 62.6 + }, + { + "latitude": 38.0, + "longitude": -114.0, + "livability": 0.2041, + "temp_score": 0.2385, + "mosquito_suitability": 0.1443, + "avg_temp_f": 67.3 + }, + { + "latitude": 38.0, + "longitude": -112.0, + "livability": 0.145, + "temp_score": 0.1568, + "mosquito_suitability": 0.075, + "avg_temp_f": 71.5 + }, + { + "latitude": 38.0, + "longitude": -110.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 38.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 38.0, + "longitude": -106.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 38.0, + "longitude": -104.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 38.0, + "longitude": -8.0, + "livability": 0.2304, + "temp_score": 0.3119, + "mosquito_suitability": 0.2612, + "avg_temp_f": 63.2 + }, + { + "latitude": 38.0, + "longitude": -6.0, + "livability": 0.2313, + "temp_score": 0.3073, + "mosquito_suitability": 0.2473, + "avg_temp_f": 64.3 + }, + { + "latitude": 38.0, + "longitude": -4.0, + "livability": 0.178, + "temp_score": 0.2324, + "mosquito_suitability": 0.2344, + "avg_temp_f": 65.2 + }, + { + "latitude": 38.0, + "longitude": -2.0, + "livability": 0.2304, + "temp_score": 0.3031, + "mosquito_suitability": 0.24, + "avg_temp_f": 64.6 + }, + { + "latitude": 38.0, + "longitude": 14.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 38.0, + "longitude": 16.0, + "livability": 0.1246, + "temp_score": 0.1664, + "mosquito_suitability": 0.2513, + "avg_temp_f": 59.8 + }, + { + "latitude": 38.0, + "longitude": 22.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 28.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 30.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 32.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 34.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 38.0, + "longitude": 118.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 38.0, + "longitude": 126.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 38.0, + "longitude": 128.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 38.0, + "longitude": 140.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 40.0, + "longitude": -124.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1148, + "avg_temp_f": 56.5 + }, + { + "latitude": 40.0, + "longitude": -122.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.115, + "avg_temp_f": 56.6 + }, + { + "latitude": 40.0, + "longitude": -120.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1166, + "avg_temp_f": 56.7 + }, + { + "latitude": 40.0, + "longitude": -118.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1244, + "avg_temp_f": 57.4 + }, + { + "latitude": 40.0, + "longitude": -116.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1457, + "avg_temp_f": 59.2 + }, + { + "latitude": 40.0, + "longitude": -114.0, + "livability": 0.2604, + "temp_score": 0.3156, + "mosquito_suitability": 0.175, + "avg_temp_f": 64.8 + }, + { + "latitude": 40.0, + "longitude": -112.0, + "livability": 0.0772, + "temp_score": 0.0833, + "mosquito_suitability": 0.0739, + "avg_temp_f": 72.2 + }, + { + "latitude": 40.0, + "longitude": -110.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 40.0, + "longitude": -108.0, + "livability": 0.0771, + "temp_score": 0.0833, + "mosquito_suitability": 0.0736, + "avg_temp_f": 72.4 + }, + { + "latitude": 40.0, + "longitude": -8.0, + "livability": 0.2339, + "temp_score": 0.3233, + "mosquito_suitability": 0.2765, + "avg_temp_f": 62.1 + }, + { + "latitude": 40.0, + "longitude": -6.0, + "livability": 0.2832, + "temp_score": 0.3869, + "mosquito_suitability": 0.2678, + "avg_temp_f": 62.9 + }, + { + "latitude": 40.0, + "longitude": -4.0, + "livability": 0.2312, + "temp_score": 0.305, + "mosquito_suitability": 0.2421, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": -2.0, + "livability": 0.2271, + "temp_score": 0.3029, + "mosquito_suitability": 0.2501, + "avg_temp_f": 64.3 + }, + { + "latitude": 40.0, + "longitude": 0.0, + "livability": 0.227, + "temp_score": 0.3029, + "mosquito_suitability": 0.2505, + "avg_temp_f": 64.3 + }, + { + "latitude": 40.0, + "longitude": 16.0, + "livability": 0.1767, + "temp_score": 0.2385, + "mosquito_suitability": 0.2592, + "avg_temp_f": 59.2 + }, + { + "latitude": 40.0, + "longitude": 20.0, + "livability": 0.1276, + "temp_score": 0.1542, + "mosquito_suitability": 0.1724, + "avg_temp_f": 64.1 + }, + { + "latitude": 40.0, + "longitude": 22.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": 28.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": 30.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": 32.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 40.0, + "longitude": 118.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 40.0, + "longitude": 122.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 40.0, + "longitude": 124.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 40.0, + "longitude": 126.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 40.0, + "longitude": 140.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 42.0, + "longitude": -124.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1148, + "avg_temp_f": 56.0 + }, + { + "latitude": 42.0, + "longitude": -122.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1147, + "avg_temp_f": 56.0 + }, + { + "latitude": 42.0, + "longitude": -120.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1151, + "avg_temp_f": 56.0 + }, + { + "latitude": 42.0, + "longitude": -118.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1158, + "avg_temp_f": 55.9 + }, + { + "latitude": 42.0, + "longitude": -116.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1155, + "avg_temp_f": 55.8 + }, + { + "latitude": 42.0, + "longitude": -114.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1146, + "avg_temp_f": 56.5 + }, + { + "latitude": 42.0, + "longitude": -8.0, + "livability": 0.2342, + "temp_score": 0.3226, + "mosquito_suitability": 0.2742, + "avg_temp_f": 62.2 + }, + { + "latitude": 42.0, + "longitude": -6.0, + "livability": 0.2839, + "temp_score": 0.3877, + "mosquito_suitability": 0.2677, + "avg_temp_f": 62.7 + }, + { + "latitude": 42.0, + "longitude": -4.0, + "livability": 0.1757, + "temp_score": 0.2337, + "mosquito_suitability": 0.248, + "avg_temp_f": 63.9 + }, + { + "latitude": 42.0, + "longitude": -2.0, + "livability": 0.2272, + "temp_score": 0.303, + "mosquito_suitability": 0.2501, + "avg_temp_f": 64.3 + }, + { + "latitude": 42.0, + "longitude": 0.0, + "livability": 0.2267, + "temp_score": 0.3028, + "mosquito_suitability": 0.2514, + "avg_temp_f": 64.2 + }, + { + "latitude": 42.0, + "longitude": 2.0, + "livability": 0.1711, + "temp_score": 0.2317, + "mosquito_suitability": 0.2614, + "avg_temp_f": 63.4 + }, + { + "latitude": 42.0, + "longitude": 12.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 42.0, + "longitude": 14.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 42.0, + "longitude": 20.0, + "livability": 0.1831, + "temp_score": 0.225, + "mosquito_suitability": 0.1862, + "avg_temp_f": 62.8 + }, + { + "latitude": 42.0, + "longitude": 22.0, + "livability": 0.1285, + "temp_score": 0.1549, + "mosquito_suitability": 0.1709, + "avg_temp_f": 64.2 + }, + { + "latitude": 42.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 42.0, + "longitude": 26.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 42.0, + "longitude": 120.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 122.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 124.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 126.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 128.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 130.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 42.0, + "longitude": 140.0, + "livability": 0.0742, + "temp_score": 0.2288, + "mosquito_suitability": 0.6755, + "avg_temp_f": 59.9 + }, + { + "latitude": 44.0, + "longitude": -124.0, + "livability": 0.1247, + "temp_score": 0.1445, + "mosquito_suitability": 0.1367, + "avg_temp_f": 52.9 + }, + { + "latitude": 44.0, + "longitude": -122.0, + "livability": 0.1248, + "temp_score": 0.1445, + "mosquito_suitability": 0.1367, + "avg_temp_f": 52.9 + }, + { + "latitude": 44.0, + "longitude": -120.0, + "livability": 0.1248, + "temp_score": 0.1445, + "mosquito_suitability": 0.1367, + "avg_temp_f": 52.9 + }, + { + "latitude": 44.0, + "longitude": -118.0, + "livability": 0.1249, + "temp_score": 0.1447, + "mosquito_suitability": 0.1369, + "avg_temp_f": 52.9 + }, + { + "latitude": 44.0, + "longitude": -116.0, + "livability": 0.1254, + "temp_score": 0.1454, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 44.0, + "longitude": -114.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 44.0, + "longitude": -112.0, + "livability": 0.1257, + "temp_score": 0.1455, + "mosquito_suitability": 0.1357, + "avg_temp_f": 52.8 + }, + { + "latitude": 44.0, + "longitude": 0.0, + "livability": 0.179, + "temp_score": 0.2385, + "mosquito_suitability": 0.2495, + "avg_temp_f": 60.5 + }, + { + "latitude": 44.0, + "longitude": 2.0, + "livability": 0.2295, + "temp_score": 0.3117, + "mosquito_suitability": 0.2637, + "avg_temp_f": 59.2 + }, + { + "latitude": 44.0, + "longitude": 4.0, + "livability": 0.1711, + "temp_score": 0.2387, + "mosquito_suitability": 0.2831, + "avg_temp_f": 59.4 + }, + { + "latitude": 44.0, + "longitude": 6.0, + "livability": 0.1704, + "temp_score": 0.2386, + "mosquito_suitability": 0.2859, + "avg_temp_f": 59.4 + }, + { + "latitude": 44.0, + "longitude": 8.0, + "livability": 0.1703, + "temp_score": 0.2386, + "mosquito_suitability": 0.2859, + "avg_temp_f": 59.4 + }, + { + "latitude": 44.0, + "longitude": 10.0, + "livability": 0.1716, + "temp_score": 0.2386, + "mosquito_suitability": 0.2808, + "avg_temp_f": 59.4 + }, + { + "latitude": 44.0, + "longitude": 12.0, + "livability": 0.1759, + "temp_score": 0.2386, + "mosquito_suitability": 0.2629, + "avg_temp_f": 59.2 + }, + { + "latitude": 44.0, + "longitude": 16.0, + "livability": 0.1765, + "temp_score": 0.2386, + "mosquito_suitability": 0.2603, + "avg_temp_f": 59.2 + }, + { + "latitude": 44.0, + "longitude": 18.0, + "livability": 0.1766, + "temp_score": 0.2385, + "mosquito_suitability": 0.2595, + "avg_temp_f": 59.2 + }, + { + "latitude": 44.0, + "longitude": 20.0, + "livability": 0.1258, + "temp_score": 0.1664, + "mosquito_suitability": 0.2439, + "avg_temp_f": 60.3 + }, + { + "latitude": 44.0, + "longitude": 22.0, + "livability": 0.1848, + "temp_score": 0.2244, + "mosquito_suitability": 0.1765, + "avg_temp_f": 63.8 + }, + { + "latitude": 44.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 44.0, + "longitude": 26.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 44.0, + "longitude": 28.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 44.0, + "longitude": 122.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 44.0, + "longitude": 124.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 44.0, + "longitude": 126.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 44.0, + "longitude": 128.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 44.0, + "longitude": 130.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 44.0, + "longitude": 132.0, + "livability": 0.0539, + "temp_score": 0.1594, + "mosquito_suitability": 0.6622, + "avg_temp_f": 54.8 + }, + { + "latitude": 46.0, + "longitude": -122.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": -120.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": -118.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": -116.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": -114.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": -112.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 46.0, + "longitude": 0.0, + "livability": 0.1241, + "temp_score": 0.1595, + "mosquito_suitability": 0.2221, + "avg_temp_f": 53.4 + }, + { + "latitude": 46.0, + "longitude": 2.0, + "livability": 0.1256, + "temp_score": 0.1621, + "mosquito_suitability": 0.2251, + "avg_temp_f": 53.8 + }, + { + "latitude": 46.0, + "longitude": 4.0, + "livability": 0.128, + "temp_score": 0.1663, + "mosquito_suitability": 0.2306, + "avg_temp_f": 55.8 + }, + { + "latitude": 46.0, + "longitude": 6.0, + "livability": 0.2278, + "temp_score": 0.3121, + "mosquito_suitability": 0.2701, + "avg_temp_f": 58.7 + }, + { + "latitude": 46.0, + "longitude": 8.0, + "livability": 0.1714, + "temp_score": 0.2387, + "mosquito_suitability": 0.2819, + "avg_temp_f": 59.3 + }, + { + "latitude": 46.0, + "longitude": 10.0, + "livability": 0.1716, + "temp_score": 0.2386, + "mosquito_suitability": 0.281, + "avg_temp_f": 59.3 + }, + { + "latitude": 46.0, + "longitude": 12.0, + "livability": 0.1737, + "temp_score": 0.2386, + "mosquito_suitability": 0.2721, + "avg_temp_f": 59.3 + }, + { + "latitude": 46.0, + "longitude": 14.0, + "livability": 0.1752, + "temp_score": 0.2386, + "mosquito_suitability": 0.2654, + "avg_temp_f": 59.2 + }, + { + "latitude": 46.0, + "longitude": 16.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2596, + "avg_temp_f": 59.2 + }, + { + "latitude": 46.0, + "longitude": 18.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 46.0, + "longitude": 20.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 46.0, + "longitude": 22.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 46.0, + "longitude": 24.0, + "livability": 0.1289, + "temp_score": 0.1553, + "mosquito_suitability": 0.1701, + "avg_temp_f": 64.2 + }, + { + "latitude": 48.0, + "longitude": -124.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -122.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -120.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -118.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -116.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -114.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -112.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": -4.0, + "livability": 0.1177, + "temp_score": 0.1456, + "mosquito_suitability": 0.1913, + "avg_temp_f": 52.6 + }, + { + "latitude": 48.0, + "longitude": -2.0, + "livability": 0.1206, + "temp_score": 0.1519, + "mosquito_suitability": 0.2057, + "avg_temp_f": 52.8 + }, + { + "latitude": 48.0, + "longitude": 0.0, + "livability": 0.1226, + "temp_score": 0.1574, + "mosquito_suitability": 0.221, + "avg_temp_f": 53.1 + }, + { + "latitude": 48.0, + "longitude": 2.0, + "livability": 0.1228, + "temp_score": 0.1584, + "mosquito_suitability": 0.2245, + "avg_temp_f": 53.1 + }, + { + "latitude": 48.0, + "longitude": 4.0, + "livability": 0.1229, + "temp_score": 0.1584, + "mosquito_suitability": 0.2243, + "avg_temp_f": 53.2 + }, + { + "latitude": 48.0, + "longitude": 6.0, + "livability": 0.1246, + "temp_score": 0.1606, + "mosquito_suitability": 0.2239, + "avg_temp_f": 53.5 + }, + { + "latitude": 48.0, + "longitude": 8.0, + "livability": 0.1283, + "temp_score": 0.1666, + "mosquito_suitability": 0.2298, + "avg_temp_f": 55.3 + }, + { + "latitude": 48.0, + "longitude": 10.0, + "livability": 0.2387, + "temp_score": 0.3134, + "mosquito_suitability": 0.2386, + "avg_temp_f": 57.3 + }, + { + "latitude": 48.0, + "longitude": 12.0, + "livability": 0.2303, + "temp_score": 0.3123, + "mosquito_suitability": 0.2627, + "avg_temp_f": 58.6 + }, + { + "latitude": 48.0, + "longitude": 14.0, + "livability": 0.1743, + "temp_score": 0.2386, + "mosquito_suitability": 0.2694, + "avg_temp_f": 59.2 + }, + { + "latitude": 48.0, + "longitude": 16.0, + "livability": 0.1758, + "temp_score": 0.2386, + "mosquito_suitability": 0.263, + "avg_temp_f": 59.2 + }, + { + "latitude": 48.0, + "longitude": 18.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 48.0, + "longitude": 20.0, + "livability": 0.1766, + "temp_score": 0.2386, + "mosquito_suitability": 0.2599, + "avg_temp_f": 59.2 + }, + { + "latitude": 50.0, + "longitude": -128.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -126.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -124.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -122.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -120.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -118.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -116.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -114.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": -112.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 50.0, + "longitude": 2.0, + "livability": 0.1222, + "temp_score": 0.1561, + "mosquito_suitability": 0.2169, + "avg_temp_f": 53.0 + }, + { + "latitude": 50.0, + "longitude": 4.0, + "livability": 0.1225, + "temp_score": 0.1571, + "mosquito_suitability": 0.2202, + "avg_temp_f": 53.1 + }, + { + "latitude": 50.0, + "longitude": 6.0, + "livability": 0.1224, + "temp_score": 0.1564, + "mosquito_suitability": 0.2174, + "avg_temp_f": 53.1 + }, + { + "latitude": 50.0, + "longitude": 8.0, + "livability": 0.123, + "temp_score": 0.157, + "mosquito_suitability": 0.2163, + "avg_temp_f": 53.2 + }, + { + "latitude": 50.0, + "longitude": 10.0, + "livability": 0.1248, + "temp_score": 0.1601, + "mosquito_suitability": 0.2204, + "avg_temp_f": 53.6 + }, + { + "latitude": 50.0, + "longitude": 12.0, + "livability": 0.1271, + "temp_score": 0.1647, + "mosquito_suitability": 0.2281, + "avg_temp_f": 54.4 + }, + { + "latitude": 50.0, + "longitude": 14.0, + "livability": 0.1281, + "temp_score": 0.1664, + "mosquito_suitability": 0.2305, + "avg_temp_f": 55.1 + }, + { + "latitude": 52.0, + "longitude": -126.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -124.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -122.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -120.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -118.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -116.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -114.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -112.0, + "livability": 0.1257, + "temp_score": 0.1455, + "mosquito_suitability": 0.1357, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": -8.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1622, + "avg_temp_f": 52.0 + }, + { + "latitude": 52.0, + "longitude": -4.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1625, + "avg_temp_f": 52.0 + }, + { + "latitude": 52.0, + "longitude": -2.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1616, + "avg_temp_f": 52.0 + }, + { + "latitude": 52.0, + "longitude": 0.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1614, + "avg_temp_f": 52.0 + }, + { + "latitude": 52.0, + "longitude": 6.0, + "livability": 0.1173, + "temp_score": 0.1447, + "mosquito_suitability": 0.1895, + "avg_temp_f": 52.5 + }, + { + "latitude": 52.0, + "longitude": 8.0, + "livability": 0.1189, + "temp_score": 0.148, + "mosquito_suitability": 0.1968, + "avg_temp_f": 52.7 + }, + { + "latitude": 52.0, + "longitude": 10.0, + "livability": 0.12, + "temp_score": 0.1504, + "mosquito_suitability": 0.2024, + "avg_temp_f": 52.8 + }, + { + "latitude": 52.0, + "longitude": 12.0, + "livability": 0.1219, + "temp_score": 0.1549, + "mosquito_suitability": 0.2132, + "avg_temp_f": 53.0 + }, + { + "latitude": 52.0, + "longitude": 14.0, + "livability": 0.1228, + "temp_score": 0.1584, + "mosquito_suitability": 0.2247, + "avg_temp_f": 53.1 + }, + { + "latitude": 54.0, + "longitude": -130.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -128.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -126.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -124.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -122.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -120.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -118.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -116.0, + "livability": 0.1255, + "temp_score": 0.1455, + "mosquito_suitability": 0.1376, + "avg_temp_f": 52.8 + }, + { + "latitude": 54.0, + "longitude": -8.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1613, + "avg_temp_f": 51.9 + }, + { + "latitude": 54.0, + "longitude": -2.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1621, + "avg_temp_f": 52.0 + }, + { + "latitude": 54.0, + "longitude": 10.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1794, + "avg_temp_f": 52.3 + }, + { + "latitude": 54.0, + "longitude": 12.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1741, + "avg_temp_f": 52.2 + }, + { + "latitude": 56.0, + "longitude": -4.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1613, + "avg_temp_f": 51.9 + }, + { + "latitude": 56.0, + "longitude": 10.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1613, + "avg_temp_f": 51.9 + }, + { + "latitude": 58.0, + "longitude": -4.0, + "livability": 0.0, + "temp_score": 0.0, + "mosquito_suitability": 0.1613, + "avg_temp_f": 51.9 + } + ] +} \ No newline at end of file diff --git a/climate-analysis/generate_livability_map.py b/climate-analysis/generate_livability_map.py new file mode 100644 index 0000000..88b899f --- /dev/null +++ b/climate-analysis/generate_livability_map.py @@ -0,0 +1,391 @@ +#!/usr/bin/env python3 +""" +Global livability heat map: 65-74°F climate + low mosquitoes. + +Interpolates monthly climate normals from reference stations worldwide, +then scores temperature comfort and mosquito habitat suitability. +""" + +from __future__ import annotations + +import json +import math +from dataclasses import dataclass +from pathlib import Path + +import cartopy.crs as ccrs +import cartopy.feature as cfeature +import numpy as np +import plotly.graph_objects as go +from shapely.geometry import Point +from shapely.ops import unary_union + +OUTPUT_DIR = Path(__file__).parent / "output" +DATA_DIR = Path(__file__).parent / "data" + +TEMP_MIN_F = 65.0 +TEMP_MAX_F = 74.0 +TEMP_IDEAL_F = (TEMP_MIN_F + TEMP_MAX_F) / 2.0 +GRID_STEP = 2.0 +MAX_STATION_DIST_KM = 900.0 +IDW_POWER = 3.5 + +_LAND_GEOM = None + + +def land_geometry(): + global _LAND_GEOM + if _LAND_GEOM is None: + land = cfeature.NaturalEarthFeature("physical", "land", "110m") + _LAND_GEOM = unary_union(list(land.geometries())) + return _LAND_GEOM + + +def is_land(lat: float, lon: float) -> bool: + point = Point(lon, lat) + if land_geometry().contains(point): + return True + # 110m Natural Earth omits many islands; keep station vicinities + return any(haversine_km(lat, lon, s.lat, s.lon) < 60 for s in STATIONS) + + +@dataclass(frozen=True) +class ClimateStation: + name: str + lat: float + lon: float + # Monthly averages: Jan..Dec (°C, % RH, mm precip) + temp_c: tuple[float, ...] + humidity: tuple[float, ...] + precip_mm: tuple[float, ...] + + +# Reference monthly normals (approx. 1991-2020) from WMO/NCEI/public climatologies +STATIONS: tuple[ClimateStation, ...] = ( + ClimateStation("San Diego, USA", 32.72, -117.16, (14.2, 14.7, 15.7, 16.7, 17.8, 19.0, 20.6, 21.0, 20.5, 18.9, 16.5, 14.5), (63, 65, 67, 68, 72, 75, 76, 77, 75, 70, 65, 63), (46, 42, 42, 18, 5, 2, 1, 3, 6, 12, 28, 42)), + ClimateStation("Santa Barbara, USA", 34.42, -119.70, (13.0, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 18.8, 18.5, 17.0, 15.0, 13.5), (65, 68, 70, 72, 75, 78, 80, 80, 78, 72, 68, 65), (79, 64, 48, 20, 5, 2, 1, 1, 5, 12, 35, 55)), + ClimateStation("Los Angeles, USA", 34.05, -118.24, (14.0, 14.5, 15.5, 16.5, 18.0, 19.5, 21.5, 22.0, 21.5, 19.5, 16.5, 14.0), (55, 58, 60, 62, 65, 68, 68, 68, 65, 60, 55, 55), (79, 73, 56, 25, 8, 2, 1, 1, 5, 13, 28, 58)), + ClimateStation("San Francisco, USA", 37.77, -122.42, (10.5, 11.5, 12.5, 13.0, 14.0, 15.0, 15.5, 16.0, 16.5, 15.5, 13.0, 10.5), (75, 75, 75, 75, 78, 80, 82, 82, 80, 78, 75, 75), (112, 97, 79, 37, 18, 4, 1, 2, 5, 31, 58, 112)), + ClimateStation("Las Palmas, Canary Islands", 28.10, -15.43, (18.1, 18.4, 19.0, 19.6, 20.5, 21.6, 22.9, 23.6, 23.4, 22.2, 20.2, 18.5), (65, 64, 63, 62, 63, 65, 66, 67, 68, 68, 67, 66), (25, 22, 18, 12, 4, 1, 0, 1, 8, 18, 28, 30)), + ClimateStation("Funchal, Madeira", 32.65, -16.91, (16.5, 16.5, 17.0, 17.5, 18.5, 20.0, 21.5, 22.5, 22.5, 21.5, 19.5, 17.5), (68, 68, 67, 66, 67, 70, 72, 73, 73, 72, 70, 69), (80, 60, 50, 35, 20, 8, 2, 2, 25, 55, 80, 90)), + ClimateStation("Lisbon, Portugal", 38.72, -9.14, (11.4, 12.5, 14.2, 15.4, 17.5, 20.1, 22.1, 22.4, 21.0, 18.2, 14.5, 12.2), (78, 76, 74, 72, 70, 68, 65, 65, 70, 75, 78, 80), (100, 85, 55, 65, 55, 20, 5, 5, 30, 95, 110, 115)), + ClimateStation("Valencia, Spain", 39.47, -0.38, (11.5, 12.8, 14.5, 16.0, 18.5, 22.0, 25.0, 25.5, 23.0, 19.0, 15.0, 12.5), (65, 63, 60, 58, 55, 52, 50, 52, 58, 65, 68, 67), (35, 30, 28, 35, 35, 15, 8, 15, 45, 65, 45, 40)), + ClimateStation("Nice, France", 43.70, 7.27, (8.5, 9.0, 11.0, 13.0, 16.5, 20.0, 23.0, 23.5, 20.5, 16.5, 12.0, 9.5), (68, 67, 65, 65, 65, 62, 58, 60, 65, 70, 70, 69), (65, 50, 55, 65, 50, 35, 15, 20, 75, 130, 95, 70)), + ClimateStation("Sydney, Australia", -33.87, 151.21, (22.3, 22.1, 21.0, 18.5, 16.0, 14.0, 13.0, 14.0, 16.0, 17.5, 19.0, 21.0), (65, 67, 68, 70, 72, 75, 74, 72, 68, 65, 63, 64), (102, 118, 130, 127, 100, 132, 78, 81, 69, 77, 84, 78)), + ClimateStation("Perth, Australia", -31.95, 115.86, (24.5, 24.5, 22.5, 20.0, 17.5, 15.5, 14.5, 15.0, 16.0, 17.5, 19.5, 22.0), (50, 52, 55, 58, 62, 68, 70, 68, 62, 55, 50, 48), (18, 15, 20, 45, 90, 130, 170, 135, 85, 52, 28, 15)), + ClimateStation("Auckland, New Zealand", -36.85, 174.76, (19.5, 19.8, 18.8, 16.8, 14.8, 12.8, 11.8, 12.5, 13.5, 14.8, 16.2, 18.2), (78, 78, 77, 78, 80, 82, 83, 82, 80, 78, 77, 77), (74, 65, 86, 93, 100, 117, 126, 112, 92, 80, 86, 91)), + ClimateStation("Wellington, New Zealand", -41.29, 174.78, (16.5, 16.8, 15.8, 14.0, 12.0, 10.5, 9.5, 10.0, 11.0, 12.0, 13.5, 15.5), (78, 78, 78, 80, 82, 84, 84, 83, 80, 78, 77, 77), (79, 65, 82, 82, 100, 113, 98, 88, 82, 84, 76, 86)), + ClimateStation("Medellín, Colombia", 6.25, -75.56, (21.8, 22.0, 22.2, 22.0, 21.8, 21.6, 21.8, 21.8, 21.4, 21.0, 21.0, 21.4), (72, 72, 73, 75, 76, 76, 74, 73, 75, 76, 76, 74), (55, 68, 98, 145, 165, 120, 95, 105, 145, 165, 120, 80)), + ClimateStation("Quito, Ecuador", -0.18, -78.47, (14.0, 14.0, 14.2, 14.5, 14.5, 14.5, 14.8, 15.0, 15.0, 14.8, 14.5, 14.0), (75, 77, 78, 78, 77, 75, 74, 73, 74, 75, 76, 76), (85, 110, 145, 175, 130, 55, 30, 35, 75, 110, 95, 80)), + ClimateStation("Cuenca, Ecuador", -2.90, -79.00, (15.0, 15.0, 15.2, 15.0, 14.8, 14.5, 14.5, 14.8, 15.0, 15.2, 15.0, 15.0), (78, 80, 82, 82, 80, 78, 76, 75, 76, 78, 80, 79), (55, 75, 90, 65, 35, 18, 12, 15, 25, 45, 55, 60)), + ClimateStation("Pretoria, South Africa", -25.75, 28.19, (22.0, 21.5, 20.5, 17.5, 14.5, 11.5, 11.0, 13.5, 17.0, 19.5, 20.5, 21.5), (55, 58, 60, 62, 58, 52, 48, 45, 48, 52, 55, 55), (135, 80, 75, 55, 15, 8, 5, 5, 15, 75, 110, 120)), + ClimateStation("Cape Town, South Africa", -33.92, 18.42, (21.0, 21.5, 20.0, 17.5, 15.0, 13.5, 12.5, 13.0, 14.5, 16.5, 18.5, 20.0), (68, 68, 70, 72, 75, 78, 78, 76, 72, 70, 68, 68), (15, 18, 22, 52, 82, 93, 82, 72, 58, 42, 22, 18)), + ClimateStation("Viña del Mar, Chile", -33.02, -71.55, (17.0, 17.5, 16.5, 14.5, 12.5, 11.0, 10.5, 11.0, 12.0, 13.5, 14.5, 16.0), (72, 74, 76, 78, 80, 82, 82, 80, 78, 76, 74, 72), (1, 2, 5, 20, 55, 85, 80, 55, 30, 15, 8, 3)), + ClimateStation("Santiago, Chile", -33.45, -70.67, (20.0, 19.0, 17.5, 14.5, 11.5, 9.0, 8.5, 9.5, 11.5, 14.0, 16.5, 18.5), (55, 58, 62, 65, 68, 70, 68, 65, 60, 55, 52, 52), (1, 2, 8, 18, 42, 68, 58, 38, 22, 12, 8, 3)), + ClimateStation("Honolulu, USA", 21.31, -157.86, (23.0, 23.0, 23.5, 24.0, 24.8, 25.5, 26.0, 26.5, 26.5, 26.0, 25.0, 23.5), (73, 72, 71, 70, 68, 65, 64, 64, 66, 68, 70, 72), (58, 42, 52, 28, 38, 12, 18, 22, 28, 58, 68, 72)), + ClimateStation("Miami, USA", 25.76, -80.19, (20.5, 21.0, 22.5, 24.5, 26.5, 28.0, 28.5, 28.5, 28.0, 26.5, 24.0, 21.5), (72, 72, 70, 68, 70, 75, 75, 76, 77, 76, 75, 73), (52, 58, 68, 82, 158, 238, 165, 178, 198, 144, 72, 48)), + ClimateStation("Phoenix, USA", 33.45, -112.07, (12.5, 14.5, 17.5, 21.0, 25.5, 30.0, 33.5, 32.5, 29.5, 23.5, 17.0, 12.5), (45, 40, 32, 22, 18, 15, 22, 28, 28, 30, 38, 45), (22, 22, 18, 8, 5, 2, 22, 28, 22, 18, 18, 28)), + ClimateStation("Seattle, USA", 47.61, -122.33, (5.5, 6.5, 8.0, 10.0, 13.5, 16.0, 18.5, 18.5, 16.5, 12.0, 8.0, 5.5), (78, 78, 76, 74, 72, 70, 68, 68, 72, 78, 80, 80), (148, 108, 98, 68, 52, 38, 18, 22, 42, 82, 148, 138)), + ClimateStation("London, UK", 51.51, -0.13, (5.5, 5.5, 7.5, 9.5, 12.5, 15.5, 17.5, 17.5, 15.0, 12.0, 8.5, 6.5), (82, 80, 76, 72, 70, 70, 70, 72, 75, 80, 84, 84), (55, 42, 42, 42, 48, 45, 48, 52, 48, 58, 58, 58)), + ClimateStation("Paris, France", 48.86, 2.35, (4.5, 5.5, 8.0, 10.5, 14.0, 17.0, 19.5, 19.5, 16.5, 12.5, 8.0, 5.5), (85, 82, 78, 74, 72, 70, 68, 70, 75, 82, 88, 88), (52, 42, 48, 52, 62, 52, 58, 52, 52, 62, 52, 58)), + ClimateStation("Rome, Italy", 41.90, 12.50, (8.0, 8.5, 10.5, 13.0, 16.5, 20.0, 23.0, 23.5, 20.5, 16.5, 12.0, 9.0), (75, 72, 70, 68, 65, 62, 58, 60, 65, 70, 75, 77), (70, 58, 52, 52, 38, 22, 12, 18, 62, 98, 105, 82)), + ClimateStation("Athens, Greece", 37.98, 23.73, (10.0, 10.5, 12.5, 15.5, 19.5, 24.0, 27.0, 27.0, 23.5, 19.0, 15.0, 11.5), (68, 65, 62, 58, 52, 45, 42, 45, 52, 60, 68, 70), (58, 48, 42, 28, 22, 8, 5, 5, 15, 52, 58, 68)), + ClimateStation("Marrakech, Morocco", 31.63, -8.00, (12.5, 14.0, 16.0, 18.0, 21.0, 24.5, 28.0, 28.0, 25.0, 21.0, 16.5, 13.5), (58, 55, 52, 50, 48, 45, 42, 45, 50, 55, 58, 60), (28, 32, 28, 28, 18, 5, 2, 2, 8, 22, 28, 32)), + ClimateStation("Nairobi, Kenya", -1.29, 36.82, (18.5, 19.5, 20.0, 19.5, 18.5, 17.5, 16.5, 17.0, 18.5, 19.5, 18.5, 18.0), (65, 62, 65, 70, 72, 72, 70, 68, 68, 70, 72, 68), (48, 42, 68, 145, 108, 42, 18, 28, 32, 58, 108, 72)), + ClimateStation("Bangkok, Thailand", 13.76, 100.50, (27.0, 28.5, 29.5, 30.5, 30.0, 29.5, 29.0, 29.0, 28.5, 28.0, 27.5, 26.5), (68, 65, 68, 72, 75, 78, 78, 78, 80, 78, 75, 70), (12, 18, 32, 62, 178, 158, 168, 188, 298, 228, 48, 12)), + ClimateStation("Singapore", 1.35, 103.82, (26.5, 27.0, 27.5, 28.0, 28.5, 28.5, 28.0, 28.0, 28.0, 27.5, 27.0, 26.5), (82, 80, 82, 84, 84, 82, 82, 82, 82, 83, 84, 84), (198, 108, 165, 178, 168, 152, 158, 148, 158, 168, 258, 318)), + ClimateStation("Tokyo, Japan", 35.68, 139.69, (5.5, 6.0, 9.0, 14.0, 18.5, 21.5, 25.0, 26.5, 23.0, 17.5, 12.0, 7.5), (52, 52, 55, 60, 65, 75, 78, 75, 72, 68, 62, 55), (52, 58, 98, 118, 132, 168, 128, 148, 208, 198, 88, 48)), + ClimateStation("Seoul, South Korea", 37.57, 126.98, (-2.0, 0.5, 6.0, 12.5, 18.0, 22.5, 25.5, 26.0, 21.5, 14.5, 7.0, 0.0), (58, 55, 55, 58, 62, 68, 78, 75, 68, 62, 58, 58), (22, 28, 42, 82, 82, 138, 318, 278, 138, 52, 52, 22)), + ClimateStation("Reykjavik, Iceland", 64.15, -21.94, (1.0, 1.5, 2.5, 4.5, 7.5, 10.5, 12.5, 11.5, 9.0, 5.5, 3.0, 1.5), (78, 78, 78, 76, 74, 76, 78, 80, 80, 80, 78, 78), (88, 72, 82, 58, 48, 52, 52, 62, 68, 82, 78, 88)), + ClimateStation("Bogotá, Colombia", 4.71, -74.07, (13.5, 14.0, 14.5, 14.5, 14.5, 14.5, 14.5, 14.5, 14.5, 14.5, 14.5, 14.0), (75, 76, 77, 78, 77, 75, 74, 73, 74, 76, 77, 76), (58, 68, 95, 125, 118, 58, 38, 48, 68, 118, 105, 72)), + ClimateStation("Tenerife, Spain", 28.29, -16.63, (17.5, 17.8, 18.5, 19.0, 20.0, 21.5, 23.0, 24.0, 24.0, 22.5, 20.5, 18.5), (62, 61, 60, 59, 60, 62, 63, 64, 65, 65, 64, 63), (28, 25, 20, 15, 8, 2, 0, 1, 8, 20, 30, 32)), + ClimateStation("Malaga, Spain", 36.72, -4.42, (12.5, 13.5, 15.0, 16.5, 19.0, 22.5, 25.0, 25.5, 23.5, 19.5, 16.0, 13.5), (68, 65, 62, 60, 58, 55, 52, 55, 60, 65, 68, 70), (58, 48, 42, 38, 25, 8, 2, 5, 22, 58, 68, 72)), + ClimateStation("Adelaide, Australia", -34.93, 138.60, (22.5, 22.5, 20.5, 18.0, 15.5, 13.5, 12.5, 13.5, 15.0, 16.5, 18.5, 20.5), (55, 55, 58, 62, 68, 72, 72, 68, 62, 58, 55, 52), (20, 18, 28, 42, 58, 78, 68, 58, 42, 38, 28, 22)), + ClimateStation("La Paz, Bolivia", -16.50, -68.15, (9.5, 10.0, 10.5, 10.5, 10.0, 9.0, 8.5, 9.5, 11.0, 11.5, 11.0, 10.0), (55, 58, 55, 48, 42, 40, 38, 38, 42, 45, 48, 52), (108, 98, 58, 28, 12, 8, 8, 12, 22, 28, 42, 88)), + ClimateStation("Oaxaca, Mexico", 17.07, -96.72, (18.0, 19.5, 21.0, 22.5, 22.5, 21.0, 20.0, 20.0, 19.5, 19.0, 18.5, 17.5), (58, 55, 52, 48, 52, 58, 62, 62, 62, 60, 58, 58), (5, 5, 8, 18, 58, 138, 118, 98, 98, 48, 12, 5)), + ClimateStation("Mexico City, Mexico", 19.43, -99.13, (13.5, 15.0, 17.0, 18.5, 18.5, 17.5, 16.5, 16.5, 16.5, 16.0, 15.0, 13.5), (55, 52, 48, 45, 48, 55, 58, 58, 58, 55, 52, 55), (8, 8, 12, 28, 58, 138, 158, 138, 108, 48, 12, 8)), + ClimateStation("Dubai, UAE", 25.20, 55.27, (19.0, 20.0, 23.0, 27.0, 31.5, 33.5, 35.5, 35.5, 32.5, 29.0, 24.5, 20.5), (58, 55, 52, 45, 42, 45, 48, 52, 55, 58, 60, 58), (12, 18, 22, 8, 2, 0, 0, 0, 0, 2, 5, 12)), + ClimateStation("Mumbai, India", 19.08, 72.88, (24.0, 24.5, 26.5, 28.5, 30.0, 28.5, 27.0, 27.0, 27.0, 28.5, 27.5, 25.5), (68, 65, 65, 68, 72, 78, 82, 82, 80, 72, 65, 65), (1, 1, 1, 1, 18, 508, 612, 368, 312, 48, 12, 5)), + ClimateStation("Dar es Salaam, Tanzania", -6.79, 39.24, (27.5, 28.0, 27.5, 26.5, 25.5, 24.0, 23.5, 24.0, 24.5, 25.5, 26.5, 27.0), (78, 76, 78, 80, 78, 76, 74, 72, 72, 74, 76, 78), (58, 48, 148, 228, 178, 48, 28, 28, 28, 68, 128, 98)), + ClimateStation("Antananarivo, Madagascar", -18.88, 47.51, (20.5, 20.5, 20.0, 19.0, 17.0, 15.0, 14.5, 15.5, 17.5, 19.0, 20.0, 20.5), (78, 78, 77, 77, 76, 75, 74, 73, 74, 75, 76, 77), (278, 198, 148, 58, 28, 28, 28, 18, 18, 38, 98, 178)), + ClimateStation("Faro, Portugal", 37.02, -7.93, (12.0, 13.0, 15.0, 16.0, 18.5, 21.5, 24.0, 24.5, 22.5, 19.0, 15.5, 13.0), (75, 73, 70, 68, 65, 62, 58, 60, 65, 70, 74, 76), (58, 48, 38, 42, 28, 8, 2, 2, 22, 58, 68, 72)), + ClimateStation("Cascais, Portugal", 38.70, -9.42, (11.5, 12.5, 14.0, 15.0, 17.0, 19.5, 21.5, 22.0, 20.5, 18.0, 14.5, 12.5), (76, 74, 72, 70, 68, 66, 64, 65, 68, 72, 76, 77), (95, 85, 55, 58, 48, 18, 5, 5, 28, 95, 105, 110)), +) + + +def c_to_f(c: float | np.ndarray) -> float | np.ndarray: + return c * 9.0 / 5.0 + 32.0 + + +def haversine_km(lat1: float, lon1: float, lat2: float, lon2: float) -> float: + r = 6371.0 + p1, p2 = math.radians(lat1), math.radians(lat2) + dphi = math.radians(lat2 - lat1) + dlamb = math.radians(lon2 - lon1) + a = math.sin(dphi / 2) ** 2 + math.cos(p1) * math.cos(p2) * math.sin(dlamb / 2) ** 2 + return 2 * r * math.asin(min(1.0, math.sqrt(a))) + + +def interpolate_climate(lat: float, lon: float) -> dict[str, np.ndarray] | None: + weights: list[float] = [] + temp_acc = np.zeros(12) + hum_acc = np.zeros(12) + prec_acc = np.zeros(12) + + for station in STATIONS: + dist = max(1.0, haversine_km(lat, lon, station.lat, station.lon)) + if dist > MAX_STATION_DIST_KM: + continue + weight = ((1.0 - dist / MAX_STATION_DIST_KM) ** 2) / (dist ** IDW_POWER) + weights.append(weight) + temp_acc += weight * np.array(station.temp_c) + hum_acc += weight * np.array(station.humidity) + prec_acc += weight * np.array(station.precip_mm) + + if not weights: + return None + + total = sum(weights) + return { + "monthly_temp_c": temp_acc / total, + "monthly_humidity": hum_acc / total, + "monthly_precip_mm": prec_acc / total, + } + + +def temperature_comfort_score(monthly_temp_c: np.ndarray) -> float: + temps_f = c_to_f(monthly_temp_c) + in_range = np.sum((temps_f >= TEMP_MIN_F) & (temps_f <= TEMP_MAX_F)) + proximity = np.exp(-0.5 * ((temps_f - TEMP_IDEAL_F) / 4.0) ** 2) + proximity *= (temps_f >= TEMP_MIN_F) & (temps_f <= TEMP_MAX_F) + return 0.7 * (in_range / 12.0) + 0.3 * float(np.mean(proximity)) + + +def mosquito_suitability( + monthly_temp_c: np.ndarray, + monthly_humidity: np.ndarray, + monthly_precip_mm: np.ndarray, +) -> float: + suitabilities: list[float] = [] + for temp_c, rh, precip in zip(monthly_temp_c, monthly_humidity, monthly_precip_mm): + temp_factor = math.exp(-((temp_c - 27.0) ** 2) / (2.0 * 7.0**2)) + if temp_c < 5.0: + temp_factor *= 0.05 + elif temp_c < 12.0: + temp_factor *= 0.25 + humidity_factor = max(0.0, min(1.0, (rh - 40.0) / 45.0)) + precip_factor = min(1.0, precip / 120.0) + suitabilities.append(temp_factor * (0.45 * humidity_factor + 0.55 * precip_factor)) + if not suitabilities: + return 0.5 + return 0.6 * max(suitabilities) + 0.4 * (sum(suitabilities) / len(suitabilities)) + + +def score_point(lat: float, lon: float) -> dict | None: + if not is_land(lat, lon): + return None + climate = interpolate_climate(lat, lon) + if climate is None: + return None + temp_score = temperature_comfort_score(climate["monthly_temp_c"]) + mosquito = mosquito_suitability( + climate["monthly_temp_c"], + climate["monthly_humidity"], + climate["monthly_precip_mm"], + ) + return { + "latitude": lat, + "longitude": lon, + "livability": round(temp_score * max(0.0, 1.0 - mosquito), 4), + "temp_score": round(temp_score, 4), + "mosquito_suitability": round(mosquito, 4), + "avg_temp_f": round(float(np.mean(c_to_f(climate["monthly_temp_c"]))), 1), + } + + +def build_grid() -> tuple[np.ndarray, np.ndarray]: + lats = np.arange(-60, 61, GRID_STEP, dtype=np.float64) + lons = np.arange(-180, 180, GRID_STEP, dtype=np.float64) + return lats, lons + + +def collect_grid_data() -> dict: + cache_path = DATA_DIR / "grid_scores.json" + if cache_path.exists(): + return json.loads(cache_path.read_text()) + + lats, lons = build_grid() + lat_grid, lon_grid = np.meshgrid(lats, lons, indexing="ij") + print(f"Scoring {lat_grid.size}-point global grid ({GRID_STEP}°)...") + points = [ + scored + for lat, lon in zip(lat_grid.ravel(), lon_grid.ravel()) + if (scored := score_point(float(lat), float(lon))) is not None + ] + + payload = { + "metadata": { + "temp_range_f": [TEMP_MIN_F, TEMP_MAX_F], + "grid_step_deg": GRID_STEP, + "source": f"IDW interpolation from {len(STATIONS)} reference climate stations", + }, + "points": points, + } + DATA_DIR.mkdir(parents=True, exist_ok=True) + cache_path.write_text(json.dumps(payload, indent=2)) + return payload + + +def nearest_station_name(lat: float, lon: float) -> str: + nearest = min(STATIONS, key=lambda s: haversine_km(lat, lon, s.lat, s.lon)) + dist = haversine_km(lat, lon, nearest.lat, nearest.lon) + return f"~{nearest.name} ({dist:.0f} km)" + + +def top_locations(points: list[dict], n: int = 25) -> list[dict]: + ranked = sorted(points, key=lambda p: p["livability"], reverse=True)[:n] + for row in ranked: + row["nearest_reference"] = nearest_station_name(row["latitude"], row["longitude"]) + return ranked + + +def create_globe_heatmap(points: list[dict], output_html: Path) -> None: + scores = [p["livability"] for p in points] + hover = [ + ( + f"Lat {p['latitude']:.1f}, Lon {p['longitude']:.1f}
" + f"Livability: {p['livability']:.2f}
" + f"Temp score (65-74°F): {p['temp_score']:.2f}
" + f"Mosquito burden: {p['mosquito_suitability']:.2f}
" + f"Avg monthly temp: {p['avg_temp_f']:.1f}°F" + ) + for p in points + ] + + fig = go.Figure( + data=[ + go.Scattergeo( + lon=[p["longitude"] for p in points], + lat=[p["latitude"] for p in points], + mode="markers", + marker={ + "size": 5, + "color": scores, + "colorscale": [ + [0.0, "#2c003e"], + [0.15, "#450a5c"], + [0.3, "#1e4d6b"], + [0.45, "#2d7a4f"], + [0.6, "#5cb85c"], + [0.75, "#c9e265"], + [0.9, "#ffe566"], + [1.0, "#ff6b00"], + ], + "cmin": 0, + "cmax": 0.55, + "colorbar": { + "title": "Livability score
(65-74°F × low mosquitoes)", + "tickformat": ".2f", + "len": 0.75, + }, + "opacity": 0.88, + "line": {"width": 0}, + }, + text=hover, + hoverinfo="text", + ) + ] + ) + + fig.update_layout( + title={ + "text": ( + "Optimal Places to Live: 65–74°F Climate + Low Mosquitoes
" + f"{GRID_STEP}° global grid · purple = poor · yellow/orange = best" + ), + "x": 0.5, + "xanchor": "center", + }, + geo={ + "projection_type": "orthographic", + "projection_rotation": {"lon": -15, "lat": 25}, + "showland": True, + "landcolor": "#1a1a2e", + "showocean": True, + "oceancolor": "#0f0f23", + "showcountries": True, + "countrycolor": "#444466", + "coastlinecolor": "#666688", + "bgcolor": "#0a0a18", + }, + paper_bgcolor="#0a0a18", + plot_bgcolor="#0a0a18", + font={"color": "#e8e8f0"}, + height=820, + margin={"l": 0, "r": 0, "t": 90, "b": 0}, + ) + fig.write_html(str(output_html), include_plotlyjs="cdn") + print(f"Saved interactive globe map to {output_html}") + + +def create_flat_heatmap(points: list[dict], output_png: Path) -> None: + fig = go.Figure( + data=[ + go.Scattergeo( + lon=[p["longitude"] for p in points], + lat=[p["latitude"] for p in points], + mode="markers", + marker={ + "size": 3, + "color": [p["livability"] for p in points], + "colorscale": [ + [0.0, "#2c003e"], + [0.2, "#1e4d6b"], + [0.4, "#2d7a4f"], + [0.6, "#5cb85c"], + [0.8, "#ffe566"], + [1.0, "#ff6b00"], + ], + "cmin": 0, + "cmax": 0.55, + "colorbar": {"title": "Livability"}, + "opacity": 0.92, + }, + ) + ] + ) + fig.update_layout( + title="Global Livability Heat Map (65–74°F + Low Mosquitoes)", + geo={"projection_type": "equirectangular", "showland": True, "landcolor": "#222233"}, + height=500, + ) + fig.write_image(str(output_png), width=1800, height=900, scale=2) + print(f"Saved static map to {output_png}") + + +def main() -> None: + OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + payload = collect_grid_data() + points = payload["points"] + best = top_locations(points, 40) + + create_globe_heatmap(points, OUTPUT_DIR / "livability_globe.html") + try: + create_flat_heatmap(points, OUTPUT_DIR / "livability_map.png") + except Exception as exc: + print(f"Static PNG export skipped: {exc}") + + print("\n=== TOP 20 PLACES TO LIVE (65-74°F + low mosquitoes) ===") + for rank, p in enumerate(best[:20], 1): + print( + f"{rank:2d}. {p['nearest_reference']}\n" + f" coords ({p['latitude']:.1f}, {p['longitude']:.1f}) " + f"score={p['livability']:.3f} temp={p['temp_score']:.2f} " + f"mosquitoes={p['mosquito_suitability']:.2f} avg={p['avg_temp_f']:.0f}°F" + ) + + (OUTPUT_DIR / "top_locations.json").write_text(json.dumps(best, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/climate-analysis/output/livability_globe.html b/climate-analysis/output/livability_globe.html new file mode 100644 index 0000000..dbec635 --- /dev/null +++ b/climate-analysis/output/livability_globe.html @@ -0,0 +1,7 @@ + + + +
+
+ + \ No newline at end of file diff --git a/climate-analysis/output/livability_map.png b/climate-analysis/output/livability_map.png new file mode 100644 index 0000000..c61868f Binary files /dev/null and b/climate-analysis/output/livability_map.png differ diff --git a/climate-analysis/output/top_locations.json b/climate-analysis/output/top_locations.json new file mode 100644 index 0000000..36f4443 --- /dev/null +++ b/climate-analysis/output/top_locations.json @@ -0,0 +1,362 @@ +[ + { + "latitude": 22.0, + "longitude": -10.0, + "livability": 0.5234, + "temp_score": 0.7015, + "mosquito_suitability": 0.2539, + "avg_temp_f": 69.2, + "nearest_reference": "~Las Palmas, Canary Islands (871 km)" + }, + { + "latitude": 10.0, + "longitude": -72.0, + "livability": 0.4833, + "temp_score": 0.9344, + "mosquito_suitability": 0.4828, + "avg_temp_f": 66.7, + "nearest_reference": "~Medell\u00edn, Colombia (572 km)" + }, + { + "latitude": 18.0, + "longitude": -94.0, + "livability": 0.4789, + "temp_score": 0.7892, + "mosquito_suitability": 0.3931, + "avg_temp_f": 67.6, + "nearest_reference": "~Oaxaca, Mexico (306 km)" + }, + { + "latitude": 18.0, + "longitude": -92.0, + "livability": 0.4779, + "temp_score": 0.7898, + "mosquito_suitability": 0.395, + "avg_temp_f": 67.7, + "nearest_reference": "~Oaxaca, Mexico (511 km)" + }, + { + "latitude": 18.0, + "longitude": -96.0, + "livability": 0.4762, + "temp_score": 0.7908, + "mosquito_suitability": 0.3978, + "avg_temp_f": 67.8, + "nearest_reference": "~Oaxaca, Mexico (129 km)" + }, + { + "latitude": 16.0, + "longitude": -94.0, + "livability": 0.4761, + "temp_score": 0.7908, + "mosquito_suitability": 0.3979, + "avg_temp_f": 67.8, + "nearest_reference": "~Oaxaca, Mexico (313 km)" + }, + { + "latitude": 16.0, + "longitude": -96.0, + "livability": 0.4752, + "temp_score": 0.7913, + "mosquito_suitability": 0.3995, + "avg_temp_f": 67.8, + "nearest_reference": "~Oaxaca, Mexico (142 km)" + }, + { + "latitude": 16.0, + "longitude": -92.0, + "livability": 0.4752, + "temp_score": 0.7913, + "mosquito_suitability": 0.3994, + "avg_temp_f": 67.8, + "nearest_reference": "~Oaxaca, Mexico (517 km)" + }, + { + "latitude": 14.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9, + "nearest_reference": "~Oaxaca, Mexico (797 km)" + }, + { + "latitude": 16.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9, + "nearest_reference": "~Oaxaca, Mexico (726 km)" + }, + { + "latitude": 18.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9, + "nearest_reference": "~Oaxaca, Mexico (720 km)" + }, + { + "latitude": 20.0, + "longitude": -90.0, + "livability": 0.4748, + "temp_score": 0.7915, + "mosquito_suitability": 0.4001, + "avg_temp_f": 67.9, + "nearest_reference": "~Oaxaca, Mexico (780 km)" + }, + { + "latitude": 22.0, + "longitude": -16.0, + "livability": 0.47, + "temp_score": 0.6256, + "mosquito_suitability": 0.2488, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (681 km)" + }, + { + "latitude": 28.0, + "longitude": -16.0, + "livability": 0.47, + "temp_score": 0.6266, + "mosquito_suitability": 0.25, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (57 km)" + }, + { + "latitude": 22.0, + "longitude": -14.0, + "livability": 0.4699, + "temp_score": 0.6269, + "mosquito_suitability": 0.2503, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (693 km)" + }, + { + "latitude": 24.0, + "longitude": -14.0, + "livability": 0.4699, + "temp_score": 0.6267, + "mosquito_suitability": 0.2501, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (478 km)" + }, + { + "latitude": 24.0, + "longitude": -12.0, + "livability": 0.4699, + "temp_score": 0.6275, + "mosquito_suitability": 0.2511, + "avg_temp_f": 69.2, + "nearest_reference": "~Las Palmas, Canary Islands (570 km)" + }, + { + "latitude": 22.0, + "longitude": -12.0, + "livability": 0.4698, + "temp_score": 0.6285, + "mosquito_suitability": 0.2525, + "avg_temp_f": 69.2, + "nearest_reference": "~Las Palmas, Canary Islands (761 km)" + }, + { + "latitude": 26.0, + "longitude": -14.0, + "livability": 0.4698, + "temp_score": 0.6276, + "mosquito_suitability": 0.2514, + "avg_temp_f": 69.2, + "nearest_reference": "~Las Palmas, Canary Islands (273 km)" + }, + { + "latitude": 26.0, + "longitude": -12.0, + "livability": 0.4698, + "temp_score": 0.6264, + "mosquito_suitability": 0.2501, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (412 km)" + }, + { + "latitude": 24.0, + "longitude": -10.0, + "livability": 0.4697, + "temp_score": 0.6275, + "mosquito_suitability": 0.2514, + "avg_temp_f": 69.2, + "nearest_reference": "~Las Palmas, Canary Islands (708 km)" + }, + { + "latitude": 8.0, + "longitude": -74.0, + "livability": 0.43, + "temp_score": 0.9913, + "mosquito_suitability": 0.5662, + "avg_temp_f": 68.7, + "nearest_reference": "~Medell\u00edn, Colombia (260 km)" + }, + { + "latitude": -6.0, + "longitude": 32.0, + "livability": 0.4253, + "temp_score": 0.8913, + "mosquito_suitability": 0.5229, + "avg_temp_f": 68.3, + "nearest_reference": "~Nairobi, Kenya (748 km)" + }, + { + "latitude": 10.0, + "longitude": -74.0, + "livability": 0.4234, + "temp_score": 0.9936, + "mosquito_suitability": 0.5738, + "avg_temp_f": 68.9, + "nearest_reference": "~Medell\u00edn, Colombia (451 km)" + }, + { + "latitude": 28.0, + "longitude": -12.0, + "livability": 0.4152, + "temp_score": 0.5513, + "mosquito_suitability": 0.2468, + "avg_temp_f": 69.1, + "nearest_reference": "~Las Palmas, Canary Islands (337 km)" + }, + { + "latitude": -4.0, + "longitude": 34.0, + "livability": 0.4014, + "temp_score": 0.7031, + "mosquito_suitability": 0.4291, + "avg_temp_f": 66.0, + "nearest_reference": "~Nairobi, Kenya (435 km)" + }, + { + "latitude": -2.0, + "longitude": 40.0, + "livability": 0.3938, + "temp_score": 0.7169, + "mosquito_suitability": 0.4507, + "avg_temp_f": 66.6, + "nearest_reference": "~Nairobi, Kenya (362 km)" + }, + { + "latitude": -4.0, + "longitude": 36.0, + "livability": 0.3912, + "temp_score": 0.7204, + "mosquito_suitability": 0.4569, + "avg_temp_f": 66.7, + "nearest_reference": "~Nairobi, Kenya (315 km)" + }, + { + "latitude": 12.0, + "longitude": -72.0, + "livability": 0.3864, + "temp_score": 0.996, + "mosquito_suitability": 0.6121, + "avg_temp_f": 69.8, + "nearest_reference": "~Medell\u00edn, Colombia (749 km)" + }, + { + "latitude": -4.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (815 km)" + }, + { + "latitude": -2.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (762 km)" + }, + { + "latitude": -2.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (542 km)" + }, + { + "latitude": 0.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (772 km)" + }, + { + "latitude": 0.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (555 km)" + }, + { + "latitude": 0.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (345 km)" + }, + { + "latitude": 0.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (170 km)" + }, + { + "latitude": 2.0, + "longitude": 30.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (842 km)" + }, + { + "latitude": 2.0, + "longitude": 32.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (649 km)" + }, + { + "latitude": 2.0, + "longitude": 34.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (482 km)" + }, + { + "latitude": 2.0, + "longitude": 36.0, + "livability": 0.3674, + "temp_score": 0.6102, + "mosquito_suitability": 0.398, + "avg_temp_f": 65.2, + "nearest_reference": "~Nairobi, Kenya (377 km)" + } +] \ No newline at end of file