home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / astrmenu.lbr / GMST.BZS / GMST.BAS
BASIC Source File  |  1987-04-26  |  1KB  |  49 lines

  1. 1 PRINT "From the June 1984 SKY & TELESCOPE, pp. 558-9."
  2. 2 PRINT
  3. 3 PRINT "This program calculates the sidereal time for the Greenwich meridian"
  4. 4 PRINT "from 4713 B.C. (-4712) to A.D. 3500."
  5. 5 PRINT
  6. 6 PRINT "INPUT:  Year (Y), month (M), day with fraction (D) (UT), Julian or"
  7. 7 PRINT "        Gregorian calendar." : PRINT
  8. 8 PRINT "OUTPUT:  Julian Day and fractional part, Greenwich Mean Sidereal Time"
  9. 9 PRINT "         (h, min, s)."
  10. 10 PRINT
  11. 700 REM    GREENWICH MEAN
  12. 702 REM    SIDEREAL TIME
  13. 704 REM
  14. 706 GOSUB 800
  15. 708 D=J-2451545!
  16. 710 T=D/36525!: T1=INT(T)
  17. 712 J0=T1*36525!+2451545!
  18. 714 T2=(J-J0+.5)/36525!
  19. 716 S=24110.54841#+184.812866#*T1
  20. 718 S=S+8640184.812866#*T2
  21. 720 S=S+.093104*T*T
  22. 722 S=S-.0000062*T*T*T
  23. 724 S=S/86400!: S=S-INT(S)
  24. 726 S=24*(S+(F-.5)*1.002737909#)
  25. 728 IF S<0 THEN S=S+24
  26. 730 IF S>24 THEN S=S-24
  27. 732 H=INT(S): M1=60*(S-H)
  28. 734 M=INT(M1): S=60*(M1-M)
  29. 736 PRINT "GMST: ";H;M;S
  30. 738 RUN"ASTRMENU.BAS"
  31. 800 REM   CALENDAR --> JD
  32. 805 REM
  33. 810 INPUT "Y,M,D ";Y,M,D
  34. 815 INPUT "JC (0) OR GC (1) ";G
  35. 820 D1=INT(D): F=D-D1-.5
  36. 825 J=-INT(7*(INT((M+9)/12)+Y)/4)
  37. 830 IF G=0 THEN 850
  38. 835 S=SGN(M-9): A=ABS(M-9)
  39. 840 J1=INT(Y+S*INT(A/7))
  40. 845 J1=-INT((INT(J1/100)+1)*3/4)
  41. 850 J=J+INT(275*M/9)+D1+G*J1
  42. 855 J=J+1721027!+2*G+367*Y
  43. 860 IF F>=0 THEN 870
  44. 865 F=F+1: J=J-1
  45. 870 PRINT "J.D.: ";J;F
  46. 875 RETURN
  47. +INT(275*M/9)+D1+G*J1
  48. 855 J=J+1721027!+2*G+367*Y
  49. 860 IF