hp41programs

EclipticElements Equinox1-Equinox2

Orbital Elements from one Equinox to another one for the HP-41


Overview
 

 1°)  Rigorous method:      Equinox1 >>> Equinox2
 2°)  Approximate Formulae:  J2000 <> Equinox
 

-The following routines reduce the ecliptic elements from one equinox to another one.
-The semimajor axis a and the eccentricity are unchanged, unlike the 3 elements

             i     =  inclination
       omega  =  argument of perihelion
    OMEGA =  longitude of ascending node

-The longitude of the perihelion is obtained by:    omegabar = omega + OMEGA
 

1°)  Rigorous Method:   Equinox1 >>> Equinox2
 
 

Data Registers:           •  R00 = Date2 = YYYY.MNDDdd2                     ( Register R00 is to be initialized before executing "IOOM" )

                                         R01 = 90-i                                                                  R04 = -¶A(or -¶A-pA)
                                         R02 = omega                                                              R05-R06-R07: temp
                                         R03 = 90+OMEGA-¶A(or 90+OMEGA-¶A-pA)

Flag:  F00 is cleared at the end
Subroutines:  "J0"   ( cf "Julian & Gregorian Calendars for the HP-41" )  ,  "EE"  ( cf "Transformation of Coordinates for the HP-41" )
 
 

  01  LBL "IOOM"
  02  DEG
  03  STO 03
  04  RDN
  05  STO 02
  06  X<>Y
  07  CHS
  08  90
  09  ST+ 03
  10  +
  11  STO 01
  12  R^
  13  X<> 00
  14  SF 00
  15  LBL 16
  16  X<> 00
  17  XEQ "J0"
  18  .5
  19  -
  20  365250
  21  /
  22  1333
  23  RCL Y
  24  20
  25  *
  26  -
  27  *
  28  1492
  29  +
  30  *
  31  43887
  32  -
  33  *
  34  24109933
  35  +
  36  *
  37  1748741093
  38  -
  39   E7
  40  STO 07
  41  /
  42  STO 04
  43  RCL 03
  44  +
  45  STO 03
  46  STO 06
  47  CLX
  48  11
  49  *
  50  663
  51  -
  52  *
  53  221
  54  +
  55  *
  56  307065
  57  +
  58  *
  59  139688783 
  60  +
  61  *
  62  RCL 07
  63  /
  64  FS? 00
  65  ST- 03
  66  FC? 00
  67  ST- 04
  68  CLX
  69  3
  70  *
  71  349
  72  -
  73  *
  74  9304
  75  -
  76  *
  77  1305527
  78  +
  79  *
  80  RCL 07
  81  /
  82  STO 07
  83  FC? 00
  84  CHS
  85  RCL 01
  86  STO 05
  87  RCL 03
  88  XEQ "EE"   
  89  STO 03
  90  FS? 00
  91  STO 06
  92  RDN
  93  STO 01
  94  FS? 00
  95  STO 05
  96  RCL 07
  97  1
  98  P-R
  99  RCL 06
100  RCL Z
101  P-R
102  X<>Y
103  RCL 05
104  SIN
105  *
106  CHS
107  RCL 05
108  COS
109  R^
110  *
111  +
112  R-P
113  X<>Y
114  FS? 00
115  CHS
116  ST+ 02
117  RCL 04
118  ST- 03
119  FS?C 00     
120  GTO 16
121  RCL 01
122  CHS
123  RCL 02
124  RCL 03
125  90
126  ST+ T
127  -
128  END

 
   ( 229 bytes / SIZE 008 )
 
 

        STACK        INPUTS      OUTPUTS
             T  YYYY.MNDDdd1              i2
             Z              i1              i2
             Y         omega1         omega2
             X        OMEGA1       OMEGA2

    ( Execution time = 30 seconds )
 

Example1:    We have   i1 = 12°789   omega1 = 49°345   OMEGA1 = 166°234  on  1600/01/01

-Compute  i2 , omega2 , OMEGA2  on 2900/12/12

   2900.1212  STO 00
   1600.0101  ENTER^
       12.789    ENTER^
       49.345    ENTER^
     166.234    XEQ "IOOM"  >>>>   OMEGA2 = 184.401887°
                                              RDN      omega2   =   49.370109°
                                              RDN          i2        =   12.619940°
 

Example2:    Calculate the inclination i and the longitude of the ascending node O of the ring of Saturn on 2100/06/06
                           knowing that their values were 28°089616 and 167°964364 respectively on 1889/03/31

   2100.0606   STO 00
   1889.0331   ENTER^
   28.089616   ENTER^
          0           ENTER^              ( any value is OK )
 167.964364      R/S        >>>>    O = 170°909370
                                  RDN RDN   i  =  28°062166
 

Notes:

-This program calculates the elements for J2000 i-e 2000.01015 (  i0 , omega0 , OMEGA0 )  before computing  i2 , omega2 , OMEGA2
-In the example1 above,   i0 = 12°736763   omega0 = 49°361662   OMEGA0 = 171°800295

-The IAU2000A precession formulae are used.
 

2°)  Approximate Formulae:   J2000 <> Equinox
 

-The formulae may be simplified if T is not too large and if the inclination is not too small.
-Moreover, we assume that the difference between  omega and omega0 is smaller than 90°, which is usually the case.
 

Data Register:    R00 = T   ( in millenium since J2000.0 )

Flag:   Clear flag F00 for the transformation  J2000 >>> Equinox T
               Set flag F00 for the transformation  Equinox T >>> J2000

Subroutines: /
 
 

01  LBL "IOO"
02  DEG
03  STO M
04  STO N
05  X<> T
06  STO 00
07  FC? 00
08  2.411
09  FS? 00
10  -11.558
11  *
12  84.87411 
13  -
14  ST+ N
15  CLX
16  RCL 00
17  32.57
18  /
19  13.9689
20  +
21  RCL 00
22  *
23  FS? 00
24  CHS
25  ST+ M      
26  X<> L
27  .13055
28  *
29  FC? 00
30  CHS
31  STO O
32  RCL N
33  X<>Y
34  P-R
35  R^
36  TAN
37  ST/ Y
38  RDN
39  ST+ M      
40  X<> L
41  +
42  X<>Y
43  RCL N
44  COS
45  RCL O
46  SIN
47  *
48  R^
49  SIN
50  /
51  ASIN
52  -
53  RCL M      
54  CLA
55  END

 
   ( 113 bytes / SIZE 001 )
 
 

   CF00   STACK         INPUTS      OUTPUTS
             T             T              i
             Z              i0              i
             Y         omega0         omega
             X        OMEGA0       OMEGA
   SF00   STACK         INPUTS      OUTPUTS
             T             T              i0
             Z              i              i0
             Y         omega         omega0
             X        OMEGA       OMEGA0

  Where T is expressed in millenia since 2000.01015

      i0 , omega0 , OMEGA0 ( in degrees ) are referred to J2000                            --- execution time = 5.7 seconds ---
      i  ,  omega  , OMEGA  ( in degrees )  are referred to the equinox T

Example:    The orbital elements of the comet Encke - referred to the equinox J2000.0 - are

           i0       =  11°94521
      omega0   = 186°23327                  Reduce these elements to the equinox J2100.0  ( T = 0.1 )
    OMEGA0 = 334°75043

       CF 00
         0.1        ENTER^
     11.94521  ENTER^
   186.23327  ENTER^
   334.75043  XEQ "IOO"  it yields     OMEGA = 336.168614°
                                              RDN      omega   =  186.211840°
                                              RDN          i        =   11.957487°

-The rigorous method gives:

     OMEGA =  336.16856°
      omega    =  186.21186°
           i        =   11.95748°

-If we set flag F00 and execute "IOO" again with the results found above and T = 0.1 , it yields:

    OMEGA0 = 334°750474
      omega0   = 186°233270
           i0       =  11°945208

-The differences with the original values only appear in the 5th or the 6th decimal !
 

The approximate formulas are:

                                                        i       =   i0 - (pi)A cos ( ¶A- OMEGA0 )
                   Sin i  Sin ( omega - omega0 ) =  Sin (pi)A Sin ( ¶A- OMEGA0 )
                                               OMEGA  =  OMEGA0 + pA - (pi)A sin ( ¶A- OMEGA0 ) / Tan i0
 

References:

[1]  Jean Meeus - "Astronomical Algorithms" - Willmann-Bell  -  ISBN 0-943396-61-1
[2]  United States Naval Observatory, Circular n° 179 http://aa.usno.navy.mil/publications/docs/circular_179.html