I don't know the accuracy of this data, but it should give a rough picture of the climbing involved.
The horizontal grid lines are at 10% grade intervals, and the vertical grid lines are at 1 mile intervals.
I linearly interpolated my original altitudes to find a piecewise linear grade before computing the 1/10 mile averages.
Then I linearly interpolated the altitudes:
Each horizontal line is 100 feet.
And took the derivative (slope):
Each horizontal line is 10% grade.
Then I smoothed it using this filter, a gaussian, to get rid of
some of the noise in the data. (This is the impulse response,
from an instantaneous 50-foot climb.)
Each horizontal line is 10% grade.
And this is the result:
Each horizontal line is 10% grade.
Finally, I subsampled this function at 40 pixels per mile:
Each horizontal line is 10% grade.