The question Tracking SpaceIL Beresheet Moon lander links to some data files that are from the site: http://live.spaceil.com (also linked here):

Raw data:

http://live.spaceil.com/data/data_s1.txt (22/2 - 12/4)

http://live.spaceil.com/data/data_s2.txt (4/4 - 12/4)

http://live.spaceil.com/data/data_m.txt (22/2 - 16/12)

Here's the plot of the data in data_s1.txt (spacecraft) and data_m.txt (Moon). There are proper state vectors for the spacecraft $[x, y, z, v_x, v_y, v_z]$ but only position vectors for the Moon. $[x, y, z]$.

There is a real problem though; they don't align correctly! The spacecraft does not orbit the Moon. Not even close!

I think there may be something screwy with the data. the error is much bigger than 1/81 so it's more than just barycenter versus Earth-center coordinates. Something's wrong.

Question: Why don't SpaceIL's spacecraft and moon orbits line up?

enter image description here

enter image description here

Python script:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

with open('data_s1.txt', 'r') as infile:
    slines   = infile.readlines()

slines   = [ [float(x) for x in line.strip().split(',')[1:]] for line in slines[1:-1]]
sstates  = np.array(zip(*slines))

with open('data_m.txt', 'r') as infile:
    mlines   = infile.readlines()

mlines   = [ [float(x) for x in line.strip().split(',')[1:]] for line in mlines[1:-1]]
mstates  = np.array(zip(*mlines))

if True:    
    fig = plt.figure(figsize=[10, 8])  # [12, 10]

    ax  = fig.add_subplot(1, 1, 1, projection='3d')
    x, y, z = sstates[:3]
    ax.plot(x, y, z, '-r')

    x, y, z = mstates[:3]
    ax.plot(x, y, z, '-b')

    ax.set_xlim(-405000, 405000)
    ax.set_ylim(-405000, 405000)
    ax.set_zlim(-405000, 405000)

  • $\begingroup$ From what I’ve read Beresheet has a very low-thrust engine, and has to make multiple burns through April to extend its apoapsis out to lunar orbit. Maybe that accounts for your confusion? $\endgroup$ – Snoopy Mar 1 '19 at 16:01
  • $\begingroup$ @Snoopy I've added an additional image to clarify the gross mismatch. $\endgroup$ – uhoh Mar 1 '19 at 16:17
  • $\begingroup$ have you tried plotting in in a moon centred frame? $\endgroup$ – user20636 Mar 1 '19 at 16:42
  • $\begingroup$ Frighteningly, if you plot one orbit with minus signs in front of x, y, and z it matches almost perfectly at first glance. $\endgroup$ – uhoh Mar 1 '19 at 17:47
  • $\begingroup$ What do your plots show? $\endgroup$ – Hobbes Mar 3 '19 at 14:19

The Moon is upside down!!

First line of data_m.txt:

22 Feb 2019 00:25:25.342,360092.027359,47067.127093,-13285.073162

JPL Horizons for position of Luna relative to the Geocenter using ICRF ("Earth Mean Equator and Equinox of Reference Epoch"):

2458536.518055555, A.D. 2019-Feb-22 00:26:00.0000, -3.600940899651895E+05, -4.703362154841860E+04,  1.329822258680163E+04,

enter image description here

Shown together in same format:

source         date          time          x            y           z
data_m     22 Feb 2019   00:25:25.342   360,092.0    47,067.1   -13,285.1
Horizons   2019-Feb-22   00:26:00.000  -360,094.1   -47,033.6    13,298.2

Differences of seconds and tens of kilometers may be buried in leap seconds and different ephemerides (pronunciation guide), basically SpaceIL's Moon's orbit is Upside Down!

Another way to look at it is that data_s1.txt is the position of the spacecraft wrt geocenter, but data_m.txt is the position of the Earth relative to the lunacenter.

I always wanted to use "lunacenter" in an answer.

The two files use different time spacings, and I'm not going to interpolate one to the other just to make a plot. Instead I can plot x, y, z separately as a function of time in seconds since the earliest time that appears in one of the files.

$x, y, z$ plotted with minus signs in front of the coordinates only in the data_m.txt file:

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.