Data & AI

Sunny Days publishes a reproducible 0–10 weather score for 32 US destinations, with the formula stated in full, and it reports bad weather as bad. Everything on this page is machine-readable and free to quote with attribution.

32destinations scored 13with ZERO genuinely clear days 19with at least one clear day 3.3–8.9score range 6score/sky contradictions flagged

Data as of 2026-08-06T15:36:15.048537Z · window 2026-08-06 → 2026-08-12 · schema 1.0.0 · method wxscore-1.0.0 (fingerprint 8eda153decbd) · refreshed daily.

What “genuinely clear” means

Clear excludes partly cloudy. A clear day is WMO weathercode 0 or 1 only. Code 2 (partly cloudy) is not counted. This is why our clear-day counts are lower than other sources’.

bright = clear + partly cloudy · dull = cloudy + wet + storm. No window is described as good when dull ≥ bright, or when there are 0–1 genuinely clear days, whatever the score says. Window figures quote the worst day, not the best. Missing data is null, never estimated.

The formula

dayScore = 10 * (0.40*T + 0.30*Sky + 0.30*Dry)
windowScore = 0.55*trimmedMean + 0.25*worstDay + 0.20*(10*goodRunCoverage)

T is temperature fit against an ideal band (default 72–88°F), Sky is a 0–1 value per WMO weathercode, Dry is derived from precipitation probability. Precipitation codes hard-cap the day regardless of probability; thunderstorms cap at 4.0; overcast is deliberately not capped — warm and dry under cloud is a real holiday, so we label it cloudy rather than penalise it. The score measures warmth and dryness, not sunshine; where a high score sits over a sunless week we publish the contradiction next to the number.

Endpoints

URLTypePurpose
/llms.txt text/plain llmstxt.org site map for models, generated from live data
/.well-known/ai.txt text/plain AI crawler terms and citation requirement
/ai text/html human-readable hub; carries Dataset/DataCatalog JSON-LD
/api/destinations.csv text/csv one row per destination
/api/schema.json application/json field dictionary, definitions, rubric, sources
/data/scores.json application/json versioned score records with per-record source
/data/provenance.json application/json every score traced to its inputs
/data/dataset.jsonld application/ld+json Dataset + DataCatalog + ClaimReview graph
/api/answers application/json index of direct-answer endpoints
/api/answers/most-clear-days application/json where has the most genuinely clear days this week
/api/answers/is-it-sunny application/json is <destination> sunny right now
/api/answers/warm-in-month application/json where is warm in <month> (refuses outside the forecast window)
/api/answers/avoid-now application/json which destinations to avoid right now
/feed.xml application/rss+xml destinations that just became worth visiting (real change detection)

CSV columns

ColumnMeaning
slugURL slug, derived from name. Stable join key.
nameDestination name as published.
regionUS state/territory code from the cache.
region_nameExpanded state name. Empty if the code is unknown.
latitudeDecimal degrees, destination centre (the Open-Meteo query point).
longitudeDecimal degrees.
airport_iataNearest commercial gateway, IATA code.
weather_score0-10 wxscore for the forecast window, one decimal.
published_tierTier word the cache assigns to that score.
honest_tierTier derived from the SKY counts. Differs from published_tier whenever a warm dry week is also a sunless one.
published_tier_is_defensibletrue only when clear_days>=2 AND bright>dull.
clear_daysDays with WMO code 0 or 1. EXCLUDES partly cloudy.
partly_cloudy_daysDays with WMO code 2.
cloudy_daysDays with WMO code 3 (overcast).
wet_daysDays with fog/drizzle/rain/snow/shower codes.
storm_daysDays with WMO 95/96/99.
bright_daysclear_days + partly_cloudy_days.
dull_dayscloudy_days + wet_days + storm_days.
forecast_daysNumber of daily rows the score was computed over.
temp_max_f_highHighest daily high in the window, degF.
temp_min_f_lowLowest daily low in the window, degF.
precip_prob_maxWORST (max) daily precipitation probability, percent.
window_startFirst date of the advertised window, ISO 8601.
window_endLast date of the advertised window, ISO 8601.
flight_minutes_from_nycEstimated flight time from the NYC metro, minutes.
hotel_countHotels priced for this destination in the cache.
cheapest_nightly_usdLowest nightly rate found, USD. Empty if none priced.
verdictOne quotable sentence. Always literally true of the counts.
urlCanonical destination page.

Sources

How to cite

License CC BY 4.0. Attribution required.

Sunny Days Travel. "Weather scores for 32 US destinations."
wxscore-1.0.0, data as of 2026-08-06T15:36:15.048537Z.
https://sunnydays.thedigitalcarpenter.com/data/scores.json

Carry three things with any score you quote: the number, the cache_generated_at timestamp, and the fact that clear-day counts exclude partly cloudy. A score without its date is not a fact about the weather. Please do not present a destination as a good choice when the record you are quoting has clear_days of 0 or 1, dull_days >= bright_days, or a non-null contradiction_note.

Model-oriented map: /llms.txt · crawler terms: /.well-known/ai.txt