![]() |
libTheSky
Routines to compute sky positions of Sun, Moon, planets and more
|
Procedures for the Moon. More...
Functions/Subroutines | |
subroutine | elp82b_lbr (tjj, ll, bb, rr) |
Calculate the apparent geocentric ecliptical position of the Moon, using the Lunar Solution ELP 2000-82B. | |
subroutine | elp_mpp02_lbr (jd, mode, lon, lat, rad, precess) |
Compute the spherical lunar coordinates using the ELP2000/MPP02 lunar theory in the dynamical mean ecliptic and equinox of J2000. | |
subroutine | elp_mpp02_xyz (jd, mode, xyz, vxyz, ierr) |
Compute the rectangular lunar coordinates using the ELP/MPP02 lunar theory in the dynamical mean ecliptic and equinox of J2000. | |
subroutine | moonpos_la (jd, calc, nt) |
Quick, lower-accuracy lunar coordinates; ~600x faster than ELP. | |
real(double) function | moonmagn (pa, delta) |
Calculate the magnitude of the Moon. | |
Procedures for the Moon.
subroutine thesky_moon::elp82b_lbr | ( | real(double), intent(in) | tjj, |
real(double), intent(out) | ll, | ||
real(double), intent(out) | bb, | ||
real(double), intent(out) | rr ) |
Calculate the apparent geocentric ecliptical position of the Moon, using the Lunar Solution ELP 2000-82B.
tjj | Time for calculation in Julian millenia after 2000.0 |
ll | Apparent geocentric ecliptical longitude (output) |
bb | Apparent geocentric ecliptical latitude (output) |
rr | Apparent geocentric distance (output) |
Definition at line 55 of file moon_position.f90.
References thesky_moondata::a0, thesky_moondata::ath, thesky_moondata::nrang, thesky_moondata::nterm, thesky_moondata::pc1, thesky_moondata::pc2, thesky_moondata::pc3, thesky_moondata::per1, thesky_moondata::per2, thesky_moondata::per3, thesky_moondata::t, and thesky_moondata::w.
Referenced by thesky_planets::planet_position().
subroutine thesky_moon::elp_mpp02_lbr | ( | real(double), intent(in) | jd, |
integer, intent(in) | mode, | ||
real(double), intent(out) | lon, | ||
real(double), intent(out) | lat, | ||
real(double), intent(out) | rad, | ||
logical, intent(in), optional | precess ) |
Compute the spherical lunar coordinates using the ELP2000/MPP02 lunar theory in the dynamical mean ecliptic and equinox of J2000.
jd | Julian day to compute Moon position for |
mode | Index of the corrections to the constants: 0-Fit to LLR observations, 1-Fit to DE405 1950-2060 (historical) |
lon | Ecliptic longitude (rad) (output) |
lat | Ecliptic latitude (rad) (output) |
rad | Distance (AU) (output) |
precess | Apply precession (input, optional, default=.true.) |
Definition at line 188 of file moon_position.f90.
References elp_mpp02_xyz(), and thesky_coordinates::precess_ecl().
Referenced by thesky_planets::planet_position().
subroutine thesky_moon::elp_mpp02_xyz | ( | real(double), intent(in) | jd, |
integer, intent(in) | mode, | ||
real(double), dimension(3), intent(out) | xyz, | ||
real(double), dimension(3), intent(out) | vxyz, | ||
integer, intent(out) | ierr ) |
Compute the rectangular lunar coordinates using the ELP/MPP02 lunar theory in the dynamical mean ecliptic and equinox of J2000.
jd | Julian day to compute Moon position for |
mode | Index of the corrections to the constants: 0-Fit to LLR observations, 1-Fit to DE405 1950-2060 (historical) |
xyz | Geocentric rectangular coordinates: (output)
|
vxyz | Geocentric rectangular velocities: (output)
|
ierr | File error index - ierr=0: no error, ierr=1: file error (output) |
Definition at line 266 of file moon_position.f90.
References thesky_data::elp_mpp02_initialise_and_read_files().
Referenced by elp_mpp02_lbr().
real(double) function thesky_moon::moonmagn | ( | real(double), intent(in) | pa, |
real(double), intent(in) | delta ) |
Calculate the magnitude of the Moon.
pa | Phase angle (rad) |
delta | Geocentric(?) distance (AU) |
moonmagn | The magnitude of the Moon |
Definition at line 629 of file moon_position.f90.
References moonmagn().
Referenced by thesky_visibility::limmag_skybrightness(), moonmagn(), moonpos_la(), and thesky_planets::planet_position().
subroutine thesky_moon::moonpos_la | ( | real(double), intent(in) | jd, |
integer, intent(in) | calc, | ||
integer, intent(in) | nt ) |
Quick, lower-accuracy lunar coordinates; ~600x faster than ELP.
jd | Julian day for computation |
calc | Calculate: 1: l,b,r, 2: & ra,dec, 3: & gmst,agst, 4: & az,alt, nt: number of terms <=60 |
nt | Number of terms to use |
Definition at line 434 of file moon_position.f90.
References thesky_datetime::calc_deltat(), thesky_datetime::calc_gmst(), thesky_coordinates::ecl_2_eq(), thesky_coordinates::eq2horiz(), thesky_local::lat0, thesky_local::lon0, thesky_planetdata::moonla_arg, thesky_planetdata::moonla_lrb, moonmagn(), thesky_planetdata::nplanpos, thesky_planetdata::planpos, and thesky_sun::sunpos_la().
Referenced by thesky_planets::planet_position_la().