{"schema_version":"1.0.0","method_version":"wxscore-1.0.0","method_fingerprint":"8eda153decbd","generated_at":"2026-08-09T08:21:32Z","cache_generated_at":"2026-08-09T08:05:01.617279Z","count":32,"records":[{"slug":"amelia-island","name":"Amelia Island","weather_score":4.8,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":85.3,"temp_min_f":75.5,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.3,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":85.3,"temp_min_f":74.3,"precip_prob_pct":13.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":100.0,"temp_min_f":76.6,"precip_prob_pct":19.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.5,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":100.2,"temp_min_f":79.2,"precip_prob_pct":21.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"},{"date":"2026-08-13","temp_max_f":99.9,"temp_min_f":78.8,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":98.8,"temp_min_f":79.2,"precip_prob_pct":29.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.3,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":99.0,"temp_min_f":75.4,"precip_prob_pct":24.0,"wmo_weathercode":82,"condition":"Violent showers","sky_bucket":"wet","day_score":4.0,"day_label":"Violent showers - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":3,"wet":3,"storm":1,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"austin","name":"Austin","weather_score":5.3,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":97.8,"temp_min_f":78.9,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.9,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":97.7,"temp_min_f":77.1,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.9,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":104.0,"temp_min_f":78.4,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.9,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":104.7,"temp_min_f":77.9,"precip_prob_pct":0.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.1,"day_label":"Clear but hot (105°F)"},{"date":"2026-08-13","temp_max_f":104.7,"temp_min_f":76.8,"precip_prob_pct":0.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":6.7,"day_label":"Partly cloudy and dry"},{"date":"2026-08-14","temp_max_f":104.1,"temp_min_f":77.6,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.9,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":104.4,"temp_min_f":79.2,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.9,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":1,"partly":1,"cloudy":5,"wet":0,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"big-sur","name":"Big Sur","weather_score":8.6,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":67.5,"temp_min_f":55.6,"precip_prob_pct":0.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.2,"day_label":"Clear but cool (68°F)"},{"date":"2026-08-10","temp_max_f":78.9,"temp_min_f":56.8,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":83.7,"temp_min_f":65.9,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":77.1,"temp_min_f":57.4,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":71.8,"temp_min_f":56.0,"precip_prob_pct":2.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and dry"},{"date":"2026-08-14","temp_max_f":72.5,"temp_min_f":55.9,"precip_prob_pct":2.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":10.0,"day_label":"Clear and perfect"},{"date":"2026-08-15","temp_max_f":76.0,"temp_min_f":57.0,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"}],"input_count":7,"derived_counts":{"clear":2,"partly":1,"cloudy":3,"wet":1,"storm":0,"bright":3,"dull":4,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"carmel-by-the-sea","name":"Carmel-by-the-Sea","weather_score":8.1,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":63.2,"temp_min_f":56.4,"precip_prob_pct":2.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":6.8,"day_label":"Fog - expect to get wet"},{"date":"2026-08-10","temp_max_f":70.4,"temp_min_f":55.9,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":78.6,"temp_min_f":57.6,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":73.6,"temp_min_f":55.4,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":77.2,"temp_min_f":54.3,"precip_prob_pct":1.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":10.0,"day_label":"Clear and perfect"},{"date":"2026-08-14","temp_max_f":74.7,"temp_min_f":54.2,"precip_prob_pct":2.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":10.0,"day_label":"Clear and perfect"},{"date":"2026-08-15","temp_max_f":72.0,"temp_min_f":54.1,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":3,"wet":2,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"charlotte","name":"Charlotte","weather_score":5.6,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":92.7,"temp_min_f":70.9,"precip_prob_pct":18.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.8,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":93.5,"temp_min_f":72.0,"precip_prob_pct":21.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy with rain risk"},{"date":"2026-08-11","temp_max_f":93.5,"temp_min_f":75.0,"precip_prob_pct":13.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.5,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":98.9,"temp_min_f":74.3,"precip_prob_pct":13.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":93.9,"temp_min_f":72.5,"precip_prob_pct":13.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-14","temp_max_f":96.6,"temp_min_f":69.1,"precip_prob_pct":30.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":5.7,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-15","temp_max_f":79.0,"temp_min_f":67.5,"precip_prob_pct":32.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":2,"wet":5,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"dallas","name":"Dallas","weather_score":5.1,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":99.5,"temp_min_f":76.6,"precip_prob_pct":4.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.9,"day_label":"Clear but hot (100°F)"},{"date":"2026-08-10","temp_max_f":100.9,"temp_min_f":79.2,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":104.5,"temp_min_f":82.6,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.9,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":105.6,"temp_min_f":82.9,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.7,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":105.1,"temp_min_f":82.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.8,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":105.9,"temp_min_f":81.3,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.6,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":106.1,"temp_min_f":84.5,"precip_prob_pct":2.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":7.1,"day_label":"Clear but hot (106°F)"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":5,"wet":0,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"destin","name":"Destin","weather_score":6.5,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":89.3,"temp_min_f":78.2,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":88.7,"temp_min_f":80.7,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.3,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":92.4,"temp_min_f":78.0,"precip_prob_pct":6.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":94.4,"temp_min_f":79.1,"precip_prob_pct":10.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.0,"day_label":"Clear but hot (94°F)"},{"date":"2026-08-13","temp_max_f":94.4,"temp_min_f":79.5,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":95.3,"temp_min_f":79.0,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":99.4,"temp_min_f":79.5,"precip_prob_pct":18.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":5,"wet":1,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"fort-lauderdale","name":"Fort Lauderdale","weather_score":7.1,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":89.7,"temp_min_f":80.1,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":89.8,"temp_min_f":80.1,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":89.2,"temp_min_f":84.3,"precip_prob_pct":8.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear but hot (89°F)"},{"date":"2026-08-12","temp_max_f":89.0,"temp_min_f":84.5,"precip_prob_pct":15.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":90.2,"temp_min_f":84.3,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":89.4,"temp_min_f":84.7,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":88.6,"temp_min_f":84.9,"precip_prob_pct":14.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":4,"wet":1,"storm":1,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"gulf-shores","name":"Gulf Shores","weather_score":7.6,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":88.9,"temp_min_f":75.3,"precip_prob_pct":17.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":89.7,"temp_min_f":80.1,"precip_prob_pct":20.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":89.7,"temp_min_f":81.3,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":90.6,"temp_min_f":81.6,"precip_prob_pct":14.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.2,"day_label":"Clear but hot (91°F)"},{"date":"2026-08-13","temp_max_f":90.1,"temp_min_f":82.3,"precip_prob_pct":17.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.0,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":90.4,"temp_min_f":82.8,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":93.8,"temp_min_f":80.2,"precip_prob_pct":7.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":4,"wet":2,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"hilton-head","name":"Hilton Head","weather_score":5.0,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":86.9,"temp_min_f":73.7,"precip_prob_pct":19.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":91.5,"temp_min_f":77.1,"precip_prob_pct":17.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":98.8,"temp_min_f":75.4,"precip_prob_pct":18.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.9,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":100.1,"temp_min_f":76.7,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.6,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":100.3,"temp_min_f":74.4,"precip_prob_pct":7.0,"wmo_weathercode":81,"condition":"Rain showers","sky_bucket":"wet","day_score":5.6,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-14","temp_max_f":98.3,"temp_min_f":73.0,"precip_prob_pct":27.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":97.0,"temp_min_f":74.8,"precip_prob_pct":35.0,"wmo_weathercode":96,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":3,"wet":3,"storm":1,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"houston","name":"Houston","weather_score":6.2,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":88.8,"temp_min_f":77.9,"precip_prob_pct":23.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"},{"date":"2026-08-10","temp_max_f":87.4,"temp_min_f":76.3,"precip_prob_pct":32.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":99.8,"temp_min_f":79.6,"precip_prob_pct":16.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.7,"day_label":"Clear but hot (100°F)"},{"date":"2026-08-12","temp_max_f":102.5,"temp_min_f":80.5,"precip_prob_pct":6.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":7.7,"day_label":"Clear but hot (102°F)"},{"date":"2026-08-13","temp_max_f":101.8,"temp_min_f":80.7,"precip_prob_pct":1.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.6,"day_label":"Clear but hot (102°F)"},{"date":"2026-08-14","temp_max_f":100.3,"temp_min_f":81.0,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.5,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":100.7,"temp_min_f":82.2,"precip_prob_pct":9.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.7,"day_label":"Clear but hot (101°F)"}],"input_count":7,"derived_counts":{"clear":4,"partly":0,"cloudy":1,"wet":1,"storm":1,"bright":4,"dull":3,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"jackson-hole","name":"Jackson Hole","weather_score":7.3,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":87.6,"temp_min_f":65.8,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":88.6,"temp_min_f":61.7,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":89.6,"temp_min_f":51.2,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":86.5,"temp_min_f":56.8,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":81.8,"temp_min_f":51.8,"precip_prob_pct":33.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy with rain risk"},{"date":"2026-08-14","temp_max_f":73.1,"temp_min_f":52.1,"precip_prob_pct":42.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":82.4,"temp_min_f":50.9,"precip_prob_pct":45.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.5,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":5,"wet":2,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"key-west","name":"Key West","weather_score":6.4,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":89.8,"temp_min_f":81.3,"precip_prob_pct":29.0,"wmo_weathercode":82,"condition":"Violent showers","sky_bucket":"wet","day_score":4.0,"day_label":"Violent showers - expect to get wet"},{"date":"2026-08-10","temp_max_f":91.5,"temp_min_f":81.6,"precip_prob_pct":7.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.9,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":86.6,"temp_min_f":85.3,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":86.6,"temp_min_f":84.8,"precip_prob_pct":3.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":86.2,"temp_min_f":84.6,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":86.8,"temp_min_f":84.9,"precip_prob_pct":22.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.9,"day_label":"Partly cloudy, some rain risk"},{"date":"2026-08-15","temp_max_f":86.4,"temp_min_f":85.0,"precip_prob_pct":22.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"}],"input_count":7,"derived_counts":{"clear":0,"partly":1,"cloudy":3,"wet":2,"storm":1,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"las-vegas","name":"Las Vegas","weather_score":4.3,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":112.6,"temp_min_f":88.7,"precip_prob_pct":7.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":4.2,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":109.8,"temp_min_f":79.9,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.0,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":104.0,"temp_min_f":89.8,"precip_prob_pct":8.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":5.2,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-12","temp_max_f":105.2,"temp_min_f":87.6,"precip_prob_pct":33.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.9,"day_label":"Cloudy with rain risk"},{"date":"2026-08-13","temp_max_f":100.2,"temp_min_f":88.3,"precip_prob_pct":25.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.0,"day_label":"Cloudy with rain risk"},{"date":"2026-08-14","temp_max_f":100.2,"temp_min_f":87.1,"precip_prob_pct":26.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.0,"day_label":"Cloudy with rain risk"},{"date":"2026-08-15","temp_max_f":96.0,"temp_min_f":87.8,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.1,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":5,"wet":2,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"los-angeles","name":"Los Angeles","weather_score":8.1,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":93.1,"temp_min_f":65.2,"precip_prob_pct":2.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-10","temp_max_f":90.0,"temp_min_f":65.0,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":88.7,"temp_min_f":74.3,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":85.9,"temp_min_f":72.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":83.9,"temp_min_f":69.3,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":81.7,"temp_min_f":69.1,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":77.2,"temp_min_f":71.3,"precip_prob_pct":3.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":4,"wet":3,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"marfa","name":"Marfa","weather_score":6.0,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":90.7,"temp_min_f":63.9,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":92.2,"temp_min_f":64.2,"precip_prob_pct":8.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":91.9,"temp_min_f":72.6,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":92.8,"temp_min_f":72.4,"precip_prob_pct":17.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.9,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":94.7,"temp_min_f":74.6,"precip_prob_pct":27.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.8,"day_label":"Cloudy with rain risk"},{"date":"2026-08-14","temp_max_f":95.6,"temp_min_f":72.5,"precip_prob_pct":53.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":4.9,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":90.8,"temp_min_f":70.3,"precip_prob_pct":31.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.6,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":4,"wet":3,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"miami","name":"Miami","weather_score":7.7,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":88.5,"temp_min_f":79.5,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":88.4,"temp_min_f":79.0,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":88.8,"temp_min_f":84.5,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":89.2,"temp_min_f":84.7,"precip_prob_pct":11.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":90.1,"temp_min_f":83.9,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":89.4,"temp_min_f":84.7,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":88.7,"temp_min_f":84.6,"precip_prob_pct":11.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":5,"wet":2,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"napa","name":"Napa","weather_score":8.4,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":88.1,"temp_min_f":55.5,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-10","temp_max_f":78.4,"temp_min_f":56.3,"precip_prob_pct":2.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":82.6,"temp_min_f":54.7,"precip_prob_pct":0.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":10.0,"day_label":"Clear and perfect"},{"date":"2026-08-12","temp_max_f":78.1,"temp_min_f":54.8,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":78.8,"temp_min_f":53.2,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":82.3,"temp_min_f":55.2,"precip_prob_pct":6.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear and perfect"},{"date":"2026-08-15","temp_max_f":83.4,"temp_min_f":54.7,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":3,"wet":2,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"nashville","name":"Nashville","weather_score":5.5,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":90.9,"temp_min_f":68.8,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.0,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":94.8,"temp_min_f":74.9,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":97.3,"temp_min_f":76.3,"precip_prob_pct":11.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.3,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":97.7,"temp_min_f":77.2,"precip_prob_pct":24.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.6,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":91.7,"temp_min_f":75.9,"precip_prob_pct":28.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.6,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-14","temp_max_f":98.9,"temp_min_f":74.4,"precip_prob_pct":28.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.5,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":98.1,"temp_min_f":74.4,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.7,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":3,"wet":4,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"newport-beach","name":"Newport Beach","weather_score":8.4,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":79.4,"temp_min_f":66.2,"precip_prob_pct":3.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and dry"},{"date":"2026-08-10","temp_max_f":82.0,"temp_min_f":66.2,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":85.6,"temp_min_f":73.6,"precip_prob_pct":1.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":82.9,"temp_min_f":72.7,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":79.0,"temp_min_f":70.2,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":77.9,"temp_min_f":69.7,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":79.5,"temp_min_f":71.2,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":1,"cloudy":5,"wet":1,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"orlando","name":"Orlando","weather_score":4.7,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":97.0,"temp_min_f":75.3,"precip_prob_pct":33.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":90.4,"temp_min_f":75.7,"precip_prob_pct":23.0,"wmo_weathercode":81,"condition":"Rain showers","sky_bucket":"wet","day_score":5.6,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-11","temp_max_f":101.3,"temp_min_f":79.6,"precip_prob_pct":16.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.5,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":100.6,"temp_min_f":82.4,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.3,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":100.3,"temp_min_f":80.6,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.5,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":100.0,"temp_min_f":81.1,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.5,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":99.4,"temp_min_f":81.5,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.7,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":4,"wet":3,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"palm-beach","name":"Palm Beach","weather_score":7.2,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":90.0,"temp_min_f":81.2,"precip_prob_pct":6.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.0,"day_label":"Partly cloudy and dry"},{"date":"2026-08-10","temp_max_f":90.2,"temp_min_f":80.3,"precip_prob_pct":7.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":89.4,"temp_min_f":82.9,"precip_prob_pct":10.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear but hot (89°F)"},{"date":"2026-08-12","temp_max_f":91.5,"temp_min_f":82.7,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":91.9,"temp_min_f":83.4,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":90.3,"temp_min_f":83.9,"precip_prob_pct":15.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.0,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":88.6,"temp_min_f":84.3,"precip_prob_pct":27.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"}],"input_count":7,"derived_counts":{"clear":1,"partly":1,"cloudy":4,"wet":0,"storm":1,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"palm-desert","name":"Palm Desert","weather_score":4.0,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":112.8,"temp_min_f":85.5,"precip_prob_pct":6.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":5.7,"day_label":"Partly cloudy and dry"},{"date":"2026-08-10","temp_max_f":109.2,"temp_min_f":81.9,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.1,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":106.4,"temp_min_f":86.4,"precip_prob_pct":39.0,"wmo_weathercode":55,"condition":"Heavy drizzle","sky_bucket":"wet","day_score":3.4,"day_label":"Heavy drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":106.2,"temp_min_f":89.1,"precip_prob_pct":13.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.5,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":103.5,"temp_min_f":87.7,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.0,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":102.8,"temp_min_f":86.5,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.1,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":94.0,"temp_min_f":80.0,"precip_prob_pct":4.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.9,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":1,"cloudy":4,"wet":2,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"palm-springs","name":"Palm Springs","weather_score":4.1,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":112.2,"temp_min_f":87.5,"precip_prob_pct":7.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.9,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":109.8,"temp_min_f":83.7,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.0,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":106.3,"temp_min_f":83.5,"precip_prob_pct":31.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":4.1,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-12","temp_max_f":105.3,"temp_min_f":88.0,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.6,"day_label":"Cloudy and dry"},{"date":"2026-08-13","temp_max_f":102.2,"temp_min_f":85.5,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.2,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":101.3,"temp_min_f":84.6,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":93.3,"temp_min_f":77.5,"precip_prob_pct":4.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":5,"wet":2,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"panama-city-beach","name":"Panama City Beach","weather_score":6.7,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":85.8,"temp_min_f":78.2,"precip_prob_pct":16.0,"wmo_weathercode":82,"condition":"Violent showers","sky_bucket":"wet","day_score":4.0,"day_label":"Violent showers - expect to get wet"},{"date":"2026-08-10","temp_max_f":89.8,"temp_min_f":78.4,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":89.0,"temp_min_f":81.8,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.3,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":88.8,"temp_min_f":82.3,"precip_prob_pct":16.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.7,"day_label":"Clear but hot (89°F)"},{"date":"2026-08-13","temp_max_f":89.0,"temp_min_f":82.8,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":89.1,"temp_min_f":82.8,"precip_prob_pct":7.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.3,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":90.1,"temp_min_f":82.7,"precip_prob_pct":9.0,"wmo_weathercode":55,"condition":"Heavy drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Heavy drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":4,"wet":2,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"san-antonio","name":"San Antonio","weather_score":5.9,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":98.2,"temp_min_f":78.7,"precip_prob_pct":7.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.9,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":96.9,"temp_min_f":75.5,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.1,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":102.2,"temp_min_f":76.6,"precip_prob_pct":1.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.5,"day_label":"Clear but hot (102°F)"},{"date":"2026-08-12","temp_max_f":103.4,"temp_min_f":75.7,"precip_prob_pct":1.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":7.3,"day_label":"Clear but hot (103°F)"},{"date":"2026-08-13","temp_max_f":103.4,"temp_min_f":75.3,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.0,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":103.1,"temp_min_f":75.6,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.1,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":101.8,"temp_min_f":77.6,"precip_prob_pct":2.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.5,"day_label":"Drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":4,"wet":1,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"san-diego","name":"San Diego","weather_score":8.4,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":82.9,"temp_min_f":68.0,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-10","temp_max_f":78.1,"temp_min_f":66.5,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":80.3,"temp_min_f":73.1,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":78.7,"temp_min_f":72.0,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":75.8,"temp_min_f":70.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":75.1,"temp_min_f":69.8,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":76.1,"temp_min_f":71.3,"precip_prob_pct":2.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":6,"wet":1,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"san-luis-obispo","name":"San Luis Obispo","weather_score":8.3,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":85.2,"temp_min_f":55.0,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-10","temp_max_f":82.7,"temp_min_f":57.4,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":85.4,"temp_min_f":64.5,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":82.4,"temp_min_f":57.3,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-13","temp_max_f":75.9,"temp_min_f":56.3,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":77.8,"temp_min_f":55.2,"precip_prob_pct":6.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear and perfect"},{"date":"2026-08-15","temp_max_f":77.6,"temp_min_f":56.7,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":4,"wet":2,"storm":0,"bright":1,"dull":6,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"santa-barbara","name":"Santa Barbara","weather_score":7.9,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":80.3,"temp_min_f":63.4,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-10","temp_max_f":76.6,"temp_min_f":63.6,"precip_prob_pct":3.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-11","temp_max_f":79.6,"temp_min_f":66.5,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-12","temp_max_f":76.4,"temp_min_f":62.5,"precip_prob_pct":1.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-13","temp_max_f":73.9,"temp_min_f":61.6,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-14","temp_max_f":74.2,"temp_min_f":61.6,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-15","temp_max_f":77.5,"temp_min_f":65.1,"precip_prob_pct":2.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":3,"wet":4,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"sarasota","name":"Sarasota","weather_score":6.7,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":89.3,"temp_min_f":75.4,"precip_prob_pct":34.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy with rain risk"},{"date":"2026-08-10","temp_max_f":87.6,"temp_min_f":75.7,"precip_prob_pct":20.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":7.0,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":93.7,"temp_min_f":80.2,"precip_prob_pct":10.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.9,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":95.8,"temp_min_f":81.6,"precip_prob_pct":7.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":8.5,"day_label":"Clear but hot (96°F)"},{"date":"2026-08-13","temp_max_f":93.5,"temp_min_f":82.0,"precip_prob_pct":8.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.1,"day_label":"Clear but hot (94°F)"},{"date":"2026-08-14","temp_max_f":95.3,"temp_min_f":80.7,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":96.2,"temp_min_f":80.0,"precip_prob_pct":20.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.9,"day_label":"Cloudy with rain risk"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":3,"wet":2,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"st-augustine","name":"St. Augustine","weather_score":4.9,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":86.1,"temp_min_f":76.3,"precip_prob_pct":18.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":85.7,"temp_min_f":75.2,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.4,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-11","temp_max_f":100.9,"temp_min_f":74.4,"precip_prob_pct":13.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":5.6,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-12","temp_max_f":102.0,"temp_min_f":77.1,"precip_prob_pct":11.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":5.5,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-13","temp_max_f":101.4,"temp_min_f":76.6,"precip_prob_pct":12.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.3,"day_label":"Cloudy and dry"},{"date":"2026-08-14","temp_max_f":101.4,"temp_min_f":78.0,"precip_prob_pct":19.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-15","temp_max_f":99.8,"temp_min_f":75.5,"precip_prob_pct":19.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.7,"day_label":"Light drizzle - expect to get wet"}],"input_count":7,"derived_counts":{"clear":0,"partly":0,"cloudy":2,"wet":5,"storm":0,"bright":0,"dull":7,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"tampa","name":"Tampa","weather_score":7.9,"method":{"name":"wxscore","version":"wxscore-1.0.0","fingerprint":"8eda153decbd","day_formula":"dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)","window_formula":"windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)","clear_definition":"clear = WMO codes 0 and 1 ONLY; code 2 (partly cloudy) is NOT clear","documentation":"https://sunny.day/llms.txt"},"inputs":[{"date":"2026-08-09","temp_max_f":92.6,"temp_min_f":74.4,"precip_prob_pct":24.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy with rain risk"},{"date":"2026-08-10","temp_max_f":93.9,"temp_min_f":74.9,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":97.3,"temp_min_f":79.5,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.0,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":95.7,"temp_min_f":80.6,"precip_prob_pct":8.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":8.5,"day_label":"Clear but hot (96°F)"},{"date":"2026-08-13","temp_max_f":94.8,"temp_min_f":79.5,"precip_prob_pct":8.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":8.9,"day_label":"Clear but hot (95°F)"},{"date":"2026-08-14","temp_max_f":95.7,"temp_min_f":78.9,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy and dry"},{"date":"2026-08-15","temp_max_f":94.4,"temp_min_f":79.1,"precip_prob_pct":13.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":5,"wet":0,"storm":0,"bright":2,"dull":5,"unknown":0},"upstream_sources":[{"id":"open-meteo-forecast","supplies":["temp_max_f","temp_min_f","precip_prob_pct","wmo_weathercode"]}],"cache_generated_at":"2026-08-09T08:05:01.617279Z","computed_at":"2026-08-09T08:21:32Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."}]}