What the ocean has been up to off Camp Ellis, Saco Bay, Maine Β· Sofar Spotter SPOT-32787C
π Latest reading: Wednesday, Oct 21 2026 at 07:00 PM. How to read the wave vibe:
Updates every hour. This buoy is highlighted in orange, at its latest position; the blue line is where it has drifted around its anchor (β) over the last week. The others are UNE's nearby wave buoys (yellow) and water-quality buoys (orange floats) β hover over one for its name, click to visit its page.
Predicted by NOAA for Camp Ellis, Saco River entrance (station 8418606). Heights are above average low tide (MLLW). Real water levels can differ in storms.
Big-picture numbers since the buoy went in the water.
Written automatically from the numbers β it changes as new data arrives.
Sep 2026 delivered the most wave energy β about 6Γ more than Aug 2026, the quietest full month. The months with the most time spent above 1 m (3.3 ft) were Sep 2026, Mar 2026, Apr 2026.
62% of all wave readings came from the E sector, and the energy-weighted average direction is 82Β° (E). Every one of the 21 storm events came from the E, ENE. A narrow window like this usually reflects waves bending (refracting) and being sheltered by the coastline before they reach the buoy β and it is a key boundary condition for longshore-transport and shoreline-change modeling around Camp Ellis.
A storm event here means waves β₯ 1 m (β3.3 ft) lasting 6+ hours. The three most energetic were Sep 24βSep 29, 2026 (peak 2.3 m, 101 h); Jan 25βJan 27, 2026 (peak 2.4 m, 39 h); Feb 23βFeb 24, 2026 (peak 2.8 m, 31 h). Those three alone carried about 25% of all the wave energy the buoy recorded β a few big events do most of the work on the beach.
Recorded Feb 23, 2026 at 03:15 PM. Significant wave height is the average of the highest third of waves, so individual waves that day were likely up to ~1.8Γ taller β roughly 5.6 m (19 ft).
Long-period swell (periods > 7.9 s) carried 29β47% of the wave energy depending on the month, highest in Feb 2026. The rest is shorter, choppier 'sea' generated by nearby winds. Average peak period: 8.6 s.
Waves were under 1 ft (0.3 m) for 45% of hours. The full mix: π΄ Glassy 45% Β· π Gentle 38% Β· π Lively 10% Β· πͺ Rough 5% Β· β οΈ Stormy 2%. The longest glassy stretch (waves under 1 ft) lasted 12.9 days, ending Aug 18, 2026.
On Nov 16, 2025. Highest: 1038.8 hPa on Mar 02, 2026. Sharp pressure drops are the fingerprint of passing storms (nor'easters) and usually line up with wave spikes.
That's the energy that rolled past each metre-wide strip of the buoy site since deployment β roughly what a typical U.S. home uses in 334 days. (Estimate; treat as ballpark.) The buoy has ridden an estimated 6.2 million waves.
Internal humidity has climbed from ~15% in the first month to ~39% in the latest week (Sofar recommends replacing the desiccant above 70%); one 8.2-day data gap from Jul 01 to Jul 09, 2026; battery is healthy (lowest 3.72 V).
Coldest Feb 09, 2026, warmest Aug 09, 2026. Latest reading 12.2 Β°C (54 Β°F).
Coldest Feb 09, 2026, warmest Jul 29, 2026. Latest reading 12.3 Β°C (54 Β°F).
Across the 3 temperature sensors, the gap averaged 1.8 Β°C (up to 10.6 Β°C). The warmest on average is #1 temp sensor. A bigger gap means the water column is layered (stratified); a small gap means it's well mixed β storms usually stir it up.
Average 8.9 mg/L (range 3.7β11.9). Below the 5 mg/L stress line 0.9% of hours; hypoxic (< 2 mg/L) 0.0% of hours. Colder water holds more oxygen, so expect a summer low. Note: the sensor converts to mg/L assuming a fixed salinity of 35 ppt; near the Saco River mouth the water can be fresher, mouth the water can be fresher, so true values may be slightly higher.
Range 42β125%. Over 100% usually means algae are photosynthesising; well under 100% means oxygen is being used up faster than it's replaced.
Average 6 cm/s, fastest 79 cm/s (1.5 knots). During storm events currents ran 2.1Γ their usual speed β that's when sediment gets moved. The water mostly sloshes back and forth β toward the ESE (14% of hours) and the W (11%) β the signature of tidal currents. (Direction as reported by the current meter, usually the direction the water flows toward.)
A quick guide to each measurement on this page β no science degree needed.
What it is: "Significant wave height": the average height of the biggest third of the waves, trough to crest. It is close to what an experienced sailor would estimate by eye.
Why it matters: Wave height drives beach erosion, coastal flooding and safe boating. A few big storms each year do most of the work of moving sand along the coast.
π Under 1 ft: calm. 1β3 ft: normal. Over 3 ft (1 m) for hours: a storm event here. Single waves can be about twice the significant height.
π Here: typically 1.0 ft; biggest so far 10.3 ft. A "storm event" on this page = waves β₯ 3.3 ft (1 m) for 6+ hours.
What it is: Seconds between one wave crest and the next.
Why it matters: Short-period waves (under ~6 s) are choppy and made by local wind. Long-period swell (10 s or more) was made by a distant storm, carries much more energy for its height, and reaches farther up the beach.
π Tip: count the seconds between waves at the beach β that is the period.
What it is: The compass direction the waves are coming from (like wind direction).
Why it matters: Direction decides which beaches take the hit and which way sand is pushed along the shore.
π "E" means waves rolling in from the east.
What it is: How much energy the waves carry toward shore, per metre (or foot) of coastline. It grows with the square of wave height and with the period.
Why it matters: It is the best single measure of how hard the ocean is working on the coast β useful for erosion studies.
π 1 kWh β running a microwave for an hour.
What it is: The weight of the air above, in hPa (hectopascals) or kPa (1 kPa = 10 hPa).
Why it matters: Falling pressure usually means a storm or front is coming; rising pressure means clearing weather. Very low pressure also lets the sea rise a little higher (storm surge).
π ~1013 hPa (101.3 kPa) is average. Under ~1000 hPa usually means a storm.
What it is: Average wind speed, the strongest gust, and the direction the wind is blowing from.
Why it matters: Wind builds waves, pushes water against the shore, mixes oxygen into the water and dries out soils.
π Light: under 10 mph. Breezy: 10β20 mph. Strong: 25+ mph. Gale: 39+ mph.
π Here: this buoy has no wind vane β it estimates wind from the shape of the waves, so treat it as approximate, especially in light winds.
What it is: How warm or cold the water is, measured by a sensor just below the surface.
Why it matters: Temperature controls almost everything in the water: how much oxygen it can hold, how fast algae grow, which fish and shellfish are comfortable, and when lobsters and other animals move or molt.
π Gulf of Maine coastal water runs roughly 38β45 Β°F (3β7 Β°C) in late winter and 60β68 Β°F (15β20 Β°C) in late summer. Shallow ponds and marshes swing much more, warming fast on sunny days.
What it is: Oxygen gas dissolved in the water β the oxygen that fish, crabs, clams and worms breathe through their gills or skin. Shown in mg/L (milligrams per litre), and sometimes as % saturation: 100% means the water holds as much oxygen as it naturally can at that temperature and saltiness.
Why it matters: Low oxygen stresses or kills marine life. It drops when water is warm, still, or full of decaying plant material, and it swings up and down every day because algae make oxygen in sunlight and everything uses it up at night.
π Above 5 mg/L: healthy. 2β5 mg/L: stressful for many species. Below 2 mg/L: hypoxic β most fish leave or die. Saturation above 100% means algae are photosynthesising hard.
What it is: How fast and in which direction the water itself is moving, measured below the buoy.
Why it matters: Currents carry larvae, nutrients, sediment and pollution, and matter for swimmers and boaters.
π Tidal currents here typically reach a few tenths of a knot; 10 cm/s β 0.2 knots.
What it is: The height of the water surface. Along the Maine coast the sea rises and falls about 9 feet twice a day (every ~12 h 25 min), pulled by the Moon and Sun.
Why it matters: The tide moves water β and everything in it β back and forth past a sensor, so many readings change with the tide. In marshes and ponds, water level shows how often the tide floods in and how high storms push it.
π Heights on tide charts are measured above average low tide (MLLW). Storms and strong onshore winds can push water higher than predicted.
Drag the slider underneath to zoom. Orange bands are storm events (waves β₯ 3.3 ft (1 m) for 6+ hours).
Each square is one day. Darker blue = bigger waves. Blank squares = no data.
Average, rough-day and biggest wave heights.
How much push the waves carried toward shore each month.
Each wedge shows how often waves arrive from that direction.
Distance from the centre = % of all wave readings from that direction.
Which wave βrhythmsβ carry the most energy each season. Peaks on the right = long, powerful swell.
Instruments hanging under the buoy: water temperature, dissolved oxygen, currents and more.
228,957 sensor readings, Nov 03, 2025 β Oct 21, 2026. Hourly averages shown.
Daily averages β click βhourlyβ in the legend for full detail.
Daily averages β click βhourlyβ in the legend for full detail.
Daily averages β click βhourlyβ in the legend for full detail.
Daily averages β click βhourlyβ in the legend for full detail.
Distance from the centre = % of hours. Direction as reported by the current sensor (most current meters report the direction the water flows toward).
| Measures | Position | Units | Latest | Average | Min | Max | Readings | Outliers removed | Sofar name |
|---|---|---|---|---|---|---|---|---|---|
| π‘οΈ Water temperature | #1 temp sensor | Β°C | 12.22 | 9.86 | -0.03 | 22.88 | 16,443 | 29 | bm_soft_temperature_mean |
| π‘οΈ Water temperature | #2 current meter | Β°C | 12.34 | 8.92 | 0.42 | 18.59 | 16,404 | 3 | aanderaa_temperature_mean |
| π‘οΈ Water temperature | #3 oxygen sensor | Β°C | 12.34 | 8.22 | 0.01 | 17.59 | 16,245 | 1 | bm_do_temperature_mean |
| π«§ Dissolved oxygen | #3 oxygen sensor | mg/L | 8.63 | 8.90 | 3.59 | 12.03 | 16,143 | 103 | bm_do_mg_per_l_mean |
| π«§ Dissolved oxygen saturation | #3 oxygen sensor | % | 99.53 | 93.59 | 42.17 | 124.90 | 16,072 | 108 | bm_do_saturation_pct_mean |
| π Current speed | #2 current meter | m/s | 0.03 | 0.06 | 0.00 | 0.79 | 16,393 | 14 | aanderaa_abs_speed_mean |
| π§ Current direction | #2 current meter | Β° | 315.64 | 182.30 | 0.06 | 359.99 | 16,407 | 0 | aanderaa_direction_circ_mean |
| π§ aanderaa abs speed std | #2 current meter | cm/s | 1.62 | 1.22 | 0.02 | 179.42 | 16,407 | 0 | aanderaa_abs_speed_std |
| π§ aanderaa abs tilt | #2 current meter | rad | 0.14 | 0.10 | 0.01 | 0.64 | 16,407 | 0 | aanderaa_abs_tilt_mean |
| π§ aanderaa direction circ std | #2 current meter | rad | 0.52 | 0.36 | 0.00 | 1.41 | 16,407 | 0 | aanderaa_direction_circ_std |
| π§ aanderaa reading count | #2 current meter | count | 4.00 | 4.51 | 0.00 | 6.00 | 16,472 | 0 | aanderaa_reading_count |
| π§ aanderaa std tilt | #2 current meter | rad | 0.05 | 0.02 | 0.00 | 0.10 | 16,407 | 0 | aanderaa_std_tilt_mean |
| π§ bm do quality | #3 oxygen sensor | unitless | 0.90 | 0.92 | 0.90 | 0.93 | 16,246 | 0 | bm_do_quality_mean |
| π§ bm do salinity | #3 oxygen sensor | parts per thousand | 35.00 | 35.00 | 35.00 | 35.00 | 16,246 | 0 | bm_do_salinity_mean |
When air pressure (top) drops sharply, the wind (middle) picks up and the waves (bottom) jump. That's a storm passing. *Wind is estimated by the buoy from the waves.
The 10 biggest storm events, ranked by peak wave height (21 in total).
| Rank | Started | Lasted | Peak waves | Rhythm | From | Lowest pressure (hPa) | Energy (kWh/m) |
|---|---|---|---|---|---|---|---|
| π₯ | Feb 23, 2026 | 31 h | 9.3 ft | 11 s | ENE | 994 | 556 |
| π₯ | Jan 25, 2026 | 39 h | 7.7 ft | 9 s | E | 1004 | 587 |
| π₯ | Sep 24, 2026 | 101 h | 7.6 ft | 8 s | E | 1011 | 1,233 |
| 4 | Dec 24, 2025 | 20 h | 7.2 ft | 8 s | E | 1007 | 225 |
| 5 | May 30, 2026 | 21 h | 6.9 ft | 8 s | E | 1006 | 184 |
| 6 | Nov 09, 2025 | 28 h | 6.4 ft | 7 s | E | 998 | 230 |
| 7 | Feb 07, 2026 | 14 h | 5.5 ft | 11 s | ENE | 1000 | 114 |
| 8 | Feb 01, 2026 | 20 h | 5.4 ft | 12 s | E | 1002 | 152 |
| 9 | Apr 28, 2026 | 53 h | 5.4 ft | 11 s | E | 1005 | 458 |
| 10 | Mar 05, 2026 | 40 h | 5.3 ft | 8 s | E | 1021 | 215 |
Battery (bottom) and the humidity inside the hull (top). Humidity creeping upward can mean moisture is getting in.
=IMPORTDATA("https://ekelting.github.io/UNE-Marine-Monitoring-Network/camp-ellis/data/daily.csv")