Download one self-contained experiment
Use the public materials link below and extract the archive into an empty directory. Keep the analysis script, eight CSV files and provenance JSON together. The archive also contains the reference-generation script, this README, fixed analysis outputs and checksums. None requires access to the private development repository.
Run the command below from that directory. The program uses only the Python standard library and writes a new analysis folder. It first verifies the integrator identifier and every raw-file SHA-256 against the provenance record. A failed hash stops the calculation instead of silently analyzing a different experiment.
Compare the newly written period-analysis JSON with the supplied expected file. Numerical entries should reproduce under the stated Python floating-point arithmetic. Platform details and hashes belong to the input provenance, while derived results retain their processing method.
python3 analyze-frozen-orbits.py --data-dir . --output-dir rerun-analysisReading: REBOUND 5.2.2 official Kozai example and IAS15 integrator · Tremaine & Yavetz, Why do Earth satellites stay up?, arXiv:1309.5244v1
Know exactly what each row contains
Each CSV row holds time, three position components, three velocity components and the companion’s three relative position components. All are measured in the nonrotating primary-centered frame. Initially the inner periapsis and companion lie on the positive first axis; the outer plane is tilted about that axis.
The gravitational constant, primary mass, companion mass and initial inner semimajor axis are one. The inner Kepler period is two pi. Divide time by the cube of the outer-to-inner semimajor-axis ratio to obtain the dimensionless secular time. The saved cadence is 0.005 in that time.
The provenance distinguishes full Newtonian and instantaneous-quadrupole files. The first group was generated by a three-particle IAS15 integration. The two quadrupole controls integrate the central attraction plus the explicitly stated tidal acceleration with a prescribed circular companion clock. Both groups save actual integrated positions and velocities.
The analysis forms angular momentum by a cross product and eccentricity from the instantaneous state. It independently integrates the averaged vector equations at a maximum step of 0.001 secular times. No fitted eccentricity waveform enters either history.
Reading: REBOUND 5.2.2 official Kozai example and IAS15 integrator · Tremaine & Yavetz, Why do Earth satellites stay up?, arXiv:1309.5244v1
Choose a period estimator that tolerates fast oscillations
The raw direct eccentricity contains orbital-timescale structure. A local maximum finder would count many of those wiggles as secular cycles. The script first takes a centered moving average over one outer period, then selects high maxima and groups candidates separated by less than one secular time. The largest maximum in each group represents that excursion.
Only curves whose smoothed eccentricity range is at least 0.2 enter this large-excursion estimator. The low-tilt branch therefore reports no large cycle period. A stopped near-polar record has no completed recurrence and also reports no period. These outcomes are explicit JSON nulls, with explanations.
The reported period is the mean spacing of the selected peaks. Repeating the measurement with half and twice the smoothing window gives a processing sensitivity range. It is not a statistical confidence interval: the trajectory has no random measurement noise, and the alternative windows probe a deliberate analysis choice.
The method is designed for these records. For a chaotic or slowly drifting series, report individual peak spacings and inspect the raw curve. A changing spacing can itself carry the physical information.
Reading: REBOUND 5.2.2 official Kozai example and IAS15 integrator · Klein & Hamilton, Short-range forces beyond double averaging, arXiv:2606.19456v1
Reproduce the three-model comparison
For the default full-force orbit, the grouped peak times are 2.510 and 7.565 secular times, yielding 5.055. The independently averaged record yields 5.025. Its direct maximum eccentricity is about 0.843487, while the averaged maximum is 0.838909. These differences coexist with much smaller integrator-check residuals over the separately tested first three secular times.
Now use the matched seventy-five-degree cases. At an outer-to-inner ratio of six, read full Newtonian, instantaneous quadrupole and double-average periods of 5.005, 4.810 and 4.670. At a ratio of twenty, read 4.675, 4.665 and 4.670. The controlled-comparisons block in the output keeps those three models together.
Comparing instantaneous quadrupole with its double average isolates removal of fast phases at the same spatial order. Comparing full Newtonian with instantaneous quadrupole tests the spatial truncation. Long nonlinear phase differences and finite-record peak selection can mix their effects; the two residuals need not supply additive corrections.
Open the derived CSV files to plot the raw eccentricity, smoothed eccentricity, averaged eccentricity and common-time residual. The near-polar derived file ends at the shared surviving interval, while the summary retains each model’s own completed time.
Reading: Liu, Muñoz & Lai, Short-range forces in triple systems, arXiv:1409.6717v2 · REBOUND 5.2.2 official Kozai example and IAS15 integrator · Klein & Hamilton, Short-range forces beyond double averaging, arXiv:2606.19456v1
Change one analysis choice, then regenerate only if needed
A useful first change is to alter the smoothing window without touching the force model. Record which peaks moved and whether the period conclusion survives. Next compare a phase-sensitive position error with the slower eccentricity residual. This separates an analysis decision from an integration decision.
To regenerate the raw files, install the pinned REBOUND 5.2.2 release in a separate environment and run the optional generator below. Its provenance records the source commit, package license, platform, exact initial conditions, accuracy parameter and stopping rule. A different platform may produce different last-bit CSV hashes. Save its fresh hashes in the newly generated provenance.
The optional relativistic example in the output is averaged only, with strength 0.8 and maximum eccentricity about 0.629278. The script explicitly records that no direct relativistic integration was performed. Turning that into a direct relativistic validation would require adding and independently checking a consistent force model.
python3 generate-ias15-reference.py --output-dir regenerated-inputs
python3 analyze-frozen-orbits.py --data-dir regenerated-inputs --output-dir regenerated-analysisReading: REBOUND 5.2.2 official Kozai example and IAS15 integrator · Liu, Muñoz & Lai, Short-range forces in triple systems, arXiv:1409.6717v2