Astronomy
-
Day 10: The Zero Point
Three epochs quietly run the world:
- The Unix epoch. Midnight, January 1, 1970. Almost every computer measures time as seconds since this instant.
- The GPS epoch. Midnight, January 6, 1980. Every GPS satellite, every navigation chip in every phone, measures time as seconds since this instant.
- The astronomical epoch (J2000.0). Noon, January 1, 2000, Terrestrial Time. Almost every star catalog, planetary orbit calculation, and space mission uses this instant.
Three different zeros. Three different conventions. None of them line up with anything you’d find on a calendar. Here is why.
You Can’t Have a Clock Without a Zero
A clock counts intervals. To tell you what time it is right now, it needs to know how many intervals have passed since something. The “since something” is the epoch: a fixed, agreed-upon instant from which all measurement runs.
Most timekeeping systems hide their epoch behind a calendar facade. “April 14, 2026” is meaningful to humans, but underneath, the computer is doing arithmetic on a single integer counted from a particular zero.
The calendar is the friendly mask.
The epoch is the actual machinery.
The Three Big Epochs
Unix Epoch: January 1, 1970, 00:00:00 UTC
Picked in the early 1970s by the engineers building Unix. They needed a zero point for the system’s internal
time_tinteger. 1970 was recent enough to feel current, far enough away to leave room for negative numbers (events before 1970), and round enough to remember.I think that they probably thought, like, well, if time is all relative, then let’s just pick some arbitrary time and it doesn’t matter.
It was an choice, not an astronomical one, just relative to some arbitrary point they decided.
So let me say that again.
The Unix epoch has no relationship to any natural event. It is a convention that, through the pervasive nature of Unix, became the default for all modern computing.
GPS Epoch: January 6, 1980, 00:00:00 UTC
The GPS satellite constellation started broadcasting on January 6, 1980. The epoch was just the moment the system turned on.
Why January 6? Because that’s a Sunday, and the GPS week-counting system uses weeks, and weeks start on Sunday.
The first GPS week is week zero.
GPS time has run continuously from that instant and has never had a leap second adjustment, so it is currently 18 seconds ahead of UTC, a gap that keeps growing.
But more on that in a tomorrow’s post.
J2000.0: January 1, 2000, 12:00:00 Terrestrial Time
This is the astronomers' epoch, and it’s the most carefully chosen of the three. Notice two things:
- It’s noon, not midnight.
- It’s in Terrestrial Time, not UTC.
Both choices have reasons.
Why noon? Astronomers observe at night. A “day” for an astronomer historically started at noon and ran through the following noon, so a single night’s observation session never straddled a date boundary.
If you started a date at midnight, half the stars you saw last night would log on one date and half on the next.
Annoying for astronomers, so they decided to reduce their suffering by redefining the epoch.
The Julian Date system, introduced by Joseph Scaliger in 1583, runs from noon to noon for this reason.
Noon TT on January 1, 2000 was Julian Date 2,451,545.0 exactly, a perfectly round Julian-Date integer.
Why such a huge number?
Because Julian Dates count days from noon on January 1, 4713 BC, the start of Scaliger’s count.
He picked that year because three big calendar cycles (solar, lunar, and the Roman indiction) all aligned there, and because it sat well before any recorded astronomical observation, so every date in history would be a positive integer.
By noon on January 1, 2000, exactly 2,451,545 days had elapsed.
The “0” at the end of “J2000.0” is a flag for that round number, a clean integer in a counting system older than telescopes.
Why Terrestrial Time and not UTC? Because UTC has leap seconds and Terrestrial Time doesn’t.
TT is the smooth atomic timescale we built two days ago (TAI + 32.184 seconds). Anchor your epoch to UTC and every leap second shifts your historical observations sideways. Anchor it to TT and it stays put. That’s why the canonical zero is in TT.
TAI: 2000-01-01 11:59:27.816 UTC: 2000-01-01 11:58:55.816 TT: 2000-01-01 12:00:00.000 ← this is J2000.0Other Epochs Worth Knowing
A few more that show up in working systems:
- Modified Julian Date (MJD): November 17, 1858, midnight. Used in space-mission control because it drops the leading digits of a full Julian Date, saving bytes in old memory-constrained systems.
- TAI origin: January 1, 1958, midnight UT2. The instant the cesium-coordinated TAI scale started running.
- Year zero of the Gregorian calendar: there isn’t one. The calendar jumps from 1 BC to 1 AD with no year zero in between, breaking date arithmetic across the boundary and serving as a low-grade gotcha in historical software.
The Deep-Time Temptation
Some people, looking at this collection of arbitrary-feeling start points, ask why we don’t just pick something physically meaningful. The formation of the Earth, the formation of the solar system, the Big Bang.
The answer is precision.
We don’t know any of those instants to better than millions of years. Earth formed roughly 4.54 billion years ago, plus or minus 50 million. The solar system, 4.567 billion years ago, plus or minus 1 million. The Big Bang, 13.8 billion years ago, plus or minus 20 million.
A reference epoch that is uncertain to a million years isn’t a reference…
The astronomical zero needs to be knowable to the nanosecond, recoverable in the future from preserved records, and verifiable against real observations.
Of every candidate, J2000.0 is the best at all three.
Modern atomic clocks were running in 2000. Star positions on that day are catalogued.
The exact instant is recorded across thousands of observatories.
If civilization collapses and is rebuilt, J2000 is recoverable from physical artifacts. The formation of the Earth is not.
What the Epoch Is Doing
Pick your epoch and you pick what your system can and can’t represent.
- Unix time can’t go before 1970 without negative numbers, and there is the whole integer-overflow issues after a few centuries.
- GPS time started in 1980 and counts strictly forward. Nothing before is representable.
- J2000.0 sits at the present, so calculations naturally span backwards and forwards by tens of thousands of years with full precision.
The choice of epoch is often the most invisible design decision in a timekeeping system, but it shapes everything downstream.
Some of the strangest bugs in software history, Y2K, the 2038 problem, GPS week rollovers, trace back to picking a zero without thinking about the consequences.
Tomorrow we’ll see what happens when one of those choices has to deal with relativity, gravity, and the curvature of spacetime.
The Gee-Pee-Ess time, and the clocks that ship from the factory wrong on purpose.
Sources
- Unix time — Wikipedia
- GPS time — Wikipedia
- Epoch (astronomy) — Wikipedia
- Julian day — Wikipedia
- Terrestrial Time — Wikipedia
- Year 2038 problem — Wikipedia
I’d appreciate a follow. You can subscribe with your email below. The emails go out once a week, or you can find me on Mastodon at @[email protected].
Programming 30daysoftime Astronomy Timekeeping Computing-history
-
Day 7: A Day Is Not 24 Hours
Last week we talked about what time is, what it might not be, and what your brain does to make you feel it. This week we measure.
The obvious place to start is to look up at the sky. Humans did this for several thousand years before they realized how badly the sky was lying to them.
The Sundial Problem
The oldest clock is a literal stick in the figurative ground.
Watch the shadow move. When the shadow is shortest, the sun is overhead. That’s noon.
For a long time, this was good enough. If you wanted to coordinate a meeting in ancient Egypt, you and your buddy could both look at the sun and agree on roughly when to show up. Our Civilizations were built on this.
Here’s the problem. If you mark where noon falls on a sundial every day for a year, and compare it to a clock that ticks steady seconds, the sundial drifts. Sometimes the sun is “late.” Sometimes it’s “early.” Over the course of a year, the gap swings by up to about sixteen and a half minutes one way (early November) and just over fourteen minutes the other (mid-February).
This is called the equation of time, and it has two main causes.
First, Earth’s orbit isn’t a circle. It’s an ellipse. We move faster when we’re closer to the sun (around January 3rd) and slower when we’re farther away (around July 4th). When we’re moving faster, the sun appears to drift across the sky faster, and noon comes sooner than the clock predicts.
Second, Earth’s axis is tilted. The sun doesn’t ride along the equator, it rides along the ecliptic at a 23.5 degree angle. That tilt distorts the projection of the sun’s motion onto our daily rotation, which means the sun runs ahead of the average for parts of the year and behind it for others.
If you graph the equation of time across a year, you get a wobbly figure-eight called the analemma. You’ve probably seen it on a globe somewhere and ignored it. It’s the actual shape of “noon” over a calendar year.
So if you want a 24-hour clock that doesn’t drift around with the seasons, you can’t use a sundial directly. You have to average. The result is called mean solar time, the time you’d see if the sun behaved itself.
Two Kinds of Day
Hopefully following along so far, because now we need to talk about what a “day” is. There are two ways to define it and they disagree.
The solar day is what you’d guess. Sun is straight overhead; rotate Earth until the sun is straight overhead again. That’s one day. About 24 hours.
The sidereal day is what astronomers use. Pick any distant star; rotate Earth until that star is back in the same position in the sky. That’s one sidereal day.
A sidereal day is 23 hours, 56 minutes, and 4.09 seconds. Almost exactly four minutes shorter than a solar day.
Why? Because Earth is doing two things at once.
While you spin on your axis, you’re also moving around the sun. By the time you finish one full rotation relative to the stars, you’ve also moved a tiny bit along your orbit. The sun has effectively shifted in the sky from your perspective. You have to rotate a tiny bit further to point at the sun again.
That tiny bit further takes about four extra minutes. Add it up over 365 days and it equals exactly one full rotation. That’s why a year has one more sidereal day than solar days. The arithmetic comes out clean. The universe is just doing this weird double-counting thing where one of your rotations gets eaten by your orbit.
If you’re an astronomer trying to point a telescope at a star, sidereal time is what you want. The star is in a fixed place in inertial space; your dome needs to compensate for Earth’s actual rotation, not for “where the sun appears to be.”
If you’re a person trying to know when to eat lunch, solar time is what you want. The sun is the thing your body cares about.
These two definitions don’t reconcile. They are answering different questions.
Earth Doesn’t Tick Steadily
Even after you average the equation of time and pick which kind of day you want, Earth still doesn’t make a great clock.
Earth’s rotation is slowing down. Tidal friction with the Moon transfers angular momentum outward, the Moon drifts farther away (about 3.8 centimeters per year, measured by bouncing lasers off Apollo-era retroreflectors), and our days get longer by roughly 1.7 to 2.3 milliseconds per century. Slow, but cumulative. A really, really long time ago, a day was about 22 hours.
So we know, Earth’s rotation is jittery in the short term. The atmosphere (air mass) sloshes around with weather. Ocean currents shift mass around because hot water weighs less than cold water. There is some coupling between the outer core and the mantle that yanks the rotation rate around. It’s very hard to predict all these factors in advance. All of these factors cause the the length of a day to fluctuate from one week to the next.
For a long time none of this mattered. If a day was off by a few milliseconds, who cares? Sundials don’t have that resolution.
The moment it started mattering was when we got better clocks than the those based on the Earths rotation.
How We Measure Earth’s Rotation Today
I hope you are ready to learn some astronomy.
The most precise measurement of Earth’s rotation right now comes from watching distant quasars, supermassive black holes billions of light years away whose positions in the sky are effectively fixed. A technique called Very Long Baseline Interferometry, or VLBI, uses arrays of radio telescopes spread across continents to triangulate Earth’s exact orientation against these quasars.
That’s worth reading again. The way we figure out what time it is on Earth is by triangulating against the cores of ancient galaxies billions of light years away.
VLBI pins down Earth’s orientation to the level of microseconds and millimeters. It’s how we know, day by day, by exactly how many milliseconds the planet ran fast or slow. It’s how we know, to staggering precision, exactly how badly the planet underneath us is failing to be a steady clock.
That measurement, and what we did about it, is going to matter in a bit, in future articles. This week on Time is all about how we measure time.
Tomorrow: the second we use today isn’t measured by Earth at all. It’s measured by an atom that doesn’t care which planet you’re on.
Sources
- Equation of time — Wikipedia
- Sidereal time — Wikipedia
- Earth’s rotation — Wikipedia
- Seeing the Light: lunar laser ranging — Eos
- VLBI — NASA Earthdata
I’d appreciate a follow. You can subscribe with your email below. The emails go out once a week, or you can find me on Mastodon at @[email protected].