Earth seen from orbit over the South Atlantic, ringed by a dense shell of satellites. Two satellites on crossing orbits collide, and trails of orange debris stream ahead along both orbits.
Kessler@home

Mapping the tipping point of low Earth orbit

Model Validation

This page describes every check the Kessler@home simulation has been put through: what was run, with which inputs and settings, what came out, and what the result does and does not show. Each setup is written out as a recipe, so that someone with the same reference models can repeat it. Unless a section says otherwise, the results are from the Kessler@home simulation as of 3 November 2026, application version 1.00. Versions 1.01 and 1.02 change only what a task reports and how the application is built; they compute the same thing. For what the Kessler@home simulation itself does, see The science.

Summary of the checks

CheckCompared withWhat it testsFinding
MASTER-8ESA's reference population, February 2026The starting population and the 1–10 cm debris, by altitudeObjects 10 cm and larger: 0.98 of MASTER over 200–2,000 km, partly by construction, since the estimate of uncataloged objects was tuned on this comparison. Intact objects agree to 3%. 1–10 cm debris: 1.27 of MASTER
ORDEM 3.2NASA's flux model, its 2026 projectionImpact rates computed from the populationAgree where the population has not changed since ORDEM was built. The two reference models differ by 2 to 4 times on 1–10 cm debris above 1,000 km
IADC studySix space-agency models, 2009 to 2209Collisions, breakups and drag over 200 yearsCollision rate inside the published range (one every 7.5 years against 5 to 9). Population trend −10% against +30%, traced to the inputs
Debris cloudsThe public catalog's record of six real breakupsFragment sizes and area-to-mass, drag, atmosphereFengyun-1C within about 2 points over years 8 to 15. The clouds of the 2009 collision decay faster than in the Kessler@home simulation
MOCAT-MCMIT's open model on the same scenarioAn independent code on comparable inputsSame collision band and fragment yield. In both codes the growth depends on the input population
Numerical settingsThe same scenario at a shorter step, smaller cubes, more runsWhether the settings bias the answerNo dependence on the step. 400 runs per scenario pin a probability to ±2.5 points
RegressionReference ensembles of the Kessler@home simulation itselfEvery change to the Kessler@home simulationEach change is either identical or explained before it is accepted
PlatformsThe same task on Linux, Windows, macOS, ARM and graphics cardsBit-for-bit reproducibilityIdentical results on every platform tested

ESA MASTER-8: objects in orbit today, by altitude

What it checks. Whether the population the Kessler@home simulation starts from holds as many objects at each altitude as ESA's reference model does. That population is the public catalog plus an estimate of the objects 10 cm and larger that the catalog misses at high altitude. The 1 to 10 cm debris, which is counted per altitude shell rather than tracked object by object, is estimated separately. Both estimates are made by re-creating 349 known breakups since 1961 with the Kessler@home simulation's own breakup model and following the fragments to the present.

Setup.

  • Reference model: ESA's MASTER-8 (Meteoroid and Space Debris Terrestrial Environment Reference), command-line tool version 8.2.3, with the reference population files of February 2026, which are split by debris source.
  • MASTER runs: spatial density against altitude, 200 to 2,000 km in 36 classes of 50 km, at 1 February 2026. Two runs were made, one for objects of 1 cm and larger and one for 10 cm and larger, each with every human-made source switched on and meteoroids off. A shell's count is its spatial density times the volume of the spherical shell (Earth radius 6,378.137 km).
  • Sources: explosion fragments, collision fragments, and launch- and mission-related objects are compared directly. MASTER's sources that the Kessler@home simulation does not carry (sodium-potassium coolant droplets, solid rocket motor slag and dust, paint flakes, impact ejecta and multilayer insulation) are counted as "other" and included in MASTER's totals.
  • Kessler@home side: the starting population of the sweep (the catalog as of October 2026). Each object is spread over the same 36 shells in proportion to the time it spends in each, from Kepler's equation; a near-circular orbit sits in one shell. The 1 to 10 cm debris is already a count per 50 km shell and is used as it is.
  • Catalog completeness (chosen with this comparison): radar catalogs smaller objects nearer the ground, so above about 1,000 km the catalog misses some objects of 10 cm and larger, and the Kessler@home simulation adds an estimate of them. The estimate depends on the smallest size the catalog sees at each altitude, which isn't known exactly. Three assumptions were tried and the one closest to MASTER kept: 10 cm up to 1,000 km, rising to 15 cm at 1,500 km and 20 cm at 2,000 km. A larger assumption (10 cm to 600 km, 20 cm at 1,000 km, 30 cm from 1,500 km) gave 1.22 times MASTER's objects of 10 cm and larger and 1.87 times its 1 to 10 cm debris. Assuming the catalog misses nothing gave 0.94 and 1.12. Because of this choice, the total of objects 10 cm and larger agrees with MASTER partly by construction. The independent parts of the comparison are the intact objects and the cataloged fragments below 1,000 km.

Result. Objects 10 cm and larger resident in each band:

Altitude (km)Kessler@homeMASTER-8Ratio
200–4001,4594912.97
400–60013,55914,2330.95
600–8005,1055,0261.02
800–1,0004,6474,6181.01
1,000–1,2002,3172,2651.02
1,200–1,4001,4641,7470.84
1,400–1,6001,7762,1280.83
1,600–1,8004767460.64
1,800–2,0002373560.67
200–2,00031,04131,6100.98

Objects of 1 to 10 cm:

Altitude (km)Kessler@homeMASTER-8Ratio
200–4003801,6570.23
400–6006,98011,1440.63
600–80067,76061,4811.10
800–1,000103,28082,9701.24
1,000–1,20071,36046,4351.54
1,200–1,40063,14044,6371.41
1,400–1,60070,22050,0731.40
1,600–1,80027,24024,5781.11
1,800–2,00014,46012,8451.13
200–2,000424,820335,8191.27

What it shows.

  • The intact objects (satellites, rocket bodies and mission-related objects) agree to 3%: 19,276 against MASTER's 18,706. They are the same objects, from the same catalog.
  • The 200 to 400 km band holds three times MASTER's count. In the catalog of October 2026, 1,232 intact objects sit at 300 to 400 km, against MASTER's 290 in February. 923 of them are Starlink satellites, among them 637 of one type, launched in 2024 and 2025, that now operate at 350 to 375 km. Whether they were already there in February and are missing from MASTER's snapshot, or were moved down since, isn't known yet. Below 600 km as a whole the two counts agree within 2%, so the same satellites are in both, at different altitudes. SpaceX also lowered its 550 km shell to about 480 km during 2026 (about 4,400 satellites, announced in January 2026; MacDonald, 2026), which is why this population is short of MASTER's at 500 to 600 km.
  • The cataloged fragments match MASTER at 600 to 1,000 km (6,861 against 7,038), so the catalog is complete to 10 cm there. Above 1,200 km MASTER carries more fragments, by a factor rising from 1.5 to 3 near 2,000 km. The estimated uncataloged objects recover about half of that gap, and the ratio stays at 0.64 to 0.84.
  • The 1 to 10 cm debris is 1.27 times MASTER's overall: 1.1 to 1.25 times at 600 to 1,000 km and 1.4 to 1.55 times at 1,000 to 1,600 km, where the old Delta and Kosmos-3M clouds are. Below 600 km it is lower. Part of that is a source the Kessler@home simulation does not model: solid rocket motor slag, which MASTER estimates from a model of past solid motor firings. Slag is 4% of MASTER's 1 to 10 cm objects over 200 to 2,000 km, but 18% below 600 km, where small fragments don't last long. Comparing fragments with fragments, the Kessler@home simulation has 0.32 of MASTER's at 300 to 400 km, 0.54 at 400 to 500 km and 0.82 at 500 to 600 km; the reason for that deficit has not been found yet. Because this is the least certain input, the amount of 1 to 10 cm debris today is one of the swept settings (from 0.25 to 1.4 times this estimate).
  • The size conventions differ. MASTER bins objects by diameter, while the breakup model counts fragments by its characteristic length, whose area-equivalent diameter is about 0.84 of it. A 15% difference in size moves a count by about 25%, so the comparison should be read at about that level.
  • Not compared: the impact flux on a spacecraft, MASTER's main output. The Kessler@home simulation does not compute a flux on a test object; the spatial density is the quantity its collision method uses. The flux comparison is done against ORDEM, below.

NASA ORDEM 3.2: impact rates on spacecraft orbits

What it checks. The rate at which a spacecraft on a given orbit would be hit, computed from the Kessler@home simulation's population, against NASA's engineering model. This tests the same population as the MASTER comparison, through a different quantity: the flux combines how many objects there are, where, and how fast they cross the target's orbit.

Setup.

  • Reference model: NASA's ORDEM 3.2 (Orbital Debris Engineering Model, version 3.2.0 of January 2022), obtained from NASA under its Software Usage Agreement. ORDEM's population files run from 2016 to 2050. The 2026 file used here is a projection, not an observation: ORDEM 3.2 keeps ORDEM 3.1's populations, adding only the fragments of the 2021 Cosmos 1408 test, and those hold real launches up to 2015 and then assume the 2008 to 2015 launch traffic repeats, with 90% of satellites and rocket bodies disposed of after their missions (Matney et al., 2019; Manis and Matney, 2022).
  • ORDEM runs: spacecraft assessment for the year 2026, on circular orbits at the centers of the Kessler@home simulation's 50 km shells, 325 to 1,975 km (34 altitudes), at three inclinations, 51.6°, 74° and 98°, with random node and argument of perigee: 102 runs, each of 20 seconds to a few minutes. The direction-and-speed grid is IGLOO_30x30x2.SIG.
  • Output compared: impacts per year on a sphere of 1 m² cross-section, for debris of 1 cm, 10 cm and 1 m and larger, split into intact objects and fragments. ORDEM's sizes are characteristic lengths, so the population's fragment sizes (area-equivalent diameters) are converted back to characteristic lengths first. ORDEM's sodium-potassium droplets, which the Kessler@home simulation does not carry, are left out. ORDEM's flux-weighted mean impact speed is compared as well.
  • Kessler@home side: the flux on the same orbit from the starting population. Each object is spread over the shells by the time it spends in each, and over latitude by its inclination, with random node and perigee (the method of Kessler, 1981). Its speed relative to the target is averaged over the points where the two orbits cross, and the target is averaged over its shell and the latitudes it covers. The 1 to 10 cm flux is the one the Kessler@home simulation itself uses: each shell's count, split over inclination like the shell's tracked fragments, times the crossing-geometry factor for the target's inclination, over the shell's volume.
  • Check of the method: a brute-force count, placing objects and targets at random positions on four test orbits (one of eccentricity 0.05), reproduces the computed flux to within 0.93 to 1.08, each within 1.2 standard errors of the sampling.

Result. Flux on the target, Kessler@home divided by ORDEM, summed over the shells of each band (population as rebuilt in November 2026):

Target inclinationAltitude (km)Intact, ≥ 10 cmFragments, ≥ 10 cmAll, ≥ 1 m1–10 cm1–10 cm impact speed, Kessler@home (km/s)ORDEM (km/s)
51.6°300–60029.791.7430.801.0811.310.6
600–9001.423.461.862.4211.210.7
900–1,2001.741.862.393.2310.810.5
1,200–1,6001.391.991.255.9210.510.2
1,600–2,0000.982.391.544.539.69.5
74°300–60027.891.7628.471.1012.211.9
600–9001.373.521.782.3912.011.8
900–1,2001.751.852.413.2011.711.7
1,200–1,6001.381.951.295.9011.511.5
1,600–2,0000.972.391.544.6010.710.5
98°300–60026.751.5327.030.9012.413.0
600–9001.423.281.882.2212.312.5
900–1,2001.731.722.202.7812.112.7
1,200–1,6001.332.131.205.4011.912.3
1,600–2,0000.902.211.453.8011.511.9

What it shows.

  • Where the intact population has not changed since ORDEM was built, the two agree: the intact flux is 0.90 to 0.98 of ORDEM's at 1,600 to 2,000 km, and within 1 to 22% in single shells at 825, 975, 1,425 and 1,475 km at all three inclinations. This checks the flux computation and its units end to end.
  • Below 600 km the intact flux is 27 to 30 times ORDEM's, because nothing launched after 2015 is in ORDEM's population. Most of the difference is the working Starlink and OneWeb satellites: without them the ratio below 600 km is 7.4 to 8.8, and at 900 to 1,600 km, where the OneWeb shell is, 0.8 to 1.0. The other satellites launched since 2015 make up most of the rest; the dead satellites and rocket bodies alone still give 2.8 to 3.0 times ORDEM's intact flux. Below 600 km this comparison therefore tests ORDEM's projection rather than the Kessler@home simulation, and the catalog is the better source there.
  • Fragments 10 cm and larger give 1.5 to 3.5 times ORDEM's fragment flux, most at 600 to 900 km. Two breakups since ORDEM's data, of Long March 6A upper stages in 2022 and 2024, account for 1,024 of the 5,721 cataloged debris objects there (18%), which explains part of it. The rest is a difference between ORDEM and the 2026 catalog, which MASTER-8 matches within 3% at 600 to 1,000 km. The catalog stays the source.
  • The 1 to 10 cm debris is 2.2 to 6 times ORDEM's above 600 km, more so with altitude, and 0.9 to 1.1 times below 600 km. Against MASTER the same debris is 1.1 to 1.55 times, so the two reference models themselves differ by a factor of about 2 to 4 in this size range above 1,000 km, MASTER being the higher. This is the largest disagreement in the comparison. The swept setting for the amount of 1 to 10 cm debris was widened because of it: its options of 0.7 to 1.4 times bracketed MASTER only, and the added 0.25 and 0.5 reach ORDEM's level.
  • The impact speeds of 1 to 10 cm debris agree within 0.7 km/s in every band and inclination. An earlier version of this comparison found that the Kessler@home simulation's fixed 10 km/s for small debris was up to a quarter too low for polar and sun-synchronous targets, which is why the Kessler@home simulation now takes the hit rate and speed from the crossing geometry.

The IADC comparison study: 200 years from 2009

What it checks. The Kessler@home simulation's whole long-term machinery (collisions, breakups, drag and the bookkeeping of the population) against the one published exercise in which several agency models projected the same scenario.

The study. In the Inter-Agency Space Debris Coordination Committee study "Stability of the Future LEO Environment" (Liou et al., 2013), six models (ASI SDM, ESA DELTA, ISRO KSCPROP, JAXA LEODEEM, NASA LEGEND and UKSA DAMAGE) projected the same scenario over 200 years. The scenario: the MASTER-2009 population of objects 10 cm and larger crossing LEO on 1 May 2009 (17,074 objects); launches repeating the 2001 to 2009 cycle; 8-year missions; 90% of payloads and rocket bodies disposed of within 25 years; no explosions; no collision avoidance. The models made 40 to 275 runs each, 725 in all. Results: the population grows by 30% on average by 2209 (model means +19% to +36%), 87% of runs end above the starting count, and a catastrophic collision happens every 5 to 9 years, mostly at 700 to 800 and 900 to 1,000 km. Lidtke, Lewis and Armellin (2017) later ran the DAMAGE version 25,000 times from 2013 and found a standard deviation of 3,377 objects in the final count.

Setup.

  • Time: start 1 May 2009, 200 years, 5-day step, collision probabilities in 10 km cubes. The analytic rate used for dense constellation layers is switched off, since the study's models used the cube method throughout. Catastrophic breakup above 40 J/g.
  • Starting population: the study's input is not public, so a synthetic population of 17,074 objects 10 cm and larger was built in the shape of the MASTER-2009 spatial density: a peak at 700 to 1,000 km holding the Fengyun-1C and Iridium–Cosmos clouds and a second peak at 1,400 to 1,500 km. Its makeup follows the published totals for the period (ESA's 2013 ranking study counts about 12,000 cataloged LEO objects, almost 9,000 of them fragments, and about 2,500 t in LEO; Liou, 2011, about 2,700 t): 600 working payloads, 1,300 dead payloads, 400 mission-related objects, 900 rocket bodies and 13,874 fragments, 2,700 t in all (rocket bodies 1,550 t, payloads 1,110 t). The fragments' orbits are drawn so that a Fengyun-1C-like cloud keeps about four fifths of its fragments for ten years, as the real one did.
  • Launches: an approximation of the 2001 to 2009 traffic, repeated throughout: 60 payloads a year (700 kg, 2.3 m) and 30 rocket bodies (1,500 kg, 3.8 m). Launch altitudes are 450 km (12%), 550 (15%), 650 (20%), 800 (25%), 900 (12%), 1,000 (8%) and 1,400 km (8%), each ±50 km. Inclinations are 98° (40%), 82.5° (12%), 74° (10%), 65° (8%), 51.6° (12%), 97° (8%), 86.4° (5%) and 48° (5%).
  • Behavior: 8-year missions with station keeping. 90% of payloads at the end of their mission, and 90% of new rocket bodies at launch, are lowered to an orbit with 25 years of life left. No explosions, no collision avoidance, no debris removal.
  • Atmosphere: the NRLMSISE-00 density table, with a cosine solar cycle: F10.7 mean 123, amplitude 60, period 11 years, maximum in 2014. Drag coefficient 2.2.
  • Small debris: the 1 to 10 cm debris is off, since the study's models tracked objects 10 cm and larger only.
  • Runs: 24, seeds 1 to 24.

Result (the current reference ensemble):

QuantityIADC study (six models)DAMAGE, 25,000 runs from 2013Kessler@home, 24 runs
Final count, 10 cm and larger, meanabout 22,200 (+30%)20,26715,373 (−10.0%)
Standard deviation of the final count—3,3772,754
Runs ending above the start87%—21% (5 of 24)
Catastrophic collisions in 200 years22 to 40 (one every 5 to 9 years)—26.8 (18 to 37), one every 7.5 years
Where they happenmostly 700–800 and 900–1,000 km—45% at 700–1,100 km, 46% at 400–700 km

What it shows. The collision rate agrees. The run-to-run spread agrees too, including the long upper tail (final counts from 10,955 to 23,589). The trend does not: the population falls by 18% in the first decade (17,074 to 13,918), bottoms out near 12,300 around 2110 and recovers to 15,373, where the study's models grow by 30%. The gap, about 7,000 objects over 200 years out of about 38,500 fragments created per run, is the balance between fragments made and fragments decayed, and it traces to the inputs:

  • the synthetic starting fragments decay faster than the real 2009 population did (the Kessler@home simulation's Fengyun-1C cloud keeps 77% after ten years under this solar cycle, against the catalog's 83%), and the cosine cycle, averaging 123, is stronger than the real cycle 24 that followed 2009, which averaged 98;
  • the approximate traffic puts 27% of launches at 450 to 550 km, which makes 400 to 700 km a collision band as busy as 700 to 1,100 km. Fragments made there decay within years instead of lasting at 700 to 1,000 km.

How much the trend depends on the starting fragments: drawing the same number of synthetic fragments with a different but defensible rule for their orbits, which halves their typical area-to-mass, turns the Kessler@home simulation's −10.0% into +8.5% and raises the collisions to 31.7. Only the study's own inputs, which are not public, would settle it. So this comparison validates the Kessler@home simulation's collision machinery but not the growth figure, and nothing from the synthetic population is used as a result about the real environment. The sweep itself starts from the real 2026 catalog.

Six real debris clouds, followed through the catalog

What it checks. The breakup model's fragment sizes and area-to-mass ratios, the drag model and the atmosphere together, against how real fragment clouds actually decayed. No synthetic population is involved.

Setup.

  • Kessler@home side: the parent objects are placed at the breakup's date, altitude and inclination and broken up once with the NASA Standard Breakup Model: as a collision, from both masses and the impact speed, or as an explosion. The fragments 10 cm and larger are propagated with the same drag, atmosphere and Sun and Moon gravity as the full runs, with a 5-day step and seed 1. The observed monthly solar flux (F10.7) is used instead of the cosine cycle. Nothing else is in orbit: no launches, and no further collisions or explosions. The Kessler@home simulation's survival is the fraction of the fragments in orbit just after the breakup that are still in orbit at each anniversary.
  • Catalog side: from CelesTrak's satellite catalog (SATCAT), every object of type debris carrying the parent's international designator, and the fraction of them with no decay date at each anniversary of the breakup.
  • Parents: public approximations of mass and size (the sizes are the breakup model's characteristic lengths). The survival fraction is insensitive to them; the fragment count is not.
BreakupDateOrbitObjectsCataloged debris
Fengyun-1C (antisatellite test)11 Jan 2007865 km, 98.8°880 kg, 3 m, hit by a 600 kg, 1 m interceptor at 8 km/s3,534
Cosmos 2251 and Iridium 33 (collision)10 Feb 2009789 km, 74.0° for both900 kg, 3 m and 560 kg, 3 m at 11.65 km/s1,716 and 656
Cosmos 1408 (antisatellite test)15 Nov 2021480 km, 82.6°1,750 kg, 4 m, hit by a 500 kg, 1 m interceptor at 8 km/s1,806
Briz-M upper stage 2012-044C (explosion at perigee)16 Oct 2012265 × 5,015 km, 49.9°2,370 kg, 2.6 m117
Briz-M upper stage 2006-006B (explosion at perigee)19 Feb 2007about 495 × 14,700 km, 51.5°2,370 kg, 2.6 m106

Both satellites of the 2009 collision are placed on Cosmos 2251's orbit. Iridium 33 was at 86.4°, but the atmosphere depends only on altitude and solar activity, so the inclination does not change how fast the fragments decay. For the two Briz-M explosions the fragment count is multiplied by 10 for a smoother fraction, and survival is counted from the fragments still in orbit 30 days after the breakup (with a 1-day step for those 30 days). A cloud with a 265 km perigee loses most of its fragments within weeks, before they can be cataloged, and the catalog's fraction is measured over the cataloged set.

Result. Percentage of the cloud still in orbit, Kessler@home simulation / catalog:

Years afterFengyun-1CCosmos 2251Iridium 33Cosmos 1408
194.2 / 99.493.1 / 97.491.1 / 97.030.3 / 25.2
292.7 / 98.791.7 / 95.388.9 / 94.29.3 / 4.8
392.1 / 98.087.1 / 89.087.3 / 87.63.3 / 0.9
491.0 / 96.984.8 / 84.285.2 / 80.61.8 / 0.3
687.1 / 90.780.3 / 71.580.5 / 63.6
883.7 / 85.577.9 / 66.177.4 / 56.4
1083.0 / 82.676.6 / 64.576.9 / 54.0
1282.8 / 81.876.0 / 63.576.7 / 52.6
1582.5 / 80.370.4 / 52.071.5 / 30.6
1779.3 / 74.264.0 / 37.262.6 / 18.1
1973.4 / 66.5
Years afterBriz-M 2012-044C, 265 × 5,015 kmBriz-M 2006-006B, 495 × 14,700 km
121.9 / 66.7100.0 / 98.1
26.1 / 32.599.9 / 97.2
42.1 / 18.899.9 / 95.3
61.3 / 16.299.3 / 94.3
100.5 / 10.397.4 / 88.7
120.2 / 2.696.9 / 88.7
1992.1 / 84.9

What it shows.

  • Fengyun-1C is within about 2 points of the catalog from year 8 to year 15, and the Cosmos 1408 decay has the right shape and timescale (30.3% against 25.2% after one year).
  • In the first years the Kessler@home simulation loses more fragments than the catalog does (Fengyun-1C 6% against 0.6% in year 1). Fragments that reenter within weeks are never cataloged, so the catalog's first-year loss is biased low.
  • The clouds of the 2009 collision decay faster than the Kessler@home simulation gives them: 65% of Cosmos 2251's fragments remain after ten years against its 77%, and 54% of Iridium 33's against 77%. The Kessler@home simulation gives every satellite the same area-to-mass distribution for its fragments, so it cannot tell a dense Soviet communications satellite from a light satellite with large panels. In the 2024 to 2026 solar maximum the cataloged clouds also decayed faster than in the Kessler@home simulation.
  • For the Briz-M stage of 2012, the stage's own orbit is the cleaner test, since it does not depend on the breakup model. With a tumbling cross-section of 6.5 m², the Kessler@home simulation carries it from 265 × 5,008 km to 260 × 3,785 km in 14 years, against the catalog's 304 × 3,796 km today: a 1% error on the apogee lost through a solar maximum and a minimum. Its fragments, however, survive much better in the catalog than in the Kessler@home simulation; they behave like objects of area-to-mass below about 0.05 m²/kg, where the breakup model puts about 7% of its rocket-body fragments. The 2007 stage's fragments, on a higher orbit, stay within 9 points of the catalog throughout, the Kessler@home simulation always the higher.
  • Overall, the drag and propagation reproduce the observed decay to within a few points for Fengyun-1C over a decade, 12 points for Cosmos 2251 and 23 points for Iridium 33, and within a factor of two at one to two years for Cosmos 1408. The remaining error is in the fragments' area-to-mass, one distribution per kind of parent, not in the propagation. It errs in both directions: satellite fragments live somewhat too long, and the fragments of the 2012 Briz-M stage too short.

MIT MOCAT-MC on the IADC scenario

What it checks. How an independent, open-source model behaves on the same scenario, and so how far the IADC growth figure constrains a model at all. This comparison was run in October 2026, with the Kessler@home simulation of that time; the Kessler@home figure it is compared with is the first IADC ensemble (−11.3%, 27 collisions), close to the current one.

Setup.

  • Code: MOCAT-MC from MIT ARCLab's public repository (MATLAB, MIT license), as of October 2026, run under GNU Octave 8.4. MOCAT-MC's own files are unchanged. MATLAB-only functions are replaced by 18 small stand-ins: dates as Julian day numbers in place of MATLAB's datetime type, discretize, histcounts, splitapply, isoutlier, a one-component Gaussian fit, and a Kepler solver in place of the compiled one.
  • Driver edits: the two example driver files (initSim.m and main_mc.m of the Scenario_No_Launch example) were copied and changed in four places. Two changes affect results, because the files as published did not do what was intended:
    • The launch-repetition wrap-around compared the position in the launch window with one year instead of the window's length. From the second year on, it launched the window's first objects again at every step: 3,112 launches in two years against about 190 intended. It was changed to use the window's length.
    • The mission life of repeated launches was overwritten with the semi-major axis in Earth radii (about 1.1), which ended missions after about a year instead of eight. It was changed to write the intended column, the desired semi-major axis.
    The JB2008 density table shipped with MOCAT-MC runs from 2020 to 2224, so the density lookup of a 2009 start is shifted by eleven years (both years are solar minima). The save format is -v7 instead of -v7.3, and a script with a local function is split in two; Octave needs both, and neither changes a result.
  • Scenario: MOCAT's own initial condition for 2009 (its two-line-element catalog of 1 January 2009: 8,632 objects with perigee between 200 and 2,000 km, of which 1,757 payloads, 876 rocket bodies, 5,755 fragments and 244 mission-related objects). Launches repeat 2001 to 2009 (727 objects per nine years, about 80 a year). Missions last 8 years, 90% of satellites are disposed of (MOCAT removes a disposed object at once), there is no collision avoidance and there are no explosions. 5-day step, MOCAT's default 50 km cubes, 200 years, seeds 1 to 4. One run takes about an hour on one core.
  • Masses and sizes: known for only about a third of the objects. MOCAT's shipped method (fillMassRadius = 2) fills in the rest by sampling a Gaussian fitted to the known objects of the same class. For fragments this gives a median of 45 kg and 0.51 m, since the known ones are the large cataloged pieces.
  • Variant B: every radius divided by 1.5, as Jang et al. did for their own reconstruction (here applied to the repeated launches too).

Result (objects 10 cm and larger, 2009 to 2208):

Model and variantRunsGrowthLarge collisions per runWhere
MOCAT-MC as shipped (A)4+330% to +515%, mean +424%77700–1,000 km (84%)
MOCAT-MC, radii divided by 1.5 (B)4+119% to +214%, mean +163%28700–1,000 km (68%)
MOCAT-MC, Jang et al.'s reconstruction10about +35%——
IADC study725+30% (+19% to +36%)22–40700–800, 900–1,000 km
Kessler@home, synthetic 2009 population24−11.3%27700–1,100 km (42%)

For MOCAT-MC a large collision is one that makes 100 fragments or more; for the IADC study and Kessler@home it is a catastrophic collision.

What it shows. With its shipped data MOCAT-MC runs away: a few thousand "fragments" of one meter and 45 kg behave like a population of small satellites. Dividing the radii by 1.5 brings its collisions to 28 per run, inside the study's 22 to 40 and close to Kessler@home's 27, while the growth stays at +163%. That is partly because the starting count is half the study's, so the same fragments made are twice the relative growth, and partly because 45 kg fragments keep collisions with intact objects catastrophic. Jang et al. reached +35% only by also adding 7,200 debris objects. Two independent codes given populations of the same mass and intact count put their large collisions in the same broad band and agree on the fragments per collision, and each can be moved across the study's growth range by changing the fragment population's sizes and masses, which neither code knows from public data. The growth figure therefore tests the input population more than either model; the collision rate for a given population is the quantity that tests a model's code.

Time step, cube size and number of runs

What it checks. Whether the numerical settings bias the result, and how many runs a scenario needs. The IADC scenario above was rerun with the step halved, with the cubes halved and with 96 runs instead of 24. These runs were made in October 2026, before later changes to the Kessler@home simulation (among them the drag averaging and the Sun and Moon gravity), so the reference here is the ensemble of that time (−4.6%, 29.4 collisions); the comparisons are like with like.

CaseFinal count, mean (change)Runs ending above the startCatastrophic collisionsCPU time per run
10 km cubes, 5-day step, 24 runs (reference)16,284 (−4.6%)6 of 2429.4415 s
2.5-day step16,881 (−1.1%)14 of 2429.2872 s
5 km cubes14,392 (−15.7%)5 of 2420.9456 s
10 km, 5 days, 96 runs16,503 (−3.3%)28 of 9628.5432 s
  • Step: halving it leaves the collisions unchanged (29.2 against 29.4, with a standard error of the difference of 1.9) and moves the growth by 3.5 points against a standard error of 5.9. No dependence on the step can be detected at twice the cost, so the 5-day step stays.
  • Cube size: 5 km cubes give 29% fewer collisions. This is not a real dependence on the cube size. In a cube eight times smaller, every pair of intact objects of more than about 2.6 m combined radius has a collision probability above 1 in one step, and one roll of the dice can produce at most one collision where several are expected. A fair test needs the step shortened in proportion, at eight times the cost, and has not been run. At the default 10 km and 5 days no pair comes close (the largest probability is 0.88), and every run reports whether any pair did.
  • Number of runs: 24 and 96 runs agree on the mean, the collision rate and the share of runs that grow. With the measured spread from run to run, a runaway probability, which behaves like a share of runs, is known to about ±4 points from 150 runs and ±2.5 points from 400. That is why every scenario gets 400 runs in the first pass and 2,000 or more where the outcome is close or rare.

Benchmarks rerun after every change

What it checks. That a change to the Kessler@home simulation does not quietly change its answer. Two ensembles of 24 runs each are rerun after every change and compared with stored references:

  • The IADC scenario above, which covers the collisions, breakups, drag, the 25-year disposal rule and the bookkeeping, but runs with several parts of the Kessler@home simulation switched off, as the study's models did;
  • the nominal scenario on the real 2026 population with every part of the Kessler@home simulation switched on: the analytic rate for dense layers, the 1 to 10 cm debris, explosions, collision avoidance and the launch traffic model. Every one of its runs grows to the 2-million-object limit, near 2049, so the year it gets there is the outcome compared, with the collisions, the avoided collisions, and the breakups and mission losses caused by small debris.

Each run ends with a checksum of the complete final state of every object. If all 24 checksums are unchanged, the change did not touch that scenario. If they differ, the means must be within two standard errors of the reference, or the difference must be explained and written up before the new run becomes the reference. For example, a correction to one of the breakup model's area-to-mass parameters in November 2026 lowered the IADC collisions by 2.2 standard errors. Undoing each change of that revision in turn traced it to that correction, and the new rate (26.8) is still inside the study's range.

The same result on every computer

What it checks. BOINC runs each task on two volunteers' computers and compares the results, so the Kessler@home simulation must give the same answer, bit for bit, on every computer. Each platform's release build of the Kessler@home application, in standalone mode, ran the same set of cases, and the final-state checksums were compared:

  • Platforms: Linux x86-64; Linux ARM64 (an NVIDIA Jetson Orin Nano); Windows 11 (AMD Ryzen 7 7800X3D); macOS on Intel and on Apple Silicon (GitHub's hosted Mac machines).
  • Cases: the real 2026 population for 3 years, and for 20 years through a developing cascade to 201,979 objects; a synthetic 2026 population for 5 years; the IADC population for 5 years and for the full 200 years; and a 2-year run stopped and resumed from its checkpoint, with and without the 1 to 10 cm debris. The full test suite also ran on Linux, Windows and the Jetson.
  • Result: identical checksums on every platform. Two of the cases rerun with the combined multiply-and-add step computed in software instead of by the processor give the same checksums too. The graphics-card versions (NVIDIA CUDA and AMD HIP) are checked against the processor version by a built-in self-test, and two 200-year sweep cases, one ending with 1.4 million objects, came out identical on the processor and on three graphics cards.

Before the Kessler@home simulation used correctly rounded math functions (the CORE-MATH library) and its own number parsing, the three environments then available gave three different results, and in the cascading cases different object and collision counts within three years.

Component tests

Each build of the Kessler@home simulation runs an automated suite of 57,260 checks of the individual parts against known answers. Some of them:

PartTestResult
OrbitsKepler's equation on 20 cases; elements to position and back on 2,000 random orbitsresidual below 10−10; position to 1 mm
Earth's oblatenesssun-synchronous orbit at 800 km, 98.6°; the critical inclinationnode turns +0.9856°/day; perigee stationary at 63.435°
Dragdecay of an object of area-to-mass 0.01 m²/kg at mean solar activityinside the accepted ranges: 400 km 0.3–3 years, 600 km 8–60, 800 km 80–1,500
25-year ruledisposal of a 900 km satelliteperigee lowered to 498 km, 25.0 years of life left
Breakup modelfragment counts; mass conservationa catastrophic collision of 9,000 kg in all makes 4,740 fragments, of 100 kg 162, an explosion 239; the parents' mass carried to 10−9
Collision ratecube method against kinetic theory28.3 against 28.5 expected collisions
Dense layersanalytic rate against the Kessler (1981) integralwithin 3% for layers of 4 to 100 km
Sun and Moon gravityorbit-averaged rates against the Lagrange planetary equationswithin 10−4
Random numbersPhilox generator against the published known-answer vectorsexact

References

  • Liou, J.-C. et al. (2013). Stability of the future LEO environment. IADC-12-08, Inter-Agency Space Debris Coordination Committee. Summary (UNOOSA, 2013).
  • Lidtke, A., Lewis, H. and Armellin, R. (2017). Statistical analysis of the inherent variability in the results of evolutionary debris models. Advances in Space Research.
  • Jang, D. et al. (2025). A new Monte-Carlo model for the space environment. Journal of Spacecraft and Rockets. Code: MOCAT-MC, MIT ARCLab.
  • ESA MASTER-8, Meteoroid and Space Debris Terrestrial Environment Reference, ESA Space Debris User Portal.
  • NASA ORDEM 3.2, Orbital Debris Engineering Model, NASA Orbital Debris Program Office.
  • Matney, M., Manis, A., Anz-Meador, P., Gates, D., Seago, J., Vavrin, A. and Xu, Y.-L. (2019). The NASA Orbital Debris Engineering Model 3.1: development, verification, and validation. 1st International Orbital Debris Conference.
  • Manis, A. and Matney, M. (2022). ORDEM 3.2 flux assessment. Orbital Debris Quarterly News 26(2).
  • Johnson, N. L., Krisko, P. H., Liou, J.-C. and Anz-Meador, P. D. (2001). NASA's new breakup model of EVOLVE 4.0. Advances in Space Research 28(9).
  • Krisko, P. H. (2011). Proper implementation of the 1998 NASA breakup model. Orbital Debris Quarterly News 15(4).
  • MacDonald, C. (2026). Starlink is lowering thousands of satellites' orbits to reduce risk of collisions. Engadget, 1 January 2026 (SpaceX's announcement by Michael Nicolls, its vice president of Starlink engineering).
  • Kessler, D. J. (1981). Derivation of the collision probability between orbiting objects: the lifetimes of Jupiter's outer moons. Icarus 48.
  • Matney, M. et al. (2013), on the Briz-M 2012-044C breakup. 6th European Conference on Space Debris.
  • Bastida Virgili, B. and Krag, H. (2013), ESA's ranking study of objects in LEO. 6th European Conference on Space Debris.
  • CelesTrak SATCAT, T. S. Kelso (the decay record of the fragment clouds).