Papers
Topics
Authors
Recent
Search
2000 character limit reached

Projecc: Exoplanet Position Predictor

Updated 10 July 2026
  • Projecc is an open-source Python package that transforms published exoplanet orbital solutions into accurate sky-plane predictions for direct imaging.
  • It employs Monte Carlo sampling with Gaussian priors and Keplerian formalism to estimate projected separation, phase angle, and positional uncertainty.
  • The tool directly supports observational planning by informing dark-hole placement and interpreting non-detections in reflected-light imaging.

Searching arXiv for the specified paper to ground the article and citation. projecc is an open-source Python package for predicting where a known exoplanet is likely to appear on the sky at a specified epoch, given a published orbital solution and associated parameter uncertainties. Its scope is deliberately narrow: it is explicitly not an orbit-fitting code, does not ingest RV time series, astrometric measurements, or direct-imaging astrometry to derive orbital elements, and instead propagates literature orbital solutions into posterior samples of sky-plane location, projected separation, viewing phase angle, and related kinematic quantities. The package is motivated by direct imaging of known planets, especially reflected-light observations with ELT-class facilities, the Roman Coronagraph Instrument, and future missions such as the Habitable Worlds Observatory, where efficient use of observing time depends on knowing where the planet is likely to be, whether it lies outside the inner working angle, and whether its phase geometry is favorable (Pearce et al., 8 Sep 2025).

1. Definition, scope, and observational motivation

projecc was written to answer two practical questions for direct-imaging campaigns of known planets: given a published orbit, how well the planet’s sky position is known on a specific date, and how that uncertainty should inform observation scheduling and instrument configuration. The package takes orbital solutions typically derived from radial velocity and/or astrometry and produces posterior samples for the planet’s offset from the star in RA and Dec at a given time, the projected separation in milliarcseconds, the viewing phase angle relevant for reflected-light contrast, and related 3-D position, velocity, and acceleration.

The scientific context is the transition from indirect detection to direct imaging and characterization of cold, mature planets in thermal emission and reflected light. The facilities cited for this use case include ELT-PCS, GMagAO-X, PSI, the Roman Coronagraph Instrument, and the Habitable Worlds Observatory. Because reflected-light observations target contrasts of approximately 107101010^{-7} - 10^{-10}, direct-imaging efficiency depends on placing the dark hole or other high-contrast region where the planet is most likely to be, observing near maximum elongation and favorable phase angle, and accounting for orbital motion during long campaigns.

A central motivation is that many promising targets are already known from RV or astrometry but lack orbital parameters precise enough for reliable direct-imaging ephemerides. The paper identifies T0T_0 and ω\omega as especially problematic in this regard. projecc is therefore a community preparation tool rather than a fitting framework. The package is distributed through PyPI and GitHub, and is accompanied by the GRIP web app, described as the “Ground-based Reflected-light Imaging Planner.”

2. Orbital formalism and coordinate conventions

The package adopts a standard Keplerian description following Murray and Dermott’s conventions, but it makes the coordinate choices explicit in order to avoid the common inconsistencies that arise when combining RV, astrometry, and direct-imaging conventions. In the orbital plane (x^,y^,z^)(\hat x,\hat y,\hat z), the origin is the system barycenter, +x^+\hat x points from the barycenter to periastron, +y^+\hat y is 9090^\circ ahead of +x^+\hat x in the orbital plane, and +z^+\hat z is the orbit normal along the angular momentum vector. The osculating elements used are aa, T0T_00, T0T_01, T0T_02, T0T_03, T0T_04, and T0T_05, supplemented by T0T_06, T0T_07 or T0T_08, parallax T0T_09, and optionally planet radius ω\omega0.

A recurring ambiguity in the literature is whether the published argument of periastron refers to the star or the planet. projecc assumes by default that published ω\omega1 refers to the star and converts it using

ω\omega2

The package also adopts sky-plane coordinates ω\omega3 with ω\omega4 toward ω\omega5Dec, ω\omega6 toward ω\omega7RA, and ω\omega8 toward the observer, which is opposite the usual RV sign convention. This explicit convention is significant because a sign or ω\omega9 mismatch can displace the predicted sky position and phase behavior.

The orbital-plane position at true anomaly (x^,y^,z^)(\hat x,\hat y,\hat z)0 is written as

(x^,y^,z^)(\hat x,\hat y,\hat z)1

with

(x^,y^,z^)(\hat x,\hat y,\hat z)2

where (x^,y^,z^)(\hat x,\hat y,\hat z)3 is (x^,y^,z^)(\hat x,\hat y,\hat z)4 or (x^,y^,z^)(\hat x,\hat y,\hat z)5 depending on whether the star’s or planet’s barycentric orbit is desired, and (x^,y^,z^)(\hat x,\hat y,\hat z)6. The true anomaly is obtained from the eccentric anomaly (x^,y^,z^)(\hat x,\hat y,\hat z)7,

(x^,y^,z^)(\hat x,\hat y,\hat z)8

with (x^,y^,z^)(\hat x,\hat y,\hat z)9 determined by Kepler’s equation,

+x^+\hat x0

projecc uses the fast cubic approximation of Mikkola (1987) to solve Kepler’s equation.

Projection to the observer frame is performed with rotation matrices about the +x^+\hat x1 and +x^+\hat x2 axes,

+x^+\hat x3

so that

+x^+\hat x4

The package then converts +x^+\hat x5 and +x^+\hat x6 from au to RA and Dec offsets in mas using the parallax and forms the projected separation

+x^+\hat x7

For reflected-light planning, projecc also computes the viewing phase angle following Madhusudhan and Burrows (2012),

+x^+\hat x8

Here +x^+\hat x9 corresponds to full phase, +y^+\hat y0 to quadrature, and +y^+\hat y1 to crescent phases. In the web-app context, phase angle can be mapped to a Lambertian contrast model,

+y^+\hat y2

using a fiducial geometric albedo and a radius estimated from mass through an empirical mass-radius relation. The paper states that this contrast model is used primarily in the target-list and web-app context rather than as a core part of the package API.

3. Probabilistic model, classes, and outputs

The probabilistic engine treats orbital elements as random variables with specified priors and uses Monte Carlo sampling to generate orbit realizations at a chosen epoch. In the version described, the principal assumption is that parameters are independent and Gaussian, except that +y^+\hat y3 and +y^+\hat y4 may be drawn from specified non-Gaussian priors. The main input distributions are Gaussian +y^+\hat y5 for +y^+\hat y6, +y^+\hat y7, +y^+\hat y8, +y^+\hat y9, 9090^\circ0, 9090^\circ1, 9090^\circ2 or 9090^\circ3, and 9090^\circ4; inclination may be a user-supplied Gaussian or a prior uniform in 9090^\circ5 over a chosen range; and 9090^\circ6 may be fixed, Gaussian, or uniform on 9090^\circ7.

Sampling proceeds by drawing 9090^\circ8 orbit realizations, with a default 9090^\circ9. For each draw, the code samples the parameters, computes +x^+\hat x0, +x^+\hat x1, +x^+\hat x2, and +x^+\hat x3, evaluates the orbital-plane and sky-plane coordinates, and then derives RA and Dec offsets, projected separation, phase angle, and kinematic quantities. The resulting point cloud is a Monte Carlo approximation to the posterior distribution of planet position conditional on the adopted priors. The package handles RV-only cases by drawing +x^+\hat x4, and if inclination is unconstrained, by drawing from a uniform +x^+\hat x5 prior over a user-selected interval; for RV+astrometry or astrometry-only cases, +x^+\hat x6 and +x^+\hat x7 can be supplied directly.

The code structure centers on two Python classes. Planet stores the orbital and system-parameter distributions, including tuples +x^+\hat x8 for +x^+\hat x9, +z^+\hat z0, +z^+\hat z1, +z^+\hat z2, +z^+\hat z3, +z^+\hat z4, +z^+\hat z5 or +z^+\hat z6, and parallax. OrbitSim is constructed from a Planet instance, an epoch +z^+\hat z7 in BJD, and a sample count +z^+\hat z8; it performs the Monte Carlo calculation and stores the outputs.

For each epoch and planet, OrbitSim stores pos, an +z^+\hat z9 array of sky-frame positions in au with pos[i,0] = X, pos[i,1] = Y, and pos[i,2] = Z; vel, an aa0 array of 3-D velocities in km saa1; and acc, an aa2 array of 3-D accelerations in km saa3 yraa4. It also provides derived RA and Dec offsets in mas, projected separation in mas or aa5, and phase angle in degrees. Visualization utilities include RA-versus-Dec scatter plots color-coded by phase angle, contours enclosing 68%, 95%, and 99.7% of samples, and normalized 2-D probability density maps built with scipy.stats.gaussian_kde (Pearce et al., 8 Sep 2025).

A common misconception addressed directly in the paper is that projecc is an ephemeris-fitting or data-analysis framework. It is not. It requires a prior orbit solution from the literature or from another fitting pipeline and propagates that solution into on-sky distributions.

4. Observational planning and the GRIP interface

The package is designed for direct observational use rather than abstract orbit visualization. One application is scheduling near maximum elongation: a nominal best date can be inferred from mean orbital elements, and projecc can then show whether that date remains advantageous once the uncertainties in aa6, aa7, and other elements are propagated. Another application is dark-hole placement. If a coronagraph delivers high contrast over a defined annulus, wedge, or other region, the observer can estimate what fraction of samples falls in that accessible region at a given epoch. The same framework exposes the tradeoff between projected separation and reflected-light brightness, since large separation is often associated with phase angles that reduce flux.

The paper also emphasizes the interpretation of non-detections. If the posterior sky-position distribution is broad, a non-detection at a nominally favorable epoch may indicate only that the planet was too close to the star or at an unfavorable phase angle, rather than that its albedo, radius, or atmospheric properties are constrained. This point is central to the Proxima Centauri b analysis.

The associated Streamlit web app, referred to as GRIP and also described as “getagrip.space,” acts as a GUI front-end to the package. It provides an RV-planet target list for reflected-light imaging derived from the NASA Exoplanet Archive, comprising approximately 400 RV planets within 70 pc that are filtered to have full orbital information and to be accessible from the southern hemisphere. For a selected telescope diameter and wavelength, the app plots maximum projected separation in aa8, Lambertian flux contrast versus separation, planet radius as marker size, and phase angle at maximum elongation as marker color.

The app also allows direct execution of projecc without local installation. Orbital parameters may be entered manually as Gaussian aa9 values or selected from pre-loaded literature solutions for several systems, including GJ 876 b, Proxima b, and selected Roman CGI targets. The user can choose a date or request the time of maximum separation and may specify an aperture radius such as T0T_000, after which the app computes the fraction of simulated positions within that aperture. Outputs include a phase-colored RA-Dec scatter plot, contour overlays, and summary statistics such as the fraction in the aperture, the standard deviation of the separation normalized by expected separation, and the parameter values used.

5. Case studies: GJ 876 b and Proxima Centauri b

The paper’s first case study is GJ 876 b, a nearby M-dwarf system with strong RV signals, long observing baselines, and published constraints from RV, HST FGS astrometry, and Gaia DR3 NSS. Three orbit solutions are compared for prediction on 2025-04-09 near an expected maximum elongation: Rivera et al. (2010), an RV-only Keck/HIRES solution; Benedict et al. (2002), a joint RV plus HST astrometry solution; and a Gaia DR3 NSS astrometric solution converted from Thiele-Innes constants using ESA’s NSS tools.

For the Rivera RV-only solution, the unconstrained T0T_001 is drawn uniformly, producing a ring of points in the sky plane at nearly fixed separation. Because the chosen date is near maximum elongation, the samples are near quadrature phase and the uncertainty is concentrated in position angle rather than separation. For the Benedict RV-plus-astrometry solution, the constraints on T0T_002 and T0T_003 collapse the ring into a localized probability-density blob with narrowly constrained separation. The Gaia NSS solution produces a somewhat broader region but remains largely consistent with the others within approximately T0T_004, while also illustrating that astrometry without RV cannot fully break the degeneracy in T0T_005 and T0T_006. The three solution families intersect in a compact region a few T0T_007 from the star at T0T_008 for an ELT or GMT. The paper interprets this as evidence that GJ 876 b is a strong reflected-light target and that combining RV and astrometry is operationally important (Pearce et al., 8 Sep 2025).

The second case study is Proxima Centauri b, identified as a prime habitable-zone target around the nearest star. The analysis uses published RV fits from Faria et al. (2022) and Suárez Mascareño et al. (2020), with the latter adopted for the main projecc demonstration because it provides smaller quoted uncertainties on the timing parameters. The authors convert the timing information into T0T_009, transform T0T_010 to T0T_011, treat eccentricity and period as Gaussians with the quoted errors, assume an inclination prior because no direct inclination constraint exists, and fix T0T_012 for clarity. They then predict the sky position on 2025-04-16, the date when the mean solution suggests maximum elongation.

The resulting posterior cloud is broad even under the fixed-node simplification. For a T0T_013 ELT-like telescope at T0T_014, approximately 7% of realizations place the planet closer than T0T_015 at that date; for GMT at T0T_016, approximately 25% are inside T0T_017; and for a T0T_018 telescope such as Magellan/MagAO-X, approximately 19% are inside T0T_019, effectively unobservable. The phase-angle distribution is also unfavorable relative to the nominal expectation: although maximum elongation suggests T0T_020, 34% of samples have T0T_021, where the Lambertian contrast is approximately half that at quadrature, and 11% have T0T_022, where the contrast is more than ten times lower than at quadrature. The paper’s interpretation is that a single non-detection under current orbit uncertainties would be highly ambiguous because geometry alone could explain it.

The paper identifies the dominant contributors to this positional uncertainty, once inclination is assumed, as the uncertainty in periastron time T0T_023 and the uncertainty in T0T_024. To quantify the precision requirements, the authors shrink T0T_025 and T0T_026 numerically, scanning T0T_027 from 1 to 34 hours and T0T_028 from T0T_029 to T0T_030. For each pair, they compute the fraction of Monte Carlo samples lying within a circular aperture of radius T0T_031 centered on the expected location from the mean solution at maximum elongation. They infer that GMT requires approximately T0T_032 hr and T0T_033 for a 50% chance that the planet lies within T0T_034 of the expected location, while ELT requires the more stringent T0T_035 hr and T0T_036. A further demonstration shows that artificially reducing the Suárez Mascareño uncertainties to T0T_037 hr and T0T_038 collapses the cloud into a compact region near the nominal maximum-elongation position. This suggests that the limiting factor for high-efficiency reflected-light imaging of Proxima Centauri b is not only angular resolution or contrast, but orbit precision itself.

6. Assumptions, limitations, and projected development

The current implementation makes a strong approximation: each orbital parameter is treated as independent and Gaussian, except for custom priors on T0T_039 and T0T_040. The paper notes that real orbit posteriors are often asymmetric, multimodal, strongly correlated, and in some cases biased. Eccentricity is singled out as a parameter for which these issues are especially common. As a result, a T0T_041-only representation can misestimate the true uncertainty in sky position. The authors state that this approximation may be acceptable for tightly constrained systems, but may be critical for borderline cases such as Proxima Centauri b.

A second limitation concerns incomplete or ambiguous literature solutions. Some papers provide mean anomaly at a reference epoch rather than T0T_042, some provide only period and phase, and some omit T0T_043 entirely; projecc therefore requires a reconstructed and well-defined periastron time. The literature also frequently fails to specify whether T0T_044 is defined for the star or planet, or adopts an opposite line-of-sight sign convention. If these conventions are not corrected, the predicted sky position and phase curve can be shifted by T0T_045 in true-anomaly space. RV-only fits additionally cannot constrain T0T_046 or the sign of T0T_047, so any on-sky prediction in such cases necessarily depends on assumed priors.

A third limitation is ephemeris degradation. The paper states that projecc currently assumes that published uncertainties remain valid indefinitely, whereas in reality ephemeris errors grow with time from the epoch of the last constraining data. A Monte Carlo experiment on the GJ 876 b RV-only fit shows that when uncertainties are propagated forward over approximately 100 periods, the uncertainties in T0T_048, T0T_049, T0T_050, and T0T_051 grow substantially, and by roughly 10 to 25 periods some parameters become effectively unconstrained. The authors conclude that even apparently well-constrained predictions remain reliable only for a few years after the last constraining data and recommend obtaining updated RV or astrometric measurements close to the imaging epoch for high-value reflected-light campaigns (Pearce et al., 8 Sep 2025).

The package also cannot diagnose model misspecification in the source orbit solution. A published orbit may be precise yet inaccurate because of limited temporal baseline, additional companions, or underestimated systematics. The paper gives the example of T0T_052 Indi Ab, where early RV-plus-Gaia fits mis-predicted the position by a factor of two in separation and by a hemisphere in position angle. projecc can expose whether an adopted solution implies a wide or tight sky-position posterior, but it cannot determine whether the original fit is physically or statistically flawed.

Planned upgrades address these limitations directly. The authors propose support for full posterior samples and covariance matrices rather than only Gaussian summaries, with possible interfaces to orbit-fitting packages such as orvara, RadVel, orbitize!, and octofitter. They also propose instrument-aware planning capabilities, including explicit dark-hole geometries such as EFC wedges, Lyot annuli, and Roman CGI SPC/HLC dark holes, together with computation of the fraction of orbit samples inside the dark hole as a function of time. A better treatment of time-dependent uncertainties is also planned, including explicit propagation of ephemeris growth and warnings when observations are scheduled far beyond the baseline of the original fit.

More broadly, projecc functions as a coordination layer between orbit-fitting teams and imaging teams. It provides a quantitative way to prioritize orbit-refinement campaigns, to assess how much improvement in T0T_053, T0T_054, T0T_055, or T0T_056 is required to achieve a desired detection probability, and to communicate positional predictions in a form directly relevant to high-contrast imaging. A plausible implication is that, as reflected-light imaging moves from feasibility studies to execution on ELTs, Roman CGI, and eventually HWO, the value of orbit solutions will increasingly depend not only on parameter estimates themselves but on whether those solutions can be translated into reliable, time-specific sky-plane posteriors.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to projecc.