Computing Eclipses, Occultations and Transits

Prediction geometry and astrometry

workingupdated 2026-10-17stellar-occultationasteroidtnofundamental-planegaiaastrometrysoraoccult
  • The shadow is a cylinder, not a cone. The star is a point at infinity, so the occulting body's shadow on the fundamental plane has the body's own outline, and the path width there equals the body's diameter. On the ground it widens as the diameter divided by the sine of the star's altitude 1 2.
  • Prediction is a closest-approach search. Star positions are propagated to the epoch, matched against the ephemeris, and kept when the separation is below the body's angular radius plus the ephemeris uncertainty plus the Earth's radius. SORA (Stellar Occultation Reduction and Analysis) then refines the closest approach in three grid passes down to 0.02 s 3.
  • The 1-sigma lines sit one cross-track uncertainty outside each path edge. That uncertainty is the quadrature sum of the star and ephemeris errors, converted to kilometres by the body's distance: 1 milliarcsecond is 0.7253 km per astronomical unit 4 3.
  • Before Gaia the error was hundreds of kilometres. Main-belt ephemerides were rarely better than 0.5 arcseconds, and catalogue stars carried 20 to 70 milliarcseconds. By 2019 a typical main-belt path was still uncertain by more than 40 km 4 5.
  • Gaia removed the star error and is shrinking the orbit error. Occultation astrometry reduced against Gaia EDR3 fits orbits at about 10 milliarcseconds against 30 to 50 milliarcseconds with older catalogues. For bright 2024 events the path is now uncertain by a few tenths of a path width 6 7.
  • An observed occultation is itself the best astrometry. The fitted centre, offset from the ephemeris and tied to one Gaia star, gives the body's position to about 1 milliarcsecond. This feeds back into the next prediction 5 8 9.
  • Timing must be absolute and fast. Chords from different observers combine only if their times agree to about 10 milliseconds. The geocentre-to-observer light-time of 0.021 s is already 600 m at a shadow speed of 30 km per second 5 1.

The question. How is the ground track of a stellar occultationstellar occultationThe passage of a solar-system body in front of a star as seen by an observer. Because the star is effectively a point at infinity, the body's shadow is a cylinder of the body's own cross-section, and the event lasts from a fraction of a second to a few minutes. computed when the occulter is an asteroid, a trans-Neptunian objecttrans-Neptunian object (TNO)A small body whose orbit lies mostly beyond Neptune, at roughly 30 to 50 au or more. At such distances a body a few hundred kilometres across subtends tens of milliarcseconds., a CentaurCentaurA small body on an unstable orbit between Jupiter and Neptune, thought to come from the trans-Neptunian region. Chariklo and Chiron are examples. or a planetary satellite? Which quantities set the width of its uncertainty band, and how did the Gaia catalogues and occultation astrometry change that uncertainty? Lunar occultations use the same plane but a nearby, large occulter with a known limb, and are the subject of Lunar occultations.

Predicting and reducing a stellar occultation on the fundamental planeTwo panels. Left: a circle for the Earth seen from the star, crossed diagonally by a band of constant width, the shadow of the occulting body. A dashed central line runs along the middle of the band, and a dashed line lies parallel to each edge, outside it, marking the 1-sigma uncertainty. An arrow shows the direction of motion. Right: an ellipse for the body's outline with four horizontal solid chords across it, each ending in two dots, and one dotted horizontal line that misses the ellipse. A small plus marks the ellipse centre and a small open circle marks the ephemeris position, joined by a short arrow labelled as the astrometric offset.xymotionfundamental plane, seen along the star direction1σ line: edge shifted bythe cross-track uncertaintyshadow: width D,the body's diametercentral lineEarthmisschordephemeris positionfitted centreafter the event: chords on the same planeellipse fit gives a′, b′, its angle and the offsetstar motion relative to the bodySchematic. Widths, uncertainty and shape are illustrative, not an event.

The geometry: a cylinder on the fundamental plane

An eclipse shadow is a cone because the Sun has a finite size at a finite distance. A star is effectively at infinity and its angular size is far below the body's. SORA's authors state that "unlike an eclipse, the star is farther and its angular size is much smaller than the body's, which results in almost the same size for the body and its umbra" 1. The shadow is then a cylinder parallel to the star direction, with the cross-section of the body's projected outline. Its track on the ground is the shadow pathshadow pathThe track on the Earth's surface swept by the shadow of an occulting body during a stellar occultation. On the fundamental plane its width equals the body's diameter. On the ground it widens as the star sinks towards the horizon..

The reference plane is the fundamental planefundamental planeThe plane through the Earth's centre perpendicular to the axis of the Moon's shadow. Its x axis lies in the equator pointing east, its y axis points north, and the shadow's cross-section on it is an exact circle. of Besselian elements, with the star's direction (α⋆,δ⋆)(\alpha_\star, \delta_\star) taking the place of the point Z. Herald's reduction of asteroid occultations works on this plane "using Besselian elements", with the apparent positions of both the star and the asteroid defining its orientation 5. In the plane, the shadow radius is the body's radius R∘R_\circ at every distance along the axis. There are no cone angles and no l1l_1, l2l_2 variation. The path widthpath widthThe width of the umbral or antumbral track measured on the ground perpendicular to the direction of motion, given by Mikhailov's 1931 formula from the shadow radius, the height above the fundamental plane and the direction of motion. on the plane is therefore 2R∘2R_\circ for a spherical body.

SORA writes the plane coordinates as orthographic projections onto the plane perpendicular to the geocentre-star direction. For the observer and the body 1:

ξλ=Dλcosδλsin(αλ−α⋆),ηλ=Dλ[cosδ⋆sinδλ−sinδ⋆cosδλcos(αλ−α⋆)], \xi_\lambda = D_\lambda \cos\delta_\lambda \sin(\alpha_\lambda - \alpha_\star), \qquad \eta_\lambda = D_\lambda\left[\cos\delta_\star \sin\delta_\lambda - \sin\delta_\star\cos\delta_\lambda\cos(\alpha_\lambda - \alpha_\star)\right],

ξ∘=D∘cosδ∘sin(α∘−α⋆),η∘=D∘[cosδ⋆sinδ∘−sinδ⋆cosδ∘cos(α∘−α⋆)], \xi_\circ = D_\circ \cos\delta_\circ \sin(\alpha_\circ - \alpha_\star), \qquad \eta_\circ = D_\circ\left[\cos\delta_\star \sin\delta_\circ - \sin\delta_\star\cos\delta_\circ\cos(\alpha_\circ - \alpha_\star)\right],

and the observer's position relative to the body's shadow centre is (ξλ−ξ∘,ηλ−η∘)(\xi_\lambda - \xi_\circ,\ \eta_\lambda - \eta_\circ), which the paper calls (x,y)(x, y). Here DλD_\lambda, αλ\alpha_\lambda and δλ\delta_\lambda are the geocentric distance, right ascension and declination of the observer's position vector in the ICRS, and D∘D_\circ, α∘\alpha_\circ, δ∘\delta_\circ those of the body. ξ\xi is positive towards increasing right ascension and η\eta towards the ICRS north pole 1. The observer terms are the eclipse coordinates ξ=ρcosϕ′sinθ\xi = \rho\cos\phi'\sin\theta and η=ρsinϕ′cosd−ρcosϕ′sindcosθ\eta = \rho\sin\phi'\cos d - \rho\cos\phi'\sin d\cos\theta of Contact times and magnitude, with d=δ⋆d = \delta_\star and θ\theta the star's local hour angle. SORA's paper writes the plane offset as xx and yy in kilometres. In the eclipse notes xx and yy are the Moon's coordinates in Earth radii, a different quantity.

The paper's exact form, used for the astrometric offset itself, is x=D∘sin[(α⋆−α∘)cosδ∘]x = D_\circ \sin[(\alpha_\star - \alpha_\circ)\cos\delta_\circ] and y=D∘sin(δ⋆−δ∘)y = D_\circ\sin(\delta_\star - \delta_\circ), with both positions astrometric ICRS coordinates centred at the observer 1. Because the body's position is less certain than the star's in the Gaia era, the body coordinates in this equation are the ephemeris values. The fitted displacement of the observed centre is then an ephemeris offset 1.

Two approximations hide in the geocentric form. First, the star is taken to be at infinity, so all observers share one line of sight. SORA's authors note that for Proxima Centauri the topocentric and geocentric star directions differ by up to 2.3 km projected at 100 au 1. Second, all observers are referred to one instant at the geocentre. The light-timelight-timeThe travel time of light to the observer, about 499 seconds from the Sun and 1.3 seconds from the Moon. A reception correction evaluates the target at emission time and the observer at reception time. Observer aberration is separate. across one Earth radius is 0.021 s, which at 30 km per second is 600 m on the plane and matters for near-Earth asteroids 1.

Finding the events

A prediction search crosses an ephemeris with a star catalogue. In SORA's prediction function the ephemeris is sampled at a fixed step, 60 s by default, and Gaia stars are downloaded for the box the path covers 3. The star positions are propagated to the middle of the interval with apply_space_motion, matched to the nearest ephemeris point, and kept when the separation is below

arcsin(R∘+R⊕D∘)+nσmax(σα,σδ)+μ⋆Δt2, \arcsin\!\left(\frac{R_\circ + R_\oplus}{D_\circ}\right) + n_\sigma\,\max(\sigma_\alpha, \sigma_\delta) + \mu_\star\,\frac{\Delta t}{2},

where R⊕R_\oplus is added only for a geocentric search, the multiplier nσn_\sigma takes the value of the program argument sigma, default 1, σα\sigma_\alpha and σδ\sigma_\delta are the ephemeris errors in arcseconds, μ⋆\mu_\star is the star's total proper motion and Δt\Delta t the search interval 3. The paper describes the same search radius as "the body's radius increased by the ephemeris 1-sigma uncertainty", with the Earth's radius added for a geocentric search 1.

Each candidate is then refined. The paper gives the closest approachclosest approachThe minimum angular or projected distance between the star and the centre of the occulting body as seen from a reference point, usually the geocentre, and the instant at which it occurs. An occultation is possible somewhere on Earth if this distance is smaller than the body's radius plus the Earth's radius on the fundamental plane. from two ephemeris positions bracketing the star, after Assafin et al. 2010 1:

CA=Δ12−(Δ12−Δ22+ΔB22ΔB)2,t0=t1+(t2−t1)Δ12−CA2ΔB2, CA = \sqrt{\Delta_1^2 - \left(\frac{\Delta_1^2 - \Delta_2^2 + \Delta_B^2}{2\Delta_B}\right)^2}, \qquad t_0 = t_1 + (t_2 - t_1)\sqrt{\frac{\Delta_1^2 - CA^2}{\Delta_B^2}},

with Δ1\Delta_1 and Δ2\Delta_2 the star's separations from the ephemeris positions at t1t_1 and t2t_2 and ΔB\Delta_B the separation between those positions. The shadow velocityshadow velocityThe speed of the occulting body relative to the star on the fundamental plane, in km per second. It converts a timing error into a distance error and an exposure time into a spatial resolution. is VS=D∘sin(ΔB)/(t2−t1)V_S = D_\circ \sin(\Delta_B)/(t_2 - t_1) 1. The released code does something different. Function occ_params evaluates the projected separation on a grid of ±900 s at 20 s steps, then ±20 s at 0.5 s, then ±1 s at 0.02 s. It takes the minimum each time and recurses when the minimum falls at a grid edge 3. It computes the position angle as arctan2(-f, -g) of the projected offset (f, g), and the velocity as the change in that offset over one second, signed by the east-west direction of motion 3. The paper's two-point formula is the algorithm description. The grid search is the implementation.

Both assume straight-line motion of the shadow during the event. The paper justifies it by the short duration: at the Earth's mean orbital speed of 29.78 km per second a small body's shadow crosses the Earth in about 7 minutes. It warns that the linear path fails near quadrature, when the shadow is slow, and suggests a polynomial instead 1. Herald's reduction uses "a cubic expression representing the motion of the asteroid's shadow on the fundamental plane" 5.

The amateur prediction services split the search from the update. In Preston's 2007 description, several searchers each scanned for events with their own orbits and catalogues. Goffin covered asteroids of 40 km and larger with a compiled catalogue to about magnitude 12. Donnell and Breit used astorb.dat and Occult's Tycho-2 catalogue for asteroids of 10 km and larger 10. Preston then refitted the orbit with recent astrometry and recomputed the path with Occult a month and a week before each event 10. Since 2024 Preston's site states that its posted predictions are not the most current, and that current ones are distributed through OccultWatcher 11. The 2024 supplement of the Royal Astronomical Society of Canada (RASC) confirms that updates "with improved orbits during the year" are "now done only with Occult Watcher" 7.

From closest approach to a path on the ground

SORA's map draws the path from the prediction-table values alone 3. For each time offset τ\tau from closest approach, the shadow centre on the plane is

X=CAkmsinPA+VSτcosPA′,Y=CAkmcosPA−VSτsinPA′, X = CA_{\mathrm{km}} \sin PA + V_S\,\tau \cos PA', \qquad Y = CA_{\mathrm{km}} \cos PA - V_S\,\tau \sin PA',

where CAkm=D∘×CACA_{\mathrm{km}} = D_\circ \times CA in radians, PAPA is the position angle and PA′PA' is PAPA folded into ±90 degrees 3. The two path edges are the centre moved by ±R∘\pm R_\circ along (sinPA′,cosPA′)(\sin PA', \cos PA'). The 1-sigma lines are moved by ±(R∘+D∘σ)\pm(R_\circ + D_\circ\,\sigma) with σ\sigma the ephemeris error converted from milliarcseconds to radians 3. Function xy2latlon converts plane points to longitude and latitude. It takes the depth along the star direction on a sphere of radius R_earth, transforms GCRS to ITRS, reprojects the resulting site on the ellipsoid at zero height, and iterates four times 3. The map is therefore a path at sea level on the ellipsoid. It ignores observer height.

Occult's map, as Preston describes it, draws solid edges assuming a circular body 2. Preston states that the ground width exceeds the body's width when the star is not overhead: "The width of the shadow = (diameter of asteroid) / SIN (maximum altitude of star along the path)" 2. That expression is the width measured along the ground in the direction of the star's azimuth. On the fundamental plane the width remains the diameter.

The 1-sigma lines1-sigma lineA line drawn parallel to a predicted shadow-path edge, offset outward by the 1-standard-deviation cross-track uncertainty. Between the two 1-sigma lines the true path is expected with about 68 per cent probability if the errors are Gaussian. are, in Preston's words, "the effect of a 1-sigma shift in the edge of the path", with "a 68% probability the actual path ... will fall somewhere between the 1-sigma lines" and the 2-sigma lines at twice the distance from each edge with 95 per cent 2. Occult's plot header also gives the full uncertainty ellipse as major axis, minor axis and position angle 2. Preston's event Rank is "the probability of at least one successful observation by a team of two observers where the two observers are positioned 3/4 path width apart symmetrically about the center of the path" 2.

The uncertainty budget

Tanga and Delbo define the path uncertainty as the quadrature sum of the ephemeris and star errors 4:

σpath=σCEU2+σ⋆2, \sigma_{\mathrm{path}} = \sqrt{\sigma_{\mathrm{CEU}}^2 + \sigma_\star^2},

where σCEU\sigma_{\mathrm{CEU}} is the current ephemeris uncertainty of the asteroid and σ⋆\sigma_\star the star position error at the event epoch. They define a prediction efficiency p=2θ/σpathp = 2\theta/\sigma_{\mathrm{path}}, with 2θ2\theta the apparent diameter, and read p=1p = 1 as a 68 per cent chance of seeing the event 4. The angular uncertainty becomes a cross-trackcross-track and along-trackDirections on the fundamental plane perpendicular to and along the shadow's motion. Cross-track error moves the predicted path sideways on the ground. Along-track error changes the predicted time. distance on the plane through the body's distance. One milliarcsecondmilliarcsecondOne thousandth of an arcsecond. At a distance of DD astronomical units one milliarcsecond spans 0.7253D0.7253,D km, so about 3 km at Jupiter in opposition and about 6 km at Saturn. at 1 au is 1.495979×108km×4.8481×10−9=0.72531.495979\times10^{8}\ \mathrm{km}\times 4.8481\times10^{-9} = 0.7253 km. Herald puts it as "an angular displacement of 1 mas is crudely equivalent to a displacement of the asteroid's shadow of about 1 km" for the main belt 5. Buie quotes 31.4 km per milliarcsecond for Arrokoth at 43.3 au 12.

SORA's paper turns the budget into a target. The combined error must be of the order of the body's apparent radius, about 230 milliarcseconds for Ceres, 40 milliarcseconds for Pluto, and as little as 1 milliarcsecond for small distant bodies 1.

The star

Before Gaia, the star term was large and catalogue-dependent. Tanga and Delbo give about 1 milliarcsecond for FK6, 10 milliarcseconds for Hipparcos, 70 for Tycho-2 and 20 for UCAC2 in the magnitude range 10 to 14 4. Preston's 2007 process preferred UCAC2 "whenever available", and treated double stars as a standing problem 10.

The Gaia releasesGaia catalogue releasesThe star catalogues from ESA's Gaia astrometric mission: DR1 (2016), DR2 (2018), EDR3 (2020) and DR3 (2022). From DR2 onward they give positions, proper motions and parallaxes at the sub-milliarcsecond level for faint stars, which removed the star position as the main error in occultation predictions. made the star term small. SORA's paper cites Gaia EDR3 positions below 1 milliarcsecond to magnitude 21, about 10 microarcseconds for stars brighter than magnitude 15 at the catalogue epoch, and proper motions near 20 microarcseconds per year for those stars 1. French and Souami state that DR3 proper motions are "a factor of 2 more accurate than in the DR2 catalog" 13. Three residual issues remain, and each source names them:

  • Unresolved companions. A RUWERUWEThe renormalised unit weight error of a Gaia astrometric solution. Values above about 1.4 indicate that the star's motion does not fit a single-star model, often because of an unresolved companion, and occultation predictions for such stars have been observed to shift. above 1.4 flags a poor single-star fit, and positive occultations of such stars "showed a significant shift from the predictions" 1. Preston's FAQ gives the same warning for DR2 and its duplicated-source flag 2.
  • Bright-star frame rotation in DR2. Herald lists that DR2 stars brighter than about magnitude 12.5 "are affected by a frame rotation error", and that this uncertainty was not yet in the data set 5.
  • Proper-motion systematics in EDR3. SORA's paper cites a systematic error of up to 80 microarcseconds per year for stars brighter than magnitude 13. For the 1988 Pluto occultation star it amounts to 1.10 milliarcseconds in declination against a formal error of 0.35 milliarcseconds 1. SORA can apply the Cantat-Gaudin and Brandt correction, and French and Souami applied it to DR3 1 13.

SORA propagates the star from the catalogue epoch with the rigorous model of Butkevich and Lindegren 2014, including the propagation of its uncertainty, and then applies parallax for the chosen observer 1. Herald's astrometry corrects for proper motion "including foreshortening" and for parallax 5.

The ephemeris

The ephemeris term is now the dominant one. JPL Horizons outputs, for bodies with a covariance, the right ascension and declination uncertainty and a plane-of-sky error ellipseplane-of-sky error ellipseThe projection of a body's three-dimensional position uncertainty onto the plane perpendicular to the observer's line of sight, given by a semi-major axis, a semi-minor axis and an orientation angle. JPL Horizons quotes it at 3 standard deviations.. Both are "formal +/- 3-standard-deviation" values, and Horizons warns they "can be optimistic" when there are systematic biases or long extrapolations 14. A 1-sigma path therefore needs the Horizons value divided by 3. The SBDB API returns the orbital covariance itself, at the JPL orbit-solution epoch, as a full matrix or an upper-triangular vector 15. SORA does not read either. Its ephemeris errors error_ra and error_dec are user inputs in arcseconds, and both default to zero 3. A default SORA run therefore searches with no ephemeris margin. Its map draws dashed error lines only when the separate error argument, in milliarcseconds, is given 3.

For trans-Neptunian objects the Lucky Star group fits its own orbits with NIMANIMANumerical Integration of the Motion of an Asteroid, the orbit-fitting procedure of Desmars and co-authors used by the Lucky Star project to produce ephemerides of trans-Neptunian objects and Centaurs for occultation prediction, with observations weighted by bias and precision.. The least-squares correction and covariance propagation are 9:

Δ𝐪̂=(ATVobs−1A)−1ATVobs−1ΔY,Λ(t)=A(t)Λ0A(t)T, \widehat{\Delta \mathbf{q}} = (A^T V_{\mathrm{obs}}^{-1} A)^{-1} A^T V_{\mathrm{obs}}^{-1}\,\Delta Y, \qquad \Lambda(t) = A(t)\,\Lambda_0\,A(t)^T,

where 𝐪\mathbf{q} is the six-element state vector, which the paper writes CC, AA the matrix of partial derivatives, ΔY\Delta Y the observed-minus-computed residuals, Λ0=(ATVobs−1A)−1\Lambda_0 = (A^T V_{\mathrm{obs}}^{-1} A)^{-1} the covariance at the epoch and Λ(t)\Lambda(t) its linear propagation to date tt 9. The weighting prevents one well-observed night from dominating 9:

ωi2=Nibi2+σi2, \omega_i^2 = N_i\,b_i^2 + \sigma_i^2,

with NiN_i the number of observations from the same observatory on the same night, bib_i a bias for that observatory and catalogue, and σi\sigma_i the individual precision. The adopted biases are 300 milliarcseconds for Minor Planet Center positions, 75 to 300 milliarcseconds for the group's own positions depending on telescope and catalogue, and zero for occultation positions 9. The NIMA README records the occultation precision as 40 or 75 milliarcseconds. Since 2016 December 7, version 4 has also weighted offsets reduced with Gaia DR1 by b=40+20|yr−2015|b = 40 + 20\,|\mathrm{yr} - 2015| mas and σ=20+20|yr−2015|\sigma = 20 + 20\,|\mathrm{yr} - 2015| mas 16.

The alternative is the ephemeris offset methodephemeris offset methodA prediction technique that measures the difference between new astrometry of a body and a reference ephemeris a few days before an event and applies that difference as a constant correction. It fails when the offset drifts over a few weeks.: measure the body against a reference ephemeris a few days before the event and apply that offset as a constant 1. Desmars et al. showed that the offset between NIMA and JPL ephemerides drifts "even for short time scales of a few weeks". The constant-offset method "could not accurately predict 6 out of the 13 observed positive occultations successfully predicted by NIMA" 9.

For main-belt asteroids in 2007, Preston fitted orbits with OrbFit using JPL DE405, all planets and the Moon, and 13 large asteroids as perturbers. He gave a default a priori RMS of about 1 arcsecond to ordinary astrometry and 0.12 to 0.35 arcseconds to "high accuracy" data 10. For 2024, the RASC supplement takes orbital elements from JPL Horizons and star data from Gaia DR3 in Occult's own catalogue 7.

Orbit improvement: Gaia astrometry and occultation astrometry

An occultation is itself an astrometric measurement. Herald's procedure inverts the Besselian computation 5:

  1. Find the plane coordinates of the shadow centre at the reference time.
  2. Run an inverse Besselian calculation for the offset from the star's apparent position.
  3. Convert that offset to the J2000 ICRS frame by removing precession, nutation and aberration.
  4. Add it to the star's ICRS position corrected for parallax and proper motion.
  5. Correct for the relativistic deflection of the asteroid relative to the star. This "can be significant for solar elongations as large as 145° or more".

Because the result is tied to one star, it "can be updated whenever the star position is updated" 5. Because it is measured from the full outline, it refers to the centre of figurecentre of figureThe centre of the Moon's mean limb figure. The ephemeris tabulates the centre of mass, which lies about 1.9 km away, mostly along the Earth-Moon line, so the sky-plane part is about 0.5 arcseconds, historically applied as +0.50 arcseconds in longitude and −0.25 arcseconds in latitude. A limb profile referenced to the centre of mass, as the LOLA and Kaguya grids are, supersedes the correction., or to the centre of masscentre of massThe point whose motion the lunar ephemeris describes. Modern DEMs express heights relative to a sphere centred here, which is why they need no centre-of-figure correction. when a shape model is fitted. Image astrometry, including Gaia's, measures the photocentrephotocentreThe brightness-weighted centre of a body's image, which astrometry measures. Uneven albedo and phase move it away from the centre of figure. 5. For Eros at a 51 degree phase angle the photocentre is displaced by about 5 per cent of the mean diameter 5.

Ferreira et al. fitted orbits to the whole occultation record. With pre-Gaia catalogues the residuals were 30 to 50 milliarcseconds, and 80 to 90 milliarcseconds for some catalogues. With Gaia EDR3 they fell to about the 10 milliarcsecond level, an average factor of about 5 6. The core of the residual distribution has a full width at half maximum of about 10 milliarcseconds along-track and cross-track 6. The authors conclude that "occultation astrometry can reach the performance of Gaia on small asteroids (5-8 km in the main belt)" 6. The Gaia Focused Product Release fitted orbits of nearly 157 000 asteroids from Gaia data alone. It tested them against 5 774 occultation positions of 978 asteroids 17. For events within the Gaia time span the observed-minus-computed distance "peaks at about 10 mas", and away from it the ephemeris degrades by about 10 milliarcseconds per year 17.

For distant bodies one chord is enough. Rommel et al. derived 37 positions for 19 TNOs and 4 Centaurs, 68 per cent of them single-chord, "most have intrinsic precision at the submilliarcsecond level" on the Gaia DR2 frame 8. Camargo et al. state that occultation positions receive the largest weights in NIMA because they are accurate at the milliarcsecond level 18. SORA's paper adds that such positions "can highly improve the ephemeris ... even if it is from a single-chord event" 1.

The Arrokoth campaigns show the loop working on a 30 km body at 43 au. The final prediction for 2017 June 3 had a 1-sigma cross-track uncertainty of 44 km 12. After new Hubble Space Telescope (HST) astrometry reduced against pre-release Gaia DR2, the July 2017 predictions reached 14 km cross-track, 0.46 milliarcseconds. With the 2017 July 17 occultation position included, the 2018 August 4 prediction was 13 km cross-track and 1.8 s, or 36 km, along-track 12. Buie et al. planned station spacing with a Monte Carlo of the central line drawn from the predicted distribution. They used 15.5 km spacing for the 44 km case and 4 km spacing once the uncertainty was 14 km 12.

Typical numbers before and after Gaia

Quantity Pre-Gaia Gaia era Source
Star position, catalogue stars 10 to 70 mas below 1 mas, about 0.01 mas for G < 15 4 1
Main-belt ephemeris rarely below 500 mas (2007) more than 40 mas typical (2019) 4 5
Path uncertainty at 1 au about 350 km (2007) not given 4
Main-belt path uncertainty more than 40 km (2019) a few tenths of a path width for bright 2024 events 5 7
Occultation astrometry, orbit residuals 30 to 50 mas about 10 mas 6
Gaia-only orbits against occultations not available peak about 10 mas, degrading about 10 mas per year 17
TNO path, Arrokoth 44 km (June 2017) 13 to 14 km, 0.46 mas 12
Success rate of observed events about 15 per cent (2005, Euraster) not given 4

The count of events followed. Herald reports about 10 events a year in 1990 and 586 in 2019 5. Ferreira et al. identify a sharp rise with Hipparcos in the 1990s, a plateau from 2005 to 2015, and a new rise with Gaia DR1 in 2016 and DR2 in 2018 6.

Timing requirements

An occultation turns time into distance at the shadow velocity, typically several to tens of kilometres per second. Herald's list of improvements names accurate time as "the most critical item", seeking ways "to link accurate time (to within 10msec or less)" 5. The common time source in that data set is a GPS receiver stamping each field of an analogue video stream. The recent anomalies were "associated with the use of NTP as a time source, personal equation for visual observations, and observers attempting an event at the limit of their system's capabilities" 5. NTP is the Network Time Protocol. Observations are weighted by method: 5 for analogue video, 4 for digital video or photometer, 3 for sequential images or drift scans, and 1 for visual 5. Past reports without stated time uncertainties are to receive 0.5, 1.0 or 1.5 s 5.

The Arrokoth flight of SOFIA, the Stratospheric Observatory for Infrared Astronomy, found three aircraft clocks offset from each other by 1 s steps. The likely cause was out-of-date leap-second almanac data, so the team trusted only the GPS-slaved clock recorded with the images 12. Herald's time scale for reported events is UTC 5. SORA expects UTC by default but accepts any Astropy time scale 1.

The light-curve side of timing, including the sub-exposure estimate σt=σLCtexp/Δf\sigma_t = \sigma_{LC}\,t_{\mathrm{exp}}/\Delta f, is in Light curves, chords and results.

Software, services and the data they use

Tool or service Role Ephemeris used Star catalogue Notes
Occult 4 (Herald) 19 Search, path maps, reduction, archive JPL Horizons elements for 2024 predictions Occult's own Gaia EDR3 or DR3 subset to mag 16 with UCAC4, Tycho-2 and HIP identifiers Closed Windows program. Its observations file feeds the Planetary Data System (PDS) data set 7 5
OccultWatcher (Pavlov) 20 Feeds, filtering, station announcements From each feed From each feed Feeds include Preston's International Occultation Timing Association (IOTA) updates, OZNZ, NAmer, E.A.O.N. and TNO extras 20
asteroidoccultation.com (Preston) 11 Updated main-belt predictions OrbFit with DE405 in 2007 UCAC2 and Tycho-2 in 2007, Gaia DR2 by 2019 Current updates only through OccultWatcher since 2024 10 2
Lucky Star (Sicardy et al.) 21 TNO, Centaur and Trojan predictions and campaigns NIMA, Genoid for satellites Gaia DR3 Lists G*=G+2.5log(v/20)G^* = G + 2.5\log(v/20) to rank slow events 21
SORA 3 Open Python prediction and reduction SPICE kernels or Horizons queries Gaia DR2, EDR3 or DR3 through VizieR or LIneA (Laboratório Interinstitucional de e-Astronomia) Version 0.3.3, default catalogue gaiadr3_linea
JPL Horizons and SBDB 14 15 Ephemerides and covariance JPL orbit solutions none Uncertainties are 3-sigma
Euraster (Frappa) 22 European results 1996 to 2022 not applicable not applicable Domain expired by 2025; observations since 2023 go to SODIS 23

The JPL planetary ephemerisJPL DE seriesJPL's Development Ephemerides integrate and fit the Sun, planets and Moon to tracking and ranging observations. Accuracy statements and inter-release differences have date and component limits. A fitted lunar range residual does not bound every three-dimensional orbit component. enters all of these through the asteroid orbit fit and the Earth's position. French and Souami's planetary predictions use DE440 13. Preston's 2007 orbit fits used DE405 10. None of the sources cited here states which DE version Occult itself uses for asteroid work.

Occult's catalogue is described both as Gaia EDR3 and as Gaia DR3 7. For astrometry the two are the same: Gaia DR3 "neither contains new astrometry nor new photometric calibrations", and its astrometry is the one published as part of EDR3 24.

Sources compared

Source Kind What it gives that the others do not
Gomes-Júnior et al. 2022 1 Method paper Plane equations, closest-approach formulas, light-time and star-parallax limits, accuracy targets per body
SORA code 3 Implementation The actual search radius, three-stage refinement, path and 1-sigma construction, sea-level ellipsoid projection
Herald et al. 2020 5 Data-set paper Besselian reduction, inverse astrometry steps, single-chord error rules, timing goals, event counts
Tanga and Delbo 2007 4 Analysis Quadrature error model, efficiency factor, pre-Gaia catalogue errors
Desmars et al. 2015 and NIMA README 9 16 Orbit method Covariance propagation, night-bias weighting, failure of the offset method
Ferreira et al. 2022 6 Statistics Residual levels before and after Gaia EDR3
Gaia FPR 2023 17 Validation Gaia-only orbits against occultations, 10 mas per year drift
Buie et al. 2020 12 Campaign Uncertainty history of one TNO, deployment Monte Carlo
Preston FAQ and 2007 slides 2 10 Practitioner Occult plot conventions, ground width, Rank, pre-Gaia update workflow
Horizons manual and SBDB API 14 15 Data service 3-sigma convention, covariance access

What a developer should do

  1. Put the fundamental plane on the star direction and compute the body's plane coordinates with SORA's equations 7 to 9, in kilometres, from apparent or astrometric positions used consistently for star and body 1 5.
  2. Propagate the Gaia DR3 star with full space motion and its covariance, apply the Cantat-Gaudin and Brandt proper-motion correction for bright stars, and flag RUWE above 1.4 1.
  3. Take the ephemeris from SPICE kernels or Horizons, and its covariance from the SBDB API. Map the covariance to the plane-of-sky ellipse at the event and divide Horizons 3-sigma values by 3 15 14. In SORA, set error_ra and error_dec explicitly, because they default to zero 3.
  4. Form σpath\sigma_{\mathrm{path}} from the cross-track components of both errors, not from max(σα,σδ)\max(\sigma_\alpha, \sigma_\delta) as SORA's search does. Convert with 0.7253D∘0.7253\,D_\circ km per milliarcsecond, with D∘D_\circ in astronomical units 4 3.
  5. Use a cubic in time for the shadow motion, as Herald does, so that slow events near quadrature stay correct 5 1.
  6. Project to the ground with the observer's height on the ellipsoid. Report the path edges, the 1-sigma lines and the along-track time uncertainty in seconds 2.
  7. Close the loop. Ingest observed occultation positions with zero bias and a precision of a few milliarcseconds into the orbit fit, as NIMA does 16.

Read SORA's paper and prediction/core.py first, then Herald et al. 2020 sections 4 and 5, then Desmars et al. 2015 section 3.

What this changes

The eclipse pipeline's Besselian layer carries over with three changes. The shadow axis is the star direction and is fixed for the event. The shadow radius is the body's radius with no cone angle. The ephemeris uncertainty becomes a first-class output, because for occultations the 1-sigma band is part of the product, not a footnote. The pipeline needs a star-catalogue stage with space-motion propagation and an orbit-covariance stage, neither of which a solar-eclipse pipeline has.

Open questions

  • Obtain Occult's help file Occult.chm and read the asteroid-prediction topics, to record the Besselian element definitions, the DE version and how the uncertainty ellipse is built from orbit and star errors 19.
  • Obtain Assafin et al. 2010 (A&A 515, A32) for the original closest-approach and offset method that SORA's paper cites.
  • Obtain Herald's Journal for Occultation Astronomy articles on the Gaia-era prediction process to replace the 2007 Preston slides as the description of current IOTA updates 10.
  • Obtain the orbit files of the Gaia Focused Product Release to measure the path uncertainty for main-belt events from those orbits 17.
  • Run SORA's prediction and Occult on the same event and star, and compare the closest-approach time, the central line and the 1-sigma lines.

References

  1. 1peer-reviewed Gomes-Júnior, A. R., Morgado, B. E., Benedetti-Rossi, G. et al. (2022). SORA: Stellar Occultation Reduction and Analysis. MNRAS 511, 1167-1181 (arXiv:2201.01799) Read in full from the arXiv LaTeX source. Source of the closest-approach equations (Assafin et al. 2010 geometry), the shadow velocity, the magnitude-drop equation, the Fresnel scale f = sqrt(lambda D / 2), the star radius at the body, the exposure length r_t = V_S t_exp, the timing uncertainty sigma_t = sigma_LC t_exp / Delta f, the tangent-plane equations 6 to 9, the 0.021 s light-time and the chord and ellipse chi-square. Its printed albedo equation omits the factor 0.4 that the code applies.
  2. 2company Preston, S. Steve's Asteroid Update: HELP / FAQ page (asteroidoccultation.com), last updated 2019-06-11 Read. Source of the Occult plot conventions: the path width as diameter divided by the sine of the star altitude, the dashed 1-sigma lines and the 68 and 95 per cent interpretation, the uncertainty ellipse, the Rank definition and the RUWE note.
  3. 3company riogroup/SORA, Stellar Occultation Reduction and Analysis, version 0.3.3, commit 63a1b2d of 2026-08-03 Code read: sora/prediction/core.py (occ_params and prediction), sora/prediction/occmap.py (xy2latlon and the path and 1-sigma lines), sora/lightcurve/utils.py (calc_fresnel, bar_fresnel, calc_magnitude_drop), sora/lightcurve/core.py (occ_model), sora/occultation/utils.py (calc_geometric_albedo) and sora/occultation/fitting.py (fit_ellipse). The authors document their own library, so the grade is company.
  4. 4peer-reviewed Tanga, P. and Delbo, M. (2007). Asteroid occultations today and tomorrow: toward the GAIA era. A&A 474, 1015-1022 (arXiv:0801.2684) Read the sections on astrometric accuracy from the arXiv LaTeX source. Source of sigma_path = sqrt(sigma_CEU^2 + sigma_star^2), the efficiency factor p = 2 theta / sigma_path, the pre-Gaia catalogue errors (FK6 1 mas, Hipparcos 10 mas, Tycho-2 70 mas, UCAC2 20 mas), the 0.5 arcsec ephemeris and 350 km statement, and the 15 per cent success rate of 2005.
  5. 5peer-reviewed Herald, D., Gault, D., Anderson, R. et al. (2020). Precise astrometry and diameters of asteroids from occultations: a data set of observations and their interpretation. MNRAS 499, 4570-4590 (arXiv:2010.06086) Read sections 1 to 6, 8 and 10 to 11 from the arXiv LaTeX source. Source of the reduction on the fundamental plane with Besselian elements and a cubic shadow motion, the inverse Besselian astrometry steps, the single-chord uncertainty rules, the weights 5, 4, 3 and 1, the ellipse-fit treatment of misses, the 40 mas and 40 km pre-Gaia statement, the 586 events of 2019, the Gaia DR2 bright-star frame rotation and the 10 ms timing goal.
  6. 6peer-reviewed Ferreira, J. F., Tanga, P., Spoto, F., Machado, P. and Herald, D. (2022). Asteroid astrometry by stellar occultations: accuracy of the existing sample from orbital fitting. A&A 658, A73 (arXiv:2201.03892) Read from the arXiv text. Source of the pre-Gaia residual level of 30 to 50 mas, the Gaia EDR3 level near 10 mas, the factor of about 5 reduction, the 10 mas FWHM of the residual core, the 3 to 4 mas along-track error level, the RUWE analysis and the statement that 61 per cent of events are single-chord.
  7. 7trade Dunham, D. W. et al. (2024). 2024 Occultations of Bright Stars by Main-Belt Asteroids. RASC Observer's Handbook supplement Read (pdftotext). States that the 2024 orbital elements are from JPL Horizons and star data from Gaia DR3 in Occult's catalogue, that path locations are uncertain by a few tenths of a path width, and that improved predictions are now distributed only through OccultWatcher.
  8. 8peer-reviewed Rommel, F. L., Braga-Ribas, F., Desmars, J. et al. (2020). Stellar occultations enable milliarcsecond astrometry for Trans-Neptunian objects and Centaurs. A&A 644, A40 (arXiv:2010.12708) Abstract and method summary read. Source of the 37 positions for 19 TNOs and 4 Centaurs, 68 per cent single-chord, at sub-milliarcsecond intrinsic precision on the Gaia DR2 frame.
  9. 9peer-reviewed Desmars, J., Camargo, J. I. B., Braga-Ribas, F. et al. (2015). Orbit determination of trans-Neptunian objects and Centaurs for the prediction of stellar occultations. A&A 584, A96 (arXiv:1509.08674) Read from the arXiv LaTeX source. Source of the NIMA least-squares correction, the covariance propagation Lambda(t) = A(t) Lambda_0 A(t)^T, the weighting omega_i^2 = N_i b_i^2 + sigma_i^2, the bias table (300 mas for MPC data, 75 to 300 mas for offset data, 0 for occultations) and the result that the constant-offset method failed for 6 of 13 events.
  10. 10company Preston, S. (2007). Asteroid Occultation Prediction Process (slides, as of summer 2007) Read from the Wayback Machine copy of 2019-10-21; the live file returns 404. Pre-Gaia baseline: searchers and catalogues (Tycho-2, UCAC2, Hipparcos), OrbFit with JPL DE405, 1 arcsec default a priori RMS against 0.12 to 0.35 arcsec for high-accuracy astrometry, 13 perturbing asteroids, Dunham's event criteria, and too many 2-sigma shifts.
  11. 11company Preston, S. Asteroid Occultation Predictions home page (asteroidoccultation.com) Read on 2026-10-17. States that from 2024 the posted predictions are not the most current and that the current ones are distributed through OccultWatcher.
  12. 12peer-reviewed Buie, M. W., Porter, S. B. et al. (2020). Size and shape constraints of (486958) Arrokoth from stellar occultations. AJ 159, 130 (arXiv:2001.00125) Read the prediction, deployment and astrometry sections from the arXiv text. Source of the 31.4 km per mas scale, the 44 km, 14 km and 13 km cross-track uncertainties, the Monte Carlo deployment planner, the 15.5 km and 4 km station spacings, the pre-release Gaia DR2 use and the airborne clock offsets.
  13. 13peer-reviewed French, R. G. and Souami, D. (2023). Earth-based stellar occultation predictions for Jupiter, Saturn, Uranus, Neptune, Titan, and Triton: 2023-2050. Planetary Science Journal 4, 202 (arXiv:2307.13530) Read sections 1 to 3 and the target histories from the arXiv text. Source of the RINGFIT method with the SPICE kernels de440, jup365, sat440l, ura161, nep097 and pck00010, the 2MASS-to-Gaia DR3 cross-match, the event types, the cross-check against SORA within a few seconds and a few km, and the histories of the 1977 Uranus, 1989 28 Sgr and 2017 Triton events.
  14. 14primary JPL Horizons System Manual Read live. Observer table quantities, DE440/DE441, satellite eclipse circumstances; no solar eclipse product.
  15. 15primary JPL Solar System Dynamics. SBDB (Small-Body DataBase) API documentation Read. The cov parameter returns the orbital covariance as a full matrix, an upper-triangular vector or its square root, at the JPL orbit-solution epoch.
  16. 16company Lucky Star project. NIMA ephemerides README.txt (version history 1 to 4) Read in full. Lists the weighting of each NIMA version, the occultation sigma of 40 or 75 mas, and the version 4 rule for offsets reduced with Gaia DR1: bias = 40 + 20 |yr - 2015| mas and sigma = 20 + 20 |yr - 2015| mas, in use since 2016-12-07. The file carries no later version.
  17. 17peer-reviewed Gaia Collaboration, David, P., Mignard, F. et al. (2023). Gaia Focused Product Release: asteroid orbital solution. Properties and assessment. A&A 680, A37 (arXiv:2310.14699) Read section 5.6 and the abstract in the arXiv version. Source of the orbits of nearly 157 000 asteroids from Gaia data alone, the comparison with 5 774 occultation positions of 978 asteroids, the O-C peak near 10 mas for events in 2014 to 2020, and the degradation of about 10 mas per year outside the Gaia arc.
  18. 18peer-reviewed Camargo, J. I. B., Desmars, J., Braga-Ribas, F. et al. (2018). The future of stellar occultations by distant solar system bodies: perspectives from the Gaia astrometry and the deep sky surveys. Planetary and Space Science 154, 59-62 (arXiv:1903.00723) Read from the arXiv text. Source of the statement that occultation positions receive the largest weights in NIMA and of the LSST astrometric accuracy of about 10 mas per exposure.
  19. 19company Occult v4 (David Herald) home page Fetched with curl 2026-09-15. Feature list, C#/.NET 4.5, 42 data files, installer sizes. Eclipse-specific help is inside the Windows help file and was not read.
  20. 20company Pavlov, H. OccultWatcher home page Read. Describes OccultWatcher as a Windows client that filters asteroid-occultation prediction feeds and lets observers announce their stations, and lists the feeds (IOTA Updates from Preston, OZNZ, NAmer, E.A.O.N., TNO and others).
  21. 21company Lucky Star project. Predictions of stellar occultations by TNOs, Centaurs and Trojans (web page) Read. States that ephemerides come from NIMA, star positions and proper motions from Gaia DR3, satellites from the Genoid project, and defines the normalised magnitude G* = G + 2.5 log(v/20) with v the sky-plane velocity in km/s.
  22. 22company Frappa, E. euraster.net: European Asteroidal Occultation Results, index page as archived 2023-07-01 Read from the Wayback Machine. Results 1996 to 2022, path maps and chord reductions done with Occult, and the notice that observations from 2023 onward go to SODIS. The Wayback copy of 2025-05-17 shows the domain expired, and on 2026-10-17 the live domain served unrelated content.
  23. 23company IOTA/ES. SODIS (Stellar Occultation Data Input System) home page Read. SODIS is the IOTA/ES collection system for observations of occultations by asteroids, comets, planets and their moons, maintained by E. Tunsch, version 2.2.7.
  24. 24primary ESA Gaia. Gaia Data Release 3 (Gaia DR3) overview page Read on 2026-10-17. States that DR3 "neither contains new astrometry nor new photometric calibrations" and lists its astrometry as published as part of Gaia EDR3. Used for the equivalence of EDR3 and DR3 positions.