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, gusts, UV index, and sunshine hours (15-day coverage).
- Update frequency: every 3 hours
- Coverage: 360 hours/15 days (waves and wind)
- Source: ECMWF WAM model (waves) and NOAA GFS + ECMWF (wind)
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 (15 days)
Tide Prediction
Open-Meteo Marine API (MeteoFrance SMOC)
Tide data comes from the Open-Meteo Marine API, using the MeteoFrance SMOC model which provides hourly sea level height (sea_level_height_msl) for each spot.
- Source: Open-Meteo Marine API, MeteoFrance SMOC model.
- High/low tide detection: local maxima and minima are automatically identified from the hourly data, with parabolic interpolation for sub-hourly precision.
- Per-spot data: each beach receives tide data based on its exact coordinates.
- Update frequency: 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.5m = 0 pts | 0.5-1.0m = 1 pt | 1.0-1.5m = 2 pts | 1.5-2.5m = 3 pts | > 2.5m = 4 pts
Dominant Period (-1 to 3 pts)
Uses the dominant/peak period (wave_period). < 8s = -1 pt (wind swell, messy) | 8-10s = 0 pts | 10-12s = 1 pt | 12-16s = 2 pts | > 16s = 3 pts
Wind (-2 to +2 pts)
Glassy (< 5 km/h): +2. Light wind (5-10 km/h): +1. Moderate wind (10-20 km/h): offshore +1, onshore -1. Strong wind (> 20 km/h): onshore -2, offshore -1. Wind data covers the full 15-day forecast window.
Secondary Swell (-1 to +1 pt)
If a secondary swell with height ≥ 0.3m and long period (≥ 10s) exists, +1 point is added. If the period is short (< 10s) and direction differs > 45° from the primary swell, -1 point penalty for crossed seas. If directions are similar (≤ 45°), no penalty is applied.
Rating by score:
Derived Metrics
Additional Calculations
From the base data, we calculate additional metrics to help you plan your session:
Wave Energy
Calculated using the standard oceanographic formula: E = 0.491 × H² × T² (kJ), where H is significant height and T is peak period. Color coding: gray < 50 kJ, green 50-150, orange 150-300, red > 300.
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.
DHN Special Alerts
Directorate of Hydrography and Navigation - Peruvian Navy
We integrate special alerts for abnormal swell and strong winds published by the DHN, Peru's maritime authority. These are critical safety alerts for surfers and beachgoers.
- Official source: Directorate of Hydrography and Navigation (dhn.mil.pe), a Peruvian Navy agency.
- Alert types: abnormal swell (waves above normal) and strong coastal winds.
- Zone coverage: Northern Coast (Tumbes to La Libertad), Central (Ancash to Ica) and Southern (Arequipa to Tacna). Alerts are only shown on affected spots.
- Twice daily (7:00 AM and 7:00 PM)
- Display: alert banner on each affected spot page, with intensity level (light, moderate, strong, very strong), validity period and link to the official PDF.
Update Summary
| Source | Frequency | Coverage |
|---|---|---|
| Open-Meteo Marine | Update frequency: every 3 hours | 360h (15d) — waves, period, direction, SST (ECMWF WAM) |
| Open-Meteo Weather | Update frequency: every 3 hours | 360h (15d) — wind, gusts, UV |
| Copernicus CMEMS | Update frequency: every 6 hours | 240h (10d) — ocean currents, secondary swell (supplements Open-Meteo) |
| Tide Prediction | Update frequency: twice daily | 7d |
| DHN Special Alerts | Twice daily (7:00 AM and 7:00 PM) | Active wave and wind alerts by zone |