Nutation - Obliquity of the Ecliptic - Sidereal Time for the HP-41
Overview
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 with an accuracy of
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 series given in reference [3] to compute
the obliquity of the ecliptic.
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 "Julian & Gregorian Calendars for the HP-41" ) , "OBL" and "NUT" if SF 01
-If you have a Time module, lines 05 to 08 may be replaced by
1.012 DDAYS 24 * -
-Line 11 stores the number of millenia since 2000/01/01 0h
into R00
-Synthetic register M may of course be replaced by any unused data
register.
01 LBL "ST"
02 HR 03 STO Z 04 X<>Y 05 XEQ "J0" 06 24 07 * 08 + |
09 8766 E3
10 / 11 STO 00 12 .259 13 % 14 24000.51337 15 + 16 * |
17 6.66452
18 + 19 + 20 STO M 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-61-1
[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