Lunar Reference Frame

Hi everyone,
I am currently working on some Moon orbits. I have a set of predefined keplerian orbital parameters in the LME2000 reference frame (basically it is defined from the intersection of moon mean equator with J2000 plane at J2000 epoch).
Unfortunately it seems that there are no predefined frames for lunar missions.

My work around to it is to get the EME2000 frame centered at the moon with:
and then I am able to rotate by defining a new frame as follows: new Frame(parentFrame, transform,…) .

I had a look at the orekit source code and it seems that the method getInertiallyOrientedFrames() will only provide a eme2000 like frame at the center of a celestial object, is It correct?

If it is true I would like to know if there is any plan to add some new reference frame in the future, particularly those that rotates with the moon which would be helpful to compute the groundtrack.

Thank you in advance.

Hi @DDega,

CelestialBody.getInertiallyOrientedFrame() returns a frame that is body-centered, Z axis is aligned with the body IAU pole, and X axis with the body IAU prime meridian (see here).
The parent frame is ICRF, not EME2000.
So it should be close to LME2000 frame, with a small bias due to EME2000/ICRF misalignment.
(Knowing that some references, like the SPICE ephemeris from NAIF for example, tend to assimilate both frames, see their tutorial on frames).

The rotating frame already exists, you can get it with CelestialBody.getBodyOrientedFrame().

Hope this helps,

Thanks Maxime,

All clear as day :slight_smile: .

1 Like