Can a circumbinary planet reveal itself through eclipse-timing variations, even when TESS observes only in separated windows? This exploratory script generates synthetic eclipsing-binary properties, injects planets, samples eclipse times that fall within TESS observing windows, adds a simple timing-noise estimate, and searches the resulting signal with a Lomb-Scargle periodogram. Its target and planet distributions are modeling assumptions, so treat its output as a simulation study rather than an observed recovery rate. The script reads TESS_orbit_times.csv, which is not included in this repository; it does not load source, lens, or Roman noise tables.
Set CHRONOS_PATH to the checkout directory when running the sampler from elsewhere. If unset, Chronos uses its checkout root. The current script reads TESS_orbit_times.csv from the ignored data/ directory and writes etv_sample.csv there. Generated figures can go in the ignored visuals/ directory.
In Observing windows and eclipse timing, we compare continuous synthetic sampling with three artificial observing windows. The notebook calls Chronos's timing-noise, window-selection, and Lomb-Scargle functions through the example script. It displays the assumed signal, noisy timing measurements, fitted sinusoid, and period-search curves.
The assumed signal has a 35-second amplitude and a 420-day period. Hypothetical eclipses occur every 2.5 days over 1200 days, with independent Gaussian noise. The observing windows and signal are synthetic. These figures do not establish detection significance, a unique physical orbit, or a survey recovery rate.
From the checkout root:
python examples/windowed_timing.py --bokeh
python examples/windowed_timing.py --typeplotback dark --typefileplot pdfThe example writes PNG or PDF figures and optional self-contained Bokeh HTML directly under examples/visuals/. Those generated files remain ignored. The notebook embeds its static figures, and images/ holds the README preview. NumPy, pandas, SciPy, Astropy, Matplotlib, and TDpy are needed for the calculation and static plots. The notebook additionally needs IPython and Bokeh.
Run python etv_sampler.py only after providing the observing-window table and the rebound_model, lite_delay, tess_stars2px, and ticgen modules. Those inputs are not bundled here. Importing etv_sampler does not start workers or create a catalog. Full orbit integration and population recovery remain separate from the timing-component example above.
python -m pytest -q