Timekeeping
-
Day 11: What If We Put Clocks in Space?
In 1977, three years before GPS launched, the engineers building the satellites had to make a decision.
The clocks they were about to put in orbit were going to run faster than the clocks on the ground. By about 38 microseconds per day.
That sounds like nothing, but over 24 hours of GPS operation, an uncorrected clock would put you 11 kilometers off your actual position.
They had two options:
- Adjust the time signal on the ground, applying the correction as the data came back down.
- Pre-tune the clocks on the satellites to run slow by exactly the right amount, so that by the time relativity sped them back up, they’d tick at the right rate.
GPS chose option two.
They built the clocks to run at 10.22999999543 MHz instead of the nominal 10.23 MHz, so that orbital relativity speeds them up to ~10.23 MHz by the time the signal hits your phone.
The correction is baked in.
That’s what putting clocks in space looks like. One decision, and now everyone on Earth gets both navigation and time from the same signal.
This post is about the impact of that decision.
Why Clocks in Orbit Run Faster
Two relativistic effects act on a GPS satellite clock, and they push in opposite directions.
Special relativity slows the satellite clock down because it’s moving fast. General relativity speeds it up because it sits in weaker gravity than the ground. Gravity wins. Net result: the satellite clock gains about 38 microseconds per day.
Sounds like nothing. But uncorrected, that 38 microseconds drifts your GPS position by 11 km in 24 hours. Within a day of launch, GPS would be useless for anything more precise than “are you in the right country.”
This was known before launch. It was tested. It works.
What GPS Time Actually Is
GPS time is its own scale, started at midnight on January 6, 1980, and ticking continuously since. No leap seconds. No time zones.
The relationship to the other scales is fixed and simple:
GPS = TAI − 19 seconds (constant since launch) GPS = UTC + 18 seconds (today)GPS−TAI never changes. GPS−UTC grows every time UTC gets a leap second, and freezes after the 2035 leap-second abolition.
It is, in every meaningful sense, the most accurate clock in your daily life. And you’ve never seen it.
What It’s Used For
GPS time runs almost everything that needs precise timing in modern civilization, but it’s invisible because nobody consumes it directly.
- Finance. US and EU regulators (MiFID II, SEC) require trading firms to timestamp orders to microsecond precision. GPS-disciplined oscillators are how.
- Telecom. Cellular base stations need their carrier frequencies aligned across the network. GPS clocks them. Without GPS, your phone would struggle to hand off between towers.
- Power grid. Phasor Measurement Units monitor the AC waveform across the entire grid, synchronized to GPS. This is how grid operators detect instabilities before they cascade into blackouts.
- Datacenters. Stratum-1 NTP servers are typically GPS-disciplined. Every clock you’ve ever checked on a computer ultimately traces back, through several layers of network sync, to a GPS receiver in someone’s rack.
- Aviation, surveying, autonomous vehicles, drones, scientific instruments, particle physics. Anything built since 1995 that needs accurate timing or positioning, which is essentially everything.
The civilian world runs on GPS time. It just doesn’t admit it.
What It Didn’t Solve
Putting clocks in space solved navigation.
It did not solve timekeeping.
Your watch is still on local time. Your calendar uses civic dates with leap seconds buried in the UTC. You’re reading a clock face anchored to a Roman calendar, a Babylonian 24-hour day, and an Earth rotation that nobody can predict.
GPS time is great if you are a satellite, a financial trader, a power-grid engineer, a fighter jet, or a cell tower.
It is not great if you are trying to know what time to pick up your kid from school.
For that, you still need wall time, which still needs UTC, which still needs leap seconds, which still needs Earth’s wobbling rotation.
We built absurdly precise atomic clocks. We launched them into orbit. We baked relativity corrections into the silicon. We covered the planet in time signals accurate to nanoseconds.
And your meeting is still at 3 PM on Tuesday.
GPS quietly handles the part it needs to handle. But all of this assumes you’re on Earth.
Where This Goes
Earth orbit needs relativity corrections. The Moon needs more. Mars needs different ones still.
The further you get from Earth, the more “GPS-style time” stops being a solution.
Tomorrow: if an hour is an Earth measurement, so how do you tell time on a planet that doesn’t have them?
Sources
- Error analysis for the Global Positioning System — Wikipedia
- GPS time — Wikipedia
- Schriever Space Force Base — Wikipedia
- Phasor measurement unit — 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].
Science Infrastructure 30daysoftime Timekeeping Gps Relativity
-
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