I'm really happy with my GRADE field. I write out the GRADE and ELEVATION to the FIT file. My elevation line graph is much better than the default one, which doesn't seem to auto-scale so you can't see the undulations when the topology isn't very bumpy.
One strange finding. I write out the ELEVATION every second, along with my GRADE calculation. Elevation data comes straight from "Activity.getActivityInfo().altitude", so it should be time sync'ed with what my device is seeing. The strange thing is my GRADE uses a rolling 6 reading queue and then smooths the resulting GRADE by averaging the derived grade over the last 3 readings. So the GRADE value should be delayed -vs- the current (change in) elevation. The PURPLE grade line should be to the right of the GRAY elevation line. But for some reason, GRADE is plotted earlier than ELEVATION. No big deal at all. I just can't explain it.
That bump is a highway overpass - the biggest hill on my 25 mile out/back ride in Florida LOL. I hit that one outbound and back inbound.