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
- Chapront & Francou (2003)
- FTP data files — in case FTP urls don't work in Markdown: ftp://cyrano-se.obspm.fr/pub/2_lunar_solutions/2_elpmpp02
- This Python code is adapted from the Fortran implementation in libTheSky
Metadata
Release files for elp-mpp02 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elp_mpp02-0.0.6.tar.gz | 16.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elp_mpp02-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.5 kB
Release files / elp_mpp02-0.0.6.tar.gz
| Download URL | elp_mpp02-0.0.6.tar.gz |
|---|---|
| Size | 16.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f32d37f707e6accca17515d11205ca7494fcdbe1228519cb25f7c908ec13d56
|
|
BLAKE2b-256 checksum How to use checksums |
d8855f58c22a80c90cdf6944a816a99720dc26359f770c0483bb749217d14147
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / elp_mpp02-0.0.6-py3-none-any.whl
| Download URL | elp_mpp02-0.0.6-py3-none-any.whl |
|---|---|
| Size | 16.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42188a68e5e3761bcf887972309afd7da166846d8e7b0385f5dcab99efb13fc4
|
|
BLAKE2b-256 checksum How to use checksums |
4002bbc1bb6b9b3fc54e0d6f7bc78bc85939017e28441a32d9fda17715e21999
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|