home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBOM2 / M2ASTRO.LBR / ASTROLIB.DZF / ASTROLIB.DEF
Text File  |  2000-06-30  |  3KB  |  96 lines

  1. DEFINITION MODULE AstroLib;
  2.  
  3. (*
  4.  
  5.      AstroLib is a library of general Astronomical functions.  This
  6. release while having been reasonably tested should be considered
  7. preliminary. Corrections and additions are likely to be made!
  8.  
  9. Jim Lill    August, 1987
  10.  
  11. GEnie [JIMLILL]
  12. Lillipute 2
  13. Z-Node Central
  14. Sage
  15.  
  16.  
  17. LONGREAL is used because many of these will be used in chain calculations
  18. where cumulative errors would be intolerable. Conversion to REAL may be
  19. desirable for user interface but is left to the calling MODULE. 
  20.  
  21. Parameters:
  22.  
  23. - execpt for HMS, all procedures return "decimal" results.
  24.  
  25. - yr, mo, day and hr, min, sec are CARDINAL as that's what RTC 
  26.   applications will need. 
  27.  
  28. - hrs is decimal hours and often will be a global variable initialized
  29.   in the calling module.
  30.  
  31. - nd is the number of days from Jan 0, year to current date
  32.  
  33. - tc is the number of years from Jan 0, 1900 to current date
  34.  
  35. - gst is Greenwich Sidereal Time
  36.  
  37. - lst is  Local Sidereal Time
  38.  
  39. - long is the local longitude
  40.  
  41. - ra is Right Ascension
  42.  
  43. - lha is Local Hour Angle
  44.  
  45. - oe is obliquity of ecliptic
  46.  
  47. - dec is Declination
  48.  
  49. - az is azimuth (compass heading)
  50.  
  51. - alt is altitude (elevation above horizon)
  52.  
  53. - elat and elong are the ecliptic coordinates
  54.  
  55. - l and b are galactic coordinates
  56.  
  57. *)
  58.  
  59. VAR JD0 : LONGREAL;               (* Julian Date for Jan 0 1980 *)
  60.  
  61. PROCEDURE DLONG(dnum:LONGREAL):LONGREAL;
  62.          (* DOUBLE(LONG(dnum)) *)
  63. PROCEDURE JD(yr,mo,day:CARDINAL; hrs:LONGREAL):LONGREAL;
  64.          (* JD Day Number *)
  65. PROCEDURE HRS(hr, min, sec:CARDINAL):LONGREAL;
  66.          (* Decimal time or angle from HMS *)
  67. PROCEDURE HMS(VAR hr,min,sec:CARDINAL; hrs:LONGREAL);
  68.          (* HMS from Dec time or angle *)
  69. PROCEDURE ND(yr:CARDINAL; jd:LONGREAL):LONGREAL;
  70.          (* # of days from Jan 0, year to jd *)
  71. PROCEDURE TC(yr:CARDINAL):LONGREAL;
  72.          (* # of centuries from Jan 0, 1900 to yr *)
  73. PROCEDURE GST(nd,tc,hrs:LONGREAL; yr:CARDINAL):LONGREAL;
  74.          (* Greenwich Sidereal Time *)
  75. PROCEDURE LST(gst, long:LONGREAL):LONGREAL;
  76.          (* Local Sidereal Time *)
  77. PROCEDURE LHA(ra,lst:LONGREAL):LONGREAL;
  78.          (* Right Asc ==> Local Hr Angle *)
  79. PROCEDURE RA(lha,lst:LONGREAL):LONGREAL;
  80.          (* LHA ==> Right Asc *)
  81. PROCEDURE OE(tc:LONGREAL):LONGREAL;
  82.          (* Mean Obliquity of Ecliptic from TD (above) *)
  83. PROCEDURE Equ2Hor(lha,dec,lat:LONGREAL; VAR az,alt:LONGREAL);
  84.          (* Equatorial ==> Horizon *)
  85. PROCEDURE Hor2Equ(az,alt,lat:LONGREAL; VAR lha,dec:LONGREAL);
  86.          (* Horizon ==> Equatorial *)
  87. PROCEDURE Ecl2Equ(elong,elat:LONGREAL; VAR ra,dec:LONGREAL);
  88.          (* Ecliptic ==> Equatorial *)
  89. PROCEDURE Equ2Ecl(ra,dec:LONGREAL; VAR elong,elat:LONGREAL);
  90.          (* Equatorial ==> Ecliptic *)
  91. PROCEDURE Equ2Gal(ra,dec:LONGREAL; VAR l,b:LONGREAL);
  92.          (* Equatorial ==> Galactic *)
  93. PROCEDURE Gal2Equ(l,b:LONGREAL; VAR ra,dec:LONGREAL);
  94.          (* Galactic ==> Equatorial *)
  95.  
  96. END AstroLib.