I'm developing a C++ computer library with the formulas in the book "Practical Astronomy with your Calculator or Spreadsheet 4th Edition" but I have a problem with the formula 49, "Sunrise and sunset". I have a problem with something called "vertical shift". In the book says:

We shall take the Sun’s angular diameter to be 0.533 degrees, its horizontal parallax to be 8.79 arcseconds, and the refraction due to the atmosphere as 34 arcminutes and, having added on half of the Sun’s angular diameter and a small correction for parallax, we arrive at a total vertical shift at the horizon of the upper limb of 0.833333 degrees.

To compute the vertical shift I do the following (this is C++ code but it is easy to understand):

// SunAngularDiameter value is in degrees.
// SunHorizontalParallax value is in arcseconds.
double angularDim = SunAngularDiameter * 60.0;  // arcminutes.
double parallax = SunHorizontalParallax / 60.0; // arcminutes.

// atmosphereRefraction value is in arcminutes.
double verticalShift = ((angularDim / 2) + parallax + atmosphereRefraction) / 60.0; // degrees

Using the values given in the book I get that the value of vertical shift (verticalShift variable) is 0.83560833333333329 but the book said that is must be 0.833333.

I've been wondering how to obtain the value 0.833333 and, if I don't add the parallax I get it. In other words, to get the vavlue 0.833333 I have to this:

double verticalShift = ((angularDim / 2) + atmosphereRefraction) / 60.0; // degrees

Is this an errata in the book of the correct way to compute the vertical shift is without the parallax?


1 Answer 1


According to the Astronomical Almanac, the zenith distance for the Moon when rising or setting is $90° 34'+s-\pi$ where 34' is due to refraction, s is the semidiameter, and $\pi$ is the horizontal parallax. (Reference: The Astronomical Almanac for the Year 2019, page A12, but every year has the same formula.)

Subtracting 90° from the zenith distance to give your "vertical distance", the vertical distance = $34'+s-\pi$. The same formula would also apply to the Sun where s = 16'. In other words, the horizontal parallax should be subtracted, not added. (Note that the vertical distance would be a negative value when used to calculate the time of sunrise and sunset. That is, the theoretical Sun is below the horizon when it rises. The altitude of the center of the Sun's disk is -0.8333°. Refraction makes the Sun appear to be higher in the sky than it really is.)

Based on your numbers, it appears the author is ignoring the horizontal parallax for the Sun because it is so small. Since the amount of refraction (34') is an approximation, using the Sun's horizontal parallax does not change the time of sunrise/sunset.

  • 1
    $\begingroup$ So "small correction" means subtract. Thanks. $\endgroup$
    – VansFannel
    Commented Dec 23, 2021 at 19:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .