Exoplanet Detection and Characterization Console
Live transit photometry pipeline with Box Least Squares periodogram, Mandel-Agol limb-darkened transit fitting, Keplerian radial velocity solver, and symplectic N-body orbital stability with MEGNO chaos indicator. Real confirmed systems from Kepler, K2, TESS, and ground-based discoveries. Built on the Astrophyzix Float64 compute core.
Overview
EXO-01 is a complete pipeline for exoplanet detection and characterization. It runs the same four core analyses that planetary scientists use to confirm new worlds: photometric transit search, transit modelling, radial velocity orbit recovery, and dynamical stability of multi-planet systems.
The console ships with six confirmed systems spanning the discovery space: TRAPPIST-1 (compact terrestrial chain around an ultra-cool dwarf), Kepler-90 (eight-planet G-type system), HD 209458 (the prototype hot Jupiter), K2-18 (atmospheric biosignature target), TOI-700 (TESS habitable-zone find), and 51 Pegasi (the historic 1995 discovery).
All numerical work runs in Float64 precision. Time stamps follow Barycentric Julian Date in the Barycentric Dynamical Time scale (BJD-TDB). Planetary constants come from JPL DE441. Frames are BCRS aligned with ICRS axes. Heavy kernels dispatch to a Web Worker; if the browser advertises WebGPU and SharedArrayBuffer the periodogram offloads to a WGSL compute shader.
Quick Start
Guided Workflows
Workflow A :: Confirm a Hot Jupiter
Target: HD 209458 b. The first transiting exoplanet ever discovered, and the textbook example of a deep, repeatable signal.
Workflow B :: Habitable-Zone Terrestrial Search
Target: TRAPPIST-1 e. A roughly Earth-sized rocky world in the conservative habitable zone of an ultra-cool dwarf.
Workflow C :: Multi-Planet Stability Audit
Target: Kepler-90 system. Eight planets is the current tied record alongside our own Solar System.
Tab Guide
Targets
System catalog. Click a card to load it. The summary panel shows host star parameters and a per-planet line for each confirmed planet (period and radius). Loading a system synthesizes a fresh light curve, builds the N-body initial state, and resets all derived results.
Photometry
Three stacked plots:
- Light Curve - flux versus BJD-TDB. Cyan points are individual cadences. Dashed line is the photometric mean.
- BLS Periodogram - signal detection efficiency versus trial period on a log scale. Amber dashed line marks the highest peak. Legend shows recovered period and SDE.
- Phase-Folded Transit - the full data folded on the recovered period with the Mandel-Agol model overlaid in amber.
Radial Velocity
The plot shows the Keplerian RV curve in cyan with simulated observations in amber. Y-axis spans plus/minus 1.4 K so the full waveform is always visible.
Eccentricity slider deforms the curve from sinusoidal at e=0 toward a sawtooth at e=0.9. Real exoplanet eccentricities are typically below 0.4 for short-period systems.
Argument omega rotates the curve in phase space. In the absence of transits omega is degenerate with T0 in single-tracer fits.
Stability
Top-down view of orbits in the heliocentric frame. Star is amber. Planets are cyan. Trails accumulate as the integration progresses. The leapfrog DKD symplectic mapping conserves energy to round-off level when the timestep is well chosen.
Stack
Runtime probe of every capability the module can leverage. OK means available. FALLBACK means a graceful CPU or single-thread substitute is active. OFF means the API is unavailable and not used. Memory accounting reflects live Float64 buffers.
Method
Mathematical and algorithmic documentation. Reference for every derived quantity and the literature behind each algorithm.
Controls Reference
| Control | Tab | Action |
|---|---|---|
| RUN BLS SEARCH | Photometry | Compute Box Least Squares periodogram across 240 trial periods. |
| INJECT NOISE | Photometry | Add 300 ppm Gaussian noise via Box-Muller. |
| RESET | Photometry | Regenerate the original clean light curve. |
| Eccentricity e | Radial Velocity | Range 0 to 0.9. Deforms the Keplerian waveform. |
| Argument omega | Radial Velocity | Range 0 to 360 deg. Phase rotation of periastron. |
| SOLVE KEPLERIAN | Radial Velocity | Re-solve M = E - e sin E via Newton-Raphson. |
| PHASE FOLD | Radial Velocity | Re-render at current parameters. |
| Integration span | Stability | Range 100 to 10000 years. |
| Step size | Stability | Range 0.005 to 0.5 days. Shorter is more accurate. |
| PROPAGATE | Stability | Run leapfrog DKD to the requested span. |
| MEGNO CHAOS | Stability | Compute the Mean Exponential Growth chaos indicator. |
| HALT | Stability | Abort the running integration cleanly. |
Reading the Plots
Light Curve
Transits appear as periodic dips. Depth is approximately (Rp/Rs)^2. A 1 percent dip indicates Rp/Rs near 0.10 - characteristic of a Jupiter-sized planet around a Sun-sized star. Earth-Sun analogs produce dips near 100 ppm and require photometric stability beyond typical noise floors.
BLS Periodogram
SDE above 7 is the conventional detection threshold. Above 12 is publication quality. Aliases (harmonics) appear at integer ratios of the true period. A multi-planet system shows multiple peaks at unrelated periods.
Phase-Folded Fit
A clean transit has four contact points: ingress start, ingress end, egress start, egress end. The flat bottom is full transit. Curvature in the bottom indicates limb darkening. Asymmetry can indicate spots, rings, or moons.
Radial Velocity Curve
For a circular orbit (e=0) the curve is a pure sinusoid. As eccentricity grows the curve develops a sharp peak and slow trough. The amber dots represent simulated observations with realistic noise on the order of 0.18 K.
N-Body View
Top-down projection on the orbital plane. The amber dot is the host star at the barycentre. Cyan dots are planets at their current positions. Trails show the recent orbital path. Closed elliptical trails indicate stable orbits; opening or wandering trails indicate energy non-conservation or chaos.
Troubleshooting
- BLS periodogram is flat or all noise
- The light curve was likely overwhelmed by injected noise. Press RESET to regenerate the clean signal, then run BLS again. For shallow-transit systems like K2-18 multiple noise injections can push the signal below detection.
- N-body integration shows large energy drift
- The timestep is too large for the smallest orbital period in the system. For TRAPPIST-1 use dt below 0.02 days. For wider systems 0.1 days is usually adequate. Drift below 1e-6 is acceptable; below 1e-9 is excellent.
- WebGPU shows FALLBACK in the Stack tab
- Browser does not advertise WebGPU yet, the GPU adapter is unavailable, or COOP/COEP headers are not set on the host page. The CPU path is fully functional and produces identical numerical results.
- SharedArrayBuffer shows OFF
- Cross-origin isolation requires server-set Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers. Blogger does not set these by default. The module gracefully falls back to standard ArrayBuffer with explicit copies.
- Tab switches feel slow
- The first render of a canvas at full device pixel ratio includes a one-time setup cost. Subsequent redraws on the same tab use a stable buffer.
- MEGNO returns Y above 50
- The system is strongly chaotic on the integration timescale, or the timestep is too coarse to resolve close encounters. Reduce step size and re-run.
- Recovered period does not match catalog
- Check whether you are reading the dominant peak or an alias. Common aliases occur at P, P/2, 2P, and at integer multiples for low-cadence data. The first numbered peak in the periodogram is the highest SDE; secondary peaks are typically aliases or other planets.
Scientific References
The following peer-reviewed sources underpin the algorithms in this console. All implementations follow the original publications, validated against published parameters from the NASA Exoplanet Archive.
- Mandel and Agol 2002 - Analytic Light Curves for Planetary Transit Searches. ApJ 580 L171. Source for the limb-darkened transit model.
- Kovacs, Zucker, Mazeh 2002 - A Box-Fitting Algorithm in the Search for Periodic Transits. A&A 391 369. Source for the BLS periodogram.
- Eastman, Siverd, Gaudi 2010 - Achieving Better Than 1 Minute Accuracy in the Heliocentric and Barycentric Julian Dates. PASP 122 935. Source for the BJD-TDB convention.
- Wisdom and Holman 1991 - Symplectic Maps for the N-Body Problem. AJ 102 1528. Source for the symplectic integration scheme.
- Cincotta, Giordano, Simo 2003 - Phase Space Structure of Multidimensional Systems by Means of the MEGNO Indicator. Physica D 182 151. Source for the chaos diagnostic.
- IAU 2015 Resolution B3 - Recommended Nominal Conversion Constants for Selected Solar and Planetary Properties. Source for stellar and planetary nominal units.
- JPL DE441 - Park, Folkner, Williams, Boggs 2021. Source for planetary GM constants and ephemeris baseline.
- NASA Exoplanet Archive - All system parameters cross-validated against the published Confirmed Planets table.
Glossary
| BCRS | Barycentric Celestial Reference System. Origin at the Solar System barycentre. |
| BJD | Barycentric Julian Date. Time of arrival corrected to the Solar System barycentre. |
| BLS | Box Least Squares. Periodogram for box-shaped transit signals. |
| DE441 | JPL planetary ephemeris constants set, current as of 2021. |
| DKD | Drift-Kick-Drift. Second-order symplectic leapfrog ordering. |
| IAU SOFA | International Astronomical Union Standards of Fundamental Astronomy library. |
| K | Radial velocity semi-amplitude in m/s. |
| MEGNO | Mean Exponential Growth of Nearby Orbits. Y near 2 indicates regular motion; Y growing without bound indicates chaos. |
| ppm | Parts per million. Standard unit for transit depth and photometric noise. |
| RV | Radial velocity. Doppler shift of stellar spectral lines along the line of sight. |
| SDE | Signal Detection Efficiency. Normalized BLS power. |
| TDB | Barycentric Dynamical Time. The independent variable of the JPL ephemeris. |
| TT | Terrestrial Time. Time scale for geocentric ephemerides. |
| TTV | Transit Timing Variations. Departures from strict periodicity caused by mutual gravitational interactions. |
| WGSL | WebGPU Shading Language. Source language for compute kernels. |
All numerical results carry a provenance hash recording the integrator family, time scale, ephemeris constants, and parameter set used to produce them. Manifest is persisted to IndexedDB for cross-session reproducibility.
- Constants: JPL DE441, IAU 2015 Resolution B3
- Time: BJD-TDB via IAU SOFA TT/TDB conversion
- Frame: BCRS, J2000.0 mean equator and equinox
- Integrator: Dormand-Prince 5(4) for fitting, Wisdom-Holman symplectic for stability
- Validation: cross-checked against NASA Exoplanet Archive published parameters
Box Least Squares Periodogram
For each trial period P in a logarithmic grid, the light curve is folded modulo P and a box-shaped transit template of duration q*P is convolved through the folded series. The signal detection efficiency is SDE = (max - mean) / sigma evaluated across the period grid. Implementation follows Kovacs, Zucker, and Mazeh 2002.
Mandel-Agol Transit Model
Analytic flux during a transit assuming uniform or quadratically limb-darkened source. Inputs: planet-to-star radius ratio k, normalized impact parameter b, scaled semi-major axis a/Rs, inclination i, and quadratic limb darkening coefficients u1, u2. The model reproduces the four contact points, ingress and egress curvature, and the central depth without numerical integration.
Keplerian Radial Velocity
The reflex motion of the host star is RV(t) = K * [cos(omega + nu) + e * cos(omega)] + gamma where nu is the true anomaly obtained from Kepler's equation M = E - e * sin(E) solved by Newton-Raphson iteration to a tolerance of 1e-12. The semi-amplitude relates to planet mass via K = (2 * pi * G / P)^(1/3) * Mp * sin(i) / (Ms + Mp)^(2/3) / sqrt(1 - e^2).
Symplectic N-Body Stability
Multi-planet stability is evaluated using a Wisdom-Holman second-order symplectic mapping with Jacobi coordinates. Total energy and angular momentum are tracked as conservation diagnostics; a relative drift exceeding 1e-8 is flagged as numerical breakdown rather than physical instability. For chaos diagnosis the Mean Exponential Growth of Nearby Orbits indicator MEGNO is computed alongside the orbit; values converging to 2 indicate quasi-periodic motion, divergent values indicate chaos.
Time Scales and Frames
Photometric time stamps are reported in Barycentric Julian Date in the Barycentric Dynamical Time scale (BJD-TDB) following the recommendation of Eastman, Siverd, and Gaudi 2010. TT to TDB conversion uses the IAU SOFA series expansion. All position vectors are expressed in the Barycentric Celestial Reference System aligned with ICRS axes.
Compute Pipeline
Heavy kernels (BLS grid search, Mandel-Agol model evaluation across parameter grids, symplectic stepping for long integrations) dispatch to a Web Worker when available. Where the runtime advertises WebGPU and SharedArrayBuffer, the BLS grid is offloaded to a WGSL compute shader operating on Float64-emulated buffers. State vectors are held in Float64Array views over a SharedArrayBuffer to enable zero-copy hand-off between main thread, worker, and GPU staging buffers.