Data Lab / NEO close approaches — flyby distance/velocity patterns and fireball correlation
NEO Close Approaches: Flyby Distance/Velocity Patterns and Fireball Correlation
Author: Claude (TerraPulse Lab)
Status: Complete
Created: 2026-04-03
GitHub Issue: #79
Hypothesis
Do near-Earth object close approach patterns correlate with fireball events?
Three specific hypotheses:
- Fireball rate increases when more close approaches occur (shared orbital environment)
- Close approach distance distribution follows a power law (geometric cross-section)
- Velocity distributions reveal distinct orbital populations
Data Sources
| Metric | N | Span | Notes |
|---|---|---|---|
neo_close_approach | 306 unique objects | 2026 catalog snapshot | JPL SBDB, deduplicated from 60K fetch records |
neo_fireball | 351 events | 1998-2026 | CNEOS fireball database, deduplicated |
neo_object | 7 catalog entries | 2026 | Named NEO orbital elements |
Methodology
- Distribution fitting: Lognormal, exponential, and Weibull fits tested via KS statistic for close approach distances; Clauset power law with bootstrap GOF for fireball energies
- Gaussian mixture models: 1- vs 2-component fits compared by AIC for velocity bimodality
- Population comparison: Mann-Whitney U and Welch t-tests with Cohen's d for velocity and size differences between tracked (close approach) and untracked (fireball) populations
- Temporal analysis: Inter-arrival time exponential test, monthly/quarterly dispersion indices, chi-square uniformity test for seasonality
- Completeness estimation: Cumulative H-magnitude distribution slope vs expected power-law growth
Findings
Key Result: Two Distinct Populations
Close approaches (tracked objects that miss) and fireballs (untracked objects that hit) are
statistically distinct populations with large effect sizes:
| Property | Close Approaches | Fireballs | Cohen's d | p-value |
|---|---|---|---|---|
| Velocity | 10.3 km/s median | 17.2 km/s median | d = -1.26 (large) | p < 10^-51 |
| Size (est.) | 15.8 m median | 5.0 m median | d = 1.63 (large) | p < 10^-68 |
Fireballs are systematically faster (by 67%) and smaller (by 3x) than tracked close
approaches. This is consistent with the known observational bias: fast, small objects evade
pre-detection surveys and are only noticed when they enter the atmosphere.
Distance Distribution
Close approach distances follow a Weibull distribution (c = 1.38, KS = 0.060, p = 0.21),
not a power law or lognormal. The median approach distance is 6.4 lunar distances (0.016 AU).
The Weibull shape parameter c > 1 indicates a slight pileup at intermediate distances,
consistent with the survey detection envelope favoring objects at 5-15 LD.
Velocity Structure
The velocity distribution is bimodal (delta-AIC = 33 favoring 2-Gaussian over 1-Gaussian):
- Primary component (72%): mu = 9.3 km/s, sigma = 3.3 km/s (low-inclination Earth-crossers)
- Secondary component (28%): mu = 16.1 km/s, sigma = 5.5 km/s (higher-energy orbits)
These components likely correspond to Apollo/Aten-type asteroids (low relative velocity,
co-orbital) vs Amor/cometary objects (higher relative velocity, eccentric orbits).
Fireball Energy: Power Law Confirmed
Fireball total radiated energy follows a power law with exponent alpha = 1.68 above
x_min = 5.9 kt (N_tail = 213, bootstrap p = 0.89). This is consistent with the size-frequency
distribution of small impactors following a cumulative power law with index ~2.7 (Brown et al. 2002).
The largest event in the catalog is the Chelyabinsk airburst at 37,500 kt (2013-02-14).
Fireball Temporal Pattern: Mixed
- Monthly/quarterly: Consistent with Poisson (dispersion index = 0.55 monthly, 1.48 quarterly)
- Annual: Non-Poisson (dispersion = 6.16) due to the CNEOS detection ramp-up from 2003 to 2015
- Seasonality: None detected (chi-square p = 0.61)
- Inter-arrival times: Depart from exponential (KS p = 0.0007), driven by variable reporting rates
No Distance-Velocity Correlation
Distance and velocity are uncorrelated for close approaches (Pearson r = -0.065, p = 0.26;
Spearman rho = -0.036, p = 0.53). One might expect detection bias to
preferentially find slow, close objects. The null result suggests the JPL catalog samples a
broad range of encounter geometries.
Apophis 2029 in Context
Apophis (370 m, H = 19.7) will pass at 0.000211 AU (0.08 LD = 31,600 km) on 2029-04-13.
Only one of 306 catalog objects approached closer, and that was a ~2 m body. Apophis is larger
than every object in the current close approach catalog. Its combination of size and proximity
is unprecedented in the JPL dataset.
Detection Completeness
The cumulative H-magnitude distribution grows as log10(N) = 0.43 * H - 9.19 (R^2 = 0.94).
Extrapolating to H = 30 predicts ~4,300 objects, but only 297 are cataloged: ~7% completeness
at the faint end. Detection is severely incomplete for sub-10m objects.
Detection Bias: H vs Distance
A strong anti-correlation exists between absolute magnitude and detection distance
(Pearson r = -0.65, p < 10^-37): brighter (larger) objects are detected at greater distances.
This confirms the expected survey detection bias and explains why the close approach catalog
is dominated by small, nearby objects.
Sensitivity Analysis
- Distance distribution fit is stable across distance cuts (0.02-0.05 AU)
- Fireball Poisson test is Poisson at monthly/quarterly windows, non-Poisson at annual
(due to CNEOS reporting ramp-up, not physical clustering)
Figures
- Distance & velocity distributions | PNG
- Fireball analysis (4-panel) | PNG
- Distance vs velocity scatter | PNG
References
- Brown, P. et al. (2002). "The flux of small near-Earth objects colliding with the Earth." Nature 420, 294-296.
- Clauset, A., Shalizi, C.R. & Newman, M.E.J. (2009). "Power-law distributions in empirical data." SIAM Review 51, 661-703.
- NASA JPL Small-Body Database: https://ssd.jpl.nasa.gov/
- CNEOS Fireball Database: https://cneos.jpl.nasa.gov/fireballs/
- Harris, A.W. & D'Abramo, G. (2015). "The population of near-Earth asteroids." Icarus 257, 302-312.
Author: PMA
Published: 2026-04-05 · Updated: 2026-04-05
Data files: close_approaches.parquet, fireballs.parquet, neo_objects.parquet, results.json
Scripts: analyze.py, extract.py