| main page | week1 | week2 | week3 | week4 | week5 | week6 | week7 | week8 | week9 | overall |

2016 Low-Key Hillclimbs
Climb Ratings

It's a particularly Low-Key Low-Key for 2016 with the highest-rated is Hamilton. Next on the list is Highway 9, which is sort of long but never steep, and Butano Fire Road, which has occasional bouts of steepness but were it not for the dirt aspect (not included in the rating) wouldn't particularly impress.

There's two multi-climb weeks this year, with Los Altos Hills receiving a racing based on Moody Road, and the Pescadero Loop rated based on Haskins Hill. The rating does not accumulate when given multiple climbs in succession, but instead is based on the hardest of the series.

11Montebello Road153
22Highway 9147
33Butano Fire Road134
47Tunitas Creek137
54Old Santa Cruz - Mt. Charlie - Summit129
66Mines Road100
78Los Altos Hills (Moody)89
85Pescadero Climbs CCW (Haskins)70

The nitty-gritty

Okay, here's the dirty details.

First the profile was extracted, typically from Garmin data if available on-line from Strava. Cosmo's Strava-to-TCX converter can be used to extract data.

Then the data were smoothed with a Gaussian of sigma 50 meters and interpolated onto a grid of 10 meter spacing. The smoothing is to correct for the "noise" present in the measurements: the Garmin-reported altitude tends to vary somewhat for a given position.

Next data were transformed to a function of time, as opposed to a function of distance. For GPS ride data, time are already available. However, the rating of a route shouldn't depend on how a given rider on a given day rode the hill, so these time data were ignored. Instead an empirical differential equation was used to product a "typical" riding rate:

dt / ds = [ 1 + ln | 1 + exp( 50 g ) | ] / vmax,

where t is time, s is distance, g is the rate of altitude change with respect to distance, and vmax = 14 m/s. Don't sweat this formula too much; it has very little effect on the final rating.

Then g was further smoothed with respect to time with a Gaussian smoothing function with standard deviation 15 seconds, representing the ability of neuromuscular power and inertia to effectively smooth out very short, steep grades. The idea is if it takes more than 15 seconds to climb a steep segment, your legs really start to feel the true grade.

Now the data were ready for calculating the rating. For each 10 meter segment of road, add to a parameter f as follows:

df = exp(g / g0) ds,

where ds is the length of the segment (10 meters in this case) and g0 = 8%, sort of the grade at which climb segments start to become especially hard.

To get the raw rating, I do the following:

rraw = f z / s,
where rraw is the raw rating, z is the net climbing of the hill, and s is the net distance.

The result is a raw rating with units of distance. To get the number reported here, the rating for Old La Honda was calculated, and the result divided by that and multiplied by 100. So no matter what the details (smoothing, vmax, g0), Old La Honda scores 100:

r = 100 rraw / rraw,OLH,

where rraw,OLH is the raw score for Old La Honda.

That's it!

Dan Connelly