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