Lake Michigan's Premier Wind Destination
Reliable westerly winds, warm water, and a surf scene that punches above its weight.
Most forecast apps dump data and leave you to figure it out. WindStoke analyzes wind, waves, and direction against your personal thresholds — and just tells you: go or don't go.
Every day gets a clear verdict. No interpretation needed — just show up when WindStoke says go.
Set your wind thresholds and get a push notification or text the moment Muskegon turns on.
Lake Michigan wave height and period from the MKGM4 buoy. Know what the surf looks like before you leave.
Plan your sessions and road trips a week or two out. See the whole picture before you commit.
Muskegon sits on the eastern shore of Lake Michigan, directly in the path of westerly winds that build across 80+ miles of open water before hitting Pere Marquette Beach. That fetch turns moderate winds into legitimate surf — Lake Michigan has produced 10-foot-plus swell during strong fall storms.
Kiteboarding at Muskegon State Park offers a wide, sandy beach with good deep-water access. SW to W winds are gold — cross-onshore angle, clean face, and enough power to pull you upwind. N winds can fire in fall and create the best surf days, often 4–6 feet with good shape.
The challenge is that Lake Michigan conditions change fast. A morning glassoff can become a 20-knot blow by noon, or vice versa. WindStoke's realtime alerts via MKGM4 buoy data mean you're notified the moment conditions cross your threshold — not after you've already made the drive.
LAKE-BREEZE CALLS · MUSKEGON
At Muskegon the lake breeze came in on 23 of the 40 days we called it, and on 8 of the 55 days we didn’t.
Since June 6: called 40 times, came in 23 (58%). Not called 55 times, came in 8 (15%).
Called means the morning lake-breeze watch flagged that afternoon at Muskegon. Came in means the afternoon at the meter (MKGM4) was graded a lake breeze: the wind swung onshore and built. Forecast is HRRR’s afternoon peak for the spot as of that morning; meter is the afternoon’s peak sustained wind. Every called day is listed, the misses too. Not called is every other graded day, including the ones the watch saw primed but held back; 9 called days when the meter was down are left out. Only spots where the call has measurably beaten the quiet days get this card, and those are the spots it is sent from.
Every night we lock in tomorrow's call for this spot. Every morning we score yesterday's against the MKGM4 meter. Both halves, last 90 days.
Scored on 204 rider-days: the call made the night before, against the meter 6am–6pm, wind-criterion alerts only, rideable meaning two or more hours at the rider's own floor with gust and direction as they set them. Nothing here is written by hand.
MKGM4, the morning after, Sat 3 Oct
Yesterday the Muskegon CG Station meter topped out at 13 kt at 11 am. The night before, NWS had 7 kt, the corrected NWS — what Premium is served — 8.3. The other 4 models ranged 8.5–10.4 kt. We called it sleep against a 15 kt floor. The day never got there. The 7:00 am lake-breeze watch expected a lake breeze, and it never fired.
One day is an illustration, not a record — a model that reads low every day will still land one. The number that means anything is the scored one over 90 days, in how our calls are graded. Over the 12 days in this card the call was right on 11 of the 12 that could be scored.
Each model row is the highest wind it forecast for the 6am–6pm window at this meter, taken from the freshest run that existed before midnight the night before — between 10 and 23 hours ahead, depending on the hour. A model with no run in that window shows no call; it is never filled in from a closer-range forecast. Raw rows are the provider's own numbers; NWS + this meter's bias is that forecast shaded by this station's own measured error. That correction is Premium: a Premium rider is served the corrected row, and a free or signed-out rider is served the raw NWS row above it. The meter's figure is the strongest reading of each hour from this station's stored observations. Hours over your floor are counted from those readings alone; rideable is the nightly scorer's verdict and also weighs gust, direction and waves, so the two numbers are not the same measurement and are never added. Knots throughout.