Zane, you wrote:
"So it doesn't use a model spheroid to represent the earth's surface?"
Sorry, I should have been more clear. There is a simple ellipsoid/spheroid which represents the Earth's surface. It has a polar flattening of one part in 298.257, which has been the standard value used for decades and is identical (at this number of significant digits) to the polar flattening of the WGS84. But there is not a "datum" in the navigation or cartographic sense, and there is no geoid model so altitudes entered relative to "sea level" in Stellarium are not actually relative to sea level but relative to the precisely mathematical surface of the ellipsoid. That's sufficient in this case: Stelllarium uses this ellipsoid to calculate proper parallax-affected positions of objects which are relatively near the Earth including the Moon and especially satellites orbiting the Earth at low altitudes.
By the way, for anyone reading along, if you can read C++, even marginally, you can download a copy of the underlying code for Stellarium and see how it's all cobbled together. It's open source so grab the source!
The Stellarium source code is an "organic" beast, so I find that it's best to search the whole mass of files for keywords and key constants. For example, to find the earth ellipsoid definition, search the whole code for the value "0.0033528".
"If it doesn't maintain a model does it calculate the stars position from your position by formula? "
Maybe you could elaborate on what you're thinking here. That doesn't sound like any distinction to me. Certainly the app calculate the positions of the stars "by formula". There's really no other option.
"I've read the definition of parallax a couple of times but don't really understand it. Something to do with the angle between you and the centre of the earth right? So if you are higher then the angle will be larger and thats what it's correcting for? I'll go read again..."
Yes, that's essentially right. Parallax is simpler than it sounds. When you look at the Moon in the sky when it's nearly straight up, at the zenith, you're aligned on a line that passes (nearly) through the center of the Earth, your observing location, and the center of the Moon. That line points to a specific spot among the background stars, and that's where you see the Moon relative to those background stars. If you get on the phone and call a friend a few thousand miles away who sees the Moon at that same instant but very low in the sky, you'll see the same Moon in the same phase, but not in the same place among the background stars. It's shifted by about a degree. For example, you might see the Moon dead-center in the middle of the Pleiades while your friend sees it shifted just below the Pleiades. That's the parallax in altitude, and it arises because your friend is offset to one side from that center-to-center line through the Earth and Moon. The radius of the Earth is about 4000 miles. The distance to the Moon is about 240,000 miles. So the offset as an angle is about 4000/240000 or 1/60 (as a pure ratio, or "in radians"). Multiply by 3438 to convert that to minutes of arc. You get 57.3'. That's how much the Moon's position changes when you shift by 4000 miles. Now suppose you add twenty miles on top of that --your friend lives in a balloon floating in the stratosphere. Do the math again and you find that the Moon's position shifts instead by 57.6'. That small increase would never matter in celestial navigation, but that's how Stellarium is using your entered altitude above sea level.
"If you could calculate a result purely through formulas would it not be even more accurate?"
Sure. There are lots of ways to get higher accuracy. The methods used in Stellarium are excellent in many cases of interest to astronomers but only "average" in other cases. You can certainly use Stellarium to puzzle out interesting issues in celestial navigation, but you have to be wary of those issues where the app is just average.
You mentioned something about the accuracy of the sight reduction tables versus the "full nautical almanac". That's a bit of an apples and oranges comparison. Sight reduction (of corrected altitudes) is pure math and can be as accurate as your computing tools allow. By contrast the data in the Nautical Almanac is astronomical data that has to come from some scientific source. Modern almanacs and most decent software and apps use positions derived from the JPL (Jet Propulsion Laboratory) numerical integrations of the Solar System as well as standard modern star catalogs, and these can be considered "perfect" from the perspective of celestial navigation.
If you want really accurate altitudes to test against your sextant sights, go grab a copy of my "GPS Anti Spoof" app on the Android Store (and for iPhone users, maybe soon on the iOS App Store). It's as accurate as possible and includes features not found in any other widely-available tool.
Clockwork Mapping / ReedNavigation.com
Conanicut Island USA