The Museum of HP Calculators

# Nutation - Obliquity of the Ecliptic - Sidereal Time for the HP-41

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.

## 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 -----------------------------  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