WaveSearch

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)
Merge rule: for the first 72 hours, Copernicus supplements Open-Meteo data with additional variables. From 73 to 240 hours, Copernicus extends the forecast.
Wind data note: Copernicus Marine only provides wave and current data. Wind data comes from Open-Meteo Weather API, which covers the full 15-day forecast window. This means extended forecasts also include wind data for more accurate scoring.

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:

Flat (1) Poor (2-3) Fair (4-5) Good (6-7) Epic (8-10)

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.
Important: DHN alerts are informational and do not replace personal judgment. In adverse conditions, prioritize your safety and always check the official source.

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
We use essential cookies for site functionality (session, preferences, and security). We do not use tracking or advertising cookies. Learn more