Overview
-The ASTRO48 directory is included in the zip file as a binary file ( #33176d / 58327 bytes )
-The position of the Sun and the planets are computed by the VSOP87B
series for the Sun, Mercury, Venus and Mars
and the TOP2010A series for Jupiter, Sturn, Uranus and Neptune
( references [2] & {3] )
-For Uranus & Neptune, small corrections have been added to take
DE422 into account.
-For Pluto, the series are given by J. Meeus in his "Astronomical Algorithms"
and
-For the Moon, I've used the series created by Kudryavtsev ( reference
[13] )
-The position of "Xena" comes from approximate formulae that I've found
with my HP-48 ( fitted to DE 406 )
-The results are obtained with respect to the mean ecliptic J2000,
so we can use the latest formulae for precession given in reference [4]
to get the coordinates reffered to the mean ecliptic & equinox
of the date.
-The heliocentric coordinates are mean coordinates, the geocentric
coordinates are true coordinates, affected by aberration.
and for the topocentric coordinates, the corrections for refraction
and parallax are taken into account.
-The azimuths are reckoned westward from South.
-For the 8 major planets, the series are truncated to 10 -6
radian over the time span [-1000 , +5000]
-So, the precision is of the order of a few thousandths of a degree.
-For the Moon, the same precision is achieved between -3000 & +3000
-For Pluto's coordinates, the error is smaller than 0"07 ( compared
to DE405 ) between 1885 & 2099
-And the error in the heliocentric longitude and latitude of the "10th
planet" should not exceed 0°01 between 1793 and 2177
-The origin of time is 2000/01/01 12h TT = J2000.0
-The longitudes are measured positively Eastward from the meridian of Greenwich
Note:
-All the precession-programs employ the formulae given in reference [4] which are valid +/- 200,000 years from J2000
Warning:
-Flag F04 must be cleared for Gregorian dates ( 4 CF )
-Flag F04 must be set for Julian dates.( 4 SF )
-The flag indicator for F04 does not appear on the HP-50G, so check
it to avoid wrong results...
Initializations
-To get the correct topocentric coordinates, initialize the following variables:
• DELTA T ( in seconds ) must be stored in
'DT'
• Longitude of your location ( ° ' " )
in 'l'
• Latitude of your location ( ° ' " )
in 'b'
• Altitude of your location ( in meters )
in 'Alt'
-And always execute TS first. ( True Sidereal Time
at Greenwich )
-This stores the correct values in 'e'
( true obliquity ), 'PSI' ( nutation in longitude ), and
'T' = time since J2000.0 expressed in millenia.
-In the examples below, I've choosen the Mount Palomar Observatory:
l = -116°51'50"4 b = 33°21'22"4 and Alt = 1706 m
and the date is 2100/01/01 7h41m UT ,
assuming TT-UT = 203 seconds
Functions | Description |
DT
TS SUN PLN ZODIAC SATL PHASE MOON COMET PHEM LBR T q a E I L w W VP KPL MER VEN MAR JUP SAT URA NEP PLU XENA d&t LST DOW J2000 J->DAT dDAYS DAT± EASTER PREa PREl AD ECLEQ EQECL GEO EQAZ PAR H->H0 iwW EAPA QAPA OBL NUT EE S->R R->S e PSI X Y Z T PRE0 l b Alt P->R R->P L0 TS0 VSOP TDB |
• DELTAT = TT - UT ( in seconds )
Sidereal Time Position of the Sun Directory ( Planets , Moon , .... ) Zodiac Satellites of Jupiter, Saturn, Uranus Phases of the Moon Position of the Moon Directory ( Comets ) Parabolic, Hyperbolic & Elliptic Motions Heliocentric Longitude, Latitude, Distance from the Sun Time of passage in perihelion, in days since J2000.0 Perihelion Distance ( in AU ) Semi-major Axis ( in AU ) Eccentricity Inclination of the orbit ( in decimal degrees ) Mean Longitude ( in decimal degrees ) Argument of the perihelion OR Longitude of the perihelion (°) Longitude of the ascending Node ( in decimal degrees too ) M , e#1 ---> True Anomaly v & r/q Solves Kepler's Equation M , e#1 ---> Eccentric anomaly E Position of Mercury Position of Venus Position of Mars Position of Jupiter Position of Saturn Position of Uranus Position of Neptune Position of Pluto Position of Xena ( Lilah/Xena/Eris ) Date & Time Local Solar Time Day of the Week Date ---> Number of days since 2000/01/01 12h Number of days since 2000/01/01 12h ---> Date Delta days = Difference between 2 dates Date +/- a number of days ---> New Date Date of Easter Precession ( Equatorial Coordinates ) Precession ( Ecliptic Coordinates ) A subroutine to get right-ascension Transformation Ecliptic ---> Equatorial Transformation Equatorial ---> Ecliptic A subroutine to get geocentric coordinates Transformation Equatorial ---> Azimuthal Correction for Parallax ( Azimuthal coordinates ) Correction for Refraction Ecliptic elements from one equinox to another one Parameters for precession Parameters for precession Mean obliquity of the ecliptic Nutation in longitude & obliquity Equatorial ---> Ecliptic & similar transformations Transformation Spherical ---> Rectangular Transformation Rectangular ---> Spherical Obliquity of the Ecliptic Nutation in longitude Rectangular X Coordinate of the Sun Rectangular Y Coordinate of the Sun Rectangular Z Coordinate of the Sun Time in Millenia from from J2000.0 Precession ( Ecliptic Coordinates ) from J2000.0 to Date • Longitude of your location ( ° ' " ) positive East • Latitude of your Location ( ° ' " ) positive North • Altitude of your location ( in meters ) Polar -> Rectangular Rectangular -> Polar Temporary data Temporary data ML program that calculates the coordinates much faster Calculates the difference TDB - TT |
-Store this value expressed in seconds in 'DT'
-In the following examples, place TT - UT = 203 seconds in 'DT'
-'TS' returns the true sidereal time at Greenwich.
STACK | INPUTS | OUTPUTS |
Level 2 | YYYY.MNDD | / |
Level 1 | hh.mnss (UT) | HH.MNSS ( ST ) |
Example:
-For example, on 2100/01/01 , 7h41m UT
4 CF ( Gregorian date )
2100.0101 ENTER
7.41
TS yields
14h25m13s11
Note:
-Remember that 'TS' calls J2000 as a subroutine, so clear flag
4 for a Gregorian date or set flag 4 for a Julian date
-Don't forget to initialize l
= -116°51'50"4 b = 33°21'22"4
and Alt = 1706 m ( Palomar Observatory )
STACK | INPUTS | OUTPUTS |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where l = geocentric longitude in degrees ,
b = geocentric latitude in degrees , r = distance from the Earth in AU
, Q = elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: After executing TS above, press the SUN key to get
l = 280°93189
b = 0°000076
r = 0.983351 AU
Q = 0
a = 18h47m33s
d = -22°58'44"
Az = 167°39'40"
h = -79°24'08"
h0 = -79°24'08"
Notes:
-Since the Sun is under the horizon, h0 is in fact meaningless.
-Q , Az , h & h0 are
tagged
-The rectangular ecliptic coordinates of the Sun are also stored in
'X' 'Y' 'Z' ( in AU )
STACK | INPUTS | OUTPUTS |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where l = geocentric longitude in degrees ,
b = geocentric latitude in degrees , r = distance from the Earth in AU
, Q = elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Simply press PLN & MOON to get
l = 161°9208
b = 0°6976
r = 0.00248241 AU
Q = 119°009
a = 10h54m22s
d = 7°43'58"
Az = -82°00'53"
h = 24°52'56"
h0 = 24°54'59"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press MER to get
L = 306°2501
B = -6°8215
R = 0.430761 AU
l = -71°4730
b = -2°1201
r = 1.383095 AU
Q = 7°884
a = 19h21m31s
d = -24°14'53"
Az = 130°45'59"
h = -76°47'35"
h0 = -76°47'35"
Note:
-If flag 1 is set, MER only returns L B
R in levels 3 2 1 respectively.
-It's the same for the other planets.
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press VEN to get
L = 20°2462
B = -2°8595
R = 0.725171 AU
l = -39°5428
b = -1°8451
r = 1.123579 AU
Q = 39°561
a = 21h33m52s
d = -16°24'45"
Az = 102°07'39"
h = -47°00'45"
h0 = -47°00'45"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press MAR it yields:
L = 67°7451
B = 0°5538
R = 1.509842 AU
l = 29°6559
b = 0°9580
r = 0.872804 AU
Q = 108°721
a = 1h48m57s
d = 12°14'32"
Az = 90°47'34"
h = 21°28'20"
h0 = 21°30'44"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press JUP it yields:
L = 191°0178
B = 1°2989
R = 5.45142 AU
l = -158°7595
b = 1°2780
r = 5.54077 AU
Q = 79°694
a = 13h20m27s
d = -7°05'49"
Az = -89°52'21"
h = -12°47'30"
h0 = -12°47'30"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press SAT it yields:
L = 200°0003
B = 2°4746
R = 9.66624 AU
l = -154°3501
b = 2°4238
r = 9.86890 AU
Q = 75°295
a = 13h38m40s
d = -7°39'07"
Az = -91°54'40"
h = -16°53'48"
h0 = -16°53'48"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press URA it yields:
L = 20°5450
B = -0°6251
R = 19.9706 AU
l = 17°7428
b = -0°6295
r = 19.8302 AU
Q = 96°811
a = 1h06m25s
d = 6°22'39"
Az = 91°25'55"
h = 9°28'21"
h0 = 9°33'48"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press NEP it gives:
L = 165°5768
B = -0°9512
R = 30.20779 AU
l = 167°2881
b = 0°9642
r = 29.7999 AU
Q = 113°640
a = 11h14m44s
d = 5°54'27"
Az = -83°23'06"
h = 20°33'04"
h0 = 20°35'35"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press PLU it gives:
L = 33°5191
B = -16°7921
R = 48.93242 AU
l = 32°4012
b = -16°9177
r = 48.57951 AU
Q = 110°497
a = 2h23m51s
d = -3°37'19"
Az = 71°33'23"
h = 19°43'31"
h0 = 19°46'09"
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | / | h |
Level 1 | / | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a
= right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Press XENA it yields:
L = 43°763
B = 6°142
R = 83.949 AU
l = 43°198
b = 6°181
r = 83.423 AU
Q = 122°056
a = 2h34m59s
d = 21°40'39"
Az = 94°07'26"
h = 35°39'52"
h0 = 35°41'12"
-ZODIAC takes a year in level 2 and an angle L expressed in degrees
in level 1.
-It returns the date & time for which the longitude of the Sun
equals L
STACK | INPUTS | OUTPUTS |
Level 2 | YYYY | YYYY.MNDD |
Level 1 | L ( deg ) | HH.MNSS ( TT ) |
Example: Find the instant of the June Solstice in 2012
2012 ENTER
90 ZODIAC
-We get 2012.0620 at 23h09m45s ( TT )
Notes:
-However, for an instant before the spring equinox, subtract
360° to L.
-Otherwise, the result would concern the following year !
-Clear flag 4 for Gregorian dates, Set flag 4 for Julian dates.
Satellites of Jupiter, Saturn, Uranus
-SATL allows you to get the configuration of the main satellites of these 3 planets, as seen from Earth
4 satellites of Jupiter ( Io - Europa - Ganymede - Callisto )
7 satellites of Saturn ( Mimas - Enceladus - Tethys - Dione
- Rhea -Titan - Hyperion )
5 satellites of Uranus ( Ariel - Umbriel -Titania - Oberon -
Miranda )
-The x-axis coincides with the equator of the planet.
-The center of the Planet is the origin and x , y are measured in
equatorial radii.
y ( North )
|
|
|
( East ) ------------Jup/Sat/Ura------------------ x (
West )
|
|
( South )
STACK | INPUTS | OUTPUTS1 | OUTPUTS2 | OUTPUTS3 |
Level 7 | / | / | ( x , y )IHyperion | / |
Level 6 | / | / | ( x , y )Titan | / |
Level 5 | / | / | ( x , y )Rhéa | ( x , y )Miranda |
Level 4 | / | ( x , y )Callisto | ( x , y )Dioné | ( x , y )Oberon |
Level 3 | YYYY.MNDD | ( x , y )Ganymede | ( x , y )Thetys | ( x , y )Titania |
Level 2 | HH.MNSS ( TT ) | ( x , y )Europa | ( x , y )Enceladus | ( x , y )Umbriel |
Level 1 | 1 or 2 or 3 | ( x , y )Io | ( x , y )Mimas | ( x , y )Ariel |
Where Level 1 = 1 for Jupiter , 2 for Saturn , 3 for Uranus satellites
---> the outputs (x,y) are rounded to 3 decimals , tagged by "+" if the satellite is closer to the Earth than the planet or tagged by "-" otherwise.
Example: On 2009/07/16
at 12h41m TT
• Jovian Satellites
2009.0716 ENTER
12.41
ENTER
1 SATL
we get:
Io - Europa - Ganymede - Callisto
x1 = -1.071 x2
= 9.260 x3
= 13.152 x4
= -12.079
y1 = -0.052 y2
= 0.020 y3
= -0.050 y4
= 0.241
-Io & Ganymede are closer to the Earth than Jupiter.
• Saturnian Satellites
2009.0716 ENTER
12.41
ENTER
2 SATL
Mimas - Enceladus - Tethys - Dione - Rhea - Titan - Hyperion
x1 = -2.421 x2
= -0.947 x3
= 2.036 x4 = -5.343
x5 = -8.748 x6
= -11.494 x7 = -10.319
y1 = -0.069 y2
= -0.176 y3
= -0.125 y4 = 0.148
y5 = -0.039 y6
= 0.622 y7
= 0.776
-Dione, Rhea, Titan and Hyperion are closer to the Earth than Saturn.
• Uranian Satellites
2009.0716 ENTER
12.41
ENTER
3 SATL
Ariel - Umbriel - Titania - Oberon - Miranda
x1 = 6.066
x2 = -7.941 x3
= 5.296 x4
= 22.757 x5 = 4.562
y1 = -0.662 y2
= 1.043 y3
= -2.487 y4
= 0.264 y5 = 0.449
-Ariel & Titania are closer to the Earth than Uranus.
Notes:
-The accuracy is of order of a few hundredths of the planet's radius.
-Hyperion's coordinates are less accurate than those of the other Saturnian
Satellites.
-The complete series may be downloaded from the server
ftp://ftp.imcce.fr
-PHASE takes an approximate date in level 1 and returns the date
& time of a phase near the input.
STACK | INPUTS | OUTPUTS |
Level 2 | / | YYYY.MNDD |
Level 1 | yyyy.mndd | HH.MNSS ( TT ) |
Where the date is tagged by "NM" ( respectively "FQ" "FM" "LQ" ) for a New Moon ( respectively First Quarter, Full Moon, Last Quarter )
Example:
2012.0716 PHASE returns NM: 2012.0719 at 4h25m22s TT
-If you were searching for a 1st quarter, add about 7 days to the result and
2012.0726 PHASE gives
FQ: 2012.0726 at 8h57m58s
TT
Parabolic, Hyperbolic & Elliptic Motion
PHEM may be use to compute the position of a minor planet or a comet, provided you know the characteristics of its orbit.
-You have to store
• the time of passage in perihelion in 'T'
expressed in days from J2000.0 = 2000/01/01 12h TT
• the perihelion distance in 'q'
expressed in AU
• the eccentricity in 'E'
• the inclination in 'I'
expressed in decimal degrees
• the argument of the perihelion in 'w'
-----------------------------
all 3 referred to the mean ecliptic and equinox of the date.
• the longitude of the ascending node in 'W'
-----------------------------
STACK | INPUTS | OUTPUTS |
Level 12 | / | L |
Level 11 | / | B |
Level 10 | / | R |
Level 9 | / | l |
Level 8 | / | b |
Level 7 | / | r |
Level 6 | / | Q |
Level 5 | / | a |
Level 4 | / | d |
Level 3 | / | Az |
Level 2 | YYYY.MNDD | h |
Level 1 | HH.MNSS ( UT ) | h0 |
where L = heliocentric longitude in degrees , B = heliocentric
latitude in degrees , R = distance from the Sun in AU
l = geocentric longitude in degrees , b = geocentric latitude in
degrees , r = distance from the Earth in AU , Q
= elongation from the Sun in degrees
a = right-ascension ( hh.mnss
) , d = declination ( ° ' " )
Az = Azimuth ( ° ' " ) , h = height ( ° ' " ) , h0 =
height ( ° ' " ) corrected for refraction
Example: Assuming T = 36402.56789 days , q = 0.7 AU , i = 128° , w = 41° , W = 234° --> Store these numbers in the corresponding variables.
-Calculate the position of this fictituous comet on 2100/01/01 at 7h41 UT at the Palomar Observatory in the 3 following cases
• Parabolic Motion e = 1 1 'E' STO
2100.0101
ENTER
7.41 PHEM
returns
L = 71°6534
B = 21°2138
R = 2.2193 AU
l = 49°9962
b = 31°6414
r = 1.5308 AU
Q = 122°447
a = 2h21m50s
d = 47°47'11"
Az = 127°05'44"
h = 40°47'56"
h0 = 40°49'03"
• Elliptic Motion for instance: e = 0.6 0.6 'E' STO
2100.0101
ENTER
7.41 PHEM
returns
L = 63°4327
B = 11°8471
R = 1.6833 AU
l = 29°8178
b = 18°1549
r = 1.1091 AU
Q = 106°968
a = 1h18m23s
d = 27°54'20"
Az = 109°20'11"
h = 22°47'44"
h0 = 22°49'59"
• Hyperbolic Motion for instance: e = 1.2 1.2 'E' STO
2100.0101
ENTER
7.41 PHEM
returns
L = 74°2304
B = 23°8741
R = 2.4551 AU
l = 56°3102
b = 34°6768
r = 1.7464 AU
Q = 125°827
a = 2h45m27s
d = 52°34'15"
Az = 133°19'38"
h = 44°50'01"
h0 = 44°50'58"
Note:
-The effect of aberration is not taken into account
Heliocentric Longitude, Latitude, Distance from the Sun
LBR returns the heliocentric longitude and latitude & the radius vector of a planet provided you've stored
• the time from J2000.0 in 'T'
expressed in millenia
• the semi-major axis in 'a'
expressed in AU
• the eccentricity in 'E'
• the inclination in 'I'
expressed in decimal degrees
• the mean longitude in 'L'
-----------------------------
• the longitude of the perihelion in 'w'
-----------------------------
all 4 referred to the mean ecliptic and equinox of the date.
• the longitude of the ascending node in 'W'
-----------------------------
-This may be used if you want to use the mean orbital elements of a
planet to get approximate ephemerides.
-'XENA' uses LBR this way.
KPL takes the mean anomaly M in level 2 and the eccentricity e # 1 in
level 1
It returns the eccentic anomaly E
STACK | INPUTS | OUTPUTS |
Level 2 | M ( deg ) | / |
Level 1 | e # 1 | E ( deg ) |
Examples:
0.4 ENTER
1.2 KPL
gives E = 0.987853766458
7 ENTER
0.9 KPL
yields E = 40°4669345175
-Press d&t to get the current
date ( YMD format ) in level 2 and the time in level 1
STACK | INPUTS | OUTPUTS |
Level 3 | YYYY.MNDD | / |
Level 2 | hh.mnss ( UT ) | / |
Level 1 | Longitude ( ° ' " ) | HH.MNSS ( LST ) |
Where the longitude is positive East.
Example: Mount Palomar Observatory, on 2012 July 4th at 16h41m48s UT
2012.0704 ENTER
16.4148
ENTER
-116.51504 LST
returns LST = 8h49m49s
STACK | INPUT | OUTPUT |
Level 1 | YYYY.MNDD | dow |
With dow = 0 , 1 , ..... , 6 for Sunday, Monday, ............... , Saturday
Example:
2012.0704 DOW gives 3 i-e
Wednesday
Date ---> Number of days since J2000.0
- J2000 calculates the Julian day number minus 2451545
STACK | INPUT | OUTPUT |
Level 1 | YYYY.MNDDdd | N |
Example: 2012 July 4th 6h
2012.070425 J2000 returns 4567.75
Note:
-Clear flag 4 for Gregorian dates.
-Set flag 4 for Julian dates.
Number of days since J2000.0 ---> Date
STACK | INPUT | OUTPUT |
Level 1 | N | YYYY.MNDDdd |
Where N = Julian day number minus 2451545
Example:
4567.75 J->DAT yields 2012.070425
Note:
-Clear flag 4 for Gregorian dates.
-Set flag 4 for Julian dates.
STACK | INPUTS | OUTPUTS |
Level 2 | YYYY.MNDDdd1 | / |
Level 1 | YYYY.MNDDdd2 | N |
where N is the number of days between date1 ( in level2 ) & date2 ( in level1 )
Example: Calculate the number of days between 24012/07/04 & 1979/0716 ( Gregorian dates )
24012.0704 ENTER
1979.0716 dDAYS
8047377
Date +/- a number of days ---> New Date
STACK | INPUTS | OUTPUTS |
Level 2 | YYYY.MNDDdd | / |
Level 1 | N | YYYY.MNDDdd2 |
where N may be positive or not
Example:
1979.0716 ENTER
8047377 DAT±
24012.0704
STACK | INPUT | OUTPUT |
Level 1 | YYYY | YYYY.MNDD |
where YYYY.MNDD is a Gregorian date after 1582 or a Julian date before 1583
Examples:
2012 EASTER 2012.0408
234 EASTER 234.0406
Precession - Equatorial Coordinates
STACK | INPUTS | OUTPUTS |
Level 4 | a1 ( hh.mnss ) | / |
Level 3 | d1 ( ° ' " ) | / |
Level 2 | YYYY.MNDDdd1 | a2 ( hh.mnss ) |
Level 1 | YYYY.MNDDdd2 | d2 ( ° ' " ) |
Example:
-On -8000/01/01 0h TT ( gregorian calendar, -8000 = 8001 B.C.
) a1 = 12h34m56s
and d1 = 41°16'57"
-Calculate the right-ascension & declination of this fictitious
star on 12000/01/01 0h TT
12.3456
ENTER
41.1657
ENTER
-8000.0101 ENTER
12000.0101 PREa
returns a2
= 5h31m22s12 & d2
=61°04'17"60
Precession - Ecliptic Coordinates
STACK | INPUTS | OUTPUTS |
Level 4 | l1 ( ° ' " ) | / |
Level 3 | b1 ( ° ' " ) | / |
Level 2 | YYYY.MNDDdd1 | l2 ( ° ' " ) |
Level 1 | YYYY.MNDDdd2 | b2 ( ° ' " ) |
Example:
-On -8000/01/01 0h TT ( gregorian calendar, -8000 = 8001 B.C.
) l1 = 167°23'45"
and b1 = -12°34'56"
-Calculate the mean ecliptic longitude & latitude of this fictitious
star on 12000/01/01 0h TT
167.2345 ENTER
-12.3456
ENTER
-8000.0101 ENTER
12000.0101 PREl
gives l2
= 87°07'03"43 & b2
= -14°25'01"18
Transformation Ecliptic ---> Equatorial
STACK | INPUTS | OUTPUTS |
Level 3 | l ( ° ' " ) | / |
Level 2 | b ( ° ' " ) | a ( hh.mnss ) |
Level 1 | YYYY.MNDDdd | d ( ° ' " ) |
Example: On 2441/07/07 , l = 123°45' & b = 67°12' , Calculate the right-ascension & declination.
123.45
ENTER
67.12
ENTER
2441.0707 ECLEQ gives
a
= 13h12m08s55 & d = 76°54'49"55
Transformation Equatorial ---> Ecliptic
STACK | INPUTS | OUTPUTS |
Level 3 | a ( hh.mnss ) | / |
Level 2 | d ( ° ' " ) | l ( ° ' " ) |
Level 1 | YYYY.MNDDdd | b ( ° ' " ) |
Example: On 2441/07/07 , a = 16h41m25s & d = 87°16'37" , calculate the ecliptic longitude & latitude
16.4125 ENTER
87.1637 ENTER
2441.0707 EQECL it yields
l
= 92°34'25"36 & b = 69°09'49"18
Transformation Equatorial ---> Azimuthal
-You have to initialize 'l' &
'b' ( the longitude & latitude of
your location )
and 'TS0' must be initialized ( by 'TS' ) before
executing 'EQAZ'
STACK | INPUTS | OUTPUTS |
Level 3 | / | Az ( ° ' " ) |
Level 2 | a ( hh.mnss ) | h ( ° ' " ) |
Level 1 | d ( ° ' " ) | h0 ( ° ' " ) |
where h0 = height corrected for refraction
Example: On 2100/01/01 at 7h41m ( with TT - UT = 203s ) , a = 16h41m25s & d = 87°16'37" , compute the geocentric Azimuth and height.
-Assuming all the required variables are already initialized ( otherwise 203 'DT' STO 2100.0101 ENTER 7.41 ST and 'l' & 'b' = Palomar coordinates )
16.4125 ENTER
87.1637 EQAZ
returns
Az = 181°32'36"27
h = 30°58'01"13
h0 = 30°59'36"31
Correction for Parallax ( Azimuthal Coordinates )
-PAR requires that 'b'
& 'Alt' are initialized ( 33°21'22"4 &
1706 m in our examples )
-It takes the geocentric distance ( in AU ) & the geocentric azimuthal
coordinates and returns the topocentric azimuthal coordinates.
-The formulas are rigorous.
STACK | INPUTS | OUTPUTS |
Level 3 | Dist ( AU ) | / |
Level 2 | Az0 ( ° ' " ) | Az ( ° ' " ) |
Level 1 | h0 ( ° ' " ) | h ( ° ' " ) |
Here, the index 0 means geocentric
Example: Dist = 0.00256 AU , Az0 = 61°12'37" , h0 = 33°57'51"
0.00256 ENTER
61.1237 ENTER
33.5751 PAR
gives Az = 61°12'48"17 & h
= 33°10'00"28
Note:
-In this program, the equatorial radius of the Earth = 6378137 m
H->H0 takes the true altitude h of a star in level1 and
returns its apparent altitude h0 in level1
It uses a simplified formula that is valid in the following atmospheric
conditions:
Temperature:
+15°Celsius
Pressure:
1013.25 mbar
Light wave-length:
0.590 µm
Partial pressure of water vapor:
0 ( dry air )
Latitude:
45°
Observer's altitude:
0 ( i-e at sea-level )
Formula: R ~ (1°/62.6)/Tan( h + 5.459/( h + 19.272/( h + 6.942 ) ) ) where h is expressed in degrees
-Errors are smaller than 0"8 over the whole range [ -0°32'58" , 90° ] compared to the Pulkovo refraction tables
-It may of course be replaced by a more accurate formula...
STACK | INPUT | OUTPUT |
Level 1 | h ( ° ' " ) | h0 ( ° ' " ) |
Example:
12°34'56" H->H0 h0:
12°39'05"4
Ecliptic elements from one equinox to another one
-The 3 following orbital elements of a planet or a comet change when they are referred to different equinoxes
i = inclination
w = argument of perihelion
W = longitude of ascending
node
STACK | INPUTS | OUTPUTS |
Level 5 | i1( deg ) | |
Level 4 | w1 ( deg ) | |
Level 3 | W1 ( deg ) | i2 ( deg ) |
Level 2 | YYYY.MNDDdd1 | w2 ( deg ) |
Level 1 | YYYY.MNDDdd2 | W2 ( deg ) |
where i1 w1W1 are reffered to the 1st date ( level2 ) and i2 w2W2 are reffered to the 2nd date ( level1 ) , all expressed in decimal degrees
Example:
-The elements of a comet are i1 = 47°1234
, w1 = 151°5432 ,
W1
= 34°5678 on 1984/12/28
-Calculate these elements on 2345/07/24
47.1234 ENTER
151.5432 ENTER
34.5678 ENTER
1984.1231 ENTER
2345.0724 iwW
returns
i2 = 47°1590
w2 = 151°5850
W2 = 39°5796
Mean obliquity of the ecliptic
OBL assumes that 'T' contains the time in millenia
from J2000.0
STACK | INPUT | OUTPUT |
Level 1 | / | obl ( deg ) |
where obl is the mean obliquity
Example: Assuming T = 3.456 ( i-e 5456/01/27 12h TT ) 3.456 'T' STO
OBL yields 23°011787
Nutation in longitude & obliquity
NUT also assumes that 'T' contains the time in millenia from J2000.0
-It employs simplified formulae that cannot give an excellent accuracy.
-The results are not too bad however.
STACK | INPUTS | OUTPUTS |
Level 2 | / | De ( deg ) |
Level 1 | / | Dy ( deg ) |
with Dy = nutation in longitude & De = nutation in obliquity
Example: Assuming T = 3.456 ( i-e 5456/01/27 12h TT )
NUT yields De
= -0°001175 & Dy = 0°004872
STACK | INPUTS | OUTPUTS |
Level 2 | X | R |
Level 1 | Y | L |
Where L = Longitude & R = ( X2 + Y2 )1/2
Example:
7 ENTER
5 R->P
gives R = 8.60232526704 &
L = 35°537677792 ( in DEG mode )
Notes:
-Since this function is not - explicitly - a standard function,
R->P is written in Externals.
-R->P checks the number and the type of arguments: 2 real
numbers
-Otherwise, you get an error message: "Too Few Arguments" or
"Bad Argument Type"
STACK | INPUTS | OUTPUTS |
Level 2 | R | X |
Level 1 | L | Y |
Where L = Longitude & R = ( X2 + Y2 )1/2
Example:
6 ENTER
41 P->R
gives X = 4.52825748134 &
Y = 3.93635417394 ( in DEG mode )
Notes:
-Since this function is not - explicitly - a standard function,
R->P is written in Externals.
-P->R checks the number and the type of arguments: 2 real
numbers
-Otherwise, you get an error message: "Too Few Arguments" or
"Bad Argument Type"
STACK | INPUTS | OUTPUTS |
Level 3 | X | R |
Level 2 | Y | L |
Level 1 | Z | B |
With R = radius vector , L = Longitude , B = Latitude
Example:
7 ENTER
5 ENTER
3 R->S
gives R = 9.11043357914 ,
L = 35°537677792 & B = 19°2258557454
( in DEG mode )
Notes:
-Since this function is not - explicitly - a standard function,
R->S is written in Externals.
-R->S checks the number and the type of arguments: 3 real
numbers
-Otherwise, you get an error message: "Too Few Arguments" or
"Bad Argument Type"
STACK | INPUTS | OUTPUTS |
Level 3 | R | X |
Level 2 | L | Y |
Level 1 | B | Z |
With R = radius vector , L = Longitude , B = Latitude
Example:
7 ENTER
41 ENTER
48 S->R
gives X = 3.53499495327 ,
Y = 3.07292423113 & Z = 5.20201377834
( in DEG mode )
Notes:
-Since this function is not - explicitly - a standard function,
S->R is written in Externals.
-S->R checks the number and the type of arguments: 3 real
numbers
-Otherwise, you get an error message: "Too Few Arguments" or
"Bad Argument Type"
Equatorial ---> Ecliptic & Similar Transformations
-Many transformations use the same type of formulae which appear in the equatorial-ecliptic conversion, namely:
sin b = cos e sin d - sin e cos d sin a
cos b cos l = cos d cos a
cos b sin l = sin e sin d +
cos e cos d sin a
-EE does the job with the help of S->R and R->S.
STACK | INPUTS | OUTPUTS |
Level 3 | a | / |
Level 2 | d | l |
Level 1 | e | b |
Where a , d , e
are the right-ascension , declination , obliquity of the ecliptic
and l
, b are the ecliptic longitude and latitude,
all these 5 angles in the same unit ( decimal degrees in DEG mode
)
Example:
64.1278 ENTER
41.3456 ENTER
23.4263
EE returns
l
= 69°633235757 & b = 19°7303200122
( in DEG mode )
Notes:
-Since this function is not a standard function, EE is written
in Externals.
-EE checks the number and the type of arguments: 3 real
numbers
-Otherwise, you get an error message: "Too Few Arguments" or
"Bad Argument Type"
-Replacing e by -e
produces the reverse transformation Ecliptic --> Equatorial
-This routine is used by several programs.
Precession ( Ecliptic Coordinates ) from J2000.0 to Date
-This program is used to transform the heliocentric coordinates / J2000.0
given by VSOP87B and TOP2010A
to heliocentric coordinates with respect to the equinox of the
date.
-In fact, it's only a part of PREl
STACK | INPUTS | OUTPUTS |
Level 2 | L2000 | L |
Level 1 | B2000 | B |
With L = Longitude , B = Latitude , all in decimal degrees
Example: L2000 = 234°567 & B2000 = 12°345 Calculate L & B for T = 3 ( i-e 5000/01/23 12h )
3 'T' STO
234.567 ENTER
12.345 PRE0
yields L = 276°777377664 &
B = 11°9932526618
VSOP: An LM program that calculates the coordinates
much faster
-This program is not my creation: I found it in reference [6]
-It was written by Th. Alle Zoethout.
-It takes an alpha string in level 2 and a real number ( the time T
in millenia since J2000.0 )
and returns L , B , R in levels 3 , 2 , 1 respectively
-VSOP checks that level 1 contains a real number and that level 2 contains
an alpha string that starts with "VSOP"
-So, DO NOT place such a string in level 2 ... unless you know exactly
what you are doing !
-This string must be built as explained in HP48SXTANT #46 by another
program called 'VSOPACK'
Barycentric Dynamical Time
-Due to relativistic effects, there is a difference between TDB &
TT that the following programs evaluate.
-This difference remains small: less than 2 milliseconds, at least
several millennia around J2000.
-TDB employs the main terms of the series given in reference [14] or
[15],
-The precision is of the order of 1 microsecond over the time-span
[1000,3000]
Example1: 2012/08/29 16h41m37s ( TT or TDB )
2012.0829 ENTER
16.4137
XEQ "TDB" >>>> TDB-TT = - 0.0013238 s
Example2: 3000/04/04 1h23m45s ( TT or TDB )
3000.0404 ENTER
1.2345
R/S >>>> TDB-TT
= + 0.0015394 s
References:
[1] Jean Meeus - "Astronomical Algorithms" - Willmann-Bell
- ISBN 0-943396-61-1
[2] VSOP87B Series ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/
[3] VSOP09A & TOP2010A Series http://www.imcce.fr/~jlsimon
[4] J. Vondrak, N. Capitaine, P. Wallace - "New precession
expressions, valid for long time intervals" - Astronomy & Astrophysics
534, A22 ( 2011 )
[5] Robin M. Green - "Spherical Astronomy" - Cambridge
University Press - ISBN 0-521-31779-7
[6] Th. Alle Zoethout in HP48SXTANT #46
[7] A. Vienne & L. Duriez 1995 - "TASS1.6:
Ephemerides of the major Saturnian Satellites" - Astronomy & Astrophysics
297 , 588-605
[8] L. Duriez & A. Vienne 1997 - "Theory of motion
and Ephemerides of Hyperion" - Astronomy & Astrophysics 324 ,
366-380
[9] J. Laskar & R.A. Jacobson 1987 - "GUST86.
An Analytical Ephemeris of the Uranian Satellites" - Astronomy & Astrophysics
188 , 212-224
[10] D. Lazzaro 1991 - "Semi-analytical Theory for the motion
of Uranus' Satellites" - Astronomy & Astrophysics 250 , 253-265
[11] Planetary Programs and tables from -4000 to +2800 - Bretagnon
and Simon - Willmann-Bell ISBN 0-943396-08-5
[12] Lunar Tables and Programs from 4000 B.C. to A.D. 8000 -
Chapront-Touzé and Chapront - Willmann-Bell ISBN 0-943396-33-6
[13] S.M. Kudryavstev - Long-term harmonic development of lunar
ephemeris - A&A 471, 1069–1075 (2007)
[14] "Introduction aux Ephemerides Astronomiques" - EDP Sciences -
ISBN 2-86883-298-9 ( in French )
[15] Fairhead & Bretagnon - "An Analytica Formula for the
Time Transformation TB-TT" Astronomy & Astrophysics 229, 240-247 (
1990 )
[16] Table 5.3a: Nutation in longitude (IAU 2000_R06 expression)
derived from the IAU 2000A
lunisolar and planetary
components with slight IAU 2006 adjustments
[17] Table 5.3b: Nutation in obliquity (IAU 2000_R06 expression)
derived from the IAU 2000A
lunisolar and planetary
components with slight IAU 2006 adjustments