{"schema_version":"1.0.0","method_version":"wxscore-1.0.0","method_fingerprint":"8eda153decbd","generated_at":"2026-08-06T16:19:58Z","cache_generated_at":"2026-08-06T16:05:03.278850Z","count":32,"records":[{"slug":"albuquerque","name":"Albuquerque","weather_score":4.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":102.1,"temp_min_f":72.3,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.2,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":100.9,"temp_min_f":68.7,"precip_prob_pct":8.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":98.5,"temp_min_f":73.1,"precip_prob_pct":9.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-09","temp_max_f":100.1,"temp_min_f":78.2,"precip_prob_pct":28.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.9,"day_label":"Cloudy with rain risk"},{"date":"2026-08-10","temp_max_f":98.9,"temp_min_f":74.2,"precip_prob_pct":39.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":4.8,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":96.9,"temp_min_f":74.2,"precip_prob_pct":39.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.3,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":97.4,"temp_min_f":76.4,"precip_prob_pct":47.0,"wmo_weathercode":55,"condition":"Heavy drizzle","sky_bucket":"wet","day_score":4.5,"day_label":"Heavy 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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"aspen","name":"Aspen","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":84.4,"temp_min_f":51.3,"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-07","temp_max_f":87.6,"temp_min_f":60.9,"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-08","temp_max_f":87.9,"temp_min_f":61.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-09","temp_max_f":87.9,"temp_min_f":59.6,"precip_prob_pct":7.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-10","temp_max_f":84.1,"temp_min_f":57.8,"precip_prob_pct":34.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":86.4,"temp_min_f":55.4,"precip_prob_pct":42.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy with rain risk"},{"date":"2026-08-12","temp_max_f":88.4,"temp_min_f":59.3,"precip_prob_pct":58.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.5,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":98.8,"temp_min_f":79.7,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.8,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":98.9,"temp_min_f":77.8,"precip_prob_pct":3.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":8.0,"day_label":"Clear but hot (99°F)"},{"date":"2026-08-08","temp_max_f":102.6,"temp_min_f":76.7,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.2,"day_label":"Cloudy and dry"},{"date":"2026-08-09","temp_max_f":101.5,"temp_min_f":77.4,"precip_prob_pct":8.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.3,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":103.6,"temp_min_f":77.0,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.0,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":103.6,"temp_min_f":78.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-12","temp_max_f":105.1,"temp_min_f":77.0,"precip_prob_pct":0.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":6.6,"day_label":"Partly 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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":67.0,"temp_min_f":58.1,"precip_prob_pct":0.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-07","temp_max_f":66.4,"temp_min_f":56.3,"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-08","temp_max_f":96.5,"temp_min_f":56.1,"precip_prob_pct":0.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":6.5,"day_label":"Fog - expect to get wet"},{"date":"2026-08-09","temp_max_f":96.9,"temp_min_f":79.0,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.1,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":86.4,"temp_min_f":68.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-11","temp_max_f":81.7,"temp_min_f":64.5,"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":76.6,"temp_min_f":57.9,"precip_prob_pct":2.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear and perfect"}],"input_count":7,"derived_counts":{"clear":2,"partly":0,"cloudy":2,"wet":3,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":7.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":61.8,"temp_min_f":56.2,"precip_prob_pct":1.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":6.7,"day_label":"Fog - expect to get wet"},{"date":"2026-08-07","temp_max_f":61.7,"temp_min_f":56.6,"precip_prob_pct":2.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":6.7,"day_label":"Fog - expect to get wet"},{"date":"2026-08-08","temp_max_f":82.8,"temp_min_f":55.7,"precip_prob_pct":0.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-09","temp_max_f":76.3,"temp_min_f":56.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-10","temp_max_f":72.5,"temp_min_f":56.3,"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-11","temp_max_f":72.2,"temp_min_f":55.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":72.3,"temp_min_f":55.1,"precip_prob_pct":2.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":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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":89.1,"temp_min_f":69.8,"precip_prob_pct":57.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.8,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-07","temp_max_f":83.1,"temp_min_f":69.5,"precip_prob_pct":29.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy with rain risk"},{"date":"2026-08-08","temp_max_f":94.8,"temp_min_f":71.2,"precip_prob_pct":32.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-09","temp_max_f":93.0,"temp_min_f":71.6,"precip_prob_pct":15.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-10","temp_max_f":97.0,"temp_min_f":72.8,"precip_prob_pct":15.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.1,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":99.7,"temp_min_f":72.1,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.6,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":97.9,"temp_min_f":75.4,"precip_prob_pct":20.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.9,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":101.1,"temp_min_f":82.5,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":101.3,"temp_min_f":80.4,"precip_prob_pct":2.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.4,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":104.5,"temp_min_f":81.7,"precip_prob_pct":1.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.2,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-09","temp_max_f":102.9,"temp_min_f":83.1,"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-10","temp_max_f":103.8,"temp_min_f":82.7,"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-11","temp_max_f":104.6,"temp_min_f":82.9,"precip_prob_pct":1.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":7.3,"day_label":"Clear but hot (105°F)"},{"date":"2026-08-12","temp_max_f":106.1,"temp_min_f":82.6,"precip_prob_pct":1.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":6.9,"day_label":"Clear but hot (106°F)"}],"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":88.3,"temp_min_f":76.8,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-07","temp_max_f":85.6,"temp_min_f":77.1,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-08","temp_max_f":90.6,"temp_min_f":76.3,"precip_prob_pct":10.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.9,"day_label":"Partly cloudy and dry"},{"date":"2026-08-09","temp_max_f":89.7,"temp_min_f":78.6,"precip_prob_pct":13.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.9,"temp_min_f":80.9,"precip_prob_pct":18.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.9,"temp_min_f":81.6,"precip_prob_pct":20.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.4,"day_label":"Clear but hot (90°F)"},{"date":"2026-08-12","temp_max_f":90.1,"temp_min_f":81.4,"precip_prob_pct":19.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":1,"partly":1,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":8.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":85.8,"temp_min_f":41.5,"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-07","temp_max_f":88.2,"temp_min_f":65.6,"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-08","temp_max_f":91.7,"temp_min_f":53.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.9,"day_label":"Cloudy and dry"},{"date":"2026-08-09","temp_max_f":91.4,"temp_min_f":55.6,"precip_prob_pct":2.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":90.8,"temp_min_f":51.2,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":91.3,"temp_min_f":53.0,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.0,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":91.4,"temp_min_f":54.7,"precip_prob_pct":5.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.8,"day_label":"Partly cloudy and dry"}],"input_count":7,"derived_counts":{"clear":2,"partly":1,"cloudy":4,"wet":0,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"lake-tahoe","name":"Lake Tahoe","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":57.9,"temp_min_f":29.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.8,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":61.2,"temp_min_f":41.6,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.2,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":84.2,"temp_min_f":45.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-09","temp_max_f":82.7,"temp_min_f":61.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-10","temp_max_f":81.3,"temp_min_f":59.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-11","temp_max_f":80.5,"temp_min_f":58.8,"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-12","temp_max_f":79.5,"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":6,"wet":0,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":3.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":110.0,"temp_min_f":89.3,"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-07","temp_max_f":109.7,"temp_min_f":83.8,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.0,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":110.6,"temp_min_f":86.4,"precip_prob_pct":4.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-09","temp_max_f":111.4,"temp_min_f":94.4,"precip_prob_pct":9.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":108.8,"temp_min_f":93.9,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.2,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":107.2,"temp_min_f":94.1,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.4,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":107.7,"temp_min_f":90.7,"precip_prob_pct":8.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.3,"day_label":"Cloudy and dry"}],"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":93.0,"temp_min_f":65.2,"precip_prob_pct":1.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.5,"day_label":"Partly cloudy and dry"},{"date":"2026-08-07","temp_max_f":90.0,"temp_min_f":63.9,"precip_prob_pct":2.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.4,"day_label":"Clear but hot (90°F)"},{"date":"2026-08-08","temp_max_f":90.2,"temp_min_f":67.5,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-09","temp_max_f":93.4,"temp_min_f":75.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.6,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":94.5,"temp_min_f":76.0,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.5,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":93.2,"temp_min_f":76.5,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":90.4,"temp_min_f":75.1,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy but warm & 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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":94.0,"temp_min_f":67.9,"precip_prob_pct":26.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-07","temp_max_f":92.7,"temp_min_f":66.9,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":90.2,"temp_min_f":68.1,"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-09","temp_max_f":89.3,"temp_min_f":68.5,"precip_prob_pct":0.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear but hot (89°F)"},{"date":"2026-08-10","temp_max_f":92.8,"temp_min_f":70.8,"precip_prob_pct":2.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.6,"day_label":"Partly cloudy and dry"},{"date":"2026-08-11","temp_max_f":94.4,"temp_min_f":70.9,"precip_prob_pct":12.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.3,"day_label":"Partly cloudy and dry"},{"date":"2026-08-12","temp_max_f":91.0,"temp_min_f":70.0,"precip_prob_pct":23.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.6,"day_label":"Cloudy with rain risk"}],"input_count":7,"derived_counts":{"clear":1,"partly":2,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":5.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":86.7,"temp_min_f":79.4,"precip_prob_pct":31.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy with rain risk"},{"date":"2026-08-07","temp_max_f":83.9,"temp_min_f":76.5,"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-08","temp_max_f":88.1,"temp_min_f":77.6,"precip_prob_pct":23.0,"wmo_weathercode":55,"condition":"Heavy drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Heavy drizzle - expect to get wet"},{"date":"2026-08-09","temp_max_f":88.1,"temp_min_f":84.1,"precip_prob_pct":10.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":88.1,"temp_min_f":84.1,"precip_prob_pct":14.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":88.4,"temp_min_f":84.2,"precip_prob_pct":8.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":88.9,"temp_min_f":84.0,"precip_prob_pct":17.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":1,"wet":5,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"moab","name":"Moab","weather_score":5.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":103.7,"temp_min_f":67.6,"precip_prob_pct":0.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":7.5,"day_label":"Clear but hot (104°F)"},{"date":"2026-08-07","temp_max_f":105.6,"temp_min_f":72.3,"precip_prob_pct":0.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":7.2,"day_label":"Clear but hot (106°F)"},{"date":"2026-08-08","temp_max_f":105.8,"temp_min_f":78.1,"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-09","temp_max_f":105.1,"temp_min_f":78.8,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.8,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":102.4,"temp_min_f":80.0,"precip_prob_pct":14.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-11","temp_max_f":102.7,"temp_min_f":76.3,"precip_prob_pct":26.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.6,"day_label":"Cloudy with rain risk"},{"date":"2026-08-12","temp_max_f":103.6,"temp_min_f":77.9,"precip_prob_pct":29.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.3,"day_label":"Cloudy with rain risk"}],"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":79.7,"temp_min_f":56.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-07","temp_max_f":82.5,"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-08","temp_max_f":87.1,"temp_min_f":55.4,"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-09","temp_max_f":86.5,"temp_min_f":55.6,"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-10","temp_max_f":78.6,"temp_min_f":55.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-11","temp_max_f":81.1,"temp_min_f":54.1,"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":82.1,"temp_min_f":54.7,"precip_prob_pct":0.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and 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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":93.5,"temp_min_f":71.2,"precip_prob_pct":8.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":8.9,"day_label":"Clear but hot (94°F)"},{"date":"2026-08-07","temp_max_f":94.0,"temp_min_f":74.3,"precip_prob_pct":22.0,"wmo_weathercode":63,"condition":"Rain","sky_bucket":"wet","day_score":5.0,"day_label":"Rain - expect to get wet"},{"date":"2026-08-08","temp_max_f":92.8,"temp_min_f":72.9,"precip_prob_pct":22.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.3,"day_label":"Cloudy with rain risk"},{"date":"2026-08-09","temp_max_f":92.6,"temp_min_f":74.3,"precip_prob_pct":10.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":93.4,"temp_min_f":75.5,"precip_prob_pct":7.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":98.0,"temp_min_f":76.7,"precip_prob_pct":18.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-12","temp_max_f":97.3,"temp_min_f":71.6,"precip_prob_pct":31.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":5.5,"day_label":"Rain showers - expect to get wet"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":2,"wet":4,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":80.0,"temp_min_f":64.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-07","temp_max_f":78.3,"temp_min_f":68.4,"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-08","temp_max_f":86.9,"temp_min_f":66.9,"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-09","temp_max_f":86.4,"temp_min_f":73.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-10","temp_max_f":86.7,"temp_min_f":73.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-11","temp_max_f":85.8,"temp_min_f":74.5,"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-12","temp_max_f":83.1,"temp_min_f":73.2,"precip_prob_pct":2.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":1,"cloudy":6,"wet":0,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"outer-banks","name":"Outer Banks","weather_score":6.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":80.6,"temp_min_f":79.7,"precip_prob_pct":16.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.2,"day_label":"Partly cloudy and dry"},{"date":"2026-08-07","temp_max_f":80.3,"temp_min_f":80.0,"precip_prob_pct":6.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":10.0,"day_label":"Clear and perfect"},{"date":"2026-08-08","temp_max_f":81.6,"temp_min_f":80.1,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.5,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-09","temp_max_f":81.7,"temp_min_f":80.5,"precip_prob_pct":13.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":82.3,"temp_min_f":79.6,"precip_prob_pct":13.0,"wmo_weathercode":96,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"},{"date":"2026-08-11","temp_max_f":83.1,"temp_min_f":80.7,"precip_prob_pct":11.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.7,"day_label":"Clear and perfect"},{"date":"2026-08-12","temp_max_f":84.1,"temp_min_f":81.7,"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"}],"input_count":7,"derived_counts":{"clear":2,"partly":1,"cloudy":1,"wet":1,"storm":2,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":109.7,"temp_min_f":82.7,"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-07","temp_max_f":111.4,"temp_min_f":82.7,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.9,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":114.2,"temp_min_f":84.0,"precip_prob_pct":4.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":6.4,"day_label":"Clear but hot (114°F)"},{"date":"2026-08-09","temp_max_f":111.8,"temp_min_f":88.8,"precip_prob_pct":9.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":110.2,"temp_min_f":89.7,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.9,"day_label":"Cloudy and dry"},{"date":"2026-08-11","temp_max_f":107.5,"temp_min_f":87.5,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.4,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":108.2,"temp_min_f":90.7,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.3,"day_label":"Cloudy and dry"}],"input_count":7,"derived_counts":{"clear":1,"partly":0,"cloudy":6,"wet":0,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":3.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":109.7,"temp_min_f":85.1,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.0,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":110.3,"temp_min_f":85.1,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.9,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":113.0,"temp_min_f":89.3,"precip_prob_pct":3.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":6.4,"day_label":"Clear but hot (113°F)"},{"date":"2026-08-09","temp_max_f":110.1,"temp_min_f":88.3,"precip_prob_pct":13.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.4,"temp_min_f":88.5,"precip_prob_pct":10.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":4.4,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":106.4,"temp_min_f":85.5,"precip_prob_pct":8.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.6,"day_label":"Cloudy and dry"},{"date":"2026-08-12","temp_max_f":106.7,"temp_min_f":89.6,"precip_prob_pct":5.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.5,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":90.5,"temp_min_f":76.4,"precip_prob_pct":6.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":8.9,"day_label":"Partly cloudy and dry"},{"date":"2026-08-07","temp_max_f":88.6,"temp_min_f":74.0,"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-08","temp_max_f":93.5,"temp_min_f":76.3,"precip_prob_pct":28.0,"wmo_weathercode":95,"condition":"Thunderstorm","sky_bucket":"storm","day_score":4.0,"day_label":"Storms - skip it"},{"date":"2026-08-09","temp_max_f":89.1,"temp_min_f":79.6,"precip_prob_pct":13.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":89.1,"temp_min_f":81.4,"precip_prob_pct":9.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":89.0,"temp_min_f":82.1,"precip_prob_pct":13.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":87.7,"temp_min_f":81.9,"precip_prob_pct":11.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.7,"day_label":"Clear and perfect"}],"input_count":7,"derived_counts":{"clear":2,"partly":1,"cloudy":1,"wet":1,"storm":2,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"park-city","name":"Park City","weather_score":6.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":86.6,"temp_min_f":57.2,"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-07","temp_max_f":89.9,"temp_min_f":65.9,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.2,"day_label":"Cloudy but warm & dry"},{"date":"2026-08-08","temp_max_f":93.1,"temp_min_f":61.0,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-09","temp_max_f":93.1,"temp_min_f":59.1,"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":92.0,"temp_min_f":58.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-11","temp_max_f":91.2,"temp_min_f":60.1,"precip_prob_pct":28.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.7,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-12","temp_max_f":91.2,"temp_min_f":60.0,"precip_prob_pct":33.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":1,"partly":0,"cloudy":2,"wet":4,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"phoenix","name":"Phoenix","weather_score":3.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":107.2,"temp_min_f":89.3,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.3,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":110.4,"temp_min_f":83.8,"precip_prob_pct":13.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.8,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":111.1,"temp_min_f":87.3,"precip_prob_pct":15.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":4.1,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-09","temp_max_f":109.1,"temp_min_f":91.0,"precip_prob_pct":29.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":3.8,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":108.1,"temp_min_f":90.2,"precip_prob_pct":33.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-11","temp_max_f":103.9,"temp_min_f":83.9,"precip_prob_pct":23.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-12","temp_max_f":103.7,"temp_min_f":91.2,"precip_prob_pct":14.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.0,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":100.3,"temp_min_f":78.6,"precip_prob_pct":15.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-07","temp_max_f":98.3,"temp_min_f":75.7,"precip_prob_pct":3.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.9,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":98.4,"temp_min_f":75.1,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.8,"day_label":"Cloudy and dry"},{"date":"2026-08-09","temp_max_f":99.1,"temp_min_f":75.9,"precip_prob_pct":8.0,"wmo_weathercode":55,"condition":"Heavy drizzle","sky_bucket":"wet","day_score":5.4,"day_label":"Heavy drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":100.4,"temp_min_f":75.7,"precip_prob_pct":7.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.7,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":100.9,"temp_min_f":76.2,"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-12","temp_max_f":103.3,"temp_min_f":75.5,"precip_prob_pct":1.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.1,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":86.7,"temp_min_f":68.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-07","temp_max_f":82.1,"temp_min_f":68.4,"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-08","temp_max_f":82.3,"temp_min_f":68.8,"precip_prob_pct":0.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and dry"},{"date":"2026-08-09","temp_max_f":80.3,"temp_min_f":73.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-10","temp_max_f":78.8,"temp_min_f":73.4,"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":78.9,"temp_min_f":74.0,"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-12","temp_max_f":78.1,"temp_min_f":72.5,"precip_prob_pct":2.0,"wmo_weathercode":2,"condition":"Partly cloudy","sky_bucket":"partly","day_score":9.3,"day_label":"Partly cloudy and dry"}],"input_count":7,"derived_counts":{"clear":0,"partly":2,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":78.6,"temp_min_f":58.1,"precip_prob_pct":0.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-07","temp_max_f":79.0,"temp_min_f":57.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-08","temp_max_f":90.5,"temp_min_f":56.7,"precip_prob_pct":0.0,"wmo_weathercode":45,"condition":"Fog","sky_bucket":"wet","day_score":7.0,"day_label":"Fog - expect to get wet"},{"date":"2026-08-09","temp_max_f":93.2,"temp_min_f":64.4,"precip_prob_pct":0.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-10","temp_max_f":88.8,"temp_min_f":61.8,"precip_prob_pct":0.0,"wmo_weathercode":0,"condition":"Clear","sky_bucket":"clear","day_score":9.9,"day_label":"Clear but hot (89°F)"},{"date":"2026-08-11","temp_max_f":86.6,"temp_min_f":59.5,"precip_prob_pct":0.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear and perfect"},{"date":"2026-08-12","temp_max_f":82.0,"temp_min_f":55.6,"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":2,"wet":3,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","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":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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":77.9,"temp_min_f":63.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-07","temp_max_f":75.9,"temp_min_f":63.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-08","temp_max_f":84.0,"temp_min_f":63.7,"precip_prob_pct":0.0,"wmo_weathercode":1,"condition":"Mainly clear","sky_bucket":"clear","day_score":9.8,"day_label":"Clear and perfect"},{"date":"2026-08-09","temp_max_f":82.2,"temp_min_f":66.9,"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-10","temp_max_f":80.9,"temp_min_f":67.4,"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-11","temp_max_f":80.9,"temp_min_f":67.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-12","temp_max_f":79.7,"temp_min_f":64.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":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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"santa-fe","name":"Santa Fe","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":92.4,"temp_min_f":69.7,"precip_prob_pct":6.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.8,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":90.8,"temp_min_f":66.0,"precip_prob_pct":9.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":8.1,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":90.4,"temp_min_f":63.6,"precip_prob_pct":8.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-09","temp_max_f":91.7,"temp_min_f":65.7,"precip_prob_pct":25.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.7,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-10","temp_max_f":90.8,"temp_min_f":63.0,"precip_prob_pct":33.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":6.2,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":88.8,"temp_min_f":61.4,"precip_prob_pct":33.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":89.9,"temp_min_f":63.3,"precip_prob_pct":43.0,"wmo_weathercode":80,"condition":"Rain showers","sky_bucket":"wet","day_score":6.2,"day_label":"Rain showers - 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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"scottsdale","name":"Scottsdale","weather_score":3.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":106.8,"temp_min_f":87.2,"precip_prob_pct":16.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":5.3,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":110.6,"temp_min_f":82.2,"precip_prob_pct":17.0,"wmo_weathercode":81,"condition":"Rain showers","sky_bucket":"wet","day_score":3.7,"day_label":"Rain showers - expect to get wet"},{"date":"2026-08-08","temp_max_f":110.5,"temp_min_f":83.5,"precip_prob_pct":11.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":4.0,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-09","temp_max_f":108.3,"temp_min_f":89.6,"precip_prob_pct":30.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":4.5,"day_label":"Cloudy with rain risk"},{"date":"2026-08-10","temp_max_f":107.4,"temp_min_f":83.8,"precip_prob_pct":35.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":3.6,"day_label":"Drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":103.4,"temp_min_f":82.1,"precip_prob_pct":23.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-12","temp_max_f":103.3,"temp_min_f":91.1,"precip_prob_pct":15.0,"wmo_weathercode":53,"condition":"Drizzle","sky_bucket":"wet","day_score":5.1,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"taos","name":"Taos","weather_score":6.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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":93.6,"temp_min_f":65.4,"precip_prob_pct":4.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.6,"day_label":"Cloudy and dry"},{"date":"2026-08-07","temp_max_f":92.8,"temp_min_f":62.4,"precip_prob_pct":11.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy and dry"},{"date":"2026-08-08","temp_max_f":94.2,"temp_min_f":59.6,"precip_prob_pct":14.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.4,"day_label":"Cloudy and dry"},{"date":"2026-08-09","temp_max_f":93.1,"temp_min_f":63.1,"precip_prob_pct":14.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-10","temp_max_f":91.5,"temp_min_f":61.4,"precip_prob_pct":31.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":6.5,"day_label":"Light drizzle - expect to get wet"},{"date":"2026-08-11","temp_max_f":88.7,"temp_min_f":57.4,"precip_prob_pct":29.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.7,"day_label":"Cloudy with rain risk"},{"date":"2026-08-12","temp_max_f":91.1,"temp_min_f":59.4,"precip_prob_pct":49.0,"wmo_weathercode":51,"condition":"Light drizzle","sky_bucket":"wet","day_score":5.8,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."},{"slug":"vail","name":"Vail","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://sunnydays.thedigitalcarpenter.com/llms.txt"},"inputs":[{"date":"2026-08-06","temp_max_f":80.7,"temp_min_f":50.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-07","temp_max_f":84.2,"temp_min_f":59.3,"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-08","temp_max_f":86.7,"temp_min_f":57.2,"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-09","temp_max_f":86.7,"temp_min_f":56.1,"precip_prob_pct":7.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-10","temp_max_f":81.6,"temp_min_f":55.4,"precip_prob_pct":33.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":86.9,"temp_min_f":52.0,"precip_prob_pct":45.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":7.1,"day_label":"Cloudy with rain risk"},{"date":"2026-08-12","temp_max_f":83.8,"temp_min_f":54.6,"precip_prob_pct":60.0,"wmo_weathercode":3,"condition":"Overcast","sky_bucket":"cloudy","day_score":6.5,"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-06T16:05:03.278850Z","computed_at":"2026-08-06T16:19:58Z","verifiable_by":"Re-run the day formula on the listed inputs, then the window formula over the resulting day_score values."}]}