Skip to content
Weather Tomorrow

How our forecasts work

Every forecast on this site comes from the National Weather Service (NWS). This page explains how a forecast page is put together, what each number means and how often pages are refreshed.

Where the forecast comes from

Each city and ZIP code on the site has one point, a latitude and longitude, that stands for it. We send that point to the NWS API in two steps:

  1. The points endpoint (api.weather.gov/points/) tells us which NWS forecast office and grid square cover the point, and the place's time zone. NWS offices make their forecasts on a grid of squares about 2.5 km across.
  2. The hourly forecast for that grid square (forecastHourly) gives temperature, wind, humidity, dew point, chance of precipitation and a short description for each hour of the next seven days.

We also ask the NWS for the alerts in force at that point and show them above the forecast.

Which day is “tomorrow”

Tomorrow is the next calendar date in the place's own time zone. It does not depend on your time zone or the server's. We keep the forecast hours that start on that date, from 12 AM to 11 PM local time. Most days have 24 hours. In places that change their clocks, the day they go forward has 23 and the day they go back has 25.

Every time on a forecast page is local time for that place. “12 AM” in Houston is midnight in Houston, wherever you are reading it.

High, low and conditions

  • The high and low are the highest and lowest hourly temperatures of tomorrow, in °F.
  • The main condition is the most common one across the hours, after grouping the NWS descriptions into broad types such as Rain, Partly Cloudy or Clear.
  • The rain chance shown in the summary is the highest hourly chance of the day.

“Feels like”

We work out a “feels like” temperature for each hour with the formulas the NWS uses, and round it to a whole degree.

  • Heat index when the temperature is 80°F or higher. We use the NWS heat index equation: a simple formula first, averaged with the temperature; if that comes to 80°F or more, the full regression, with the NWS adjustments for very dry air (humidity under 13%) and very humid air (humidity over 85%).
  • Wind chill when the temperature is 50°F or lower and the wind is above 3 mph, the conditions under which the NWS wind chill is defined. We use the NWS formula: 35.74 + 0.6215T − 35.75V0.16 + 0.4275TV0.16, where T is the temperature in °F and V the wind speed in mph. When the NWS gives a range such as “5 to 10 mph”, we use the higher number.
  • At other temperatures, “feels like” is the air temperature.

When rain starts and stops

An hour counts as wet when the NWS gives it a 40% or higher chance of precipitation. The rain window starts at the first wet hour and ends at the end of the last one. A single wet hour at 3 PM shows as 3 PM to 4 PM. Drier hours between two wet ones are inside the window. The peak is the wet hour with the highest chance.

If no hour reaches 40% but one is above 15%, we say the chance is low and name the hour with the highest risk. Otherwise we say no significant precipitation is expected.

Rain, snow or a mix is read from the NWS description of the peak hour. Words such as snow, sleet or ice count as snow; snow and rain together count as a mix.

What to wear

The clothing advice starts from tomorrow's high temperature, in steps: under 20°F, under 32°F, under 45°F, under 55°F, under 65°F, under 80°F, under 95°F, and 95°F or more. Then it adds:

  • an umbrella when the highest hourly rain chance is above 50%, and a rain jacket as well when the average of the high and low is below 50°F;
  • snow boots when snow is the main condition;
  • a windbreaker when the wind goes above 20 mph;
  • sunglasses when the high is above 75°F and no hour has more than a 50% rain chance;
  • sunscreen when the high is above 80°F;
  • a note to dress in layers when the high and low are more than 25°F apart.

Best time to be outside

Each hour gets a comfort score out of 100:

  • up to 30 points for temperature: 30 at 70°F, one point less for each degree away from it;
  • up to 30 points for a low chance of rain: 30 minus 0.3 points for each percent of chance;
  • up to 20 points for light wind: 20 below 10 mph, 15 below 15 mph, 10 below 20 mph, 5 below 30 mph. For a range such as “5 to 10 mph”, this uses the first number;
  • 20 points for daylight.

The best time is the run of two to four hours with the highest average score. Its first hour must score at least 30 and every hour at least 20. If no run qualifies, we show the single best hour.

How often pages refresh

  • Forecast pages are cached. When someone opens a page that is more than 30 minutes old, the site rebuilds it in the background with newer NWS data. The next visitor gets the new copy.
  • A scheduled job opens each forecast page shortly after midnight in that page's time zone, between 12:30 and 2:30 AM local time, so the page moves on to the new tomorrow. It opens every page once more each day at 17:10 UTC, which is around midday on the East Coast and morning on the West Coast. A scheduled run can start a few minutes late.
  • If a city page, a ZIP code page or the homepage stays open in your browser and shows a forecast loaded more than 90 minutes ago, or a day that is no longer tomorrow, it asks for a fresh copy by itself.

“Forecast issued”

Each forecast shows when the NWS issued the forecast it is based on: the update time the NWS publishes with the hourly forecast, in the place's local time. It is not the time we loaded it.

Limits

  • A forecast can change each time the NWS updates it. Check again before you set out.
  • The forecast is for one grid square around the city's or ZIP code's point. Weather at your exact spot can differ.
  • If the NWS cannot be reached, a page keeps the last forecast it loaded. The issued time tells you how old it is.
  • This site is not a source of official warnings. For watches and warnings, use weather.gov and follow your local officials.

More about the site and its data sources is on the about page.