Trade-offs: trip::speedfilter vs consecutive speed vs distance-from-deploy
A Shark Bay tiger shark (PTT 226172) kept an Argos “ghost” near New Zealand in cleaned L2. Land filtering missed it (ocean). The usual trip speed filter also kept it (endpoint protection). This page compares the three responses and the trade-offs for lab QC.
The failure in one picture
McConnell / trip design protects ends. Here the error is the end (start), so protection fails.
How the two speed methods work
trip::speedfilter (McConnell 1992)
What Sumner’s trip package implements.
- Looks at consecutive hops and skip-one hops.
- Builds a running RMS speed over a small window.
- In bad segments, removes the highest-RMS point, recalculates, repeats.
- First two and last points get RMS = 0 so they are never removed by that rule.
Why ends are protected: a running window needs neighbours; ends are awkward, and wiping start/end can shred track duration. Sumner also notes this filter is destructive and mainly a common benchmark, not a full uncertainty model.
Consecutive speed filter
Direct enforcement of “max speed between kept points.”
- If hop A→B exceeds max_speed_ms, drop one of A or B.
- Repeat until every remaining hop is legal.
- First and last points can be removed.
- Tie-break when choosing which point to drop: worse Argos LC → farther from deploy → later point.
This matches a hard speed rule, including when the ghost is the first fix after land filtering (as in 226172).
Third tool: distance from deployment
Not a speed filter. A domain rule: drop points farther than X km from the known tagging site (e.g. 1500 km for coastal GAT sharks). Land filters cannot see open-ocean ghosts; a deploy radius can.
For 226172 the Tasman point is ~4500 km from Shark Bay. Distance catches it even if speed filtering protects the endpoint. Risk: a tight radius can remove real long-distance movement.
Trade-off table
| Approach | Catches NZ ghost? | Strengths | Costs / risks |
|---|---|---|---|
| trip::speedfilter only | No (ghost was point 1) | Standard McConnell method; gentle on track ends; familiar in biologging | Endpoint ghosts survive; can remove good interior points near a start-end error |
| Consecutive speed only | Yes | Enforces the speed rule everywhere; transparent; fixed 226172 without a hard radius | Abandons McConnell endpoint logic; tie-breakers (LC / deploy / later) can drop the wrong point of a pair |
| Distance-from-deploy | Yes (if radius < ~4500 km) | Clear domain story for coastal tags; leaves trip’s interior logic alone; easy to explain | Different rule than speed; can trim real long trips; misses near-range but still “too fast” errors |
| Hybrid trip + deploy radius (+ optional end-hop check) |
Yes | Keeps Sumner/McConnell for interiors; uses distance for open-ocean ghosts land cannot see | Two knobs to set (max speed + radius); still need care if animals truly leave the region |
How to read the decision
If the claim is “we enforce max speed”
Consecutive filtering (or at least an endpoint consecutive check) is the consistent fix. trip alone is not, when the error sits at the start or end.
If the claim is “coastal tags should not appear ocean basins away”
Distance-from-deploy is a correct domain filter for this ghost. It is not a workaround for speed; it is a different, valid QC rule.
If we want both McConnell heritage and this ghost caught
Hybrid: keep trip::speedfilter for interior cleanup, add deploy-distance for open-ocean Argos ghosts, optionally check only first/last hops for illegal speeds.
What we observed on 226172
| Fact | Value |
|---|---|
| Ghost time | 2022-05-26T08:26:16Z |
| Ghost location | ≈ −35.1°, 160.0° (Tasman) |
| Distance from deploy | ~4537 km |
| Next point (~95 min later) | Shark Bay; hop ≈ 800 m/s |
| Shark speed limit used | 4.5 m/s (16.2 km/h) |
| trip on land-filtered track | Kept ghost (point 1); removed some interior points |
| Consecutive speed alone | Removed ghost; L2 max lon ≈ 113.8° |
| Distance ≤ 1500 km | Also removes ghost (domain cut) |
Bottom line
Sumner / McConnell are not “wrong.” Endpoint protection is intentional for a running RMS filter. It just does not catch a first-point ocean ghost.
Distance-from-deploy is the clean coastal-domain answer for this NZ point. Consecutive speed is the clean answer if L2 must mean “no illegal hops, including ends.” Hybrid keeps trip for interiors and uses distance (and maybe end-hop checks) for the gap land + trip leave open.