This program is Copyright © 2006 by Jean-Marc Baillard and is used here by permission.
This program is supplied without representation or warranty of any kind. Jean-Marc Baillard and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.
1°) Nutation in Longitude & in Obliquity
2°) Obliquity of the Ecliptic
3°) Sidereal Time at Greenwich
1°) Nutation in Longitude & in Obliquity
-The complete series involve more than 1000 terms, and the following
program uses the first few terms only:
-The nutation in longitude Dpsi is obtained with an accuracy of
0"5
and the nutation in obliquity De -----------------------------
0"1
-Add more terms if you want to get a better accuracy.
Data Register:
• R00 = T = number of millenia of 365250 Julian days since 2000/01/01
0h ( this register is to be initialized before
executing "NUT" )
Flags: /
Subroutines: /
01 LBL "NUT"
02 DEG
03 215
04 RCL 00
05 19341
06 *
07 -
08 STO Y
09 256
10 P-R
11 .536
12 /
13 R^
14 ST+ X
15 2
16 P-R
17 ST+ T
18 CLX
19 3
20 *
21 -
22 720015
23 RCL 00
24 *
25 20
26 +
27 16
28 P-R
29 ST- T
30 CLX
31 2.3
32 *
33 +
34 9625358
35 RCL 00
36 *
37 63
38 +
39 3
40 P-R
41 ST+ T
42 RDN
43 ST+ X
44 -
45 E5
46 ST/ Z
47 /
48 END
( 91 bytes / SIZE 001 )
STACK | INPUTS | OUTPUTS |
Y | / | De ( deg ) |
X | / | Dpsi ( deg ) |
where Dpsi is the nutation in longitude
and De is the nutation
in obliquity.
Example: With T = 1 ( 3000/01/08 0h )
1 STO 00 XEQ "NUT" >>>> Dpsi
= 0.00353° X<>Y De = -0.00198°
2°) Obliquity of the Ecliptic
-The following program uses the new series to compute the obliquity
of the ecliptic ( cf reference [3] below ).
Data Register:
• R00 = T = number of millenia of 365250 Julian days since 2000/01/01
0h ( this register is to be initialized before
executing "OBL" )
Flag: F01 if flag
F01 is set, "OBL" calculates the mean obliquity and the true
obliquity,
if flag F01 is clear, "OBL" calculates the mean obliquity only.
Subroutine: "NUT" if F01 is set, none otherwise.
01 LBL "OBL"
02 DEG
03 CLST
04 FS? 01
05 XEQ "NUT"
06 X<>Y
07 2
08 RCL 00
09 ST+ Y
10 *
11 CHS
12 557
13 +
14 RCL 00
15 *
16 5
17 -
18 RCL 00
19 *
20 130102
21 -
22 RCL 00
23 *
24 23439280
25 +
26 E6
27 /
28 ST+ Y
29 HMS
30 X<>Y
31 HMS
32 END
( 62 bytes / SIZE 001 )
STACK | INPUTS | SF01-OUTPUTS | CF01-OUTPUTS |
Z | / | Dpsi ( deg ) | 0 |
Y | / | em ( °. ' " ) | em ( °. ' " ) |
X | / | e ( °. ' " ) | em ( °. ' " ) |
where em is the mean obliquity
and e is the
true
obliquity
Z-output is used by "ST" below
Example: Once again with T = 1
SF 01 1 STO 00 XEQ "OBL"
>>>> e = 23°18'27"89 RDN em = 23°18'35"02
CF 01 1 STO 00
R/S >>>> em
= 23°18'35"02 = X- and Y-registers.
-"OBL" is of course much faster if flag F01 is clear!
- em is calculated more accurately than e.
3°) Sidereal Time at Greenwich
-A short routine which computes the mean sidereal time is listed in
"Rising-Transit-Setting for the HP-41"
-The following one is more accurate and take the nutation into account
if flag F01 is set.
Data Register: R00 = T
Flag: F01 if flag
F01 is set, "ST" calculates the mean sidereal time MST & the
apparent
sidereal time AST
if flag F01 is clear, calculates the mean sidereal time MST only.
Subroutines: "J0" ( cf "phases of
the Moon for the HP-41" )
"OBL"
"NUT" if SF 01
01 LBL "ST"
02 HR
03 STO Z
04 X<>Y
05 XEQ "J0"
if you have a Time module, lines 05 to 08 may be replaced by
1.012 DDAYS 24 * -
06 24
07 *
08 +
09 8766 E3
10 /
11 STO 00
this line stores the number of millenia since 2000/01/01 0h
into R00
12 .259
13 %
14 24000.51337
15 +
16 *
17 6.66452
18 +
19 +
20 STO M
synthetic register M may of course be replaced by any unused data register.
21 XEQ "OBL"
22 R^
23 LASTX
24 COS
25 *
26 15
27 /
28 0
29 X<> M
30 24
31 MOD
32 ST+ Y
33 HMS
34 X<>Y
35 HMS
36 END
( 81 bytes / SIZE 001 )
STACK | INPUTS | SF01-OUTPUTS | CF01-OUTPUTS |
Z | / | true obliquity | mean obliquity |
Y | YYYY.MNDD | MST = hh.mnss' | MST = hh.mnss' |
X | hh.mnss (UT) | AST = hh.mnss | MST = hh.mnss' |
Example: Find the mean & apparent sidereal times at Greenwich on 2006/12/28 at 16h41m37s ( UT )
SF 01
2006.1228 ENTER^
16.4137 XEQ "ST"
>>>> AST = 23h09m39s86 RDN MST =
23h09m39s67 RDN e = 23°26'26"66
-With CF 01 both X- and Y-registers = MST = 23h09m39s67 and Z = em = 23°26'18"13
-MST is calculated more accurately than AST.
-In order to know the sidereal time in another place, simply add the
longitude ( measured positively eastwards from the meridian of Greenwich
)
For instance, the US Naval Observatory at Washington ( D.C. ):
Longitude = -77°03'56" = -77.06555° = -5.137704h
= -5h08m15s73
-So, subtract 5h08m15s73 to the sidereal times above.
References:
[1] Jean Meeus - "Astronomical Algorithms" - Willmann-Bell -
ISBN 0-943396-35-2
[2] "Introduction aux Ephemerides Astronomiques" - EDP Sciences -
ISBN 2-86883-298-9 ( in French )
[3] United States Naval Observatory, Circular n° 179
http://aa.usno.navy.mil/publications/docs/circular_179.html
Go back to the HP-41 software library
Go back to the general software library
Go
back to the main exhibit hall