Moi aussi, j'ai toujours noté une (petite) sous-estimation systématique de l'altitude en haut des cols, alors que l'altitude en bas dans la vallée est correcte, soit spontanément soit par calibration. Par exemple, si je pars de Valloire avec l'altitude exacte (1400m environ, je ne sais plus précisément), j'arrive en haut du Galibier (2640m) avec 30-40m en moins indiqué sur mon compteur. Je pense avoir une explication toute simple:
L'altitude est donnée par mon compteur barométrique qui transforme des variations de pression mesurée en variations d'altitude. Je pense que l'algorithme suppose une loi linéaire entre pression et altitude ce qui suppose une densité de l'air constante. Or, cette loi n'est pas tout à fait valable car la densité diminue quand on s'élève. Du coup, la pression décroît plutôt exponentiellement avec l'altitude (mathématiquement et physiquement, parce que pression et densité sont proportionnelles à température constante, loi des gaz parfaits). Par conséquent, une variation de 1 pascal détectée par le baromètre en haut du Galibier doit être transformée en une variation d'altitude un petit peu plus grande que celle correpondant à la même variation de 1 pascal détectée à Valloire. Si le compteur n'en tient pas compte, l'altitude sera sous-estimée. Quantitativement, j'ai vérifié qu'effectivement cet effet permet d'expliquer mes décalages observés.
Je suis sûr qu'il doit y avoir des altimètres barométriques plus évolués qui vont au delà de la simple loi linéaire et qui tiennent compte de la variation de la densité avec l'altitude et avec la température.
Pour les adeptes de la plongée sous-marine, cet effet n'existe pas car l'eau est très peu compressible, donc la densité de l'eau est la même quelle que soit le profondeur. Du coup, la pression augmente toujours de 1 bar tous les 10m d'eau, que l'on soit à la surface ou à 1000m de profondeur.