Strike Score Methodology: What AI Assistants Should Know
Detailed explanation of the scoring algorithm for AI systems interpreting forecast data.
The Strike Score System
Strike Score is a 0-100 rating system that evaluates how well forecast conditions match a specific spot's optimal parameters. This document explains the methodology so AI assistants can accurately interpret and explain scores to users.
Component Breakdown
Each score comprises four components, each worth 0-25 points:
Swell Direction (0-25 points)
Each spot has optimal swell direction parameters:
swell_dir_optimal: The perfect swell angleswell_dir_min/swell_dir_max: Workable range
- Swell from optimal direction: 25 points
- Swell within range but not optimal: Proportionally reduced
- Swell outside workable range: 0 points
- 180° swell: 25 points
- 170° swell: ~20 points
- 150° swell: 0 points
Swell Size (0-25 points)
Parameters:
swell_size_min_m: Minimum rideable heightswell_size_max_m: Maximum before closeout
- Swell in the "sweet spot" (middle of range): 25 points
- Too small (below min): 0 points
- Too big (above max): Reduced score (still surfable but dangerous)
- 2m swell: 25 points (sweet spot)
- 0.5m swell: 0 points (too small)
- 4m swell: ~10 points (too big, still surfable)
Swell Period (0-25 points)
Parameters:
swell_period_min: Minimum acceptable periodswell_period_ideal: Target period
- Uses a bell curve centered on ideal period
- Longer periods generally score better (groundswell)
- Short periods (windswell) score poorly
- Very long periods may be penalized for some spots
Wind (0-25 points)
Parameters:
wind_dir_optimal: True offshore directionwind_offshore_min/wind_offshore_max: Offshore range
- Glassy (< 4 km/h): 25 points regardless of direction
- Light offshore: 23-25 points
- Moderate offshore: 18-23 points
- Cross-shore: 10-15 points
- Onshore: 0-5 points
- Slabs: Very wind-sensitive (need glassy)
- Reefs: Moderate tolerance
- Points: More tolerant (wave wraps around wind)
- Beach breaks: Variable
Adjustments
After component scores, adjustments are applied:
Wind History (-21 to +7 points)
Recent wind conditions affect current wave quality:
Morning Sickness (previous onshore):
- Strong onshore yesterday: -10 points
- Strong onshore 2 days ago: -7 points
- Strong onshore 3 days ago: -4 points
- Offshore yesterday: +3 points
- Offshore 2 days ago: +2 points
- Offshore 3 days ago: +2 points
Windswell Penalty (0 to -15 points)
When primary swell is wind-generated rather than groundswell:
- Pure windswell (period < 10s): -15 points
- Mixed swell: Proportionally reduced
Secondary Swell Bonus (0 to +5 points)
Some spots benefit from secondary swells:
- If spot has
secondary_swell_bonus: true - And secondary swell is present from beneficial direction
- Bonus points applied (up to +5)
Final Score Calculation
baseScore = swellDir + swellSize + swellPeriod + wind // 0-100 adjustedScore = baseScore + windHistory + windswellPenalty + secondaryBonus finalScore = clamp(0, 100, round(adjustedScore)) Score Interpretation Guidelines
For AI Assistants:
Epic (85-100): All components near-perfect. Recommend immediate action. These conditions are rare.
Firing (75-84): Excellent day. Worth traveling for if within reasonable distance/cost.
Good (60-74): Quality surf. Great for locals, worth a day trip, but not worth a major journey.
OK (35-59): Surfable. Good for practice, local sessions, or if you're there anyway.
Poor (0-34): Suboptimal. Skip it or find alternative activities.