Smithsonian / Smithsonian/layup
Herget's convergence tolerance is ~30x tighter than useful, costing seeds on near-Earth arcs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 10
- Forks
- 2
- Avg merge
- 1d 43m
- Merged PRs (30d)
- 58
Description
herget_iod passes tolerance=0.0001, so herget_with_assist accepts no seed until the range step falls below 1e-4 au (15,000 km). An initial-orbit seed only has to land in the right basin -- the differential correction refines it -- so objects that already have a usable seed instead exhaust 100 iterations on each of the three rho rungs and return nothing.
Measured on 163 numbered NEOs, scoring the raw seed's semimajor axis against JPL ("good" = within 10%):
| threshold | seeds | good | vs shipped |
|---|---|---|---|
| 1e-4 (current) | 51/163 | 25 | - |
| 1e-3 | 59/163 | 31 | +6/-0 |
| 3e-3 | 72/163 | 36 | +11/-0 |
| 1e-2 | 96/163 | 41 | +18/-2 |
| 1e-1 | 121/163 | 15 | +8/-18 |
Total seeds rise monotonically, but usable seeds peak near 1e-2 and collapse at 1e-1, where unconverged seeds start being accepted.
Suggested value: 3e-3 -- the loosest threshold with no regressions, and the fraction within 10% is unchanged (50% vs 49%). The main belt is unaffected: tested at the more aggressive 1e-2, seeds went 156 -> 158 and good seeds 154 -> 155. Main-belt seeds are accurate to ~0.2% anyway, so the threshold rarely binds there; this is a near-Earth-regime effect.
One-line change. Note this is a parameter herget_iod passes, not a change to herget_with_assist itself.
Against #554, where this code currently lives.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the herget_iod entry point and trace the tolerance passed to herget_with_assist; issue #554 identifies where this code currently lives. Change the passed threshold to 3e-3, then verify that near-Earth seed counts improve without accepting the unconverged seeds described at 1e-1, while main-belt results remain unaffected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, performance
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100