Skip to main content

New Feature: The Mountain That Never Happened

My watch went for a swim in a fountain and invented roughly 100 metres of climbing. obseed now corrects errors like this automatically, including in your old sessions.

Patrick Lehmann
Patrick Lehmann
· 4 min read
New Feature: The Mountain That Never Happened

I stopped at a fountain during a session. My watch went under water. Nothing dramatic. Then I opened the elevation chart later and found an abyss that definitely had not been part of the route.

For about 30 seconds, the measured altitude fell from roughly 622 to 521 metres and then jumped straight back. In the middle of a fairly flat section, my watch had gifted me a 100-metre descent followed immediately by the same climb.

That was not a hill.

My Watch Went Down. So Did the Elevation.

obseed comparison chart before automatic elevation correction: the green altitude line is noisy and contains a false plunge during the fountain stop.

Before: the barometric altitude visibly loses the plot. The fountain turns a short break into a mountain run.

The altimeter in many sports watches is barometric. It derives altitude from air pressure. Outdoors that works surprisingly well, as long as the pressure actually comes from air. Under water, the sensor suddenly measures water pressure. The watch cannot know that I am holding it in a fountain. It only sees more pressure and calculates: lower.

Much lower.

The Damage Went Beyond the Chart

The broken line was only the visible symptom. Before correction, the session reported 213.1 metres of ascent and 215.2 metres of descent. Roughly 100 metres in each direction came from that half-minute at the fountain alone.

The error then spread. It changed the altitude minimum, maximum and average. It affected slope, accumulated climbing and even the performance distance obseed uses to make demanding routes comparable. A wet watch could make an ordinary session look substantially harder on paper.

I did not want to paint over the line in the chart. The numbers underneath would still have been wrong. A useful correction has to repair the underlying data and then recalculate everything that depends on it.

Correction Is Not the Same as Flattening

The obvious approach would be to delete every sharp jump. Except a steep climb is not automatically bad data. Run up a flight of stairs, ride a short wall or move through technical trail terrain and you produce real, rapid changes in altitude. Those need to survive.

The useful question is not whether a line looks untidy. It is whether the change in altitude fits the distance travelled, the time between points and the rest of the route. We have to identify a fountain without removing an actual mountain.

The recording rate must not change the answer either. One watch may store a point every 3 seconds while another stores one every 12. An earlier version of our new calculation smoothed over a fixed number of points. It looked sensible at first, but that window represented either 15 or 60 seconds depending on the device. Same route, different elevation gain. Clearly wrong.

The finished system therefore smooths over distance travelled. A climb or descent is only committed once the route confirms it, and the change is distributed across the section that produced it. The same route stays the same route, however often the watch writes a trackpoint.

Two Independent Safety Nets

Automatic elevation correction is back as a product feature, but technically we did far more than switch an old job on again. The coordinate-based path we prepared in 2024 was never fully wired into the import flow. Earlier processing also depended on a source file already carrying useful corrected altitude.

This time we finished the whole path.

The first safety net uses the session’s GPS coordinates. For each part of the route, obseed resolves an independent ground elevation and builds a continuous corrected profile from it. Coordinates we have already resolved are reused, and useful corrected data supplied by a source is not blindly overwritten.

The second safety net checks vertical speed. A change of roughly 100 metres within a few seconds is not physically plausible in a sports session. This guard works independently of the ground-elevation lookup, so it still catches impossible jumps when coordinate correction is unavailable.

Two checks. Different jobs.

obseed comparison chart after automatic elevation correction: the green altitude line follows a continuous route profile without the false plunge at the fountain stop.

After: the same session and the same GPS data, now with a continuous altitude profile. The reported ascent drops from 213.1 to a plausible 110.7 metres.

After correction, 110.7 metres of ascent and 119.6 metres of descent remain. The difference from the measured line is almost exactly the invented abyss and its matching climb. The real shape of the route is still there. That is the point.

Old Sessions Come Along Too

As with our larger data improvements, the correction does not only apply to sessions imported from today onward. We have also reprocessed the existing GPS sessions in the background. No second upload. No re-import. No setting to discover first.

Open an older session with GPS and its elevation statistics have already been recalculated. Without position data, we naturally cannot assign ground elevation to the route. The independent plausibility guard still protects those recordings from impossible vertical jumps.

That distinction matters. Data quality should not depend on the date when we found a better method. When we can improve the foundation, the old analysis should benefit as well.

No More Mountains in the Fountain

I like features that disappear into the background after the first moment of surprise. Elevation correction is one of those. There is nothing to configure and no second curve to interpret. The session is simply more trustworthy.

My watch may go swimming at the next fountain stop. Cooling down is allowed. Inventing a mountain is not.

#elevation-correction #elevation-gain #gps #product-update #features

Read Next

New Feature: Not How Hot It Was, But When

New Feature: Not How Hot It Was, But When

obseed now breaks your session into five-minute slices and shows the temperature curve instead of a single average, with a heat load reading per slice and honest gaps wherever the data does not reach.

Patrick Lehmann
Patrick Lehmann
· 4 min read
New Feature: Log the Fuel Behind Every Session

New Feature: Log the Fuel Behind Every Session

obseed now lets you attach real sport-nutrition products to each training session — capturing the exact carbs, sodium, caffeine, and calories you took in, right next to what you burned.

Patrick Lehmann
Patrick Lehmann
· 3 min read