Skip to content

Accurate Moon positions using the Lunar solution ELP/MPP02

License

Notifications You must be signed in to change notification settings

MarcvdSluys/ELP-MPP02

Repository files navigation

ELP_MPP02: accurate Moon positions using the lunar solution ELP/MPP02 in Python

Compute accurate Moon positions using the semi-analytical lunar solution ELP2000/MPP02 by Chapront & Francou (2003) in Python.

Installation

This package can be installed using pip install elp-mpp02. You will need to manually download the six data files ELP_MAIN/PERT.S1/2/3 from ftp://cyrano-se.obspm.fr/pub/2_lunar_solutions/2_elpmpp02 and save them in a directory of your choice.

Using the package

You can import the package as follows:

from elp_mpp02 import mpp02 as mpp

Then, make sure you define the directory where the data files are located (if not in the current dir). For the subdir data/ of the current directory, do:

mpp.dataDir = 'data'  # Set the dir where the ELP_*.S* data files can be found

Choose whether to run the code in LLR (mode=0; default) or DE405 (mode=1; 'historical') mode, select a Julian day and compute the Moon position for that instance:

mode = 1  # Historical mode
jd = 2451545
lon,lat,dist = mpp.compute_lbr(jd, mode)  
print('jd =',jd, ':   lon =',lon,'rad,  lat =',lat, 'rad,  dist =',dist,'km.')

The result should be

jd = 2451545 :   lon = -2.385534575256455 rad,  lat = 0.09024868423130429 rad,  dist = 402448.6385830673 km

The ecliptical longitude and latitude are expressed in radians, the distance is in kilometres. The coordinates are valid for the mean equinox of J2000. Note that on the first call, the constants must be initialised and the data files need to be read, which can take ~10s. If mode is changed between calls, the data must be reinitialised.

Copyright and licence

  • Copyright: 2019-2025 Marc van der Sluys, Department of Physics, Utrecht University and Nikhef (institute for high-energy physics and gravitational waves), Amsterdam (NL)
  • Contact: https://marc.vandersluys.nl
  • Website: Github, PyPI
  • Licence: EUPL 1.2

Acknowledgements

  • Thanks to A. Vähäkangas for bug reports!

References

About

Accurate Moon positions using the Lunar solution ELP/MPP02

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages