Does the tide change what people see on a beach?
The same beach at low water and at high water is really two different beaches. Until now the BeachBook sand model never knew which one a visitor had seen. So we went back and put a tide stamp on 221 visits to BC tidal beaches: the predicted water level at the moment of the visit. Then we asked the model whether knowing it helps.
What we did
1. When was each visit? We used the best evidence each visit had, in this order: the time stored inside the photo by the camera (137), the time in the photo's filename (8), or the time on the original 2017 BeachBook entry (76). Ten visits had no trustworthy time, so we left them out. Nine photos had been attached to more than one beach, so we didn't use them for timing at all: one of them sat on ten different beaches. Most of the visits date from spring 2017.
2. What was the water doing? We took the nearest Canadian Hydrographic Service tide station that publishes predictions (median 2 km away, none farther than 14 km) and used its predicted level, in metres above chart datum. CHS's public IWLS API only has predictions from about 2018 on. For 136 visits earlier than that, we fitted a full set of tidal constituents to a year of CHS predictions at that station and ran them backwards. To check that hindcast, we compared it against CHS's own predictions for a different year. Error was 7 cm (median across 31 stations), worst station 8 cm, on tides that swing 3–5 m.
3. Low, mid or high? Each visit gets a frac value: where the water sat between the low and the high of the surrounding tide cycle (±6.5 h), from 0 at the low to 1 at the high. Low means the bottom third and high means the top third. Of the 221 visits, 101 were at low water, 41 at mid and 79 at high. Beachcombers go when the tide is out.
The test
We used 203 BC tidal beaches that have both satellite features and a tide stamp. We compared the satellite model alone against the same model plus three tide features: tide_frac, tide_m and the cycle range. Both versions were scored on the same 5-fold cross-validation, reshuffled 20 times and compared shuffle by shuffle. Ridge is the model BeachBook ships. Gradient boosting is the one we use to explore.
| Metric | n | Ridge sat | +tide | Δ | wins | Boost Δ |
|---|---|---|---|---|---|---|
| Width | 203 | 0.010 | 0.111 | +0.101 | 20/20 | +0.058 |
| Sand | 180 | 0.150 | 0.131 | −0.019 | 2/20 | −0.021 |
| Pebbles | 187 | −0.008 | 0.022 | +0.030 | 17/20 | +0.124 |
| Rocks | 171 | −0.014 | 0.004 | +0.019 | 14/20 | +0.053 |
| Mud | 146 | −0.022 | −0.011 | +0.011 | 13/20 | −0.051 |
| Seaweed beach | 145 | −0.042 | −0.049 | −0.007 | 7/20 | +0.028 |
R² is held-out. Δ is the average of 20 paired reshuffles. "Wins" is how many of those reshuffles came out better with tide included.
Is the width result just chance? We shuffled the tide stamps between beaches 30 times and re-ran the test. The shuffled stamps added at most +0.035, against +0.101 for the real ones. Most of the effect comes from tide_frac alone (+0.071). Rocks and pebbles move from below zero to just above it, which is still not a usable prediction.
What it means
The satellite sand estimate doesn't need a tide correction. People rate how sandy a beach is the same way whatever the water is doing. Beach width is different: it is really a reading of the tide on the day of the visit. Any width figure in BeachBook should come with the water level it was measured at, and a width from a high-water visit undersells the beach. Each of these visits now carries its tideStamp (level, band, rising or falling, station, time source) in the BeachBook database.
Limits
- BC only. The 13 Oregon tidal beaches need NOAA CO-OPS and aren't done yet.
- Predicted water level only. Real water also moves with wind and air pressure.
- Where a 2017 photo had lost its camera timestamp, we used the time the entry was written, which may be later than the visit.
- Most beaches have a single visit, so the label reflects one person on one day.
Code: beachcomp/tide_stamp.py (stamping), train.py --tide (test). Tide data: Fisheries and Oceans Canada, CHS IWLS. Hindcast: UTide.