Reading orbital elements
Next visible pass of over
Reading orbital elements
--:--
The first answer arrives as soon as the elements are read.
The sky at the minute it appears, printed. See Painted Skies
Reading orbital elements
The Week Ahead
Every pass, with the minute it appears
| Appears | Lasts | Peak | From, To | Brightness |
|---|---|---|---|---|
| Reading orbital elements | ||||
Where It Is Now
One orbit ahead, gold where the Sun lights it
- Over
- --
- Height
- --
- Speed
- --
- Light
- --
- Next visible pass
- --
How It Is Computed
Two lines of numbers, one propagation, every step shown
Every pass on this page is arithmetic on public numbers, done in your browser. Your place never leaves this device. The one request that leaves this site is for the orbital elements, to CelesTrak, at most once an hour and only when the copy on this device is two hours old.
The elements
CelesTrak, run by T. S. Kelso, publishes a two-line element set for each tracked object: an epoch, six mean orbital elements and a drag term, in the format of Hoots and Roehrich's Spacetrack Report No. 3 (1980). The page reads two of CelesTrak's groups, visual (the brightest objects, 156 sets) and stations, and checks every line's last digit: the sum of the digits in columns 1 to 68, each minus sign counted as one, modulo 10. A set that fails is skipped and counted. The epoch of the selected object's elements is printed beside every answer.
The orbit
The elements are propagated with SGP4 and its deep-space extension SDP4, as specified by Vallado, Crawford, Hujsak and Kelso in Revisiting Spacetrack Report #3 (AIAA 2006-6753). The implementation is the satellite.js library (MIT licence), and it is not taken on trust: the tests run it against five of the paper's own verification ephemerides, 101 epochs from the TEME example to a Molniya orbit, and the worst position error is 1.08 × 10⁻¹² of the radius. The tolerance is 10⁻⁶.
From the orbit to your sky
SGP4 answers in TEME, a frame that turns with the stars. One rotation about the pole through Greenwich mean sidereal time puts the satellite on the turning Earth: θ = 280.46061837° + 360.98564736629° (JD − 2451545.0) + 0.000387933 T² − T³ / 38710000, Meeus's equation 12.4, which matches his worked examples 12.a and 12.b to 0.001″. Your position goes onto the WGS84 ellipsoid (a = 6378.137 km, f = 1/298.257223563), and the difference vector is turned into south, east and up components, from which azimuth = atan2(east, north) and elevation = asin(up / range).
Sunlight and the Earth's shadow
The Sun comes from Meeus chapter 25, good to 0.01°, which matches his example 25.a to 0.02″. A pass is visible when three things hold at once: the satellite is above your horizon, it is in sunlight, and the Sun is at least 6° below your horizon so the sky is dark enough. The page also notes when the Sun is below 12°, a fully dark sky. The shadow is a cylinder the width of the Earth: the satellite is in it when it is on the night side and closer to the Earth–Sun line than 6378.137 km.
Brightness
m = mstd + 5 log10(d / 1000 km) − 2.5 log10(1 + cos ψ). The standard magnitude mstd is the object's brightness at 1000 km when half lit, as Heavens-Above lists it; d is the range; ψ is the phase angle at the satellite between the Sun and you. (1 + cos ψ) / 2 is the lit fraction of a sphere, and dividing by one half puts it on the standard's footing. Smaller is brighter and negative is brighter still: Sirius, the brightest star, is −1.46 (Yale Bright Star Catalogue), so anything below that outshines every star. The words beside the number are ours: brilliant below −3, bright below −1.46, easy to see below 1, faint below 3, dim above.
Finding the passes
The search steps through the days ahead every 30 s on elevation. Each horizon crossing is refined by bisection to 1 s, the highest point by golden-section search to 50 ms, and the shadow edge and the −6° twilight line by bisection to 1 s. A pass counts as visible when its visible part climbs at least 10° above the horizon; that floor is ours, because lower than that a pass is lost behind roofs and trees. "All passes" shows the rest.
| Step | Source | Worst error |
|---|---|---|
| SGP4 positions | Vallado et al. 2006, five verification cases, 101 epochs | 1.08 × 10⁻¹² relative |
| Sidereal time | Meeus examples 12.a and 12.b | 0.0009″ |
| The Sun | Meeus example 25.a | 0.02″ |
| Look angles | Zenith and equator closed forms; satellite.js cross-check | 1.1 × 10⁻⁸° |
| Rise and set | 146 passes, elevation at the refined crossing | under 0.0001° |
| Element checksums | The bundled snapshot, 156 sets | 0 rejected |
What it does not do
- The shadow is a cylinder. The real one has a penumbra and an atmosphere, so a fade comes a few seconds before or after the minute printed.
- Elements are fitted to past observations. The further a pass lies from their epoch, the larger the error, and a manoeuvre made after the epoch is invisible to them. The age is printed with every answer for that reason.
- Elevations are geometric. Refraction lifts everything near the horizon by about half a degree (Meeus chapter 16) and is not added.
- Brightness is an estimate from a standard magnitude, the range and a sphere's phase. Flares from panels and mirrors are not modelled. Thirteen objects carry a standard magnitude; the rest say brightness unknown.
- No weather. Cloud hides a pass the page calls bright.
- No stars on the chart, only the cardinal points and the altitude rings. Stars are the next step.
- No Starlink trains: the visual group is CelesTrak's list of the objects bright enough to see, and that is the honest list to pick from.