SurfOPT
LOADING --:--

Jacksonville Beach Pier

drag to look around · scroll to zoom

Right Now — live score for the conditions above

The Scoring Scale — what an 81 actually surfs like

now: —
03045607590100
ALL-TIME90–100
Firing groundswell, offshore mornings, groomed bars, light crowd. NE Florida sees a handful of these a year — hurricane swell + west wind. Drop everything.
PUMPING75–89
Real swell with shape and a workable wind — or very good waves with one flaw. Call in late; you'll regret skipping it.
FUN60–74
Rippable and worth the paddle: waist-to-chest with decent conditions, or better surf with a catch (tide off, a bit crowded, short window).
SURFABLE45–59
You'll get wet and catch waves — think short-period windswell mush or a shifting tide. Bring the longboard, manage expectations.
GROVEL30–44
Barely rideable — knee-high slop or blown-out chop. Foamie territory. Only if you just need salt water on your face.
FLAT / BLOWN0–29
Save the wax. Lake Atlantic, or 20 kn onshore victory-at-sea. The optimizer will tell you when it turns.

How to read it: wave quality drives the score, and hard honesty caps keep it real — short-period windswell can't score above the low 60s, strong onshore wind can't beat ~50, and under-2-ft days can't pretend to be real waves. A 75+ requires genuine swell with shape. Crowd and drive time nudge the number roughly ±15% (that's the optimizer choosing between comparable sessions) but can never dress up junk. Scores are also personal: the same ocean reads differently for a beginner on a longboard and an expert on a shortboard.

The Optimizer — Dial It In — tell it who you are, then run it

7
5
5
5
3
5
The call — best upcoming session for your dial-in
Crunching the slate…
The receipts — proof of optimum & score assembly
Proof of optimum — score over time, pick marked at the peak
winning spot   best of the field   the chosen window
Score assembly — what built the winning number

Session Optimizer — solved from your Dial It In settings

Factor checklist — where each spot wins & loses

Tide — Jacksonville Beach (NOAA 8720291)

The Week — best call each day

Next 48 h — surf & wind at selected spot

The Coast — scores up & down NEFL

Marine Life Watch — at the selected spot

These are honest heuristics from season, time, water & wind — not live animal tracking (no such feed exists), and they never touch the surf score. A purple flag at the lifeguard tower always outranks this panel. Cross-check: OCEARCH shark tracker · Florida Museum ISAF.

Receipts — it learns you, and it keeps score

Rate your last session at :
How this is scored

Every allowed spot × daylight hour gets a 0–100 score from live model data, then gets personalized. Wave quality blends size fit (yours + the spot's), swell period (board-adjusted), wind angle vs. each beach's facing, tide stage vs. each spot's preferred window, and weather — including CAPE (thunderstorm fuel), so a spot gets marked down when storm energy is building even before rain shows in the forecast. A rip-current proxy (wave energy + onshore wind + inlet proximity) applies a safety discount — stronger for beginners. Your sliders then weight quality vs. crowd vs. convenience, and your logged session ratings nudge spots the model over- or under-calls for you.

Size 28%Wind 26%Tide 19%Weather/CAPE 15%Period 12% × skill fit× rip discount+ your ratings

Honest caveats: crowd is a heuristic (time, day, popularity, quality) — no one counts lineups. Rip risk is a simplified proxy, not the official NWS surf-zone forecast — always check posted flags. The Marine Life Watch indexes are seasonal/condition heuristics (bait migration, feeding hours, inlets, water temp, onshore drift) — there is no live shark or jellyfish feed, they never affect the surf score, and the lifeguard's purple flag is the only real-time source. Sandbars are living things; the spot notes are local knowledge, not sonar. Cross-check the modeled swell against NDBC buoy 41112 and check FWC red tide status before a beach day. This is a planning tool, not a professional forecast — the ocean gets the final vote.