Take the 2-minute tour ×

For a program I have to calculate the height according to EGM96. I found http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html - this site delivers files with parameters and a fortran-program. But I feel unable to understand what is going on in this Fortran-program and have no idea how to use the parameters to generate the correct height. Can someone explain the algorithm to me?

share|improve this question
Which Fortran program? The one that interpolates values on a grid (intpt.f) or the one that sums spherical harmonics (f477.f)? –  whuber Oct 14 '11 at 16:56
I don't even get, which one calculate the heights for me. –  Mnementh Oct 18 '11 at 7:53
They both do, but they do it in (completely) different ways. –  whuber Oct 18 '11 at 13:48

2 Answers 2

GeographicLib includes classes to compute the geoid height via interpolation on a grid of values (the Geoid class) and via summing the spherical harmonic sum (the GravityModel class). The interpolation method is pretty straightforward; see the associated documentation, Geoid height. I agree that the NGA programs for computing the geoid height via spherical harmonics are poorly documented. I've tried to explain the method on the documentation page, Gravity models. More to the point, I'm happy to answer questions. (I've had no luck getting NGA to answer questions about its programs!)

share|improve this answer

Pardon if I'm cross-posting a link from Stack Overflow. I asked a similar question on Stack Overflow with regards how to do the calculations for an IOS application. I actually ended up answering my own question but I've posted a link here which gives you both C and Objective C code to complete this task.

Code is here:

Somebody ported a Fortran program to do these calculations into C and I then ported it over to Objective C

share|improve this answer

Your Answer


