MOM's NOT-so-sun-synchronous orbit about Mars - how large is it's J2?

edit: See my supplementary answer below for additional information. @Hohmannfan nailed it.

This question and answer started me wondering - how big is the J2 (oblateness) term of Mars' gravity compared to earth? Earth's sun-synchronous orbits are usually around 98 degrees inclination (retrograde). That question states MOM is at about 150 degrees, which is "very" retrograde, almost equatorial retrograde. Is this because Mars has a non-zero J2, the same sign but significantly weaker than that of earth?

If so, what is the value of J2 for Mars and Earth? Does MOM's 150 degree inclination make sense quantitatively (need "math" answer, not just "words" answer) This answer has helpful explanations, as does the wiki page. This ArXiv paper Five Special Types of Orbits Around Mars also compares Earth and Mars orbits.

(also it looks like that question is still waiting for a more complete answer)

edit: here is some information about the orbit from this pdf

Periapsis: 350km

Apo-apsis: 71,000km

Inclination: 150 degrees

Sun Elevation: 6.8 degrees (what is this??)

Period: 72 hours

below: Screen shot from page 6 of: https://planetary.s3.amazonaws.com/assets/resources/ISRO/Mars-atlas-MOM.pdf

The planet calculator lists a J2 of $0.001960454$ for Mars, higher than the Earth's $0.001082627$. That makes sense, as Mars has a smaller mass, but still approximately the same rotation rate. That means achieving a sun-synchronous around Mars is slightly easier than around Earth. However, MOM is not in such an orbit.

• MOM is not in a sun-synchronous orbit (around Mars)? – uhoh Mar 16 '16 at 11:19
• Ah, thank you for that link and the numbers! Possibly can plug MOM's orbit into here to see if it makes sense, but if it's not supposed to be sun-synchronous, then it's moot. – uhoh Mar 16 '16 at 11:21
• OK I did the calculation - see my "supplementary" answer below... – uhoh Mar 17 '16 at 12:20

@Hohmannfan's answer states MOM is not in a sun-synchronous orbit. I just though I'd add some math to that. Using the equation for rotation of ascending node posted by @MarkAdler, I calculated the delta_OMEGA - how much the ascending node rotates in one year, for two cases: earth LEO and mars MOM.

For earth LEO (400km) I get a little more than 97 degrees, which is about what we expect, suggesting this calculation might be on the right track. Plugging in the numbers for MOM (from information in the question and answer above), it turns out that for MOM's orbit with an inclination of 150 degrees, the rate is only 0.45 of what is needed for sun synchrony.

Blue line which has a large amplitude is earth LEO, red line which never exceeds +/- 3.3 radians/year is mars MOM.

Here is some python I used: (tried to add language-sensitive highlighting but doesn't seem to work. Suggestions?)

import numpy as np
import matplotlib.pyplot as plt

pi, twopi = np.pi, 2*np.pi

# all distances in km (they cancel, it's OK!)

r_earth = 6371.
r_mars  = 3393.

# from: https://planetary.s3.amazonaws.com/assets/resources/ISRO/Mars-atlas-MOM.pdf
alt_peri = 350.
alt_apo  = 71000.
r_peri = alt_peri + r_mars
r_apo  = alt_apo  + r_mars

a_LEO   = r_earth + 400.
a_MOM   = 0.5*(r_peri + r_apo)

e_LEO = 0.
e_MOM = (r_apo - r_peri) / (r_apo + r_peri)

# from: https://en.wikipedia.org/wiki/Standard_gravitational_parameter
GM_earth  = 3.98600442E+14  # m^3/s^2
GM_earth *= 1E-09           # km^3/s^2

GM_mars   = 4.2828E+13      # m^3/s^2
GM_mars  *= 1E-09           # km^3/s^2

print "GM_earth, GM_mars: ", GM_earth, GM_mars, "km^3/s^2"

# from: https://space.stackexchange.com/a/14469/12102
# and: https://janus.astro.umd.edu/astro/calculators/pcalcframe.html
J2_earth = 0.001082627
J2_mars  = 0.001960454

inc_deg = np.linspace(0, 180, 181)
inc     = (pi/180.) * inc_deg

# earth LEO
term_1 = -1.5 * J2_earth
term_2 = (r_earth/(a_LEO*(1-e_LEO**2)))**2
term_3 = np.sqrt(GM_earth/a_LEO**3)

OMEGA_dot_LEO = term_1*term_2*term_3*np.cos(inc)

# mars MOM
term_1 = -1.5 * J2_mars
term_2 = (r_mars/(a_MOM*(1-e_MOM**2)))**2
term_3 = np.sqrt(GM_earth/a_MOM**3)

OMEGA_dot_MOM = term_1*term_2*term_3*np.cos(inc)

year_earth = 365.25 * 24. * 3600.  # sec
year_mars  = 686.97 * 24. * 3600.

delta_OMEGA_LEO = OMEGA_dot_LEO * year_earth
delta_OMEGA_MOM = OMEGA_dot_MOM * year_mars

print inc_deg[150], delta_OMEGA_MOM[150], delta_OMEGA_MOM[150]/twopi

thing = {'ha': 'left',  'va': 'bottom', 'bbox': None,
'fontsize':16}
plt.figure(figsize=[8,10])
ax1 = plt.subplot(2, 1, 1)
for item in (ax1.get_xticklabels() + ax1.get_yticklabels()):
item.set_fontsize(15)
plt.plot(inc_deg, delta_OMEGA_LEO, '-b', lw=2)
plt.plot(inc_deg, delta_OMEGA_MOM, '-r', lw=2)
plt.plot(97, twopi, 'ok')
plt.plot(inc_deg, np.zeros_like(inc_deg), '-k')
plt.plot(inc_deg, twopi*np.ones_like(inc_deg), '--k')
plt.plot([90, 90], [-100, 100], '-k')
plt.xlim(80, 100)
plt.ylim(-10, 10)
plt.text(91, twopi+0.5, "2 pi", thing)
ax2 = plt.subplot(2, 1, 2)
for item in (ax2.get_xticklabels() + ax2.get_yticklabels()):
item.set_fontsize(15)
plt.plot(inc_deg, delta_OMEGA_LEO, '-b', lw=2)
plt.plot(inc_deg, delta_OMEGA_MOM, '-r', lw=2)
plt.plot(97, twopi, 'ok')
plt.plot(inc_deg, np.zeros_like(inc_deg), '-k')
plt.plot(inc_deg, twopi*np.ones_like(inc_deg), '--k')
plt.plot([90, 90], [-100, 100], '-k')
plt.xlim(80, 180)
plt.ylim(-20, 60)
plt.text(120, twopi+2.0, "2 pi", thing)
plt.show()