home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume16 / xephem / part12 < prev    next >
Encoding:
Text File  |  1992-03-05  |  50.2 KB  |  1,028 lines

  1. Newsgroups: comp.sources.x
  2. Path: uunet!think.com!mips!msi!dcmartin
  3. From: e_downey@hwking.cca.cr.rockwell.com (Elwood Downey)
  4. Subject: v16i123: xephem - astronomical ephemeris program., Part12/24
  5. Message-ID: <1992Mar6.135455.2527@msi.com>
  6. Originator: dcmartin@fascet
  7. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  8. Organization: Molecular Simulations, Inc.
  9. References: <csx-16i112-xephem@uunet.UU.NET>
  10. Date: Fri, 6 Mar 1992 13:54:55 GMT
  11. Approved: dcmartin@msi.com
  12.  
  13. Submitted-by: e_downey@hwking.cca.cr.rockwell.com (Elwood Downey)
  14. Posting-number: Volume 16, Issue 123
  15. Archive-name: xephem/part12
  16.  
  17. # this is part.12 (part 12 of a multipart archive)
  18. # do not concatenate these parts, unpack them in order with /bin/sh
  19. # file patchlevel.h continued
  20. #
  21. if test ! -r _shar_seq_.tmp; then
  22.     echo 'Please unpack part 1 first!'
  23.     exit 1
  24. fi
  25. (read Scheck
  26.  if test "$Scheck" != 12; then
  27.     echo Please unpack part "$Scheck" next!
  28.     exit 1
  29.  else
  30.     exit 0
  31.  fi
  32. ) < _shar_seq_.tmp || exit 1
  33. if test ! -f _shar_wnt_.tmp; then
  34.     echo 'x - still skipping patchlevel.h'
  35. else
  36. echo 'x - continuing file patchlevel.h'
  37. sed 's/^X//' << 'SHAR_EOF' >> 'patchlevel.h' &&
  38. X * patch to xephem is created and distributed. it is only here because a given
  39. X * patch may advance the version number an arbitrary amount. the version number
  40. X * is maintained in version.c.
  41. X */
  42. #define    PATCHLEVEL 0
  43. SHAR_EOF
  44. echo 'File patchlevel.h is complete' &&
  45. chmod 0644 patchlevel.h ||
  46. echo 'restore of patchlevel.h failed'
  47. Wc_c="`wc -c < 'patchlevel.h'`"
  48. test 289 -eq "$Wc_c" ||
  49.     echo 'patchlevel.h: original size 289, current size' "$Wc_c"
  50. rm -f _shar_wnt_.tmp
  51. fi
  52. # ============= xephem.hlp ==============
  53. if test -f 'xephem.hlp' -a X"$1" != X"-c"; then
  54.     echo 'x - skipping xephem.hlp (File already exists)'
  55.     rm -f _shar_wnt_.tmp
  56. else
  57. > _shar_wnt_.tmp
  58. echo 'x - extracting xephem.hlp (Text)'
  59. sed 's/^X//' << 'SHAR_EOF' > 'xephem.hlp' &&
  60. @Intro
  61. XXephem is a program that displays ephemerides for all the planets, some moons,
  62. plus any two additional objects.  The additional objects may be fixed or
  63. specified via heliocentric elliptical, hyperbolic or parabolic orbital
  64. elements to accommodate solar system objects such as asteroids or comets.
  65. X
  66. Information displayed about each object includes RA and Dec precessed to any
  67. epoch, local azimuth and altitude, heliocentric coordinates, distance from
  68. sun and earth, solar elongation, angular size, visual magnitude, illumination
  69. percentage, local rise, transit and set times, length of time up,
  70. constellation, and angular separations between all combinations of objects.
  71. A special detail of Earth's moon and and Jupiter's moons and central meridian
  72. longitude is also available.
  73. X
  74. Observing circumstance information includes UTC and local date and time,
  75. local sidereal time, times of astronomical twilight and length of night, local
  76. temperature, pressure and height above sea level for the refraction model and a
  77. monthly calendar.
  78. X
  79. RA/Dec calculations are geocentric and include the effects of light travel
  80. time, nutation, aberration and precession.  Alt/az and rise/set/transit and,
  81. optionally, angular separation calculations are topocentric and include the
  82. additional effects of parallax and refraction.
  83. X
  84. Plot and listing files of selected field values may be generated as the
  85. program runs.  The plot files are full precision floating point values in
  86. ASCII intended for export to other plotting programs.  The listing files are
  87. tables formatted for more general human reading.  Xephem includes simple
  88. quick-look facilities to view plot files.
  89. X
  90. One may also watch the sky or the solar system with simple dots displays.
  91. X
  92. XXephem may be asked to search for interesting conditions automatically, using
  93. several algorithms. Most fields displayed on the screens may be used as terms
  94. in an arbitrary arithmetic expression that can be solved for local zero or
  95. extrema, or the time of state change of any boolean expression can be found.
  96. X
  97. XXephem uses three auxiliary files: an initial configuration, an object data
  98. base and the help text. The default name of the configuration file is
  99. ephem.cfg, in the current directory.  This name can also be set using the -c
  100. command line argument or by defining the EPHEMCFG environment variable.
  101. Details of the configuration file format may be found in the main on-line help
  102. for "Initialization".
  103. X
  104. The default name of the database file is ephem.db, in the current directory.
  105. This name can also be set using the -d command line argument or by defining
  106. the EPHEMDB environment variable. Details of the database file may be found in
  107. the on-line help from the "ObjX/Y" dialog.
  108. X
  109. The default name of the help file is xephem.hlp, in the current directory.
  110. This name can also be set using the -h command line argument or by defining
  111. the XEPHEMHELP environment variable.
  112. X
  113. Follows is a description of the fields visible on the Main menu. Note that
  114. fields containing local and Universal times are not explicitly labeled, for
  115. brevity.
  116. X
  117. X LTZ           the local timezone name.  The name field may be changed to
  118. X           any three-character mnemonic.
  119. X LT   
  120. X LD            The local time and date are not labeled as such but are to
  121. X           the right of the local timezone name.  They are individually
  122. X           selectable.  Time and date fields may be changed as
  123. X           described in a later section.  Set to "n" to set to "now"
  124. X           from computer clock.
  125. X UT   
  126. X UD            The universally coordinated time and date are not labeled as
  127. X           such but are to the right of the UTC label.  They are
  128. X           individually selectable.  Time and date fields may be
  129. X           changed as described in a later section.  Set to "n" to set
  130. X           to "now" from computer clock.
  131. X JulianDat     the current Julian date, to about 1-second accuracy.
  132. X LST           the current local sidereal time.  set to "n" to set from
  133. X           computer clock.
  134. X Dawn          local time when the sun center is 18 degrees below the
  135. X           horizon before sunrise today.
  136. X Dusk          local time when the sun center is 18 degrees below the
  137. X           horizon after sunset today.
  138. X NiteLn        length of astronomical night, ie, Dawn - Dusk.  If this line
  139. X           is shown as "-----", it means the sun is either always below
  140. X           or always above approximately -18 degrees altitude on this
  141. X           particular day.  This and the Dawn and Dusk lines are blank
  142. X           when their computation has been turned off.
  143. X NStep         The number of times the display will be updated (time
  144. X           advanced by StpSz each step) automatically.
  145. X StpSz         the amount of time UTC (and its derivatives) is incremented
  146. X           each loop.  set this to "r" to use real-time based on the
  147. X           computer clock.  you may also set it in terms of days by
  148. X           appending a "d" to the number or in terms of sidereal days by
  149. X           appending an "s" to the number.
  150. X Lat           location latitude, positive degrees north of equator.
  151. X Long          location longitude, positive degrees west of Greenwich
  152. X           meridian.
  153. X Elev          local elevation of the ground above sea level, in feet. (see
  154. X           implementation notes).
  155. X Temp          local surface air temperature, in degrees F.
  156. X AtmPr         local surface air pressure, in inches of mercury.
  157. X TZ            hours local time is behind utc, ie, positive west or
  158. X           negative east of Greenwich.
  159. X Epoch         the epoch, to the nearest 0.1 years, to which the ra/dec
  160. X           fields are precessed.  This says (OfDate) when coordinates
  161. X           are not precessed, ie, are in the epoch of date. Set to "e"
  162. X           to set to epoch of date.
  163. X Pause         number of seconds to pause between screen updates. This is
  164. X           used mainly to set up for free-running unattended operation.
  165. X           Pausing is not done when plotting or searching is on.
  166. @Operation
  167. When xephem starts it reads the configuration file and processes the command
  168. line arguments to set the initial values of several fields, accessing the
  169. database file if OBJX or OBJY is set. See the "Initialization" help for
  170. details of the format of the file and the command line arguments. Xephem
  171. then draws all fields on the main screen with their initial values.  The
  172. program then loops advancing time each step, by some amount you may control,
  173. and updating all fields each loop.
  174. X
  175. There are three fields that control this looping behavior.  NStep controls
  176. the number of steps, StpSz the amount of time to add each step, and Pause
  177. is the amount of real seconds to pause between steps.  Note that Xephem does
  178. not pause between steps when plotting or searching is on.  When the number of
  179. steps, NStep, goes to 0 or the "Stop" button is selected, the looping stops 
  180. and the button is relabeled "Update".
  181. X
  182. Most fields may be changed by selecting them. A prompt dialog with a brief
  183. explanation of the field will be presented. A new value may be typed into
  184. the text field provided. If "Ok" is selected the new value will be used;
  185. if "Cancel" is selected the field will be left unchanged. In either case,
  186. the prompt dialog goes away.
  187. X
  188. When you have changed a field that would invalidate any of the other
  189. fields the message NEW CIRCUMSTANCES appears above the "Update/Stop" button.
  190. This will remain until at least one screen update loop occurs.  If you change
  191. any field that causes new circumstances, the StpSz value is not added to the
  192. first loop. Note also that after a series of loops, NStep is automatically
  193. reset to 1 from 0 so "Update" will do exactly one loop again.
  194. @References
  195. Many formulas and tables are based, with permission, on material found in:
  196. "Astronomy with your Personal Computer" by Dr. Peter Duffett-Smith, Cambridge
  197. University Press, (c) 1985.
  198. X
  199. Other references include:
  200. X
  201. Constellation algorithm from a paper by Nancy G. Roman, "Identification of a
  202. constellation from a position", Publications of the Astronomical Society of
  203. the Pacific, Vol.  99, p.  695-699, July 1987.
  204. X
  205. Precession routine from 1989 Astronomical Almanac.
  206. X
  207. Jupiter's moons based on information in "Astronomical Formulae for
  208. Calculators" by Jean Meeus. Richmond, Va., U.S.A., Willmann-Bell, (c) 1982.
  209. X
  210. Moon bitmap is from xphoon, Copyright (C) 1988 by Jef Poskanzer and Craig Leres.
  211. @Initialization
  212. The ephem.cfg configuration file and command line options allows you to set
  213. the initial values of many of the main menu fields. You can still change any
  214. field while the program is running too; these just set the initial conditions.
  215. Note that the order of these specifications is important because they each
  216. take effect immediately.  You should put them in the same order you wish them
  217. to be processed, just as though you were changing the fields interactively
  218. within xephem.
  219. X
  220. The default name of the configuration file is ephem.cfg.  Ephem also looks
  221. for one named by the EPHEMCFG environment variable (if defined) or you may
  222. specify any name using the -c command line option.
  223. X
  224. The format of the file and the command line parameters uses the form
  225. KEYWORD=VALUE, where the possible KEYWORDS and the types of VALUES for each
  226. are described below. Any KEYWORDS not specified will take on some sort of
  227. default. The separator need not be an actual equals sign; any char will do
  228. because the VALUE is assumed to start one character after the KEYWORD,
  229. regardless.
  230. X
  231. All lines in the configuration file that do not begin with an alpha character
  232. (a through z, either case) are ignored and may be used for comments.
  233. X
  234. XXephem recognizes these same keyword=value pairs as command line parameters.
  235. Command line parameters are processed after config file parameters.
  236. X
  237. Note:  because of the way unspecified time and date components are left
  238. unchanged (see section on Date and Time Formats) always specify the complete
  239. time and date for all entries in the configuration file. For example, to
  240. initialize the longitude to zero degrees, say 0:0:0, not just 0.
  241. X
  242. Follows is a list of the keywords that may be used in the configuration file
  243. and/or command line:
  244. X
  245. UD     initial UTC date, such as 10/20/1988, or "NOW" to use the computer
  246. X       clock.
  247. UT     initial UTC time, such as 12:0:0, or "NOW" to use the computer clock.
  248. TZONE  hours the local time is behind utc, such as 5:0:0.  you need not
  249. X       set this if you use "NOW" for UT or UD.
  250. TZNAME name of the local time zone, such as CDT. 3 chars max.  you need
  251. X       not set this if you use "NOW" for UT or UD. This is purely a text
  252. X       label; xephem makes no attempt to compute anything from this label,
  253. X       such as a UTC offset.
  254. LONG   longitude, in degrees west of Greenwich, in the form d:m:s.
  255. LAT    latitude, in degrees north of the equator, in the form d:m:s.
  256. HEIGHT height above sea level, in feet, such as 800
  257. TEMP   air temperature, in degrees F, such as 50
  258. PRES   air pressure, in inches of Mercury, such as 29
  259. STPSZ  the time increment between screen updates, such as "1" to give
  260. X       one hour updates. this can be a specific amount or RTC to use
  261. X       the system clock as a real-time source. You may also specify a
  262. X       time in days by appending a D (or d) after the number or a time
  263. X       in sidereal days by appending an s (or S) after the number.
  264. PROPTS this selects what you want included initially in the tables. the
  265. X       VALUE is a collection of letters to turn on each item from the
  266. X       following set:
  267. X
  268. X           T       twilight (dawn-dusk)
  269. X           S       circumstances for the sun
  270. X           M       circumstances for the moon
  271. X           e       circumstances for mercury
  272. X           v       circumstances for venus
  273. X           m       circumstances for mars
  274. X           j       circumstances for jupiter
  275. X           s       circumstances for saturn
  276. X           u       circumstances for uranus
  277. X           n       circumstances for neptune
  278. X           p       circumstances for pluto
  279. X           x       circumstances for object X
  280. X           y       circumstances for object Y
  281. X
  282. X       For example, to just track the sun and saturn, say PROPTS=Ss
  283. X
  284. X       If the delimiter between PROPTS and the selection is a plus (+)
  285. X       sign then the given planets are included IN ADDITION TO ones
  286. X       already specified. Any other delimiter sets the selection to
  287. X       exactly the set specified. This feature was added so that the
  288. X       command line version of using PROPTS could add to the set of
  289. X       planets giving in the configuration file.
  290. NSTEP  number of times program will loop automatically.
  291. X       see the discussion under Program Operation.
  292. EPOCH  this sets the desired ra/dec precession epoch. you can put any
  293. X       date here or EOD to use the current instant ("Epoch of Date").
  294. OBJX
  295. OBJY   These fields specify the optional objects "x" and "y" by naming
  296. X       any item in the database file. The form is OBJX=x, where x
  297. X       must be in the database file, case sensitive.  You may define
  298. X       one object of each type for each of OBJX and OBJY; the last one
  299. X       defined will be the "current" one when ephem gets going.
  300. PAUSE  The number of seconds to pause between calculation steps. See
  301. X       definition of the Pause field in the "Top Screen Fields"
  302. X       section.
  303. @Date/time
  304. Times are displayed and entered in h:m:s format.  If you pick a time field
  305. to change it any of the h, m, and s components that are not specified are
  306. left unchanged from their current value.  For example, 0:5:0 set hours to
  307. 0, minutes to 5, seconds to 0, whereas :5 sets minutes to 5 but leaves
  308. hours and seconds unchanged.  A negative time is indicated by a minus sign
  309. (-) anywhere before the first digit.
  310. X
  311. Dates are displayed and entered in American month:day:year format.  As
  312. with time, components omitted when entering a new value retain the current
  313. value.  For example, if the current date is 10/20/1988 and you type 20/20
  314. the new date will become 20/20/1988. Note you must type the full year
  315. since the program is accurate over several centuries either side of 1900.
  316. X
  317. If you change the date, the time (ie, partial day) will not change.
  318. X
  319. Negative years indicate BC dates. For example, Jan 1, 1 BC is given as
  320. 1/1/-1.  There is no year 0.
  321. X
  322. Two other ways to set the date are supported for compatibility with some
  323. published comet ephemerides.  You may enter the day portion as a floating
  324. point number. When you set the day this way, the time will also change to
  325. correspond to the fractional portion of the day.
  326. X
  327. You may also enter a date as a decimal year, as in 1990.12345.  This is
  328. also useful in interpreting plot files that include a date field, since
  329. date fields are stored in plot files as decimal years.  If no decimal
  330. point is included, the number is assumed to be a year unless it is in the
  331. range 1-12, in which case it will be taken to mean that you are just
  332. changing the month of the current date.  To actually specify the years 1 -
  333. 12, you must append a decimal point to distinguish them from months.
  334. X
  335. As a matter of typing convenience, the program accepts most any punctuation
  336. character as the separator; you don't have to type a perfect ":" or "/".
  337. @Notes
  338. 1) Remember that everything is for the current local time and day. So, for
  339. example, the calendar marks moon events in local time; commercial calendars
  340. usually mark the UT date.  Similarly, the rise/set times are for the current
  341. local day.
  342. X
  343. 2) The program uses a horizontal plane tangent to the earth Elev feet above
  344. sea level as the horizon for all altitude calculations, rise/set events, etc. 
  345. Due to Earth's curvature, this is not the same as the angle up from the local
  346. horizon unless the observer is directly on the ground. The effect can be found
  347. from:
  348. X
  349. X     sin(a)**2 = (h**2 + 2Rh) / (R+h)**2
  350. X where:
  351. X     R = radius of earth
  352. X     h = height above ground (same units as R)
  353. X     a = increase in altitude
  354. X
  355. The effect can be significant. For example, the effect is more than two arc
  356. minutes at a height of 5 feet.
  357. X
  358. 3) The accuracy of xephem can not be specifically stated since the Duffett-
  359. Smith book does not warrant its planet position polynomials to any given
  360. degree. I know for sure that better accuracy could be achieved if xephem
  361. used TDT but I have not yet decided on a suitable algorithm.  Allowing for
  362. this manually, comparisons with the Astronomical Almanac are often within a
  363. very few arcseconds.
  364. X
  365. 4) The program uses double precision throughout. While this precision might
  366. seem a little ridiculous, it is actually more efficient for most
  367. traditional K&R C compilers and the search functions seem to far
  368. more stable.
  369. X
  370. 5) The sun-moon distance is the solution for the third side of a planar
  371. triangle whose two other sides are the earth-moon distance and earth-sun
  372. distance separated by the angle of elongation.
  373. X
  374. Ideas:
  375. X + add tick marks (third axis?) to plots.
  376. X + write a tool to find g/k from a set of predicted magnitudes.
  377. X + display all or any selection of fixed objects in the database in sky views.
  378. X + add star and deep sky objects to sky views.
  379. X + search for occultations with all fixed objects.
  380. X + add explicit searching for solar and lunar eclipses.
  381. X + do more moons.
  382. X + add sidereal and synodic step sizes of day week year etc.
  383. X + add e/w flip option to jupiter moon display.
  384. X + show a scrolled list of plot files, with filter, to choose from, or set.
  385. X + use FileSelectionBox to choose plot, listing, and database files.
  386. X + add a field to indicate search/sort criterion for database objects.
  387. X + think of a way to display decimal years in plots as m/d/y somehow.
  388. X + a "customize" menu to change to metric units, English dates.
  389. X + incorporate Terrestrial Dynamical Time (known as Ephemeris Time prior to
  390. X   1984).  TDT is about 57 seconds ahead of UT1 in 1990.
  391. X + add option to put label for each dot right on sky views.
  392. X + add horizon offset.
  393. X + special shortcut buttons for RTC and Now.
  394. X + add undo for plot and listing selections.
  395. X + connect trails dots with line segments.
  396. X + use a progress meter during database file loading, not just the watch cursor.
  397. X
  398. Bugs:
  399. X - it's WAY too easy to turn on objx/y before it's defined and bomb out.
  400. X - plotting or listing rise/set that doesn't happen just shows last entry.
  401. X - %0*.* in f_sexad() doesn't work on some systems (needs 0 deleted)
  402. X - should jup moon +y be S???
  403. X - the built-in elements for pluto need to be updated. the elements for pluto
  404. X   in the included ephem.db database sampler are more accurate.
  405. X - planet magnitudes are not very accurate ...
  406. X - allow for decimal seconds in format converters.
  407. @Plot
  408. This menu controls the plot generation and display functionality of xephem.
  409. You may select most numeric information displayed by xephem, in pairs, to
  410. form x/y coordinates of a plot. You may select up to ten such pairs. You then
  411. select a file to contain the plot information. Xephem adds one line of
  412. information to the file for each x/y pair each time iteration step. Xephem
  413. can also plot any such file on the screen. The file format is compatible with
  414. the character version of xephem, ephem.
  415. X
  416. Selecting data to plot:
  417. X
  418. Select the "Select fields" toggle button to make each field in the other
  419. menus that eligible for plotting appear as a pushbutton. Select each such
  420. button as desired to form the x or y component of a plot. As you make the
  421. selections, they are listed in the menu. You may also associate a
  422. one-character tag with each line. These tags will be included in the plot
  423. display for identification later. Once all the field choices have been made
  424. you may return all the menus to their normal operational appearance by
  425. reselecting the same toggle button.
  426. X
  427. Specifying the plot file:
  428. X
  429. Type the name of the file to be used to contain the plot information in the
  430. text field provided. When xephem first needs to write to the file, it will
  431. first check for the existence of the file and ask whether you wish to append
  432. to the file or overwrite it.
  433. X
  434. Specifying a plot file title:
  435. X
  436. All lines within a plot file that do not begin with a digit are considered
  437. comments and are ignored. If the first line of a file is a comment, xephem
  438. will use it as the title for the plot it draws.  When xephem first writes to
  439. a plot file, it will place the contents of the title text area, if it is not
  440. empty, into the file as a comment to ease use of this feature.
  441. X
  442. Generating the plot entires:
  443. X
  444. Once the fields have been specified and the plot file named and titled, you 
  445. may select the "Plot to file" toggle button when ready. Now each time xephem
  446. goes through one iteration the values you have selected and their tags will be
  447. written to the plot file. Note that when plotting is activated, xephem does
  448. not update the screen until the NStep count goes to 1. This greatly speeds
  449. the creation of plot files by avoiding screen updates. If you wish to watch
  450. each iteration, set NStep to 1 and select the "Update" button manually for
  451. each iteration. Once all the desired data has been entered into the plot
  452. file, toggle the plot button back off to close the file and flush all data.
  453. X
  454. Be aware that the menus that contain each of the fields used in the plot
  455. must be visible whenever the function is evaluated in order for the fields to
  456. be accurate.
  457. X
  458. Viewing plot files:
  459. X
  460. Existing plot files may be viewed by typing their name into the text field
  461. provided and selecting the "Show plot file" pushbutton. As many different
  462. plot files may be viewed simultaneously as desired. Each plot has separate
  463. controls for flipping the X and Y axes and for turning on and off a reference
  464. coordinate grid.
  465. @Listing
  466. This menu controls the list generation functionality of xephem.  The fields
  467. you select define columns of a table written to a file as xephem runs.  These
  468. columns look exactly like their corresponding fields on the xephem menus and
  469. so are far more readable than plot files. They are designed to be used in
  470. further text processing operations or printed as-is. Two spaces are placed
  471. between each column.
  472. X
  473. Selecting data to list:
  474. X
  475. Select the "Select fields" toggle button to make each field in the other
  476. menus eligible for listing appear as a pushbutton. Select each such button as
  477. desired to form each column of the listing. As you make the selections, they
  478. are listed in the menu. Once all the column choices have been made you may
  479. return all the menus to their normal operational appearance by reselecting the
  480. same toggle button.
  481. X
  482. Specifying the listing file:
  483. X
  484. Type the name of the file to be used to contain the listing in the text field
  485. provided. When xephem first needs to write to the file, it will first check
  486. for the existence of the file and ask whether you wish to append to the file
  487. or overwrite it.
  488. X
  489. Specifying a listing file title:
  490. X
  491. All lines within a listing file that do not begin with a digit are considered
  492. comments and are ignored.  When xephem first writes to a listing file, it
  493. will place the contents of the title text area, if it is not empty, into the
  494. file as a comment for your convenience.
  495. X
  496. Generating the listing entires:
  497. X
  498. Once the fields have been specified and the listing file named and titled, if
  499. desired, select the "List to file" toggle button. Now each time xephem goes
  500. through one iteration the values you have selected will be written to the
  501. file. Note that when listing is activated, xephem does not update the screen
  502. until the NStep count goes to 1. This greatly speeds the creation of listing
  503. files by avoiding screen updates. If you wish to watch each iteration, set
  504. NStep to 1 and select the "Update" button manually for each iteration. Once
  505. all the desired data has been entered into the listing file, toggle the
  506. list button back off to close the file and finish writing data to it.
  507. X
  508. Be aware that the menus that contain each of the fields used in the listing
  509. must be visible whenever the function is evaluated in order for the fields to
  510. be accurate.
  511. @Search
  512. This menu controls the automatic searching facility. You define an arithmetic
  513. or boolean function, using most of the fields xephem displays, then xephem
  514. will automatically evaluate the function and adjust the time on each
  515. iteration to search for the goal.
  516. X
  517. To perform a search:
  518. X   enter a function,
  519. X   compile it,
  520. X   select a goal,
  521. X   set the desired accuracy,
  522. X   enable searching,
  523. X   start the search process.
  524. X
  525. Each of these steps is described below.
  526. X
  527. Entering the function:
  528. X
  529. The function may be any arithmetic expression, in C-language syntax.  All of
  530. C's comparison, logical and arithmetic operators are supported as well as
  531. several common arithmetic functions. Here is the complete list:
  532. X
  533. X  + - * / && || > >= == != < <=
  534. X  abs sin cos tan asin acos atan degrad raddeg pi log log10 exp sqrt pow atan2
  535. X
  536. The function is entered into the text line provided. It may utilize most of
  537. the fields from the other xephem menus. Press the "Enable field buttons"
  538. button to make each available field a button. Where ever a field is desired
  539. in the function, position the text insertion cursor at the desired position
  540. and select the field; its name will be inserted into the function text. When
  541. you are finished defining the function, turn off the field button appearance
  542. by selecting the "Enable..." button again.  Once you get to know the names of
  543. the fields you may also enter them manually, if you prefer.
  544. X
  545. Compiling the function:
  546. X
  547. Once the function has been entered as desired, it must be compiled by
  548. selecting the "Compile" button (or by pressing the Return or Enter key on
  549. your keyboard).  If there are any errors, a diagnostic message will appear
  550. just below the function.
  551. X
  552. Selecting a search goal:
  553. X
  554. You may choose from any of three evaluation algorithms, as selected by the
  555. trio of radio buttons. "Find extreme" will search for a maxima or minima of
  556. the function. "Find 0" will search for a time when the function evaluates to
  557. zero.  "Binary" will keep incrementing time by StepSz (in the main menu)
  558. until the state of the function changes, then do a binary search to find the
  559. exact time when the function changes state. Binary search interprets a
  560. function that evaluates to zero to be in one state and all other values to be
  561. the opposite state. Generally, binary functions are comprised of logical
  562. operators at their outermost expression levels.
  563. X
  564. Specifying the desired accuracy:
  565. X
  566. Searching will automatically stop when the time changes by less than the the
  567. accuracy value. Note that this method of detecting convergence is not based
  568. on the value of the search function itself. To change the desired accuracy
  569. press the pushbutton showing the current accuracy next to the "Accuracy"
  570. label and enter a new value in the dialog.
  571. X
  572. Performing the search:
  573. X
  574. Once the function is defined and compiles without errors, you may enable
  575. searching by selecting the "On" button. Then, each time "Update" is selected
  576. on the main menu the search proceeds until either "NStep" iterations have
  577. occurred or until  "StepSz" becomes less than Accuracy. The initial search
  578. time and step size are set from the main menu, and are adjusted automatically
  579. as the search proceeds. Note that by setting NStep to 1 and repeatedly
  580. selecting Update you can effectively single-step the search process. Search
  581. control will automatically turn off when convergence is detected, the
  582. function is edited or you may turn it off manually at any time by toggling
  583. the "On" button back off.
  584. X
  585. Other issues:
  586. X
  587. When selecting fields for plotting or listing a button appears labeled "Use
  588. for plotting". You may select this button to use the evaluated search
  589. function as an item in the plot or listing feature. Note that the search
  590. function may be used in plotting and listing whether or not searching is
  591. enabled.
  592. X
  593. Be aware that the menus that contain each of the fields used in the search
  594. function must be visible whenever the function is evaluated in order for the
  595. fields to be accurate.
  596. X
  597. The "Close" button removes the search control menu from the screen; it does
  598. not effect actual search operation in any way.
  599. X
  600. Searching periodic functions can lead to unexpected solutions. You will get
  601. best results if you can start the search near the expected answer and with a
  602. small step size that bounds the solution. You can use the plotting feature to
  603. study a function and get an idea of the solution, then use the automatic
  604. searching feature to zero in.
  605. @Data Table
  606. Column descriptions:
  607. X
  608. X Cns           name of the constellation in which the object appears.
  609. X R.A.          apparent geocentric right ascension of object, precessed to
  610. X           given epoch, in hours, minutes and decimal minutes.
  611. X Dec           apparent geocentric declination of object, precessed to
  612. X           given epoch, in degrees and minutes.
  613. X Az            degrees eastward of true north for object.
  614. X Alt           degrees up from a horizontal plane Elev feet above sea
  615. X           level.
  616. X H Long        true heliocentric longitude, in degrees.  Earth's is
  617. X           displayed on the sun's line.  For the moon this is the
  618. X           geocentric longitude.
  619. X H Lat         true heliocentric latitude, in degrees.  For the moon this
  620. X           is the geocentric latitude.
  621. X Ea Dst        true distance from Earth center to object center, in AU,
  622. X           except distance to the moon is in miles.
  623. X Sn Dst        true distance from sun center to object center, in AU.
  624. X Elong         spherical angular separation between sun and given object,
  625. X           calculated from the their geocentric ecliptic coordinates.
  626. X           Note this is not just the difference in ecliptic longitude.
  627. X           The sign, however, is simply sign(obj's longitude - sun's
  628. X           longitude), ie, degrees east.  thus, a positive elongation
  629. X           means the object rises after the sun.  This field is not
  630. X           generally useful in searching for conjunctions because of
  631. X           the discontinuous sign change that occurs at conjunction.
  632. X Size          angular size of object, in arc seconds.
  633. X VMag          visual magnitude of object.
  634. X Phs           percent of visible surface in sunlight. Note the moon phase
  635. X           is calculated simplistically as just abs(elongation)/180*100
  636. X           which can be a few degrees off... this means that because of
  637. X           how elongation is defined it doesn't say 0 during new moon
  638. X           (or 100 during full) except during close eclipses (maybe
  639. X           that's a "feature"?).
  640. @Rise/Set Table
  641. Column descriptions:
  642. X Rise Time
  643. X Rise Az       The local time and azimuth when the upper limb of the object
  644. X           rises today.
  645. X Transit Time
  646. X Transit Alt   The local time and altitude when the object crosses the
  647. X           meridian today, ie, when its azimuth is true south or, if no
  648. X           precession, when the local sidereal time equals the object's
  649. X           right ascension.
  650. X Set Time
  651. X Set Az        The local time and azimuth when the upper limb of the object
  652. X           sets today.
  653. X Hours Up      The number of hours the object is up today.
  654. X
  655. Various odd ball conditions are accounted for and marked as follows:
  656. X
  657. X NvrRs        up some time but never rises, as such, today.
  658. X NvrSt        up some time but never sets, as such, today.
  659. X NoTrn        up some time but doesn't transit, as such, today.
  660. X CPolr        object is circumpolar (never goes below horizon) today.
  661. X NvrUp        object is never up today.
  662. X XX:XX+        + appended to rise, transit or set times means the event occurs
  663. X          twice today; the time given is the time of the first event.
  664. X        + appended to "Hours Up" means it is still up at midnight.
  665. X
  666. Horizon displacement may be calculated in either of two ways: Adaptive or
  667. Standard.  This selects the horizon displacement algorithm used. "Adaptive"
  668. uses the local atmospheric and location conditions known to xephem and matches
  669. the General Data times nicely. "Standard" uses the "accepted nominal" horizon
  670. refraction value of 32 arc minutes and usually agrees, to a minute or so,
  671. with published tables.
  672. @Separations Table
  673. This view is a table of angular separations between each pair of objects, in
  674. degrees.
  675. X
  676. The vantage point for the Separation values may be chosen. "Geocentric"
  677. ignores local conditions and gives the separation as seen from Earth center.
  678. "Topocentric" uses the local conditions known to xephem.  The choice is
  679. particularly critical for lunar occultations, but the effect can be
  680. significant for the planets. Geocentric separations between objects and the
  681. sun will match the magnitude of the elongation given in the Data menu.
  682. X
  683. Note that searching over a period that will include the rise or set times of
  684. either object is generally better performed from the geocentric viewpoint.
  685. The refraction effect of the topocentric viewpoint causes many arcminutes of
  686. rapid whiplash displacement as the objects rise and set that overlays the
  687. smooth celestial motion of the objects.  This rapid position variation can
  688. confuse the solver algorithms that expect fairly smooth functions.
  689. X
  690. @Solar System View
  691. This is a graphical representation of the solar system. The Sun is always at
  692. the center of the screen, marked as a plus (+). The three sliders at the
  693. edges control the position of the observer. The vertical slider on the left
  694. controls the distance from the sun - you are closer as the slider is slid
  695. further up. The horizontal slider under the view controls the heliocentric
  696. longitude. The vertical slider on the right controls the heliocentric
  697. latitude - your angle above the ecliptic plane.
  698. X
  699. A simple 3d effect can be achieved by turning "trails" on and running xephem
  700. for several months or years with a relatively small step size. This will yield
  701. orbital paths that can be viewed in perspective. Consider doing this with a
  702. comet selected as one of the user defined objects.
  703. @Object
  704. XXephem supports two user-defined objects, denoted X and Y. These may be fixed
  705. objects or objects in elliptical, hyperbolic or parabolic heliocentric
  706. orbits.
  707. X
  708. The ObjX/Y dialog allows you to define the objects. You may enter the
  709. appropriate parameters manually or select from objects in the database. Be
  710. sure the X/Y radio box is set to the object you wish to modify. Note that
  711. computations are not performed as each parameter is entered since the 
  712. program can not determine if there yet more changes to be made. To force
  713. a computation to occur, select the "Update" button on the main menu, or
  714. toggle the object selection button in a tabular view menu.
  715. X
  716. To select from the database, select the Lookup button to read in the database
  717. file, then select the desired object from the scrolled list. The selected
  718. object will define the type and values for the current object (X or Y).
  719. X
  720. XXephem stores information separately for each type of object so it is possible
  721. to have information for up to eight different objects loaded at once, if there
  722. are two each of fixed, elliptical, hyperbolic and parabolic types. The current
  723. type is shown in the type radio box.
  724. X
  725. The name of the database file is ephem.db by default or it may be set
  726. explicitly using the -d option or as the value of the EPHEMDB environment
  727. variable. The format of the file is such that each object occupies one line.
  728. Fields are separated by commas. The first two fields are the name of the
  729. object and its type. The type may be fixed, elliptical, hyperbolic, or
  730. parabolic, or any abbreviation.  The remaining fields are in the same order as
  731. the menu parameter entries and are described below for the current object
  732. type. Lines beginning with anything other than a-z, A-Z or 0-9 are ignored.
  733. X
  734. Follows is a description of each parameter for the current object type.
  735. X
  736. @Fixed Object
  737. +Object
  738. Fixed objects are characterized by five parameters:
  739. X
  740. X    RA,
  741. X    Dec,
  742. X    magnitude,
  743. X    the reference epoch for the coordinates and
  744. X    angular size in arc seconds, optional
  745. X
  746. @Elliptical Object
  747. +Object
  748. Elliptical objects are characterized by 12 parameters: the parameters that
  749. define a heliocentric elliptic orbit and the coefficients for either of two
  750. magnitude models.  These elements are the same ones often listed in the
  751. Astronomical Almanac.  The elements are, in order:
  752. X
  753. X    i = inclination, degrees
  754. X    O = longitude of ascending node, degrees
  755. X    o = argument of perihelion, degrees
  756. X    a = mean distance (aka semi-major axis), AU
  757. X    n = daily motion, degrees per day
  758. X    e = eccentricity
  759. X    M = mean anomaly (ie, degrees from perihelion)
  760. X    E = epoch date (ie, time of M)
  761. X    D = the equinox year (ie, time of i/O/o)
  762. X    g/k or H/G  = either of two magnitude models; see below
  763. X    s = angular size at 1 AU, arc seconds, optional
  764. X
  765. X
  766. You might have other parameters available that can be converted into these. 
  767. The following relationships might be useful:
  768. X
  769. X    P = sqrt(a*a*a)
  770. X    p = O + o
  771. X    n = 360/days_per_year/P ~ 0.98563/P
  772. X    T = E - M/n
  773. X    q = a*(1-e)
  774. X where
  775. X    P = the orbital period, years;
  776. X    p = longitude of perihelion, degrees
  777. X    T = epoch of perihelion (add multiples of P for desired range)
  778. X    q = perihelion distance, AU
  779. X
  780. Note that if you know T you can then set E = T and M = 0.
  781. X
  782. XXephem supports two different magnitude models for elliptical objects. One,
  783. denoted here as g/k, is generally used for comets in elliptical objects. The
  784. other, denoted H/G, is generally used for asteroids in the Astronomical Almanac.
  785. X
  786. +OBJXY_gkMAGNITUDE
  787. When using this model for elliptical objects, the first of the two magnitude
  788. fields must be preceded by a letter "g" in both the ephem.db database file
  789. and the corresponding menu elliptical object definition prompt; otherwise the
  790. default magnitude model for elliptical objects is the H/G model.
  791. X
  792. +OBJXY_HGMAGNITUDE
  793. X
  794. This is the default magnitude model for elliptical objects but it can also
  795. be explicitly indicated when the first of the two magnitude fields is
  796. preceded by a letter "H" in both the ephem.db database file and the
  797. corresponding menu elliptical object definition prompt.
  798. @Hyperbolic Object
  799. +Object
  800. Hyperbolic objects are characterized by 10 parameters: the parameters that
  801. define a heliocentric hyperbolic orbit and the magnitude model coefficients. 
  802. These orbital parameters are, in order:
  803. X
  804. X    T = epoch of perihelion
  805. X    i = inclination, degrees
  806. X    O = longitude of ascending node, degrees
  807. X    o = argument of perihelion, degrees
  808. X    e = eccentricity,
  809. X    q = perihelion distance, AU
  810. X    D = the equinox year (ie, time of i/O/o).
  811. X    g/k = magnitude model
  812. X    s = angular size at 1 AU, arc seconds, optional
  813. X
  814. As with elliptical elements, other parameters might be available.  The
  815. relationships are generally the same, except for:
  816. X
  817. X    q = a*(e-1)
  818. X
  819. +OBJXY_gkMAGNITUDE
  820. @Parabolic Object
  821. +Object
  822. Parabolic objects are characterized by 9 parameters: the parameters that
  823. define a heliocentric parabolic orbit and the magnitude model coefficients.
  824. These orbital parameters are, in order:
  825. X
  826. X    T = epoch of perihelion
  827. X    i = inclination, degrees
  828. X    o = argument of perihelion, degrees
  829. X    q = perihelion distance, AU
  830. X    O = longitude of ascending node, degrees
  831. X    D = the equinox year (ie, time of i/O/o).
  832. X    g/k = magnitude model
  833. X    s = angular size at 1 AU, arc seconds, optional
  834. X
  835. +OBJXY_gkMAGNITUDE
  836. @OBJXY_gkMAGNITUDE
  837. The g/k magnitude model requires two parameters to be specified. One, the
  838. absolute magnitude, g, is the visual magnitude of the object if it were one
  839. AU from both the sun and the earth.  The other, the luminosity index, k,
  840. characterizes the brightness change of the object as a function of its
  841. distance from the sun. This is generally zero, or very small, for inactive
  842. objects like asteroids.  The model may be expressed as:
  843. X
  844. X    m = g + 5*log10(D) + 2.5*k*log10(r)
  845. X where:
  846. X    m = resulting visual magnitude;
  847. X    g = absolute visual magnitude;
  848. X    D = comet-earth distance, in AU;
  849. X    k = luminosity index; and
  850. X    r = comet-sun distance.
  851. X
  852. Note that this model does not take into account the phase angle of
  853. sunlight.
  854. X
  855. @OBJXY_HGMAGNITUDE
  856. The H/G model also requires two parameters. The first, H, is the magnitude of
  857. the object when one AU from the sun and the earth. The other, G, attempts to
  858. model the reflection characteristics of a passive surface, such as an
  859. asteroid. The model may be expressed with the following code fragment:
  860. X
  861. X    beta = acos((rp*rp + rho*rho - rsn*rsn)/ (2*rp*rho));
  862. X    psi_t = exp(log(tan(beta/2.0))*0.63);
  863. X    Psi_1 = exp(-3.33*psi_t);
  864. X    psi_t = exp(log(tan(beta/2.0))*1.22);
  865. X    Psi_2 = exp(-1.87*psi_t);
  866. X    m = H + 5.0*log10(rp*rho) - 2.5*log10((1-G)*Psi_1 + G*Psi_2);
  867. X where:
  868. X    m   = resulting visual magnitude
  869. X    rp  = distance from sun to object
  870. X    rho = distance from earth to object
  871. X    rsn = distance from sun to earth
  872. X
  873. Note that this model does not take into account the phase angle of
  874. sunlight.
  875. X
  876. SHAR_EOF
  877. chmod 0644 xephem.hlp ||
  878. echo 'restore of xephem.hlp failed'
  879. Wc_c="`wc -c < 'xephem.hlp'`"
  880. test 40159 -eq "$Wc_c" ||
  881.     echo 'xephem.hlp: original size 40159, current size' "$Wc_c"
  882. rm -f _shar_wnt_.tmp
  883. fi
  884. # ============= ephem.db ==============
  885. if test -f 'ephem.db' -a X"$1" != X"-c"; then
  886.     echo 'x - skipping ephem.db (File already exists)'
  887.     rm -f _shar_wnt_.tmp
  888. else
  889. > _shar_wnt_.tmp
  890. echo 'x - extracting ephem.db (Text)'
  891. sed 's/^X//' << 'SHAR_EOF' > 'ephem.db' &&
  892. * ephem database.
  893. *
  894. * Objects are sorted by name for easy reading but they need not be in any
  895. * order. Each object occupies one line. Fields are separated by commas. Lines
  896. * beginning with anything other than a-z, A-Z or 0-9 are ignored.
  897. *
  898. * Format summaries:
  899. *
  900. * elliptical format (e < 1):
  901. *    i = inclination, degrees
  902. *    O = longitude of ascending node, degrees
  903. *    o = argument of perihelion, degrees
  904. *    a = mean distance (aka semi-major axis), AU
  905. *    n = daily motion, degrees per day
  906. *    e = eccentricity,
  907. *    M = mean anomaly (ie, degrees from perihelion),
  908. *    E = epoch date (ie, time of M),
  909. *    D = the equinox year (ie, time of i/O/o).
  910. *    g/k or H/G = magnitude model
  911. *    s = angular size at 1 AU, arc seconds, optional
  912. *
  913. * hyperbolic format (e > 1):
  914. *    T = epoch of perihelion
  915. *    i = inclination, degrees
  916. *    O = longitude of ascending node, degrees
  917. *    o = argument of perihelion, degrees
  918. *    e = eccentricity,
  919. *    q = perihelion distance, AU
  920. *    D = the equinox year (ie, time of i/O/o).
  921. *    g/k = magnitude model
  922. *    s = angular size at 1 AU, arc seconds, optional
  923. *
  924. * parabolic format (e == 1):
  925. *    T = epoch of perihelion
  926. *    i = inclination, degrees
  927. *    o = argument of perihelion, degrees
  928. *    q = perihelion distance, AU
  929. *    O = longitude of ascending node, degrees
  930. *    D = the equinox year (ie, time of i/O/o).
  931. *    g/k = magnitude model
  932. *    s = angular size at 1 AU, arc seconds, optional
  933. *
  934. * fixed format:
  935. *    ra, hours
  936. *    dec, degrees
  937. *    magnitude
  938. *    reference epoch
  939. *    s = angular size, arc seconds, optional
  940. X
  941. Mueller,p,3/21.196/1992,95.524,307.011,0.19871,288.795,2000,0,0,0
  942. * from IAU circular 4985
  943. Austin,p,4/9.9715/1990,58.9574,61.5625,0.349854,75.2223,1950.0,4.5,4
  944. * from IAU circular 4986
  945. Cernis,p,3/17.2967/1990,48.138,100.588,1.06849,347.727,1950,0,0
  946. * from IAU circular 4984
  947. George,p,4/11.9396/1990,59.3652,137.8482,1.569001,279.3118,1950,0,0
  948. *Comet Levy (1990c) elements from IAUC 5060 (25 Jul 1990);g & k by J. Fedock
  949. Levy,h,10/24.6277/1990,131.5951,138.6561,242.6328,1.001267,.938779,1950,4.2,3.4
  950. *Comet Tsuchiya-Kiuchi (1990i) from IAUC 5119; g & k by J. Fedock
  951. TK,e,143.7938,330.0165,180.9616,159.539,.000489119,.993160,0,9/28.7785/1990,1950,g5.453,k4.087
  952. X
  953. *Comet Honda-Mrkos-Pajdusakova (1990f) elements from IAUC 5035 (19 June 1990)
  954. *g & k via least squares fit by J. Fedock (10 Aug 90).
  955. HMP,e,4.2224,88.7097,325.702,3.03891,0.186049,0.821936,0,9/12.6864/1990,1950,g14.018,7.946
  956. X
  957. * updated elements for Pluto
  958. Pluto,e,17.1519,110.2183,113.5202,39.37210,.00398953,0.24678,0.1782,10/1/1989,2000.0,g6.3,0.0,8.1
  959. X
  960. * From Jost Jahn's asteroid database, version 4 (early 1990), as edited for 
  961. * ephem by Craig Counterman.
  962. A'Hearn,e,2.87687,56.46890,90.08788,2.3774301,0.26887005,0.1693323,137.76469,11/5/1990,1950.0,13.80,0.25
  963. A909TF,e,13.05804,14.82261,260.94419,2.6074201,0.23409253,0.1725529,162.39895,11/5/1990,1950.0,11.70,0.25
  964. A917SG,e,10.92421,184.07399,174.69189,2.7617381,0.21474859,0.2727012,337.56689,11/5/1990,1950.0,12.10,0.25
  965. A923RH,e,14.74876,1.24038,341.96457,2.5980838,0.23535550,0.1656514,17.63311,11/5/1990,1950.0,12.50,0.25
  966. ASCII,e,19.47553,57.87728,281.02590,3.1328345,0.17774520,0.2478530,290.70384,11/5/1990,1950.0,12.30,0.25
  967. ASP,e,0.91829,338.27607,54.31939,3.1893411,0.17304244,0.2033645,181.58305,11/5/1990,1950.0,11.50,0.15
  968. Aaltje,e,8.48747,272.72810,271.98927,2.9569161,0.19384097,0.0458608,330.37626,11/5/1990,1950.0,9.74,0.15
  969. Aarhus,e,4.55163,289.15969,45.24373,2.4046881,0.26431144,0.1252363,120.26961,11/5/1990,1950.0,12.70,0.25
  970. Aaronson,e,8.57596,84.50475,296.66986,3.1365294,0.17743122,0.2735114,154.39503,11/5/1990,1950.0,11.27,0.15
  971. Aaryn,e,1.08079,307.82490,110.45534,2.2409361,0.29380546,0.1272074,26.99953,11/5/1990,1950.0,13.95,0.25
  972. Aase,e,5.44751,162.67062,193.30403,2.2081816,0.30036677,0.1899350,25.31938,11/5/1990,1950.0,12.98,0.25
  973. Aavasaksa,e,3.44494,53.62796,45.44658,2.2599735,0.29010088,0.0860588,241.06139,11/5/1990,1950.0,12.60,0.25
  974. Abalakin,e,1.67378,133.14284,112.36794,3.1907570,0.17292726,0.1575985,166.45446,11/5/1990,1950.0,12.27,0.15
  975. Abanderada,e,2.53837,104.43486,94.62475,3.1611860,0.17535938,0.1184558,114.48803,11/5/1990,1950.0,10.88,0.25
  976. Abante,e,3.76230,188.05876,20.26972,3.0394902,0.18599572,0.2848291,283.61482,11/5/1990,1950.0,13.20,0.25
  977. Abastumani,e,19.97473,28.86510,2.55634,3.4351682,0.15480396,0.0256206,215.37544,11/5/1990,1950.0,9.21,0.15
  978. Abell,e,2.04748,81.06151,335.60963,3.0753137,0.18275528,0.1630619,85.85842,11/5/1990,1950.0,12.70,0.25
  979. Abetti,e,9.67257,352.12074,39.01209,3.0140253,0.18835785,0.0904920,6.29801,11/5/1990,1950.0,11.70,0.25
  980. Abkhazia,e,1.46867,227.88836,155.68893,2.6085398,0.23394182,0.1182138,17.37355,11/5/1990,1950.0,13.70,0.25
  981. Abnoba,e,14.40493,228.92151,5.33378,2.7878876,0.21173428,0.1787385,173.05782,11/5/1990,1950.0,9.90,0.15
  982. Abundantia,e,6.45098,38.52356,135.34493,2.5918050,0.23621126,0.0341319,77.18226,11/5/1990,1950.0,9.34,0.25
  983. Academia,e,8.30684,352.20228,40.20118,2.5806075,0.23775034,0.0987000,278.68118,11/5/1990,1950.0,11.07,0.15
  984. Achaia,e,2.38809,206.14119,138.74688,2.1908746,0.30393296,0.2047396,311.26795,11/5/1990,1950.0,13.30,0.25
  985. Achernar,f,1:37:42,-57:15,0.49,2000
  986. Achilles,e,10.33072,315.87310,132.17731,5.1766909,0.08368078,0.1488952,91.77598,11/5/1990,1950.0,8.59,0.15
  987. Aconcagua,e,2.10815,297.00600,349.59845,2.3777122,0.26882221,0.2032587,358.16995,11/5/1990,1950.0,13.70,0.25
  988. Ada,e,4.32214,260.79429,188.04325,2.9653750,0.19301215,0.1826363,19.72227,11/5/1990,1950.0,9.62,0.15
  989. Adalberta,e,6.76053,136.61970,259.48897,2.4686656,0.25410352,0.2504550,4.03763,11/5/1990,1950.0,12.70,0.25
  990. Adams,e,15.11339,0.59263,353.48076,2.5582818,0.24086932,0.1381146,61.46515,11/5/1990,1950.0,12.10,0.25
  991. Adara,f,6:58:38,-28:58,1.5,2000
  992. Adelaide,e,5.99641,202.94821,263.67263,2.2447871,0.29304973,0.1026121,78.33286,11/5/1990,1950.0,12.55,0.25
  993. Adele,e,13.29602,6.86795,352.38711,2.6616737,0.22697178,0.1652603,112.86986,11/5/1990,1950.0,11.30,0.25
  994. Adelgunde,e,7.31217,254.41547,175.70732,2.4423937,0.25821446,0.1928141,226.15837,11/5/1990,1950.0,11.49,0.25
  995. Adelheid,e,21.63329,210.84055,272.96873,3.1134014,0.17941196,0.0721676,311.16146,11/5/1990,1950.0,8.57,0.15
  996. Adelinda,e,2.10874,27.90496,310.68216,3.4010913,0.15713634,0.1585745,51.03133,11/5/1990,1950.0,9.29,0.25
  997. Adeona,e,12.62110,77.06580,44.98563,2.6714825,0.22572288,0.1463971,272.32221,11/5/1990,1950.0,8.05,0.01
  998. Admete,e,9.54836,279.63834,158.97615,2.7354720,0.21784905,0.2270017,69.63125,11/5/1990,1950.0,10.46,0.15
  999. Adolfine,e,9.38402,293.93860,68.03228,3.0252252,0.18731283,0.1179623,2.06061,11/5/1990,1950.0,10.69,0.25
  1000. Adonis,e,1.35998,350.57556,41.69158,1.8745105,0.38403628,0.7638749,148.64905,11/5/1990,1950.0,18.20,0.25
  1001. Adorea,e,2.43726,120.49032,68.85629,3.1032899,0.18028955,0.1230610,43.62559,11/5/1990,1950.0,8.40,0.15
  1002. Adrastea,e,6.17259,180.60316,207.93038,2.9676217,0.19279300,0.2342950,227.39218,11/5/1990,1950.0,10.62,0.15
  1003. Adria,e,11.45908,332.69123,252.96411,2.7613818,0.21479016,0.0712927,6.99169,11/5/1990,1950.0,9.24,0.15
  1004. Adriana,e,5.95087,118.34125,182.09269,3.1261897,0.17831221,0.0609284,61.75101,11/5/1990,1950.0,10.38,0.15
  1005. Adzhimushkaj,e,10.98839,134.99535,354.28304,2.9991220,0.18976358,0.0525055,294.44053,11/5/1990,1950.0,10.70,0.25
  1006. Aegina,e,2.11358,10.37779,72.97909,2.5911691,0.23629821,0.1039126,229.14306,11/5/1990,1950.0,8.79,0.15
  1007. Aegle,e,16.01987,321.63294,203.40264,3.0521491,0.18483979,0.1384225,349.56390,11/5/1990,1950.0,7.97,0.15
  1008. Aehlita,e,4.32804,50.66168,38.75787,2.7717812,0.21358250,0.0614195,28.96342,11/5/1990,1950.0,12.30,0.25
  1009. Aemilia,e,6.13070,133.79370,339.06297,3.1005743,0.18052645,0.1087480,311.61239,11/5/1990,1950.0,8.07,0.15
  1010. Aenna,e,6.59960,38.63516,193.57035,2.4645927,0.25473366,0.1618100,16.77040,11/5/1990,1950.0,11.81,0.25
  1011. Aeolia,e,2.54699,249.81765,19.67710,2.7447746,0.21674249,0.1576949,203.86085,11/5/1990,1950.0,9.77,0.15
  1012. Aeria,e,12.72909,93.95337,269.10164,2.6502946,0.22843510,0.0973862,124.56101,11/5/1990,1950.0,8.55,0.22
  1013. Aeschylus,e,14.86521,2.49213,97.15763,2.6009176,0.23497096,0.1197472,335.08387,11/5/1990,1950.0,12.68,0.15
  1014. Aesculapia,e,1.25398,28.96244,136.59314,3.1510486,0.17620629,0.1316161,225.72477,11/5/1990,1950.0,10.70,0.25
  1015. Aeternitas,e,10.61842,41.76994,279.51068,2.7859052,0.21196032,0.1271908,252.62679,11/5/1990,1950.0,8.82,0.25
  1016. SHAR_EOF
  1017. true || echo 'restore of ephem.db failed'
  1018. fi
  1019. echo 'End of  part 12'
  1020. echo 'File ephem.db is continued in part 13'
  1021. echo 13 > _shar_seq_.tmp
  1022. exit 0
  1023. -- 
  1024. --
  1025. Molecular Simulations, Inc.            mail: dcmartin@msi.com
  1026. 796 N. Pastoria Avenue                uucp: uunet!dcmartin
  1027. Sunnyvale, California 94086            at&t: 408/522-9236
  1028.