Point System (100 points max)
Each 3-hour time slot gets scored across four categories. The total determines the rating label. Points are additive — a slot needs good scores in multiple categories to rate highly.
| Category | Condition | Points |
| Swell Direction | Swell coming from within your exposure window | +30 |
| Swell outside window (shadowed / wrong angle) | +0 |
| Swell Height | Within your ideal height range | +25 |
| Below minimum (too small) | +0 |
| Above maximum (maxing out) | +0 |
| Swell Period | At or above your minimum period threshold | +25 |
| Below threshold (short-period wind chop) | +0 |
| Wind Quality | Light wind (< threshold) + offshore direction | +20 |
| Light wind + glassy (not clearly offshore or onshore) | +15 |
| Light wind + light onshore | +8 |
| Moderate offshore (< 20kn) | +15 |
| Strong offshore (20kn+) | +8 |
| Cross-shore | +8 |
| Onshore wind | +0 |
Rating Thresholds
The total score maps to a rating label. Higher score = better conditions across all categories.
FIRING — 85+ points. Everything aligned: right swell direction/size/period + light offshore.
GOOD — 65–84 points. Most factors good, maybe slightly outside ideal on one.
OK — 40–64 points. Surfable but compromised — short period, marginal size, or cross-shore wind.
POOR — Below 40, or onshore wind exceeding 10 knots (automatic override).
The Onshore Override Rule
Regardless of score, if the wind is onshore and exceeds 10 knots, the rating is forced to POOR. Onshore wind blows into the face of the wave, creating choppy, disorganised conditions that ruin wave quality no matter how good the swell is. This is the single most important factor for wave quality at Midds.
What the "Notes" Column Tells You
The notes column in the forecast table shows the reasons behind each rating — specifically what's holding it back or making it good:
✓ offshore — Everything checks out, wind is offshore or light. Go surf.
swell not hitting break — Swell direction is outside your exposure window. The swell exists but your break is sheltered from it.
too small — Swell height below your configured minimum.
maxing out — Swell height above your configured maximum. Break may be closing out.
short period — Wind swell or short-interval chop, not clean groundswell.
onshore wind — Wind blowing from ocean onto land, messing up the wave face.
light onshore — Onshore but below the threshold — might still be okay.
Connecting Pressure Charts to Ratings
The synoptic charts above show you why the ratings look the way they do, and what's coming:
A day full of POOR ratings? Look at the chart — there's probably a front sitting directly over Albany with onshore winds. But check the chart for the next day: if you see the low moving east and a high building behind it, tomorrow's table will likely show GOOD or FIRING for the early morning hours.
The pattern to look for: departed low (swell source) + arriving high (light/offshore wind) = green and cyan in the ratings table. That's the magic combo — and you can see it forming on the pressure charts 24-48 hours before it shows up in the forecast numbers.
tight isobars + long fetch + sustained duration = big organised groundswell
swell speed ≈ period × 5.6 km/h → 14s swell ≈ 78 km/h ≈ 1,870 km/day
Customising for Your Break
Every setting in the ⚙ panel directly feeds into the scoring algorithm. If the ratings don't match what you're seeing in the water, tweak the config:
Swell window — Widen it if your break picks up swell from more directions than expected. Narrow it if swells from certain angles don't actually reach you.
Ideal height — Raise the max if your break handles bigger swell. Lower the min if you're happy surfing small days.
Offshore wind — Adjust based on which wind direction actually cleans up the face at your break. This varies by beach orientation.
Light wind threshold — Lower it if you notice even moderate onshore is ruining things. Raise it if your break handles more wind.
Settings persist in localStorage — they'll survive closing the browser.