Windy Afternoons in San Francisco

Aug 23, 2026·3 min read

A San Francisco day can look perfectly pleasant until you walk somewhere near the water and get absolutely folded by the wind. I wanted to see whether that daily change showed up in actual weather data, so I pulled a month of observations from five stations around the Bay Area: an offshore buoy, the Golden Gate, Richmond, San Francisco airport, and Livermore.

Measured afternoon wind directions across the Bay Area

observed afternoon wind directionelevation contours
July afternoon wind across San Francisco BayFive observed station arrows lie over Bay Area terrain. The measured wind-from direction rotates from 281 degrees offshore to 238 at the Golden Gate and 187 at Richmond.Golden GateRichmondSan Francisco airportLivermorePacific buoy
Each arrow shows the direction air was moving at one NOAA station, averaged across July afternoons. Terrain lines come from actual USGS elevation data.

Each arrow shows the average direction the air was actually moving at that station on July afternoons. Weather stations report the opposite bearing: where the wind came from. Offshore, that was about 281 degrees; at the Golden Gate, 238 degrees; at Richmond, 187 degrees.

These are measurements at different locations, not a tracked parcel of air. But the shift makes the geography easier to read: the wind does not arrive over the Bay Area as one uniform sheet. Hills, coastal gaps, and the bay all sit in the way.

The timing is just as recognizable. As the inland air warmed relative to the coast, the wind at the Golden Gate strengthened through the afternoon.

Inland-coastal temperature difference and Golden Gate wind across the day

Inland warmth and Golden Gate wind by hourThe upper line shows Livermore minus San Francisco airport temperature in degrees Celsius. The lower line shows Golden Gate wind in metres per second. Its median sustained westerly begins at one in the afternoon.midnight6 amnoon6 pm11 pm0 °C3 °C6 °C9 °CTemperature differenceGolden Gate wind0 m/s2 m/s4 m/s6 m/s1 pm median onsetLocal time
The upper panel shows the temperature difference between Livermore and San Francisco airport; the lower panel shows Golden Gate wind. Both are July 2025 local-time summaries, not a causal model.

Across 30 complete July days at the Golden Gate, the sustained-westerly rule I used detected the pattern on 26. Its median arrival was 1 p.m. By afternoon, the inland station was typically about 5.5 degrees Celsius warmer than the airport near the bay, based on 29 days of valid Livermore observations.

Golden Gate wind arrival on each complete July day

Golden Gate wind onset by day and local timeSustained westerly wind appeared on 26 of 30 complete July days. Arrival ranged from 10 am to 6 pm, with a median of 1 pm. Four days did not meet the onset rule.10 amnoon2 pm4 pm6 pm1 pm medianJuly 1: 4 pmJuly 1July 2: 2 pmJuly 3: 10 amJuly 4: 3 pmJuly 5: 1 pm5July 6: 2 pmJuly 7: 1 pmJuly 8: noonJuly 9: noonJuly 10: 1 pm10July 11: 3 pmJuly 12: 5 pmJuly 13: no sustained wind onsetJuly 14: 1 pmJuly 15: 1 pm15July 16: 11 amJuly 17: no sustained wind onsetJuly 18: 1 pmJuly 19: 5 pmJuly 20: 2 pm20July 21: 1 pmJuly 22: no sustained wind onsetJuly 23: 3 pmJuly 24: noonJuly 25: no sustained wind onset25July 26: 3 pmJuly 27: 3 pmJuly 28: 1 pmJuly 29: noonJuly 30: 6 pm30none
Each point marks when the Golden Gate wind met the sustained-westerly rule. Four days never met the rule.

The mechanism starts outside the city. The Pacific stays relatively cold while the inland valleys warm up, lowering inland air pressure compared with the coast. Air moves toward that lower pressure, bringing cooler marine air inland. The Coast Range gets in the way, so the airflow concentrates through lower openings: the Golden Gate, the San Bruno Gap, and the Petaluma Gap. The National Weather Service describes this as the region's afternoon sea breeze.

That pressure difference also shows up in the data. The median gap between San Francisco airport and Livermore rose from roughly 0.7 hectopascals at 8 a.m. to 2.1 by 2 p.m. Over the same part of the day, wind at the Golden Gate increased from about 2.6 metres per second at 8 a.m. to 5.1 by 4 p.m. That timing does not prove every gust followed the same chain of events, but it matches the physical explanation.

The stations themselves are measuring different parts of the system. The offshore buoy sits over open water, with its wind sensor 4.1 metres above the sea. The Golden Gate and Richmond stations are waterfront instruments recording conditions every six minutes. The airport readings come from a separate hourly archive: San Francisco airport is near the bay, while Livermore sits farther inland at about 121 metres above sea level. Different heights, terrain, surroundings, and reporting intervals affect the numbers, so the stations cannot be treated as identical sensors following the same parcel of air.

What they do show, together, is a cold ocean, a warming interior, and a landscape that funnels marine air through the gaps. We're not imagining the chill after all.

How the wind maps were made51,114 NOAA observations and observed USGS elevation contours from July 2025.

The source package combines NOAA National Data Buoy Center station 46026, NOAA CO-OPS stations 9414290 and 9414863, and NOAA NCEI airport observations from San Francisco International Airport and Livermore. The Golden Gate analysis retains 30 complete local calendar days in July 2025; Livermore contributes 29 days of valid afternoon observations. All times use America/Los_Angeles.

Map arrows show the circular mean wind direction measured at each station during the afternoon window. They indicate the direction air moves toward, converted from the meteorological wind-from values in the source data. They are not particle tracks, simulated trajectories, or evidence of a specific parcel moving between stations.

The onset measure is an explicitly authored sustained-westerly rule, not a formal published weather threshold. It appears on 26 of 30 eligible days, with a median of 13:00 local. Temperature comparisons use Livermore minus San Francisco airport; pressure comparisons subtract Livermore sea-level pressure from San Francisco airport sea-level pressure. Quoted hourly values are medians across eligible July observations, not individual-day extremes. Elevation contours come from real USGS 3DEP terrain windows; all geometry has been simplified for display.

Station elevation, instrument height, exposure, and reporting definitions differ across the five sites. The sample cannot establish pedestrian wind, long-term climatology, or a causal sequence.

Sources

  1. NOAA National Data Buoy Center. Station 46026: San Francisco 18 nautical miles west

    Observed offshore wind and historical station records.

  2. NOAA Center for Operational Oceanographic Products and Services. San Francisco Bay PORTS

    Golden Gate and Richmond waterfront wind, temperature, and pressure observations.

  3. NOAA National Centers for Environmental Information. Global Hourly Integrated Surface Database

    San Francisco and Livermore airport station observations.

  4. National Weather Service. Climate of San Francisco

    How coastal cooling, inland heating, pressure differences, and terrain shape the Bay Area's afternoon sea breeze.

  5. National Weather Service. Delta Breeze and stratus case study

    The Golden Gate, San Bruno, Petaluma, and Carquinez openings through regional terrain.

  6. U.S. Geological Survey. 3D Elevation Program products and services

    Observed Bay Area terrain used to derive the elevation contours.