exoplanet-dev / exoplanet-dev/exoplanet
possible inconsistency in orbital elements
- Dominant language
- Python
- Stars
- 239
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Description
This a fantastic package! Playing around with it, I noticed the orientation of an eccentric orbit is not what I would expect based on the definition of the orbital elements in the documentation. An example:
```
import exoplanet as xo
import numpy as np
from matplotlib import pyplot as plt
plt.ion()
# make an edge-on highly eccentric orbit with
# 45 deg argument of periapsis
# orbital plane is the X-Z plane
orbit = xo.orbits.KeplerianOrbit(
period=200,
t_0=0.0,
incl=np.pi/2,
ecc=0.8,
omega=np.pi/4,
Omega=0.0,
m_planet=0.0,
m_star=1.0,
r_star=1.0,
)
t = np.linspace(0, 200, 200, endpoint=False)
x, y, z = orbit.get_planet_position(t)
plt.figure()
plt.scatter(x.eval(), z.eval(), c=t)
plt.xlabel('X')
plt.ylabel('Z (+Z is to observer)')
ax = plt.gca()
ax.set_aspect(1)
plt.grid()
```
Yielding this figure

The docs state that the ascending node is defined to be the point at which the planet passes through the XY plane moving away from the observer, who is looking from the +Z axis. The colors on the plot progress from purple to yellow as time progresses, so the ascending node appears to be at X = 120ish. The argument of periastron is defined as the angle from the ascending note to the periastron in the orbital plane. From the figure it appears has been referenced against the -X axis, opposite the ascending node.
Is this an inconsistency or have I misinterpreted something?
Contributor guide
Research direction
Start with the orbital-elements documentation and the KeplerianOrbit example using get_planet_position, then reproduce the supplied plot to compare the documented ascending-node and periastron conventions with the observed orientation. Done means determining whether the implementation or documentation is inconsistent and recording the resolved convention.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- matplotlib, numpy, python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100