hp41programs

DeltaT

Delta-T for the HP-41


Overview
 

 1°)  A Long Program
 2°)  Simplified Formulae

      a) Program#1
      b) Peogram#2
 

-These programs use several polynomial approximations to calculate TT-UT ( in seconds ) for a given year y.
 

1°)  A Long Program
 

-This routine uses the polynomials given in reference [2]
 

Data Registers: /
Flags: /
Subroutines: /
 
 

01  LBL "DELTAT"
  02  2150
  03  X<Y?
  04  GTO 01
  05  CLX
  06  500
  07  CHS
  08  X<Y?
  09  GTO 00
  10  LBL 01          
  11  CLX
  12  1820
  13  -
  14   E2
  15  /
  16  X^2
  17  32
  18  *
  19  20
  20  -
  21  RTN
  22  LBL 00 
  23  CHS
  24  X<Y?
  25  GTO 01
  26  CLX
  27  SIGN
  28  %
  29  ENTER^
  30  STO Z
  31  110.72171
  32  /
  33  .022174192
  34  +
  35  *
  36  .1798452
  37  -
  38  *
  39  5.952053
  40  -
  41  *
  42  33.78311
  43  +
  44  *
  45  1014.41
  46  -
  47  *
  48  10583.6
  49  +
  50  RTN
  51  LBL 01
  52  CLX
  53  40
  54  X^2
  55  X<Y?
  56  GTO 01
  57  CLX
  58   E3
  59  -
  60  1
  61  %
  62  ENTER^
  63  STO Z
  64  119.6572
  65  /
  66  .005050998 
  67  -
  68  *
  69  .8503463
  70  -
  71  *
  72  .319781
  73  +
  74  *
  75  71.23472
  76  +
  77  *
  78  556.01
  79  -
  80  *
  81  1574.2
  82  +
  83  RTN
  84  LBL 01          
  85   E2
  86  +
  87  X<Y?
  88  GTO 01
  89  CLX
  90  40
  91  X^2
  92  -
  93  ENTER
  94  STO Z
  95  7129
  96  /
  97  .01532
  98  -
  99  *
100  .9808
101  -
102  *
103  120
104  +
105  RTN
106  LBL 01
107   E2
108  X<>Y
109  +
110  X<Y?
111  GTO 01
112  X<> L
113  -
114  ENTER^
115  STO Z
116  1174 E3
117  /
118  CHS
119  .00013336 
120  +
121  *
122  .0059285
123  -
124  *
125  .1603
126  +
127  *
128  8.83
129  +
130  RTN
131  LBL 01          
132  60
133  X<>Y
134  +
135  X<Y?
136  GTO 01
137  X<> L
138  -
139  10
140  /
141  ENTER^
142  STO Z
143  114.29
144  /
145  .1699
146  -
147  *
148  1.21272
149  +
150  *
151  3.7436
152  -
153  *
154  4.1116
155  +
156  *
157  .68612
158  +
159  *
160  3.32447
161  -
162  *
163  13.72
164  +
165  RTN
166  LBL 01
167  40
168  X<>Y
169  +
170  X<Y?
171  GTO 01
172  X<> L
173  -
174  ENTER^
175  STO Z
176  233174
177  /
178  .0004473624 
179  -
180  *
181  .01680668
182  +
183  *
184  .251754
185  -
186  *
187  .5737
188  +
189  *
190  7.62
191  +
192  RTN
193  LBL 01          
194  20
195  X<>Y
196  +
197  X<Y?
198  GTO 01
199  X<> L
200  -
201  10
202  /
203  ENTER^
204  STO Z
205  1.97
206  *
207  CHS
208  6.1966
209  +
210  *
211  5.98939
212  -
213  *
214  14.94119
215  +
216  *
217  2.79
218  -
219  RTN
220  LBL 01
221  21
222  X<>Y
223  +
224  X<Y?
225  GTO 01
226  X<> L
227  -
228  ENTER^
229  STO Z
230  477.646
231  /
232  .0761
233  -
234  *
235  .84493 
236  +
237  *
238  21.2
239  +
240  RTN
241  LBL 01          
242  20
243  +
244  X<Y?
245  GTO 01
246  CLX
247  1950
248  -
249  ENTER^
250  STO Z
251  2547
252  /
253  233
254  1/X
255  -
256  *
257  .407
258  +
259  *
260  29.07
261  +
262  RTN
263  LBL 01
264  CLX
265  1986
266  X<Y?
267  GTO 01
268  CLX
269  1975
270  -
271  ENTER^
272  STO Z
273  718
274  /
275  CHS
276  260
277  1/X
278  -
279  *
280  1.067
281  +
282  *
283  45.45
284  +
285  RTN
286  LBL 01
287  19
288  +
289  X<Y?
290  GTO 01
291  CLX
292  2 E3
293  -
294  10
295  /
296  ENTER^
297  STO Z
298  2.373599 
299  *
300  6.51814
301  +
302  *
303  1.7275
304  +
305  *
306  6.0374
307  -
308  *
309  3.345
310  +
311  *
312  63.86
313  +
314  RTN
315  LBL 01          
316  45
317  +
318  X<Y?
319  GTO 01
320  CLX
321  2 E3
322  -
323  STO Y
324  178.92
325  /
326  .32217
327  +
328  *
329  62.92
330  +
331  RTN
332  LBL 01
333  X<>Y
334  ENTER^
335  ENTER^
336  XEQ 01
337  X<>Y
338  2150
339  -
340  .5628
341  *
342  +
343  END

 
      ( 757 bytes / SIZE 000 )
 
 

      STACK        INPUTS      OUTPUTS
           X          year     Delta T (sec)

 
Examples:

 -2000   XEQ "DELTAT"  >>>>  46675.68 s
   400    XEQ "DELTAT"  >>>>   6699.22 s
  1200   XEQ "DELTAT"  >>>>    736.44 s
  1680   XEQ "DELTAT"  >>>>     15.31 s
  1760   XEQ "DELTAT"  >>>>     14.87 s
  1841   XEQ "DELTAT"  >>>>      5.52 s
  1880   XEQ "DELTAT"  >>>>    -5.01 s
  1906   XEQ "DELTAT"  >>>>      5.10 s
  1934   XEQ "DELTAT"  >>>>     23.86 s
  1951   XEQ "DELTAT"  >>>>     29.47 s
  1984   XEQ "DELTAT"  >>>>     53.73 s
  2000   XEQ "DELTAT"  >>>>     63.86 s
  2041   XEQ "DELTAT"  >>>>     85.52 s
  2100   XEQ "DELTAT"  >>>>    202.74 s
  3000   XEQ "DELTAT"  >>>>   4435.68 s
 

2°)  Simplified Formulae
 

     a)  Program#1
 

Formulae:
 

           y < 2             >>>>    DeltaT ~   32  ( y - 1820 )2  10 -4 - 20
     2 < y < 1600       >>>>    DeltaT ~   1587 - 556 t + 66.7 t2 + 0.33 t3 - 0.523 t4 - t5/291 + t6/533        with   t = y/100 - 10
 1600 < y < 1800     >>>>    DeltaT ~   8 - 16 t + 96 t2 - 75 t3 - 38 t4 + 38 t5                                           with   t = y/100 - 17
 1800 < y < 1998     >>>>    2 polynomials are used.  See reference [1]  page 80.
 1998 < y < 2150     >>>>    DeltaT ~   64 + 35 t - 112 t2 + 444 t3 - 274 t4 + 46.4 t5                               with   t = y/100 - 20
       y > 2150           >>>>    DeltaT ~   32  ( y - 1820 )2  10 -4 - 20
 

Data Registers: /
Flags: /
Subroutines: /

-Line 161 is a three-byte GTO 00
 
 

  01  LBL "DLT"
  02  2150
  03  X>Y?
  04  GTO 01
  05  LBL 00 
  06  CLX
  07  1820
  08  -
  09  X^2
  10  .32
  11  %
  12  20
  13  -
  14  RTN
  15  LBL 01        
  16  152
  17  -
  18  X>Y?
  19  GTO 01 
  20  SIGN
  21  %
  22  20
  23  -
  24  ENTER^
  25  STO Z
  26  46.4
  27  *
  28  274
  29  -
  30  *
  31  444
  32  +
  33  *
  34  112
  35  -
  36  *
  37  35
  38  +
  39  *
  40  64
  41  +
  42  RTN
  43  LBL 01        
  44  98
  45  -
  46  X>Y?
  47  GTO 01
  48  -
  49  1
  50  %
  51  ENTER^
  52  STO Z
  53  583534
  54  *
  55  2324247 
  56  -
  57  *
  58  3729199
  59  +
  60  *
  61  3031912
  62  -
  63  *
  64  1249061
  65  +
  66  *
  67  187563
  68  -
  69  *
  70  26378
  71  -
  72  *
  73  8152
  74  +
  75  *
  76  872
  77  +
  78  *
  79  24
  80  -
  81  10
  82  /
  83  RTN
  84  LBL 01        
  85   E2
  86  -
  87  X>Y?
  88  GTO 01
  89  -
  90  1
  91  %
  92  LASTX
  93  -
  94  7270586 
  95  RCL Y
  96  1235640
  97  *
  98  +
  99  *
100  18189614
101  +
102  *
103  25138078
104  +
105  *
106  20872989
107  +
108  *
109  10616608
110  +
111  *
112  3240118      
113  +
114  *
115  562828 
116  +
117  *
118  52186
119  +
120  *
121  2290
122  +
123  *
124  25
125  -
126  10
127  /
128  RTN
129  LBL 01        
130  200
131  -
132  X>Y?
133  GTO 01
134  -
135  1
136  %
137  LASTX 
138  -
139  ENTER^
140  STO Z
141  38
142  ST* Y 
143  -
144  *
145  75
146  -
147  *
148  96
149  +
150  *
151  16
152  -
153  *
154  8
155  +
156  RTN
157  LBL 01 
158  CLX
159  2
160  X>Y?
161  GTO 00       
162  SIGN
163  %
164  10
165  -
166  ENTER^
167  STO Z 
168  533
169  /
170  291
171  1/X
172  -
173  *
174  .513
175  -
176  *
177  .33
178  +
179  *
180  66.7
181  +
182  *
183  556
184  -
185  *
186  1587
187  +
188  END

 
     ( 363 bytes / SIZE 000 )
 
 

      STACK        INPUTS      OUTPUTS
           X          year     Delta T (sec)

 
Examples:

 -2000   XEQ "DLT"  >>>>  46675.68 s
   400    XEQ "DLT"  >>>>   6702.33 s
  1880   XEQ "DLT"  >>>>    -5.42 s
  1984   XEQ "DLT"  >>>>     53.82 s
  2010   XEQ "DLT"  >>>>     66.80 s
  2150   XEQ "DLT"  >>>>    328.48 s

-The accuracy is of the order of 1 second between 1800 & 2010
 

     b)  Program#2
 

-The following routine returns TT-UT for 1900 < y < 2100 with a precision of about 1.15 second between 1900 & 2019
-If y > 2020, the results are of course more doubtful...
 

Formula:

  DeltaT ~  63.3 + 48.4 t - 115.6 t2 + 43.8 t3 + 515.6 t4 + 76.4 t5 - 505.2 t6 - 169 t7 + 33.3 t8 + 104.4 t9 + 108.7 t10               with   t = y/100 - 20
 

Data Registers: /
Flags: /
Subroutines: /
 
 

 01 LBL "DLT"
 02 1
 03 %
 04 20
 05 -
 06 1044
 07 RCL Y      
 08 1087
 09 *
 10 +
 11 *
 12 333
 13 +
 14 *
 15 1690         
 16 -
 17 *
 18 5052
 19 -
 20 *
 21 764
 22 +
 23 *
 24 5156         
 25 +
 26 *
 27 438
 28 +
 29 *
 30 1156          
 31 -
 32 *
 33 484
 34 +
 35 *
 36 633
 37 +
 38 10
 39 /
 40 END          

 
    ( 79 bytes / SIZE 000 )
 
 

      STACK        INPUTS      OUTPUTS
           X          year     Delta T (sec)

 
Examples:

  1900  XEQ "DLT"   >>>    -3.9  s
  1950      R/S            >>>   28.02 s
  1984      R/S            >>>   52.74 s
  2000      R/S            >>>   63.30 s
  2019      R/S            >>>   69.29 s
  2030      R/S            >>>   72.56 s
  2050      R/S            >>>   89.91 s
  2100      R/S            >>>   204.1 s
 

Note:

-The results rapidly become meaningless outside the interval  [1900,2100]
 
 

References:

[1]  Jean Meeus - "Astronomical Algorithms" - Willmann-Bell  -  ISBN 0-943396-61-1
[2]  http://eclipse.gsfc.nasa.gov/SEcat5/deltatpoly.html