James Miller G3RUH
19xx January is that time of year for the annual pleas, by users of ancient software, that they've run out of "sidereal time data". This quantity is not some arcane kludge divined by sorcerers from the entrails of slide rules, but a simple quantity that describes the Terrestrial longitude of the Celestial 0 deg longitude at 0000 utc. Some satellite tracking software needs this for 19xx Jan 0.0. Look at the following table: YEAR GHAA(0) deg GMST rev ---------------------------------------- 1989 99.636681 0.276769 This means that at the 1990 99.397970 0.276105 beginning of 1989, the 1991 99.159257 0.275442 Celestial 0 deg of longitude 1992 98.920546 0.274779 will be over 99.6 deg Earth longitude (Mexico City). 1993 99.667481 0.276854 As the Earth rotates it 1994 99.428769 0.276191 moves West at a rate of 1995 99.190057 0.275528 approx. 15 deg/hour. 1996 98.951346 0.274865 1997 99.698282 0.276940 1998 99.459570 0.276277 1999 99.220859 0.275613 2000 98.982147 0.274950 ------------------------------------- There are some obvious rhythms in it. The angular measure (Greenwich Hour Angle Aries Jan 0.0). is roughly 99 degrees. It decreases by 0.238711 degrees for three years, and then increases by 0.746936 after the fourth, which you will notice is a leap year. So, you can always get next year's value from last year's. Where do -0.238711 and +0.746936 come from? Easy! The Earth rotates 360. 985647367 degrees per day; 360 degrees on its own axis, plus the little bit (0.9856 deg) because it revolves around the Sun too. So in a leap year of 366 days it turns through 366 * 360.985647367 = 132120.746936 degrees, which is just 367 revolutions + 0.746936 deg. In a 365 day year it's 366 rev - 0.238711 deg. OK, so now you want a formula for all this. Mechanising the rhythm just described gives: GHAA(0) = 99.6367 - 0.2387*(YR-1989) + 0.9856*INT((YR-1989)/4) degrees where GHAA(0) is the Greenwich hour angle for year YR Jan 00, 0000utc, and YR = is four digits, e.g. 1991, 1992 etc. Divide this value by 360 if you want it in revolutions. This is perfectly adequate for satellite work. But perfectionists will want to account for the fact that the year gets longer as the Earth slows down. By Astronomical convention, the adopted formula is (Ref 1): GMST = 24110.54841 + TU*(8640184.812866 + TU*(0.093104 + TU*(-6.2E-6))) seconds For degrees, divide by 240, for revolutions divide by 86400. Tu is the interval of time, (measured in Julian centuries of 36525 days of universal time), elapsed since the epoch 2000 Jan 1.5 i.e TU = (JD - 2451545.0)/36525 GMST is Greenwich Mean Sidereal Time. (Astronomers are historically stuck with using units of time for longitude. The rest of us are stuck with degrees. 24 hrs = 360 deg). Now, this is pretty tedious to evaluate, so I've given a short program to calculate it instead. I want to make it clear that modern tracking software doesn't need any of this mumbo-jumbo. It will have the celestial longitude initialised as 99.6 degrees on 1989 Jan 0.0 and can calculate any future value quite simply from this. The writers of software that ask you to put in a value for each year from the table must have regretted ever since. PLEASE give them a break - work it out for yourself! Ref 1: Aoki S., Guinot B., Null G.H., Kinoshita H., McCarthy D.D., Seidelmann P.K.; Astron. Astrophysics, 105, 359. 1982 10 T$="B.GHAA(0)": REM GMST of 0000 utc Calculator. Based on 20 REM 1984 Astronomical Almanac Pages B6 & S13. 30 REM 40 REM Version 1.1 Last modified 1985 May 08 by JRM 50 REM 60 REM (C)1991 J R Miller G3RUH 70 REM 80 REM GMST =24110.54841 + TU*(8640184.812866+TU*(0.093104+TU*(-6.2E-6))) 90 REM (seconds). 100 REM 110 REM where Tu is the interval of time, (measured in Julian centuries 120 REM of 36525 days of universal time), elapsed since the epoch 130 REM 2000 Jan 1.5 i.e TU = (JD - 2451545.0)/36525 140 REM 150 FI%=&80F: FF%=&2060F: REM Print formats; ######### #.###### 160 : 170 PRINT"Program ";T$;" GHAA for Year yyyy Jan 0.0 (C)1991 G3RUH" 180 PRINT 190 PRINT" YEAR GHAA deg GMST rev" 200 PRINT" -------------------------------------" 210 FOR YR = 1989 TO 2000 220 DD = FND0(YR)-(FND0(2000)+1.5): REM Days since 2000 Jan 1.5 230 TU = DD/36525 240 G1 = TU*(184.812866+TU*(0.093104+TU*(-6.2E-6)))/86400 :REM Small part 250 G2 = TU*100 :REM Big part 260 G3 = 0.2790572733 :REM 24110.54841/86400 270 GMST = G1+G2+G3: GMST = GMST-INT(GMST): GHAA = GMST*360 280 @%=FI%: PRINT YR;: @%=FF%: PRINT GHAA,GMST 290 NEXT 300 STOP 310 DEF FND0(YR) =INT((YR-1)*365.25)
Feedback on these pages to Webmaster. Feedback on the article should be sent to James Miller
Created: 1994 Nov 17 -- Last modified: 2005 Oct 29