Moon examples¶
Let’s define a small helper function:
def print_me(msg, val):
print("{}: {}".format(msg, val))
Let’s now compute the Moon geocentric ecliptical position for a given epoch:
epoch = Epoch(1992, 4, 12.0)
Lambda, Beta, Delta, ppi = Moon.geocentric_ecliptical_pos(epoch)
print_me("Longitude (Lambda)", round(Lambda, 6))
# Longitude (Lambda): 133.162655
print_me("Latitude (Beta)", round(Beta, 6))
# Latitude (Beta): -3.229126
print_me("Distance (Delta)", round(Delta, 1))
# Distance (Delta): 368409.7
print_me("Equatorial horizontal parallax (Pi)", round(ppi, 6))
# Equatorial horizontal parallax (Pi): 0.99199
Now let’s compute the apparent ecliptical position:
epoch = Epoch(1992, 4, 12.0)
Lambda, Beta, Delta, ppi = Moon.apparent_ecliptical_pos(epoch)
print_me("Longitude (Lambda)", round(Lambda, 6))
# Longitude (Lambda): 133.167264
print_me("Latitude (Beta)", round(Beta, 6))
# Latitude (Beta): -3.229126
print_me("Distance (Delta)", round(Delta, 1))
# Distance (Delta): 368409.7
print_me("Equatorial horizontal parallax (Pi)", round(ppi, 6))
# Equatorial horizontal parallax (Pi): 0.99199
Get the apparent equatorial position:
epoch = Epoch(1992, 4, 12.0)
ra, dec, Delta, ppi = Moon.apparent_equatorial_pos(epoch)
print_me("Right Ascension (ra)", round(ra, 6))
# Right Ascension (ra): 134.688469
print_me("Declination (dec)", round(dec, 6))
# Declination (dec): 13.768367
print_me("Distance (Delta)", round(Delta, 1))
# Distance (Delta): 368409.7
print_me("Equatorial horizontal parallax (Pi)", round(ppi, 6))
# Equatorial horizontal parallax (Pi): 0.99199
Compute the longitude of the Moon’s mean ascending node:
epoch = Epoch(1913, 5, 27.0)
Omega = Moon.longitude_mean_ascending_node(epoch)
print_me("Longitude of the mean ascending node", round(Omega, 1))
# Longitude of the mean ascending node: 0.0
epoch = Epoch(1959, 12, 7.0)
Omega = Moon.longitude_mean_ascending_node(epoch)
print_me("Longitude of the mean ascending node", round(Omega, 1))
# Longitude of the mean ascending node: 180.0
Get the longitude of the Moonś true ascending node:
epoch = Epoch(1913, 5, 27.0)
Omega = Moon.longitude_true_ascending_node(epoch)
print_me("Longitude of the true ascending node", round(Omega, 4))
# Longitude of the true ascending node: 0.8763
Compute the longitude of the Moon’s mean perigee:
epoch = Epoch(2021, 3, 5.0)
Pi = Moon.longitude_mean_perigee(epoch)
print_me("Longitude of the mean perigee", round(Pi, 5))
# Longitude of the mean perigee: 224.89194
Compute the approximate illuminated fraction of the Moon’s disk:
epoch = Epoch(1992, 4, 12.0)
k = Moon.illuminated_fraction_disk(epoch)
print_me("Approximate illuminated fraction of Moon's disk", round(k, 2))
# Approximate illuminated fraction of Moon's disk: 0.68
Compute the position angle of the bright limb of the Moon:
epoch = Epoch(1992, 4, 12.0)
xi = Moon.position_bright_limb(epoch)
print_me("Position angle of the bright limb of the Moon", round(xi, 1))
# Position angle of the bright limb of the Moon: 285.0
Calculate the instant of a New Moon:
epoch = Epoch(1977, 2, 15.0)
new_moon = Moon.moon_phase(epoch, target="new")
y, m, d, h, mi, s = new_moon.get_full_date()
print("New Moon: {}/{}/{} {}:{}:{}".format(y, m, d, h, mi, round(s)))
# New Moon: 1977/2/18 3:37:42
Calculate the time of a Last Quarter:
epoch = Epoch(2044, 1, 15.0)
new_moon = Moon.moon_phase(epoch, target="last")
y, m, d, h, mi, s = new_moon.get_full_date()
print("Last Quarter: {}/{}/{} {}:{}:{}".format(y, m, d, h, mi, round(s)))
# Last Quarter: 2044/1/21 23:48:17
Compute the time and parallax of apogee:
epoch = Epoch(1988, 10, 1.0)
apogee, parallax = Moon.moon_perigee_apogee(epoch, target="apogee")
y, m, d, h, mi, s = apogee.get_full_date()
print("Apogee epoch: {}/{}/{} {}:{}".format(y, m, d, h, mi))
# Apogee epoch: 1988/10/7 20:30
print_me("Equatorial horizontal parallax", parallax.dms_str(n_dec=3))
# Equatorial horizontal parallax: 54' 0.679''
Compute the time of passage by the ascending node:
epoch = Epoch(1987, 5, 15.0)
passage = Moon.moon_passage_nodes(epoch, target="ascending")
y, m, d, h, mi, s = passage.get_full_date()
mi += s/60.0
print("Passage by the ascending node: {}/{}/{} {}:{}".format(y, m, d, h, round(mi)))
# Passage by the ascending node: 1987/5/23 6:26
Compute the epoch and amplitude of maximum southern declination:
epoch = Epoch(2049, 4, 15.0)
epo, dec = Moon.moon_maximum_declination(epoch, target='southern')
y, m, d, h, mi, s = epo.get_full_date()
print("Epoch of maximum declination: {}/{}/{} {}:{}".format(y, m, d, h, mi))
# Epoch of maximum declination: 2049/4/21 14:0
print_me("Amplitude of maximum declination", dec.dms_str(n_dec=0))
# Amplitude of maximum declination: -22d 8' 18.0''
Compute the librations of the Moon:
epoch = Epoch(1992, 4, 12.0)
lopt, bopt, lphys, bphys, ltot, btot = Moon.moon_librations(epoch)
print_me("Optical libration in longitude", round(lopt, 3))
# Optical libration in longitude: -1.206
print_me("Optical libration in latitude", round(bopt, 3))
# Optical libration in latitude: 4.194
print_me("Physical libration in longitude", round(lphys, 3))
# Physical libration in longitude: -0.025
print_me("Physical libration in latitude", round(bphys, 3))
# Physical libration in latitude: 0.006
print_me("Total libration in longitude", round(lphys, 2))
# Total libration in longitude: -1.23
print_me("Total libration in latitude", round(bphys, 3))
# Total libration in latitude: 4.2
Let’s calculate the position angle of the Moon’s axis of rotation:
epoch = Epoch(1992, 4, 12.0)
p = Moon.moon_position_angle_axis(epoch)
print_me("Position angle of Moon's axis of rotation", round(p, 2))
# Position angle of Moon's axis of rotation: 15.08