Astronomical Algorithms
Astronomical Algorithms
Astronomical Algorithms
Astronoma de Posicin
Andrs Ruiz
San Sebastin Donostia
43 19N 002W
http://www.geocities.com/andresruizgonzalez
Date UT1
Aries
Mean GHA
Nutation
GHA
http://www.geocities.com/andresruizgonzalez
Date UT1
Sun
VSOP87
planet Moon Sun Geocentric
ephemerides Coordinates
Corrections
to FK5
GHA
Dec
http://www.geocities.com/andresruizgonzalez
Date UT1
star
FK5
Mean Place
(center = Barycenter of Proper motion
the Solar system)
J2000.0 Positions
Precession
Hipparcos
Nutation
annual Aberration
annual Parallax
Gravitational
deflection of light
Apparent Place
(center = Barycenter of
The Earth)
GHA
Dec
http://www.geocities.com/andresruizgonzalez
Date UT1
Planet
VSOP87
planet Moon Sun Heliocentric
ephemerides Coordinates
Geocentric
Coordinates
Corrections
to FK5
Nutation
GHA
Dec
http://www.geocities.com/andresruizgonzalez
Date UT1
Moon
Mean longitude
Mean elongation
Mean anomaly
ELP2000
Longitude
Moon periodic terms Latitude
Distance earth-moon
Apparent longitude
GHA
Dec
http://www.geocities.com/andresruizgonzalez
1
Indice
The number of each day, as reckoned consecutively since the beginning of the present
Julian period on January 1, 4713 BC. It is used primarily by astronomers to avoid confusion
due to the use of different calendars at different times and places. The Julian day begins
at noon, 12 hours later than the corresponding civil day. The day beginning at noon January
1, 1968, was Julian day 2,439,857.
Julian calendar. A revision of the ancient calendar of the city of Rome, instituted in the
Roman Empire by Julius Caesar in 46 B.C,, which reached its final form in about 8 A.D. It
consisted of years of 365 days, with an intercalary day every fourth year. The current
Gregorian calendar is the same as the Julian calendar except that October 5, 1582, of the
Julian calendar became October 15, 1582 of the Gregorian calendar and of the centurial
years, only those divisible by 400 are leap years.
Bibliography: Astronomical Algorithms by Jean Meeus. 2 Ed edition (December 1998).
ISBN: 0943396638
Variables
JD the Julian day
D Day, (current Gregorian calendar)
M Month
Y year
Hour GMT/UT time
Min Minutes
Sec Seconds
floor(x) function that returns a floating-point value representing the largest integer that is
less than or equal to x.
The floor of 2.8 is 2.0 The floor of -2.8 is -3.0
Algorithm
D = D + (hour+min/60.0+sec/3600.0)/24.0;
if( int(M) == 1 || int(M) == 2 ) {
Y = Y-1.0;
M = M+12.0;
}
A = floor(Y/100.0);
B = 2.0-A+floor(A/4.0);
if( calendar == 'Julian' ) B = 0.0;
JD = floor(365.25*(Y+4716.0)) + floor(30.6001*(M+1.0)) +D+B-1524.5;
Return to Home
Sidereal Time At Greenwich. Sidereal time is defined by the daily rotation of the earth with
respect to the vernal equinox of the first point of Aries. Sidereal time is numerically measured by
the hour angle of the equinox, which represents the position of the equinox in the daily rotation.
The period of one rotation of the equinox in hour angle, between two successive upper meridian
transits, is a sidereal day. It is divided into 24 sidereal hours, reckoned at upper transit which is
known as sidereal noon. The true equinox is at the intersection of the true celestia equator of
date with the ecliptic of date; the time measured by its daily otation is apparent sidereal time. The
position of the equinox is affected by the nutation of the axis of rotation of the earth, and the
nutation consequently introduces irregular periodic inequities into the apparent sidereal time and
the length of the sidereal day. The time measured by the motion of the mean equinox of date,
affected only by the secular inequalities due to the precession of the axis, is mean sidereal time.
The maximum difference between apparent mean sidereal times is only a little over a second
and its greatest daily change is a little more than a hundredth of a second. Because of its
variable rate, apparent sidereal time is used by astronomers only as a measure of epoch; it is not
used for time interval. Mean sidereal time is deduced from apparent sidereal time by applying the
equation of equinoxes.
Accuracy: GHA Aries less than 0.02'
Bibliography:
Astronomical Algorithms by Jean Meeus. 2 Ed edition (December 1998). ISBN: 0943396638
Variables
JD the Julian date
theta0 Mean GHA of Aries
ang_0_360(x) Function to put an angle into the limits of: 0 < x < 360
deltaPsi Nutation in longitude
epsilon True obliquity of the ecliptic
Algorithm
T = (JD - 2451545.0 ) / 36525.0;
theta0 = 280.46061837 + 360.98564736629*(JD-2451545.0) +
0.000387933*T*T - T*T*T/38710000.0;
theta0 = ang_0_360(theta0);
GHA = theta0 + deltaPsi*COS( epsilon );
The term deltaPsi*COS( epsilon ), take account of Nutation, obliquity of the ecliptic. And
can be ignored if the accuracy of 0.02' is not necessary
GHA = ang_0_360( GHA );
Return to Home
Algorithm
// D: the number of days and fraction (+ or -) from the epoch referred to as J2000.0,
// which is 2000 January 1.5, Julian date 2451545.0:
// JD: the Julian date
day = day + (hour+min/60.0+sec/3600.0)/24.0;
JD = JulianDate( day, month, year );
D = JD-2451545.0;
// all the constants (therefore g, q, and L) are in degrees.
g = 357.529+0.98560028*D;
q = 280.459+0.98564736*D;
// L: approximation to the Sun's geocentric apparent ecliptic longitude (adjusted for
aberration).
L = q+1.915*SIN( g )+ 0.020* SIN( 2.0*g );
// Reduce g, q, and L to the range 0 to 360
g = ang_0_360( g );
q = ang_0_360( q );
L = ang_0_360( L );
// Sun's ecliptic latitude, b, can be approximated by
b = 0.0;
// The distance of the Sun from the Earth, R, in astronomical units (AU)
R = 1.00014-0.01671*COS( g )-0.00014*COS( 2.0*g );
// mean obliquity of the ecliptic, in degrees:
e = 23.439-0.00000036*D;
// right ascension in degrees
// RA is always in the same quadrant as L.
// RA = ATAN( COS( e )*SIN( L )/COS( L ) );
// the proper quadrant will be obtained.
RA = ATAN2( COS( e )*SIN( L ), COS( L ) );
// right ascension in hours
RA = RA/15.0;
// Reduced to the range 0h to 24h
RA = time_0_24( RA );
// declination
Dec = ASIN( SIN( e )*SIN( L ) );
// The Equation of Time, apparent solar time minus mean solar time
// Eqt and RA are in hours and q is in degrees.
EqT = q/15.0 - RA;
// angular semidiameter of the Sun in degrees
SD = 0.2666/R;
Return to Home
Ephemerides
The almanac data is calculated from GMT/UT:
GHA
DEC
HP
Semi-diameter
Variables
GMT Greenwich Mean Time. Universal Time (UT).
Lat or B Latitude (north = positive, south = negative)
Long or L Longitude (east = positive, west = negative).
GHA Greenwich Hour Angle = GHA(Aries) + SHA in degrees E from 0 to 360.
SHA Sidereal Hour Angle = 360 - Right Ascension.
DEC Declination in degrees north (positive) and south (negative).
LHA Local Hour Angle = GHA + Longitude in degrees E from 0 to360.
LHA = GHAAries + SHA +/- observer's longitude
HP Horizontal Parallax of Sun, Moon, Venus or Mars.
PA Parallax in Altitude of Sun, Moon, Venus or Mars.
PA = HP * cos H
S Semi-diameter of the Sun or Moon. (Add lower limb and subtract upper limb).
Sun
The calculations in the method using the coefficients are:
Time variable x = (d + GMT / 24 ) / 32.
d is the day in the month and GMT the universal time in hours.
Using x, (GHA - GMT) in hours and DEC in degrees are derived from this expression:
a0 + (a1 * x) + (a2 * x2) + (a3 * x3) + (a4 * x4)
This can be rewritten as:
( ( (a4 * x + a3) * x + a2) * x + a1) * x + a0
You can convert the GHA in hours to degrees by adding GMT and multiplying the result by 15 to
convert from hours to degrees.
Stars
The algorithms are similar to the Sun:
Calculate time variable L
L = 0.9856474 * ( D + d + GMT / 24)
D = Number of days from 0:0:0 on 1/1/91 or 1/1/96. d is the day of the month.
For information GHA(Aries) can be derived from 98.9513 + L + (15 * GMT in decimal hours)
Navegacin http://www.geocities.com/andresruizgonzalez Andrs Ruiz
6
Moon
The method uses a complex set of algorithms to derive the GHA, DEC and HP.
Planets
The calculations using the coefficients are the same as for the Sun:
Time variable x = (d + GMT / 24) / 32.
d is the day in the month and GMT the universal time in hours.
(GHA - GMT) in hours and DEC in degrees are derived from this expression:
a0 + (a1 * x) + (a2 * x2) + (a3 * x3) + (a4 * x4)
Return to Home