📊 What the data say

Analyses of the network's stations, side by side with long public records from NOAA and USGS. Every card starts in plain words, with a tip on how to read the chart; the math and its assumptions are under "Is this sound?". Updated daily.

Units:
Theme:

How sure are we?

Each card has a badge:

  • ✓ Solid the method fits the data and the result holds up.
  • ⚠ Use with care fine to look at, but it rests on an assumption or a short record. The card says which.

Our own stations started between late 2025 and 2026, so most of their results cover months, not years. They will firm up as records grow.

All 27 analyses

The year at a glance

1

Days that matter

Several stations · the past 12 months
🦞 Mainers🐟 marine scientists
In plain wordsThe headline numbers from the past year.
⚠ Use with careIs this sound?

Swim days: daily mean at the Camp Ellis upper mooring sensor ≥ 18.3 °C (65 °F); that sensor is below the surface, so the true count is likely a bit higher. Lobster stress: hours above 20 °C, a commonly used threshold for American lobster. Growing degree-days: sum of max(0, (Tmax + Tmin)/2 − 10 °C) since April 1. Low oxygen: share of hours below 2 mg/L (hypoxic) in the worst month.

Great Pond's oxygen sensor has never read above 3.0 mg/L; if that seems low for the pond, the sensor's placement is worth checking.

🏊 Swim days at Camp Ellis
30
daily water ≥ , Jun 13 – Sep 05
🦞 Lobster-stress hours
108
water above at Camp Ellis, mostly August
🌱 Growing degree-days
363 Acre Woods since April 1, 2026
🐟 Low-oxygen hours
85%
Great Pond below 2 mg/L in August 2026
🌊 Highest water this year
Portland, Jun 16, 2026: mostly a "king tide" (one of the year's highest predicted tides), not a storm
🌪️ Biggest waves at Camp Ellis
Feb 23, 2026

Sea level, storms and flooding

These use NOAA's Portland tide gauge, running since 1912, so they are the most reliable comparisons on the page.

2

Sea level is rising

NOAA tide gauge, Portland · yearly averages since 1912
🌊 oceanographers🗺️ geographers🦞 Mainers
In plain wordsThe ocean at Portland is higher than it used to be. The tide gauge has measured it every month since 1912, so the trend shows clearly through all the ups and downs.
👀 How to read the chartEach dot is one year's average sea level, measured as how much higher it was than in 1912. The orange line is the long-term trend. Watch the dots climb.
What we found
  • Sea level at Portland has risen about 2.0 mm per year on average since 1912. That adds up to about so far.
  • Over the last 30 years it has risen 3.7 mm per year, about 1.9× the long-term pace.
  • Every high tide, storm and flood now starts from that higher level, which matters for beach and dune erosion.
✓ SolidIs this sound?

Yearly averages of NOAA's monthly mean sea level (years with at least 11 months), with a least-squares trend. Because one year's sea level is related to the next, the error bar is widened to account for that.

trend = 1.97 ± 0.34 mm/yr (95%) · last 30 years: 3.7 ± 1.4 mm/yr

Assumes the land under the gauge is stable. Maine's land is close to stable, so this is close to true sea-level rise.

Yearly average sea level at Portland (above MLLW, the average lowest tide).

Data: NOAA CO-OPS station 8418150

3

Flooding is becoming routine

NOAA tide gauge, Portland · days each year the water reached 12 ft
🦞 Mainers🗺️ geographers🌊 oceanographers
In plain wordsAt 12 feet above the low-tide datum, the National Weather Service's "minor flood" level for Portland, the lowest wharves and side streets near Portland Pier take on a few inches of water. Counting how many days a year that happens turns "a few millimetres of sea-level rise per year" into something you can see on the waterfront.
👀 How to read the chartEach bar is one year: the number of days the highest tide reached 12 ft. The orange steps are the average for each decade.
What we found
  • Before 1950 the water reached 12 ft on about 0.7 days a year. Over 2016–2025 it averaged 7.4 days a year, about 11× as often.
  • The most was 20 days, in 2010.
  • Most of these are not storms. As the sea rises, ordinary high tides (especially king tides) reach the level that once took a storm.
✓ SolidIs this sound?

Daily highest water from NOAA's verified hourly heights at Portland (station 8418150), 1912 to today. A day counts if any hourly reading reached 12.0 ft (3.66 m) above MLLW: the National Weather Service minor flood stage for this gauge, at which wharves and the most vulnerable side streets near Portland Pier flood 4 to 6 inches deep. Years with fewer than 330 days of data are left out. Hourly readings can miss the very top of a tide by a few centimetres, so counts are slightly conservative.

Days per year the water at Portland reached 12 ft above MLLW.

Data: NOAA CO-OPS station 8418150

4

How high can the water get?

NOAA tide gauge, Portland · highest water each year · extreme-value fit
🌊 oceanographers🦞 Mainers📐 mathematicians
In plain wordsEach year has one highest water level, usually a big storm on top of a high tide. With more than a century of these, we can estimate how high the water gets once every 10 or 100 years at today's sea level.
👀 How to read the chartEach dot is one year's highest water, adjusted to today's sea level. Big orange dots reached the 1-in-10-year level. Dashed lines are the 10- and 100-year levels; the dotted line is an ordinary high tide.
What we found
  • The record is above the low-tide datum, set in 2024. Next highest: 1978 and 2022.
  • At today's sea level, a 1-in-10-year storm tide reaches about and a 1-in-100-year one about (likely range to ).
  • A 1-in-10-year storm tide is about above an ordinary high tide.
✓ SolidIs this sound?

Each year's highest monthly reading, shifted to today's sea level using the trend above. A generalized extreme value (GEV) distribution is fitted by maximum likelihood; the likely range comes from 300 bootstrap resamples.

return level z_T = GEV⁻¹(1 − 1/T)

"1-in-10-year" means a 10% chance in any year, not once every 10 years like clockwork. Assumes years are independent and storms aren't changing apart from sea level. Portland is about 20 km from Saco Bay, so local water can differ by a few centimetres.

Highest water each year at Portland, adjusted to today's sea level (above MLLW).

Data: NOAA CO-OPS station 8418150

5

Same storm, higher sea: 1978 vs 2024

NOAA tide gauge, Portland · the two record storms
🦞 Mainers🌊 oceanographers🗺️ geographers
In plain wordsFor 46 years the Blizzard of '78 held Portland's record: 14.17 ft. On January 13, 2024 a storm reached 14.57 ft. How much of that new record came from a bigger storm, and how much from a higher sea?
👀 How to read the chartThe bar is how much higher the 2024 record was than 1978. The blue part is how much the sea itself rose in between; the orange part is everything else (storm surge and tide).
What we found
  • The 2024 record beat 1978 by . The sea rose about between the two storms.
  • So roughly 74% of the new record came from a higher starting sea, not a bigger storm.
  • The Blizzard of '78 happening at today's sea level would have reached about .
✓ SolidIs this sound?

Record values from NOAA via the National Weather Service (14.17 ft MLLW in Feb 1978; 14.57 ft MLLW on Jan 13, 2024). Sea-level rise between them uses the long-term trend (1.97 mm/yr). Year-to-year swings in average sea level (a few centimetres) mean the split is approximate.

How much higher the 2024 record was than 1978, split into sea-level rise and the rest.

Data: NOAA CO-OPS 8418150; NWS Gray

6

Storm surge this year

NOAA tide gauge, Portland · measured water minus predicted tide
🌊 oceanographers🦞 Mainers🗺️ geographers
In plain wordsTide tables predict the water from the Moon and Sun alone. Storm surge is the extra water the weather adds on top: wind piling water against the coast and low air pressure letting the sea bulge up.
👀 How to read the chartThe line shows how far above or below the tide tables the water was, averaged over a day. Orange bands are storms at the Camp Ellis wave buoy. Peaks inside the bands are storm surge.
What we found
  • The biggest surge in the past year peaked at on Feb 23, 2026 (hourly peak; the daily average in the chart is lower).
  • Other big storm surges: Feb 01, 2026 (), Jan 25, 2026 ().
  • The water also ran above the tide tables on average, all year. That is sea-level rise: the tables are based on 1983–2001 sea level.
✓ SolidIs this sound?

Hourly measured water level minus NOAA's hourly prediction, with the year's average offset removed, then a 25-hour running average. Storm periods are those on the Camp Ellis wave buoy page.

Storm surge at Portland (daily average). Orange bands are Camp Ellis wave storms.

Data: NOAA CO-OPS station 8418150

Warm year or cold?

7

Was the sea warmer than normal?

NOAA buoy 44007 (off Portland) · daily water temperature vs the 1991–2020 normal
🐟 marine scientists🌊 oceanographers🦞 Mainers
In plain words"Normal" here means the average for each date from 1991 to 2020, measured by a NOAA buoy off Portland. Comparing the past year with that shows whether the water was unusually warm or cold, which matters for lobsters, algae and fish.
👀 How to read the chartTop: the grey band is the normal range for each date (the middle 80% of past years). Blue is the NOAA buoy over the past year; the dotted line is Camp Ellis, close to shore. Above the band means unusually warm. Bottom: one stripe per year, blue cooler and red warmer than the 1991–2020 average; gaps are years with too little data.
What we found
  • Over the past year the sea off Portland averaged warmer than normal. Warmest compared with normal: October and June.
  • February and March ran a little cooler than normal.
  • It did not meet the standard definition of a marine heatwave (5+ days in a row above the warmest 10% for that date).
  • Since 1990 the yearly average has warmed about per decade. The Gulf of Maine is one of the fastest-warming ocean areas.
✓ SolidIs this sound?

Daily means of NOAA buoy 44007 water temperature (about 1 m deep). Normal: 1991–2020 values within ±5 days of each date, smoothed over 31 days; band = 10th to 90th percentile. Marine-heatwave test follows Hobday et al. (2016). Trend: least squares on yearly averages for the 28 years with at least 330 days of data (p = < 0.001).

Camp Ellis is shown for comparison: its water is shallow and close to shore, so it heats up more in summer (about 0.5–1.3 °C warmer than the NOAA buoy) and cools more in winter (about 1–1.5 °C colder).

Top: daily sea temperature vs normal. Bottom: "warming stripes", one per year at buoy 44007.

Data: NOAA NDBC buoy 44007

8

Was the air warmer than normal?

NOAA, Portland Jetport normals · with the Ram Island station
🦞 Mainers🗺️ geographers
In plain wordsSame idea for the air. Portland's airport has daily records, so each day can be compared with its 1991–2020 normal. Ram Island tracks Portland closely, which also shows our station is measuring well.
👀 How to read the chartEach bar is one week: red bars were warmer than the 1991–2020 normal for those dates, blue bars colder. Taller bars mean a bigger difference.
What we found
  • Coldest month compared with normal: December 2025, about below normal.
  • Warmest compared with normal: June 2026, about above normal.
  • Ram Island and Portland rise and fall almost identically (correlation 0.99). Ram Island is milder: warmer in winter and cooler in summer, because it is surrounded by the sea, which changes temperature more slowly than land.
✓ SolidIs this sound?

Daily mean = (max + min) / 2 from GHCN-Daily station USW00014764. Normal = the 1991–2020 average within ±7 days of each date. Chart shows 7-day averages.

Weekly difference from the 1991–2020 normal, Portland Jetport.

Data: NOAA GHCN-Daily, Portland International Jetport

9

Layers in the sea

Camp Ellis mooring · temperature at three depths
🌊 oceanographers🐟 marine scientists
In plain wordsIn summer the sun warms the top of the sea, and that warm, light water floats on colder, heavier water below, like oil on vinegar. In fall, storms and cooling stir the layers back together.
👀 How to read the chartThe shaded area shows how much warmer the top of the sea is than the bottom. A big gap means the sea is layered; near zero means it is mixed from top to bottom.
What we found
  • Fully mixed (all depths within a fraction of a degree) in: Nov, Dec, Jan, Feb, Mar.
  • Most layered in July 2026: the upper sensor averaged warmer than the deepest one.
  • Layering matters for oxygen near the bottom and for how storms move heat and sediment.
⚠ Use with careIs this sound?

Daily means of the three temperature sensors on the Camp Ellis smart mooring (positions 1, 2 and 3, shallowest to deepest). Their exact depths aren't recorded in the data. Temperature sets most of the density here, but salinity also matters near the river plume.

Daily temperature difference between the top and bottom mooring sensors, Camp Ellis.

Sand, waves and the seabed at Camp Ellis

10

Camp Ellis through time

History of the beach, the jetty and the storms
🗺️ geographers🦞 Mainers🌊 oceanographers
In plain wordsCamp Ellis is one of the best-studied eroding beaches in Maine. Its story explains why the sand-drift results matter: the jetty cut the beach off from its sand, and the waves keep carrying sand north.
✓ SolidIs this sound?
  1. 1867The Army Corps of Engineers builds a jetty at the mouth of the Saco River to keep the channel open for ships. It also blocks the river's sand from reaching Camp Ellis beach.
  2. 1908Camp Ellis's shoreline sits about 400 feet farther out to sea than it would a century later.
  3. 1912The Corps adds a spur to the jetty. Engineers at the time thought sand moved north to south; later research found it moves the other way.
  4. 1953The Surf Street seawall (about 700 feet long) is built to hold back the sea.
  5. 1955A Corps study estimates the area lost about 5.9 million cubic metres of sand since 1869, but concludes the jetty wasn't the cause.
  6. 1978The Blizzard of '78 sets Portland's water-level record. Photos show waves bouncing off the jetty into Camp Ellis.
  7. 1983Maine's Sand Dune Rules ban new seawalls and limit rebuilding of houses badly damaged by storms.
  8. 2007The Patriots' Day storm (April) destroys another Camp Ellis house.
  9. 2022–23$45 million is announced (2022) for a 750-foot spur off the jetty to protect Camp Ellis; the Army Corps finalizes the plan in 2023.
  10. Since 1950sMeanwhile, sand drifting north has built up Pine Point, enough to support about 50 more homes over 50 years.
11

Littoral drift: which way does the sand go, and why?

Camp Ellis wave buoy · wave direction vs the beach
🌊 oceanographers🗺️ geographers🦞 Mainers
In plain wordsWhen waves hit a beach at an angle, they push sand along the shore like a conveyor belt. Which way the belt runs depends on which side of "straight on" the waves come from. The compass shows where Camp Ellis's wave energy comes from, with the beach drawn in.
👀 How to read the chartThe thick yellow line is the beach. The dotted arrow points the way a wave would come if it hit the beach straight on. Dark petals show where the wave energy comes from. Petals in the blue half push sand north; petals in the orange half push it south.
What we found
  • Most wave energy arrives from the east and east-northeast. The beach just north of the Camp Ellis jetty faces east-northeast, so these waves arrive from slightly south of straight on.
  • Of the energy that reaches the beach at an angle, 98% pushes sand north, away from Camp Ellis and the Saco River jetty, toward Old Orchard and Pine Point.
  • That matches decades of geological work in Saco Bay: sand moves north from the Saco River, Pine Point has grown, and Camp Ellis, cut off from the river's sand by the jetty, erodes.
⚠ Use with careIs this sound?

Wave energy by direction: sum of Hs²·Tp (proportional to wave energy flux) in each 22.5° sector of the buoy's mean wave direction (where waves come from; energy-weighted mean 81°). The beach from the jetty to Ferry Beach runs north-northwest, so a wave hitting it straight on comes from about 65° (estimated from map coordinates; a surveyed shoreline would sharpen it).

The answer depends on that angle: with these waves the drift flips direction if the beach faced 82° or more (see the next card). Farther north, where the shore turns to face east-southeast at Old Orchard, the same waves would push sand the other way, so this estimate applies to the Camp Ellis – Ferry Beach stretch only.

Top: share of wave energy from each direction, with the beach and the straight-on direction. Bottom: running total of sand pushed north since Nov 2025, thousand m³ (orange bands are storms).

12

Littoral drift: when, and how much?

Camp Ellis wave buoy · waves to the break point · CERC and Kamphuis formulas
🌊 oceanographers🗺️ geographers📐 mathematicians
In plain wordsNow the amounts: how much sand the waves could move each month, and which storms did the most work. These are rough estimates, so think of them as "about this big" rather than exact numbers.
👀 How to read the chartTop: each bar is a month; bars above the line are sand pushed north, below are sand pushed south. Middle: storms ranked by how much sand they moved, with their share of the total on the bars. Bottom: how the yearly amount depends on which way the beach faces; above zero is northward.
What we found
  • The busiest month was September 2026. The single busiest storm, Sep 24, 2026, moved about 16% of the total by itself.
  • The top 4 storms moved about 34% of the sand; all 21 storms together about 52%, though storms were only 7% of the hours.
  • Summer (June–August) moved less sand than February alone.
  • Yearly amount at Camp Ellis: roughly 174,000 m³ north by Kamphuis (381,000 by CERC, which tends to overestimate). These are what the waves could move if sand were unlimited; with the jetty blocking the river's sand, the real amount is limited by supply.
⚠ Use with careIs this sound?

Each hour, waves are refracted and shoaled from the buoy (12 m) to breaking (H = 0.78·depth) with Snell's law over straight, parallel depth contours, then

CERC: Q = K√g·H_b^2.5·sin(2α_b) / [16√γ (s−1)(1−n)], K = 0.39
Kamphuis: Q_m = 2.27·H_b²·T_p^1.5·m_b^0.75·D50^−0.25·sin^0.6(2α_b)

Assumptions: beach slope 0.02, grain size 0.2 mm, porosity 0.4. Wood Island, Ram Island and the jetty bend waves in ways straight contours miss, and the shoreline curves through the bay, so a wave model (such as SWAN) run along a surveyed shoreline would sharpen both the amounts and where the drift changes direction. Storm periods are those on the Camp Ellis wave buoy page.

Top: monthly potential transport (Kamphuis). Middle: storms ranked by sand moved (Kamphuis). Bottom: net yearly rate (+ north) vs the direction the beach faces.

13

When does the seabed move?

Camp Ellis buoy (about 12 m deep) · wave motion at the bed · Shields number
🌊 oceanographers📐 mathematicians
In plain wordsWaves move water back and forth all the way down to the seabed. If that motion is strong enough, it rolls sand grains along. The Shields number compares the push with the grain's weight: above the line, sand moves.
👀 How to read the chartEach bar is a month: the share of hours when waves were strong enough to roll fine sand on the seabed 12 m down.
What we found
  • At the buoy's depth, fine sand moves in about 15% of hours: about 20% in winter (December–March) and 4% in summer. The most active months: February and March.
  • The very strong "sheet flow", when the whole surface layer moves, never happened at this depth. It happens closer to shore, where waves break.
✓ SolidIs this sound?

Bed orbital velocity U = πHs/(T·sinh kh) from linear wave theory (depth 12.7 m including mean tide); skin-friction factor fw = 1.39(A/z₀)^−0.52 with z₀ = 2.5·D50/30 (Soulsby 1997); θ = ½fwU² / [(s−1)g·D50]; threshold θcr from Soulsby & Whitehouse. D50 = 0.2 mm (fine sand).

Waves only: adding the measured bottom current and local grain-size samples would sharpen it.

Share of each month's hours with enough wave motion at the bed to move fine (0.2 mm) sand.

14

Where does the bottom water go?

Camp Ellis current meter · progressive vector diagram · current rose · wind check
🌊 oceanographers🐟 marine scientists
In plain wordsImagine a drop of dye released at the buoy and carried by the measured current every hour. The tides mostly slosh it back and forth, but a small steady drift adds up. That drift shows where fine sediment near the bottom tends to go.
👀 How to read the chartTop: the path the dye would follow (km). Middle: how often the current flows toward each direction. Bottom: each dot is a day, comparing the along-shore wind with the along-shore bottom current.
What we found
  • Net drift is slow and toward the south-southeast: about 0.8 cm/s, roughly 0.7 km a day, adding up to 246 km over 353 days.
  • Tidal currents run mostly east–west, at about 6 cm/s.
  • Near the bottom, on days when wind blows north along the shore, the current tends to flow south (correlation -0.57). That is typical of a bay: wind pushes surface water one way and deeper water returns the other way. It is also why this offshore bottom drift can run opposite to the sand moving along the beach.
⚠ Use with careIs this sound?

Hourly speed and direction (rotated from magnetic to true north, declination −14.6°) are converted to east/north components and summed: x(t) = Σ u·Δt, y(t) = Σ v·Δt. This assumes the current at the buoy represents a wider area, a standard caveat for these diagrams. Direction is the direction the current flows toward, as labelled in the NERACOOS data catalogue for this buoy (CF standard name direction_of_sea_water_velocity).

Top: path of a bottom water parcel. Middle: share of hours the current flowed toward each direction. Bottom: daily along-shore wind vs along-shore current (+ = toward north-northeast).

Where the river meets the sea

15

The Saco River is running low

USGS gauge, Saco River at Cornish · daily flow vs every year since 1916
🗺️ geographers🐟 marine scientists🦞 Mainers
In plain wordsHow much water is the Saco River carrying compared with normal for the date? A low river means less fresh water reaching the estuary, so the estuary gets saltier.
👀 How to read the chartThe line shows the river's flow as a percentage of normal for that date. The dashed line at 100% is normal; the shaded strip at the bottom is less than half of normal.
What we found
  • On a typical day of the past year the river sat at the 34th percentile for the date (below normal).
  • On 64 days it was in the lowest 10% ever recorded for that date.
  • Over the last two months it ran at about 56% of normal. The wettest month compared with normal was June 2026 (214%).
✓ SolidIs this sound?

USGS daily mean discharge, site 01066000, 1916 to one year ago as the baseline. For each date, the median and percentiles of all flows within ±3 days. Recent values are provisional.

Daily flow at Cornish as a percentage of the median for the same date. Hover for the percentile.

Data: USGS 01066000

16

Rain, river and tide: what moves the estuary?

Ram Island rain · USGS Saco River flow · Jordan Point salinity
🐟 marine scientists🗺️ geographers🦞 Mainers
In plain wordsRain fills the river, the river pushes fresh water down to Jordan Point, and the tide pushes salt water back up twice a day. These charts line up the causes and the effect.
👀 How to read the chartTop: rain each day. Middle: Saco River flow. Bottom: daily average salinity at Jordan Point. Look for the river rising as the salinity falls.
What we found
  • The wettest week (Oct 10 – Oct 16, ) raised the river's flow about 3.5×, and Jordan Point's daily salinity fell from 23.0 to 8.6 PSU (Oct 18).
  • Day to day, salinity goes down with river flow (correlation -0.79) and up with tidal range (0.61): bigger tides push more salt in. Both matter.
⚠ Use with careIs this sound?

Descriptive: daily totals and means over the last 45 days. River flow and tidal range overlap in time, so their separate effects are estimated in the salinity-model card.

Daily rain at Ram Island, Saco River flow at Cornish (USGS) and Jordan Point salinity.

17

Tide clock

Jordan Point · salinity · hour × day
🦞 Mainers🗺️ geographers🐟 marine scientists
In plain wordsA calendar of saltiness. Each row is a day and each square is an hour. Dark blue is salty ocean water; light is fresher river water.
👀 How to read the chartFollow a dark band down the page: it slides to the right, because high tide comes about 50 minutes later each day. Rows that are pale all day are when the river pushed the salt out.
What we found
  • Two dark bands per day: the two high tides.
  • Over the last month saltiness ranged from about 7 to 30 PSU, sometimes within a single tide.
✓ SolidIs this sound?

Hourly mean salinity, last 31 days, no smoothing. Purely descriptive.

Hourly salinity at Jordan Point (PSU: about grams of salt per kilogram of water).

18

Bigger tides, bigger salinity swings

Jordan Point · salinity range per tide vs tidal range
📐 mathematicians🌊 oceanographers
In plain wordsDuring one tide the water at the sensor slides back and forth. If the estuary gets saltier toward the sea, a bigger tide slides saltier water past the sensor, so the salinity swing grows. The steepness of this line shows how quickly salinity changes along the estuary.
👀 How to read the chartEach dot is a day. Further right means a bigger tide; higher means a bigger salinity swing. The dashed line is the trend.
What we found
  • Each extra metre of tidal range adds about 9 PSU of salinity swing (correlation 0.90).
  • A typical tide swings salinity by 9 PSU.
✓ SolidIs this sound?

Daily averages of the 13-hour maximum-minus-minimum of salinity and of water level. Neighbouring days overlap slightly, so the correlation is a little optimistic, but the relationship is strong and expected from physics: ΔS ≈ (∂S/∂x) × tidal excursion, and the excursion grows with tidal range.

One dot per day. Line: least-squares fit.

19

A salinity model for Jordan Point

Jordan Point salinity · USGS Saco River flow · tides · fitted differential equation
📐 mathematicians🌊 oceanographers🐟 marine scientists
In plain wordsA simple equation that says salinity is always drifting toward a "target" level. More river water lowers the target; bigger tides raise it. Fitting the equation to the data gives numbers for a differential-equation model.
👀 How to read the chartTop: the faint line is hourly salinity, the solid line is salinity with the tides averaged out, and the dotted line is the model. The two smaller charts are what drives the model: river flow and tidal range.
What we found
  • The model follows the main ups and downs: it explains about 80% of the variation over the last 36 days.
  • Best-fit numbers: salinity adjusts within about 1.6 days; each extra m³/s of river flow changes it by -0.32 PSU; each extra metre of tidal range by +2.4 PSU.
  • But the honest error bars are still about as large as the numbers themselves, so treat them as starting guesses. More months, especially a spring freshet, will pin them down.
Fitted numbers for a model
    ⚠ Use with careIs this sound?
    dS/dt = [S_eq + b_Q(Q − Q̄) + b_T(TR − T̄R) − S] / τ

    Fitted by non-linear least squares to tide-filtered salinity (Godin 24-24-25 filter, sampled every 6 hours, up to the last 120 days). Q = USGS Cornish daily flow; TR = 25-hour tidal range at Camp Ellis.

    The model's errors are strongly related from one step to the next (lag-1 correlation 0.98), so the error bars are widened by √((1 + r)/(1 − r)) ≈ 10.4. River flow and tidal range are correlated over this period (r = -0.37), so their effects are only partly separable.

    Top: hourly salinity, tide-averaged salinity and the model. Middle: Saco River flow (USGS, provisional). Bottom: daily tidal range.

    20

    Estuary mixing calculator

    Jordan Point · horizontal mixing and mixing regime
    📐 mathematicians🌊 oceanographers
    In plain wordsTwo numbers describe how an estuary mixes. Kx says how fast salt spreads along the estuary. RiE says whether fresh water floats on top of salt water (layered) or the two are stirred together. Change the boxes to try other channel sizes.
    👀 How to read the chartGreen tags are measured values (filled in from the latest data); orange tags are guesses until the channel is surveyed. Results update as you type.
    ⚠ Use with careIs this sound?
    • Tidal excursion L = 2U/ω (how far water travels on one flood), ω = M2 frequency
    • Salinity gradient along the estuary ∂S/∂x ≈ ΔS_tide / L
    • Steady salt balance: K_x = Q·S / (A·∂S/∂x), A = width × depth
    • Estuarine Richardson number Ri_E = (g·Δρ/ρ)·Q / (W·U³), Δρ/ρ ≈ 7.7×10⁻⁴ × ΔS. Below 0.08 well mixed; 0.08–0.8 partially mixed; above 0.8 layered.

    Default river flow is the Cornish gauge (last 30 days) × 1.3, a rough allowance for the watershed below Cornish. Vertical mixing can't be measured with one sensor depth.

    21

    Are the four water-quality buoys really different?

    Wood Island, Jordan Point, Ferry Beach, Goose Rocks Beach · statistical tests
    📐 mathematicians🐟 marine scientists🌊 oceanographers
    In plain wordsWe want to know whether places truly differ, or whether we are just seeing random wiggles. The catch: each day's reading is a lot like the day before, so the data hold less independent evidence than their count suggests. Ignoring that makes tiny differences look "highly significant." These tests account for it.
    👀 How to read the chartThe map shows each buoy coloured by its average saltiness (darker = saltier). Below, each dot is how different two buoys are on average, and its line is the range we are confident in. If the line crosses the dark zero line, we cannot say those two differ; orange dots are clearly different. Use the buttons to switch measurement.
    What we found
    • Salinity: 2 of 6 pairs of buoys clearly differ.
    • Temperature: 3 of 6 pairs of buoys clearly differ.
    • Oxygen: no pair of buoys reliably differs.
    • Why it matters: a naive test on hourly oxygen data gives p = 10⁻⁶, a "highly significant" difference that mostly disappears once the day-to-day memory is counted.
    ✓ SolidIs this sound?

    Daily means over the 32 most recent days when all four buoys reported (Sep 13 – Oct 18, 2026). For each pair, the daily difference is tested with a t-test whose sample size is cut to the effective number of independent days, n_eff = n(1 − r₁)/(1 + r₁), where r₁ is the day-to-day correlation of the difference. Because six pairs are tested for each measurement, p-values are adjusted for multiple comparisons (Holm method).

    For reference, the classic tests on salinity, which treat days as independent: one-way ANOVA F = 255, Kruskal–Wallis H = 108, Friedman χ² = 88; effect size η² = 0.86. Their p-values are too small for the reason above, so the table uses the adjusted tests.

    Map: average salinity over the last 30 days (coastline © OpenStreetMap contributors). Chart: average difference between each pair of buoys, with ranges adjusted for making six comparisons.

    Algae

    22

    Chlorophyll: how much algae, and where does it come from?

    Wood Island and Jordan Point · night-time chlorophyll · chlorophyll vs salinity
    🐟 marine scientists🦞 Mainers🗺️ geographers
    In plain wordsUsing only night-time readings, we can track algae day by day and rate it on the scale NOAA uses for estuaries. Plotting chlorophyll against saltiness at Jordan Point also shows whether the algae ride in with the ocean or come down the river.
    👀 How to read the chartTop: one dot per night; the coloured strips are NOAA's "low" (under 5 µg/L) and "medium" (5–20) levels. Bottom: each box shows Jordan Point's night-time chlorophyll for water of a given saltiness; boxes further right are saltier (more ocean water).
    What we found
    • Wood Island: low on 30 of 32 nights, medium on 2, high on 0. Jordan Point: low on 31 of 39, medium on 8, high on 0.
    • At Jordan Point the saltiest water carries the most algae (median 6.9 µg/L in the saltiest vs 1.3 in the freshest), so the algae are coming in with the tide from the bay.
    ⚠ Use with careIs this sound?

    Nightly medians (10 pm – 4 am), last 60 days. NOAA ASSETS / National Estuarine Eutrophication Assessment levels: low ≤ 5, medium 5–20, high 20–60, very high > 60 µg/L. NOAA's ratings use the 90th percentile over a whole season, so this is an early look. Chlorophyll–salinity correlation (night) r = 0.45.

    Top: night-time chlorophyll at each buoy. Bottom: night-time chlorophyll at Jordan Point, grouped by how salty the water was.

    23

    Chlorophyll: why it "dips" at noon

    Wood Island and Jordan Point · chlorophyll by hour of day
    🐟 marine scientists🌊 oceanographers🦞 Mainers
    In plain wordsChlorophyll tells us how much algae (phytoplankton) is in the water. The sensor shines blue light and measures the red glow the algae give back. In bright sun, algae protect themselves by glowing less, a bit like squinting, so the sensor reads low at midday even though the algae are still there.
    👀 How to read the chartEach line is the typical value for that hour of the day; the shaded band shows the usual range. Notice the dip around noon. The fair reading is the night-time level.
    What we found
    • At Wood Island the midday reading is about 45% of the night-time reading; at Jordan Point about 55%.
    • So daytime chlorophyll numbers undercount the algae. For trends and comparisons, use night-time values.
    • This is a well-known effect called non-photochemical quenching, not a sensor fault.
    ✓ SolidIs this sound?

    Median and middle half (interquartile range) of hourly chlorophyll by hour of day, Sep 12 – Oct 21. Night = 10 pm – 4 am; midday = 10 am – 2 pm. Values use the sonde's factory calibration, so comparisons within one sensor are more reliable than between sensors.

    Typical chlorophyll at each hour of the day (line = median, band = middle half of readings).

    Marsh, woods and wind

    24

    The marsh's tidal fingerprint

    Biddeford Pool Marsh · water level · harmonic analysis
    🌊 oceanographers📐 mathematicians🗺️ geographers
    In plain wordsTides are made of a few regular "beats" set by the Moon and Sun. If you know how strong each beat is, you can predict the tide. Here we measure those beats for the marsh, then check how well they explain the water level.
    👀 How to read the chartTop: the solid line is the measured water; the dotted line is the tide predicted from the beats. Where they match, the tide is in control. Bottom: how strong each beat is.
    What we found
    • The tide explains 89% of the marsh's water-level changes over the last 30 days. The rest is weather.
    • The water comes in faster than it goes out: about 4.8 hours rising and 7.6 hours falling, measured over 529 tides.
    • A marsh that floods quickly and drains slowly tends to trap sediment, which helps it build up as the sea rises.
    ✓ SolidIs this sound?

    Least-squares fit of seven tidal constituents (M2, S2, N2, K1, O1, M4, M6) to the last 30 days of hourly water level. Thirty days separates M2 from N2, but not K1 from P1 (that needs 6 months), so K1 includes some P1.

    h(t) = h₀ + Σ [aᵢ cos(ωᵢt) + bᵢ sin(ωᵢt)] · strength = √(aᵢ² + bᵢ²)

    Rise and fall times come from 5-minute data, between successive highs and lows. The gauge sits on the creek bed and can't see the very lowest water, which slightly distorts the shallow-water beats (M4, M6).

    Top: measured level vs tide-only prediction, last 8 days. Bottom: strength of each tidal beat.

    25

    How fast heat sinks into the forest soil

    363 Acre Woods · soil temperature at six depths · heat-equation fit
    📐 mathematicians🗺️ geographers
    In plain wordsEvery sunny day sends a pulse of warmth into the ground. The pulse gets weaker and later the deeper it goes, like a ripple fading in thick honey. How fast it fades tells us how easily heat moves through that soil.
    👀 How to read the chartEach row is a depth and time runs left to right. Red means warmer than that depth's daily average, blue cooler. Follow a red patch downward: it fades and shifts to the right, because the warmth arrives later and weaker deeper down.
    What we found
    • The daily swing shrinks from at 4 cm to almost nothing () at 45 cm.
    • The daily peak arrives about 4.5 hours later for every 10 cm deeper: about 5 pm at 4 cm, 12 am at 20 cm, 9 am at 45 cm.
    • Two independent methods (shrinking and delay) give damping depths of 8.9 and 8.6 cm. Thermal diffusivity is about 2.9 × 10⁻⁷ m²/s, typical of moist forest soil.
    ✓ SolidIs this sound?

    The heat equation ∂T/∂t = κ ∂²T/∂z², driven by a daily sine wave at the surface, predicts amplitude A(z) = A₀e^(−z/d) and delay Δt = z/(ωd), with damping depth d = √(2κ/ω). Daily cycles were fitted at each depth for June 1 – September 15, 2026, after removing the 24-hour running mean.

    κ = ω d² / 2

    Assumes uniform soil and steady moisture, with no rain carrying heat downward. The deepest sensors' swings are below the 0.1 °C reporting step, so 40 and 45 cm are shown but not used in the fit.

    One week in July 2026: each depth's temperature minus its own daily average.

    26

    Where does the wind come from?

    Ram Island weather station · wind rose
    🦞 Mainers🗺️ geographers🌊 oceanographers
    In plain wordsA wind rose is a compass that shows how often the wind blows from each direction, and how strongly. Wind direction drives waves, surge and which way sand moves along the beach.
    👀 How to read the chartEach petal points to where the wind comes from. Longer petals mean that direction is more common. Darker colours are stronger winds.
    What we found
    • The most common winds come from the south-southwest, west-northwest and north.
    • Winds from the northeast to east-southeast blow only 12% of the time, but they bring the big storm waves and surge into Saco Bay.
    ✓ SolidIs this sound?

    All hourly Ram Island readings since Dec 2025, in 16 direction sectors and 4 speed classes, as a share of all hours.

    Share of hours the wind came from each direction, by speed.

    27

    Does the radar agree with the weather station?

    Ram Island Radar vs Ram Island wind sensor
    🌊 oceanographers📐 mathematicians
    In plain wordsThe radar sees how rough the sea surface looks. The weather station on the same island measures wind. If the radar works as we think, rougher water should go with stronger wind.
    👀 How to read the chartGrey dots are single radar scans. The orange line is the typical roughness at each wind speed: flat at first, then climbing once the wind passes about 10 mph.
    What we found
    • Below about 10 mph the sea barely shows up on radar. Above that, roughness climbs steadily with wind (correlation 0.67).
    • It matches the waves even better (0.85 with the Camp Ellis buoy's wave-based wind): the radar sees the waves the wind makes, and waves linger after the wind drops.
    • Bonus: the radar sees about 38% more boats per scan on weekends.
    ✓ SolidIs this sound?

    972 scans matched to hourly wind. Correlations are descriptive; no p-values are given because hourly values aren't independent. The relationship is curved (a threshold), so the rank correlation (0.69) is also reported.

    Each grey dot is one radar scan matched to that hour's wind; the orange line is the median for each 1 m/s of wind.

    Words used on this page

    PSUPractical salinity units: about grams of salt per kilogram of water. The ocean here is about 32; river water is 0.
    MLLWMean lower low water: the average lowest tide of each day. Water levels are measured up from it.
    Correlation (r)How closely two things rise and fall together: 1 = in perfect step, 0 = unrelated, −1 = opposite.
    p-valueHow surprising a difference would be if there were no real difference. Small (under 0.05) suggests a real difference, but only if the test's assumptions hold.
    AutocorrelationWhen each reading is similar to the one before it. It makes data look like more evidence than they are.
    Return period"1-in-10-year" means a 10% chance in any given year, not once every 10 years like clockwork.
    Tidal constituentOne of the regular "beats" (M2 = main lunar, twice a day; K1 = daily) that add up to the tide.
    Littoral driftSand carried along the shore by waves that arrive at an angle.
    Shields numberThe push of moving water on a sand grain compared with the grain's weight. Above a critical value, sand moves.
    Storm surgeExtra water height caused by wind and low pressure, on top of the predicted tide.
    Significant wave heightThe average height of the biggest third of waves, close to what an observer would call "the wave height".
    StratificationLayering: lighter (warmer or fresher) water floating on heavier water below.
    ChlorophyllThe green pigment in algae. More chlorophyll means more microscopic algae (phytoplankton) in the water.