Our Methodology
Full transparency on how we collect, process, and present surf data for the Peruvian coast.
Open-Meteo
Marine & Weather API
Our primary data source comes from Open-Meteo, a free and open API that provides high-quality marine and weather data.
- Marine API: wave height, swell period, wave direction, and sea surface temperature.
- Weather API: wind speed and direction, UV index, and sunshine hours.
- Update frequency: every 3 hours
- Coverage: 72-hour forecast
- Source: NOAA GFS and ECMWF models
Copernicus CMEMS
EU Marine Service
We complement with data from the Copernicus Marine Environment Monitoring Service (CMEMS), offering superior spatial resolution and extended forecasts.
- Extended waves: significant height, peak period, direction, secondary swell.
- Resolution: ~9 km (0.083°)
- Update frequency: every 6 hours
- Coverage: up to 240 hours (10 days)
Tide Prediction
Local Harmonic Calculation
Tides are calculated locally using harmonic prediction, with no reliance on external APIs.
Where Z0 is the mean level, Ai the amplitude, ωi the angular speed, and gi the phase of each constituent.
- 6 reference stations along the Peruvian coast: Paita, Salaverry, Chimbote, Callao, San Juan, Mollendo
- 8 harmonic constituents per station (M2, S2, N2, K2, K1, O1, P1, Q1)
- Calculation: twice daily
- Coverage: 7-day prediction
Peru has a microtidal regime (range ~0.05 to 0.80 m), with a mixed semidiurnal pattern.
Condition Scoring
Rating Algorithm 1-10
Each forecast hour receives a score from 1 to 10, calculated by adding points for different factors:
Wave Height (0-4 pts)
< 0.3m = 0 pts | 0.3-0.8m = 1 pt | 0.8-1.5m = 2 pts | 1.5-2.5m = 3 pts | > 2.5m = 4 pts
Swell Period (0-3 pts)
< 8s = 0 pts | 8-11s = 1 pt | 11-14s = 2 pts | > 14s = 3 pts
Wind (-2 to +2 pts)
Light wind (5-10 km/h) always adds +1. Moderate wind (10-20 km/h): offshore +2, onshore -1. Strong wind (> 20 km/h): offshore +1, onshore -2.
Secondary Swell (+1 pt)
If a secondary swell with height ≥ 0.3m exists, 1 additional point is added.
Rating by score:
Derived Metrics
Additional Calculations
From the base data, we calculate additional metrics to help you plan your session:
Wave Energy
Calculated as H² × T (height squared times period). Indicates wave power. Color coding: gray < 5 kJ, green 5-15, orange 15-30, red > 30.
Wetsuit Recommendation
Based on sea surface temperature (SST). We suggest the appropriate neoprene thickness.
Moon Phase
We display the current moon phase, relevant for its influence on tides and general conditions.
Best Hour of the Day
We identify the time window with the best score within each day to optimize your session.
Community Data
User-Generated Content
Our community actively contributes to improving the available information:
- Beach submissions: users can suggest new spots that are reviewed by moderators before publishing.
- Edit suggestions: any registered user can propose improvements to existing beach information.
- Community photos: user-uploaded photo gallery for each spot, moderated before publishing.
Update Summary
| Source | Frequency | Coverage |
|---|---|---|
| Open-Meteo | Update frequency: every 3 hours | 72h |
| Copernicus CMEMS | Update frequency: every 6 hours | 240h (10d) |
| Tide Prediction | Calculation: twice daily | 7d |