Solar eclipses: magnitude and obscuration

Solar eclipses, when the moon passes in font of the sun, are quantified by a number called the magnitude.

The magnitude of a solar eclipse is defined to be the maximum fraction of the solar diameter covered by the moon.

The app below shows an eclipse with a magnitude of 0.5.  That means the moon covers half the diameter of the Sun. So how much of the Sun’s area is obscured?  Clearly it’s less than half…and it in this case turns out to be about 39%.

Move the slider to change the position of the moon’s centre and you’ll see the magnitude and the obscuration change.

The Earth has an elliptical orbit around the Sun and the moon has an elliptical orbit around the Earth. Those facts mean that the apparent sizes of the Sun and Moon look different from eclipse to eclipse. It also means that sometimes the Moon can look bigger than the Sun (so a total eclipse may be possible) or it can appear smaller (so it cannot completely hide the Sun and an annular eclipse may be possible). Realistic values for the Sun radius in this app are between 0.98 and 1.02.  Typical values for lunar radius are 0.92 to 1.08.

Details of how the obscuration is calculated are given below.

The obscuration calculation uses simple area formulae for circular sectors and triangles.

Consider the circular sector OAB of radius \( r \) shown here which makes an angle \( \theta \) at its centre.
The area of the shaded segment is \[ \begin{align} \textrm{Segment Area} & =  \textrm{Sector Area} \, – \textrm{Triangle Area} \\   & =  \tfrac{1}{2}r^2 \theta – \tfrac{1}{2}r^2 \sin \theta \\   & = \tfrac{1}{2}r^2 (\theta – \sin \theta) \end{align} \]

The angle \(\theta \) must be in radians.

Let’s take a look at the geometry of the eclipse, which is just two overlapping circles of radii \( r \) and \( R \).


The region of overlap (shaded) is comprised of two segments – one from each circle.

The two quantities we want to calculate are: \[ \begin{eqnarray} \textrm{Magnitude} & =& \frac{BC}{2\times OC}\\ \textrm{Obscuration} &=& \frac{\textrm{Segment } DCE + \textrm{Segment } DBE}{\textrm{Sun area}} \\ &=& \frac{\textrm{Segment } DCE + \textrm{Segment } DBE}{\pi R^2} \end{eqnarray} \]

In the app above the Sun is centred at the origin and the variable is lunar centre at \( A \).

We want to express the magnitude and obscuration in terms of \( R \), \( r \) and the lunar centre distance \( OA \).

The magnitude is easiest. \[\textrm{Magnitude} = \frac{R+r-OA}{2R}\] This formula is only valid when the eclipse is in progress! If the moon is beyond the edge of the Sun then magnitude is defined to be zero.

Next, we need to find those angles \(\alpha \)and \(\beta \) – the segment areas depend on them. We can calculate them from the value of \(a \), which is the \(x \) value of the secant line \(DE\).


We have two right angled triangles with a common side \(DX \). Just use Pythagoras’ theorem: \[ DX^2 = R^2 – a^2 \] and \[ DX^2 = R^2 – (OA-a)^2 \] Equating the two expressions for \(DX^2 \) gives us \[ R^2 – a^2 = R^2 – (OA-a)^2 \] Just expand the brackets and rearrange for \( a \): \[a = \frac{R^2-r^2+OA^2}{2OA}\] The angles are obtained from \[ \begin{eqnarray} cos(\tfrac{1}{2}\alpha) &=&\frac{a}{R}\\ \cos(\tfrac{1}{2}\beta) &=& \frac{OA-a}{r} \end{eqnarray} \] Knowing the angles allows calculation of the segment areas and total obscuration.