OblNutTS

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