Last time, we introduced an equinox as “the point [in the sky] where the celestial equator intersects with the ecliptic.” This is perhaps an unfamiliar definition, as an equinox is more commonly defined as the time when the centre of the sun is directly above the equator. So, what does our point definition really mean?

To understand this, we must start by understanding how the various coordinate systems for points in the sky work in astronomy. Eventually, this will help us calculate the exact time of the equinox, from which we will finally be able to calculate the French Republican Calendar.

In this post, we shall cover the following concepts:

  1. The equatorial coordinate system.
  2. The precession of the equinoxes.
  3. The ecliptic coordinate system.
  4. Aside: zodiac and solar terms.
  5. Calculating the equinoxes.

Equatorial Coordinate System

We’ll start by introducing the most commonly used coordinate system in astronomy. If you have read anything about a particular star in the sky, you might have seen this kind of coordinate. For example, the J20001 of the star Sirius is 06h 45m 08.91728s, -16° 42′ 58.0171″. The first part of the coordinate is called the right ascension and the second is called the declination. But what do they mean?

We’ll start by defining several locations on the celestial sphere: essentially the projection of the night sky onto the inside of a sphere that surrounds the Earth. While this may sound rather old-fashioned and reminiscent of the long-disproven geocentric model of the universe, it nevertheless remains a useful way to document the apparent position of celestial objects as viewed from the Earth.

  1. The celestial equator is essentially the line on the celestial sphere that is directly above the Earth’s equator.
  2. The celestial north and south poles are the points on the celestial sphere that are directly above the Earth’s north and south poles.
  3. The ecliptic is the plane of the Earth’s orbit around the sun. As viewed from the Earth, this is the path traversed by the sun as it appears to move around the sky, returning to its original position after a year. This is tiled by about 23.44° from the celestial equator at the time of writing, and the value is the same as the Earth’s axial tilt. This is no coincidence — if the Earth is tilted by 23.44°, then the equator is offset by 23.44° from its orbit, and so are their projections into the sky.

With these positions defined, we can now explain what declination is. In essence, this is the equivalent of latitude. A declination of 0 means that a point is on the celestial equator. A positive value of declination refers to a location north of the celestial equator, and a negative value of declination refers to one to the south. As such, a declination of +90° refers to the north celestial pole and a declination of -90° refers to the south celestial pole. More generally, if an object is at declination δ\delta, then at latitude δ\delta2, it will be directly overhead at some point during the day.

From this, we can now tell that Sirius appears around 17° to the south of the celestial equator. Polaris, the north star, has a J2000 declination of +89° 15′ 50.8″, which is very close to the north celestial pole at +90°. And since the sun moves around the ecliptic from our perspective, its declination varies from +23.44° to -23.44°.

This leads us perfectly to the concept of right ascension. As declination is akin to latitude, right ascension is akin to longitude. Just like how longitude must be defined relative to some arbitrary line (the prime meridian), the right ascension is also defined relative to a line. In this case, the chosen line is natural and obvious: since the sun’s declination moves between -23.44° and +23.44° and back, it must go through two zero points, which are the intersections of the ecliptic and the celestial equator. We pick the line perpendicular to the celestial equator that crosses the point where the declination of the sun transitions from negative to positive as the line of zero right ascension.

Which point is this? Well, if the sun is at this point, it must be directly above the equator, since its declination is zero. So by the common definition, this is actually an equinox! Which one is it? Well, if the sun’s declination is at its maximum, and positive values mean north, then this must be when the sun is above the Tropic of Cancer, which is the June solstice (summer in the northern hemisphere, winter in the southern hemisphere). Similarly, if the sun’s declination is at its minimum, it must be over the Tropic of Capricorn, signalling the December solstice (winter in the northern hemisphere, summer in the southern hemisphere). If the declination goes from negative to positive, it must the halfway between December and June, which is March. Therefore, the line of zero right ascension crosses the March equinox. As this is spring in the northern hemisphere, this equinox is often called the vernal equinox3 in literature.

Now, the definition of the equinoxes as points in the sky makes perfect sense — it’s the location the sun would be at during the equinox.

Back to right ascension: now that we have a zero point, we can define other values. Like longitude, it could be measured in degrees, but it is customary to measure it instead in hours, minutes, and seconds. The value for right ascension increases in a circle around the celestial sphere perpendicular to the lines of declination — just like longitude — in the sun’s apparent direction of motion. After 24 hours, it returns to the March equinox. This means that the June solstice is at right ascension 6h, the September equinox at 12h, and the December solstice at 18h.

Now, why do we measure right ascension in hours? Because it allows us to calculate the position of the star. Once we know when a point with RA α1\alpha_1 rises, a point with RA of α2\alpha_2 will rise α2α1\alpha_2-\alpha_1 later using sidereal time. For example, Sirius will rise, pass over the meridian, and set 6 hours, 45 minutes, and 9 seconds after the March equinox rises, passes over the meridian, and sets, respectively. Recall that a sidereal day is approximately 23 hours, 56 minutes, 4 seconds of solar time, so this is actually around 6 hours, 44 minutes, and 3 seconds.

Precession of the Equinoxes

An important thing to keep in mind is that the Earth’s axis of rotation itself rotates. This was hinted at in the last part as the difference between stellar and sidereal days, but we did not go into depth then. This rotation happens around an axis perpendicular to the ecliptic. Here, the Earth’s axial tilt does not change4, but the plane of the equator rotates against the ecliptic. When projected onto the celestial sphere, the point where the celestial equator and the ecliptic intersect moves against the background of the stars.

What does this mean for our definition of equinoxes and equatorial coordinates? Well, the equinox always stays at the intersection point, as that is where the sun would be directly above the equator. Therefore, the March equinox will always have a right ascension of zero, even as the background of stars move against it. As the equinoxes shift, this is commonly called the precession of the equinoxes. This is why it is important to specify the observation epoch — as otherwise, the coordinates would drift. It takes the Earth around 26,000 years to precess a full cycle, returning the coordinates to their starting point.

Also note that since the celestial equator moves against the stars, declination also changes. Most dramatically, this changes the position of the polar stars. For example, in 3000 BCE, the star Thuban had a declination of +89.9°, making it almost perfectly the north star. Around 11500 BCE and in 13700 CE, the bright star Vega would be within 5° of the north celestial pole, making it a good approximation of a north star.

Ecliptic Coordinate System

While our definitions of right ascension and declination allow us to identify the equinoxes, it is not exactly a convenient definition to use for calculating their date. However, it was not exactly a waste of time to introduce them, as they conveniently lead to a different coordinate system that will be extremely useful for this task — geocentric ecliptic coordinates.

In many ways, ecliptic coordinates are similar to equatorial coordinates, with two key differences — instead of the celestial equator being used as the fundamental plane, the ecliptic is used. From this, we derive the concept of ecliptic latitude, with the ecliptic at 0. Instead of celestial poles, we instead of ecliptic poles, which are perpendicular to the ecliptic plane. Again, we use the convention that ecliptic latitude is +90° at the north ecliptic pole (just the pole on the same side of the ecliptic as the Earth’s north pole) and -90° at the south ecliptic pole.

In the other direction, we use ecliptic longitude instead of right ascension. This time, we measure it in degrees. Again, the convention is that the March equinox is the zero line. As a result, the June solstice is at ecliptic longitude 90°, the September equinox is at 180°, and the December solstice is at 270°.

Naturally, as the result of this definition, the sun is always at ecliptic latitude 0. We can now track the movement of the sun in one direction instead of two, and this simplifies our calculations greatly.

Note that just like equatorial coordinates, we have to specify the epoch when observing distant stars. Again, this is because the zero line of ecliptic longitude is fixed to the March equinox, which precesses. However, note that the ecliptic latitude does not precess, since the Earth’s axis of rotation rotates along an axis orthogonal to the ecliptic. Still, the ecliptic itself can shift slightly, so an epoch is still necessary even for ecliptic latitudes.

Zodiac and Solar Terms

Before we move on to the calculations, it makes sense to take a slight detour to understand how useful the concept of ecliptic longitude is in some historical methods of keeping time.

Western Zodiac

In western astrology, twelve astrological signs are used. You probably have seen them appear in horoscopes and other similar things. While it is easy to dismiss them as some kind of pseudoscience, their origins ultimately come from astronomical observations of the sun and could be seen as a crude form of time-keeping.

You see, the twelve signs — Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, and Pisces — each represent 30° of ecliptic longitude. Originally, if the sun’s ecliptic longitude is λ\lambda, then Aries represents the period in which 0°λ<30°0\degree\le\lambda< 30\degree, Taurus for 30°λ<60°30\degree\le\lambda<60\degree, …, and Pisces represents 330°λ<360°330\degree\le\lambda<360\degree. These ranges are supposed to reflect the approximate locations of those constellations in the sky, though they were idealized to be exactly 30°. By this definition, the first point of Aries would be the March equinox, that of Cancer would be the June solstice, that of Libra would be the September equinox, and that of Capricorn would be the December solstice. This is the reason behind the names tropic of Cancer and tropic of Capricorn.

Note I said “originally” for a reason: the astute of you might have noticed that while the constellations remain mostly fixed against the sky, ecliptic longitude is subject to precession. In fact, the position of the March equinox has been outside of Aries for around 2000 years! It is currently in Pisces and will eventually shift into Aquarius. We can either detach the signs from the actual constellations and use their original ecliptic longitude, or accept that their elliptic longitudes — and by extension, the dates commonly given in horoscopes — are wrong in the 21st century. There is naturally no consensus here, so do whatever you want!

Nevertheless, the twelve astrological signs are tied to the seasons and are thus linked to the solar year, tracking the position of the sun with ecliptic longitude and keeping time.

Chinese Solar Terms

In ancient China, a lunisolar calendar was used. One day we might go into more details about this calendar, but suffice to say, it attempts to keep the month synchronized to the moon, so the dates do not correspond exactly to the solar year. For agriculture, this is somewhat problematic, since farming seasons usually depend on the sun. So instead, the concept of solar terms was introduced to keep track of the sun’s position in the sky.

Naturally, this is based on the ecliptic longitudes. Each solar term is exactly 15° apart along the ecliptic. Since the solstices and equinoxes are solar terms, every ecliptic longitude divisible by 15° is a solar term. In many ways, these can be seen as extensions to the equinoxes and solstices — they are points on the celestial sphere, but also moments in time when the sun is at that exact point.

The solar terms are: 立春 (315°), 雨水 (330°), 惊蛰 (345°), 春分 (0°), 清明 (15°), 谷雨 (30°), 立夏 (45°), 小满 (60°), 芒种 (75°), 夏至 (90°), 小暑 (105°), 大暑 (120°), 立秋 (135°), 处暑 (150°), 白露 (165°), 秋分 (180°), 寒露 (195°), 霜降 (210°), 立冬 (225°), 小雪 (240°), 大雪 (255°), 冬至 (270°), 小寒 (285°), 大寒 (300°). 春分, 夏至, 秋分, 冬至 are the spring equinox, summer solstice, autumnal equinox, and winter solstice respectively5. It’s worth noting that traditionally in China, the solstices and equinoxes do not represent the start of a season, but rather the middle of it. Therefore, a season is considered to have started three solar terms before the solstice or equinox. Therefore, 立春 at ecliptic longitude of 315° is considered the “beginning” of spring. It is no coincidence that the Chinese New Year starts around this time.

Calculating the Equinoxes

Finally, we arrive at the exciting part: calculating the equinoxes and solstices!

Naturally, we will use ecliptic longitude. We define it as λ0\lambda_0, whose value corresponds to the equinox or solstice you are trying to calculate. For example, you would use λ0=180°\lambda_0=180\degree if you are trying to calculate the September equinox. Since this actually calculates the moment when the sun reaches a certain λ0\lambda_0, it will work for all Chinese solar terms as well — or really, any other value of λ0\lambda_0.

Now, you might be expecting some complex mathematics or clever formulæ that yields the answer, but it is not to be. The motion of objects in the solar system is very difficult to model to any great precision, as the planets gravitationally interact with each other in complex ways, and any error in the modelling will accumulate over time and ruin the precision. Therefore, if you want the most accurate timings, you have little choice but to rely on observational data produced by professional scientists — published as ephemerides. For the French Republican Calendar, I used JPL’s DE440 and DE441 ephemerides and the skyfield library.

The way this is done is by first having a rough range of when the ecliptic longitude λ\lambda equals λ0\lambda_0. This is important as the sun returns to λ0\lambda_0 every year, and we need a starting point before we can get a better value. We then use binary search to continually narrow down the range. Essentially, we pick the moment at the middle of the estimated time range and calculate the relative positions of the Earth and the sun. We then project the sun’s position as viewed from the Earth into ecliptic coordinates — latitude β\beta and longitude λ\lambda. If λ0<λ\lambda_0 < \lambda (taking into account that the longitudes wrap around), then we take the left half of the range, otherwise the right half, and iterate. Eventually, the interval converges into a single moment in time where λ=λ0\lambda=\lambda_0.

It might seem rather underwhelming to just use an ephemeris and a library to calculate the times, but without truly understanding what we are doing, it is very difficult to reason about special edge cases that show up as we try to push the limits. In the next part, you shall see exactly how we can put all this knowledge together to build the French Republican Calendar and the issues that we run into while doing so.


  1. J2000 refers to the epoch of January 1, 2000 noon TT. As you’ll see later, these coordinates change over time so we need to specify a fixed moment in time. 

  2. We use the standard convention that latitudes north of the equator are positive and latitudes south of the equator are negative. 

  3. The word vernal means ultimately derives from the Latin word vēr, meaning spring. As such, most literature is heavily northern hemisphere-centric. 

  4. The axial tilt of the Earth actually varies, but not due to precession. For simplicity, we will pretend it’s constant here. 

  5. Again, the system is northern hemisphere-centric.