(regime A, median)
(first light → onshore)
(06–08h onshore component < 0)
(vector mean 00–07h)
Anyone who surfs the point knows the shape of the day: glassy at dawn, a texture by mid-morning, blown by noon. What was not known was the clock. The on-site Ambient Weather station has been logging wind direction and speed every five minutes since November 2023, and although the anemometer has been through three mounts and long stretches of bad data, two regimes are trustworthy: regime A (November 2023 to March 2024 and June to December 2024) and regime C (19 July to 19 September 2026). This page reads the clock off those regimes.
The result is a diurnal cycle with almost no scatter in direction. From about 19:00 to 08:00 the vector-mean wind sits at 70° — a land breeze off the hills to the east-north-east. At 09:00 it is mid-swing (146°). From 10:00 to 17:00 it holds at 226–238°, dead onshore for a beach that faces south-west. The transition is what matters for a session, so we timed it: the first moment after 07:00 that the 30-minute trailing mean of the onshore component reaches 2 knots. On the 332 regime-A mornings with adequate coverage, that was 10:25 (interquartile 10:00–10:55); on the 61 regime-C mornings, 09:55. First light on the solar sensor comes at about 07:05 in A (a winter-heavy sample) and 06:45 in C, so the clean window is 3.3 hours either way.
Two directions, one switch.
Speed-weighted vector mean of every 5-minute reading in each local hour. "Onshore kt" is the mean of kt·cos(dir − 225°): positive means wind blowing onto the beach. "Calm" is the share of readings at exactly zero — the 2026 mount (C) reports far more zeros, which is why its speed numbers are not comparable with A.
| Hour | Dir (A) | Mean kt (A) | Onshore kt (A) | Calm (A) | Dir (C) | Mean kt (C) | Onshore kt (C) | Calm (C) |
|---|---|---|---|---|---|---|---|---|
| 00h | 71° | 2.6 | -2.2 | 4% | 78° | 0.6 | -0.1 | 60% |
| 01h | 70° | 2.7 | -2.3 | 4% | 57° | 0.8 | -0.3 | 56% |
| 02h | 70° | 2.7 | -2.3 | 4% | 61° | 0.6 | -0.3 | 62% |
| 03h | 71° | 2.8 | -2.3 | 4% | 83° | 0.7 | -0.1 | 60% |
| 04h | 71° | 2.7 | -2.3 | 4% | 67° | 0.8 | -0.3 | 57% |
| 05h | 70° | 2.8 | -2.4 | 3% | 55° | 0.8 | -0.3 | 50% |
| 06h | 70° | 2.8 | -2.4 | 4% | 52° | 0.7 | -0.3 | 52% |
| 07h | 70° | 2.8 | -2.3 | 4% | 45° | 0.8 | -0.2 | 49% |
| 08h | 73° | 2.5 | -1.8 | 5% | 307° | 1.0 | +0.0 | 42% |
| 09h | 146° | 2.1 | +0.1 | 9% | 251° | 1.9 | +1.1 | 26% |
| 10h | 232° | 2.8 | +1.9 | 4% | 241° | 3.2 | +2.4 | 11% |
| 11h | 230° | 3.4 | +2.8 | 3% | 238° | 4.0 | +3.2 | 5% |
| 12h | 228° | 3.9 | +3.2 | 2% | 235° | 4.4 | +4.0 | 4% |
| 13h | 226° | 4.0 | +3.3 | 1% | 229° | 4.6 | +4.2 | 2% |
| 14h | 226° | 4.0 | +3.2 | 1% | 230° | 4.5 | +4.1 | 2% |
| 15h | 229° | 3.7 | +2.8 | 2% | 234° | 4.4 | +3.4 | 1% |
| 16h | 234° | 3.2 | +2.2 | 3% | 237° | 3.8 | +3.1 | 5% |
| 17h | 238° | 2.7 | +1.6 | 6% | 243° | 3.1 | +2.3 | 12% |
| 18h | 246° | 2.0 | +0.8 | 15% | 253° | 2.0 | +1.2 | 29% |
| 19h | 46° | 1.8 | -0.2 | 15% | 266° | 1.3 | +0.4 | 50% |
| 20h | 68° | 2.0 | -1.1 | 10% | 312° | 1.0 | +0.0 | 59% |
| 21h | 71° | 2.2 | -1.6 | 8% | 28° | 0.7 | -0.1 | 63% |
| 22h | 70° | 2.4 | -1.9 | 6% | 61° | 0.5 | -0.1 | 69% |
| 23h | 71° | 2.5 | -2.0 | 5% | 69° | 0.5 | -0.1 | 66% |
About ten-twenty, give or take half an hour, and it depends on the month.
Onset = first time after 07:00 that the 30-min trailing mean onshore component reaches 2 kt; days with at least 80% of the 05–14h readings present. "Offshore dawns" = share of days whose 06–08h mean onshore component is negative. Regime A has no April–May (untrusted anemometer); regime C is one summer.
| Month | Onset A, median (IQR) | n | Offshore dawns A | Onset C, median (IQR) | n | Offshore dawns C |
|---|---|---|---|---|---|---|
| Jan | 11:00 (10:40–11:30) | 31 | 100% | — | — | — |
| Feb | 10:30 (10:15–10:50) | 29 | 100% | — | — | — |
| Mar | 09:40 (09:30–09:55) | 29 | 97% | — | — | — |
| Apr | — | — | — | — | — | — |
| May | — | — | — | — | — | — |
| Jun | 09:52 (09:09–10:49) | 28 | 90% | — | — | — |
| Jul | 10:05 (09:45–10:50) | 31 | 100% | 10:40 (09:55–11:05) | 13 | 77% |
| Aug | 10:40 (10:21–11:20) | 26 | 93% | 10:00 (09:42–11:00) | 31 | 84% |
| Sep | 10:25 (10:09–10:46) | 24 | 97% | 09:40 (09:15–09:55) | 17 | 74% |
| Oct | 10:05 (09:56–10:29) | 30 | 100% | — | — | — |
| Nov | 10:10 (10:00–10:35) | 45 | 100% | — | — | — |
| Dec | 10:35 (10:16–11:12) | 59 | 100% | — | — | — |
March turns onshore earliest (09:40); January latest (11:00). Summer sits at 09:50–10:40.
The spread across months (about 80 minutes between March and January) is larger than the spread within most months (IQR 25–60 min), so the month is worth knowing. The 2026 mount agrees with 2024 where they overlap: July 10:05 vs 10:40, August 10:40 vs 10:00, September 10:25 vs 09:40 — the same hour, with C running a little earlier in late summer.
Three and a bit hours, on both mounts.
First light = first solar reading above 10 W/m² after 05:00. The window is the interval from first light to onshore onset on the same morning.
| Anemometer regime | Days | Onshore onset (IQR) | First light | Clean window (IQR) | Offshore dawns | Night wind 00–05h | Zero readings |
|---|---|---|---|---|---|---|---|
| Regime A (2023-11→2024-03, 2024-06→2024-12) | 332 | 10:25 (10:00–10:55) | 07:05 | 3.33 h (3.00–3.92) | 98% | 2.7 kt | 5% |
| Regime C (2026-07-19→2026-09-19) | 61 | 09:55 (09:35–10:50) | 06:45 | 3.25 h (2.75–4.08) | 79% | 0.7 kt | 37% |
The clean window is measured: roughly 3 h after first light, onshore about 10:20 ± 30 min, month-dependent.
Before this the forecast used a fixed "wind turns around 10" rule. Now it has a per-month prior with an interquartile range, and a definition of onset that can be scored against the station every morning. The dawn is offshore on 98% of regime-A days and 79% of regime-C days; June and August are the months where a dawn can already be onshore (90–93% offshore rather than 97–100%), and the 2026 summer sat at 74–84%.
The station is sheltered. Mean speeds of 2–4.6 kt by hour are far below what the lineup feels; the station sits among trees and buildings. Use the directions and the timing, not the absolute speeds. The 2-kt onset threshold is a station-relative definition.
Three mounts, two of them trusted. Regime A = 2023-11→2024-03 and 2024-06→2024-12; regime C = 2026-07-19→2026-09-19 (different mount: 37% zero readings, night mean 0.7 kt vs 2.7 kt in A). Untrusted and excluded: 2024-04/05, 2025-01→2026-04 (directions rotated 50–65°), 2025-09/10 (stuck at 11.0 mph), 2026-05-15→2026-07-18 (dead: zeros, not nulls). Speed thresholds are never pooled across regimes; the direction cycle is consistent across mounts.
Sample. Regime A is one winter and one summer–autumn of 2024 (332 mornings with ≥80% coverage 05–14h; 6 covered days never reached 2 kt onshore). Regime C is nine weeks of one summer (61 mornings). April and May have no trusted wind at all.
First light comes from the solar sensor. It reads zero on 89 dead-sensor days (mostly March–April 2024), which are excluded, so the regime-A window sample is 297 days rather than 332. The stuck-array window 2024-08-18 12:00 → 08-21 06:00 is excluded from everything.
The day has two winds and one switch. All night the hills breathe out at 70°. A little after ten — earlier in March, later in January — the sea takes over from 230° and holds until dusk. First light to that switch is three hours and twenty minutes, and it has been measured, not remembered.Synthesis · 26 September 2026
Sources and method
Data: on-site Ambient Weather station at Playa Saladita, 5-minute readings 2023-11-09 → 2026-09-19 (297,356 unique timestamps). Local time = UTC−6 all year. Wind speed in mph converted to knots (×0.869).
- Regimes: trusted anemometer periods only (A and C above), by local date.
- Hourly direction: speed-weighted vector mean (mean u, mean v) of all readings in the hour; the rose counts readings per 22.5° sector per hour.
- Onset: onshore component kt·cos(dir−225°), 30-min trailing mean, first crossing of 2 kt after 07:00 local; day needs ≥80% of 5-min readings 05–14h.
- First light: first solar reading >10 W/m² after 05:00; solar ≥2000 W/m² is a sentinel; days whose max solar <50 W/m² are dead-sensor days.
- Offshore dawn: 06–08h mean onshore component <0 with ≥6 readings.
Script: scripts/analyze_station_climatology.py → functions/api/_findings_station_climatology.js (export STATION_CLIMATOLOGY, generated 2026-09-27). Every table on this page is in that artifact.
Cite as: Conner, A. (2026). "The Wind Clock at La Saladita — When the Sea Breeze Arrives." La Saladita Field Guide, lasaladita.com/findings/the-wind-clock/, 26 September 2026. Data: on-site station 2023–2026; artifact /api/findings-station-climatology.