libnova  v 0.16.0
Functions
Mercury

Functions

double LIBNOVA_EXPORT ln_get_mercury_sdiam (double JD)
 Calculate the semidiameter of Mercury in arc seconds. More...
 
int LIBNOVA_EXPORT ln_get_mercury_rst (double JD, struct ln_lnlat_posn *observer, struct ln_rst_time *rst)
 Calculate the time of rise, set and transit for Mercury. More...
 
void LIBNOVA_EXPORT ln_get_mercury_helio_coords (double JD, struct ln_helio_posn *position)
 Calculate Mercury's heliocentric coordinates. More...
 
void LIBNOVA_EXPORT ln_get_mercury_equ_coords (double JD, struct ln_equ_posn *position)
 Calculate Mercury's equatorial coordinates. More...
 
double LIBNOVA_EXPORT ln_get_mercury_earth_dist (double JD)
 Calculate the distance between Mercury and the Earth. More...
 
double LIBNOVA_EXPORT ln_get_mercury_solar_dist (double JD)
 Calculate the distance between Mercury and the Sun in AU. More...
 
double LIBNOVA_EXPORT ln_get_mercury_magnitude (double JD)
 Calculate the visible magnitude of Mercury. More...
 
double LIBNOVA_EXPORT ln_get_mercury_disk (double JD)
 Calculate the illuminated fraction of Mercury's disk. More...
 
double LIBNOVA_EXPORT ln_get_mercury_phase (double JD)
 Calculate the phase angle of Mercury (Sun - Mercury - Earth) More...
 
void LIBNOVA_EXPORT ln_get_mercury_rect_helio (double JD, struct ln_rect_posn *position)
 Calculate Mercurys rectangular heliocentric coordinates. More...
 

Detailed Description

Functions relating to the planet Mercury.

All angles are expressed in degrees.

Function Documentation

double ln_get_mercury_disk ( double  JD)

Calculate the illuminated fraction of Mercury's disk.

Returns
Illuminated fraction of mercurys disk
Parameters
JDJulian day
Returns
Illuminated fraction of Mercury's disk

Calculate the illuminated fraction of Mercury's disk for the given Julian day.

References ln_get_earth_solar_dist(), ln_get_mercury_earth_dist(), ln_get_mercury_solar_dist(), and ln_helio_posn::R.

double ln_get_mercury_earth_dist ( double  JD)

Calculate the distance between Mercury and the Earth.

Calculate the distance between Mercury and the Earth in AU.

Returns
Distance in AU
Parameters
JDJulian day
Returns
Distance in AU

Calculates the distance in AU between the Earth and Mercury for the given julian day.

References ln_get_earth_helio_coords(), ln_get_mercury_helio_coords(), ln_get_rect_from_helio(), ln_rect_posn::X, ln_rect_posn::Y, and ln_rect_posn::Z.

Referenced by ln_get_mercury_disk(), ln_get_mercury_magnitude(), ln_get_mercury_phase(), and ln_get_mercury_sdiam().

void ln_get_mercury_equ_coords ( double  JD,
struct ln_equ_posn position 
)

Calculate Mercury's equatorial coordinates.

Parameters
JDjulian Day
positionPointer to store position

Calculates Mercury's equatorial position for given julian day. This function includes calculations for planetary aberration and refers to the FK5 reference frame.

To get the complete equatorial coordinates, corrections for nutation have to be applied.

The position returned is accurate to within 0.1 arcsecs.

References ln_equ_posn::dec, ln_get_mercury_helio_coords(), ln_get_rect_from_helio(), ln_get_solar_geom_coords(), ln_rad_to_deg(), ln_range_degrees(), ln_equ_posn::ra, ln_rect_posn::X, ln_rect_posn::Y, and ln_rect_posn::Z.

Referenced by ln_get_mercury_rst().

void ln_get_mercury_helio_coords ( double  JD,
struct ln_helio_posn position 
)

Calculate Mercury's heliocentric coordinates.

Parameters
JDJulian Day
positionPointer to store heliocentric position

Calculate Mercury heliocentric (refered to the centre of the Sun) coordinates in the FK5 reference frame for the given julian day. Longitude and Latitude are in degrees, whilst radius vector is in AU.

References ln_helio_posn::B, ln_helio_posn::L, ln_rad_to_deg(), ln_range_degrees(), ln_vsop87_to_fk5(), and ln_helio_posn::R.

Referenced by ln_get_mercury_earth_dist(), ln_get_mercury_equ_coords(), ln_get_mercury_rect_helio(), and ln_get_mercury_solar_dist().

double ln_get_mercury_magnitude ( double  JD)

Calculate the visible magnitude of Mercury.

Returns
Visible magnitude of Mercury
Parameters
JDJulian day
Returns
Visisble magnitude of mercury

Calculate the visisble magnitude of Mercury for the given julian day.

References ln_get_mercury_earth_dist(), ln_get_mercury_phase(), and ln_get_mercury_solar_dist().

double ln_get_mercury_phase ( double  JD)

Calculate the phase angle of Mercury (Sun - Mercury - Earth)

Returns
Phase angle of Mercury (degrees)
Parameters
JDJulian day
Returns
Phase angle of Mercury (degrees)

Calculates the phase angle of Mercury, that is, the angle Sun - Mercury - Earth for the given Julian day.

References ln_get_earth_solar_dist(), ln_get_mercury_earth_dist(), ln_get_mercury_solar_dist(), ln_rad_to_deg(), and ln_helio_posn::R.

Referenced by ln_get_mercury_magnitude().

void ln_get_mercury_rect_helio ( double  JD,
struct ln_rect_posn position 
)

Calculate Mercurys rectangular heliocentric coordinates.

Parameters
JDJulian day.
positionpointer to return position

Calculate Mercurys rectangular heliocentric coordinates for the given Julian day. Coordinates are in AU.

References ln_get_mercury_helio_coords(), and ln_get_rect_from_helio().

double ln_get_mercury_rst ( double  JD,
struct ln_lnlat_posn observer,
struct ln_rst_time rst 
)

Calculate the time of rise, set and transit for Mercury.

Parameters
JDJulian day
observerObservers position
rstPointer to store Rise, Set and Transit time in JD
Returns
0 for success, else 1 for circumpolar.

Calculate the time the rise, set and transit (crosses the local meridian at upper culmination) time of Mercury for the given Julian day.

Note: this functions returns 1 if Mercury is circumpolar, that is it remains the whole day either above or below the horizon.

References ln_get_body_rst_horizon(), and ln_get_mercury_equ_coords().

double ln_get_mercury_sdiam ( double  JD)

Calculate the semidiameter of Mercury in arc seconds.

Parameters
JDJulian day
Returns
Semidiameter in arc seconds

Calculate the semidiameter of Mercury in arc seconds for the given julian day.

References ln_get_mercury_earth_dist().

double ln_get_mercury_solar_dist ( double  JD)

Calculate the distance between Mercury and the Sun in AU.

Returns
Distance in AU
Parameters
JDJulian day
Returns
Distance in AU

Calculates the distance in AU between the Sun and Mercury for the given julian day.

References ln_get_mercury_helio_coords(), and ln_helio_posn::R.

Referenced by ln_get_mercury_disk(), ln_get_mercury_magnitude(), and ln_get_mercury_phase().