-
Notifications
You must be signed in to change notification settings - Fork 1
/
INFO
2035 lines (1287 loc) · 79.3 KB
/
INFO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Ephem V4.28 - February 24, 1992
Copyright (c) 1990,1991,1992 by Elwood Charles Downey
Table of Contents
1. Introduction ................................................... 3
1.1. References and Acknowledgements .............................. 3
2. Running Ephem .................................................. 4
2.1. Command Line Format .......................................... 4
2.2. Program Operation ............................................ 4
3. Screen Fields .................................................. 6
3.1. Top Screen Fields ............................................ 6
3.2. The "OCX" column ............................................. 7
3.3. Data format columns .......................................... 8
3.4. RiseSet format columns ....................................... 8
3.5. Separation format fields ..................................... 9
3.6. Jupiter Aux .................................................. 9
4. Date and Time Formats .......................................... 9
5. Configuration File ............................................. 10
5.1. Configuration File fields .................................... 10
5.2. Example ephem.cfg ............................................ 12
6. Menu options ................................................... 12
6.1. Adaptive vs. Standard hzn .................................... 12
6.2. Geocentric vs. Topocentric ................................... 13
7. User Defined Objects: X and Y .................................. 13
7.1. Controlling Object-X or Y Operation .......................... 13
7.1.1. Fixed ...................................................... 14
7.1.2. Elliptical ................................................. 14
7.1.3. Hyperbolic ................................................. 14
7.1.4. Parabolic .................................................. 15
7.1.5. Lookup ..................................................... 15
7.1.6. On or Off .................................................. 15
7.2. Magnitude models ............................................. 16
7.2.1. g/k model .................................................. 16
7.2.2. H/G model .................................................. 16
7.3. Database File ................................................ 17
8. Plotting ....................................................... 17
8.1. Defining plot fields ......................................... 18
8.2. Displaying a plot file ....................................... 18
8.3. Cartesian or Polar coords .................................... 18
8.4. Begin Plotting ............................................... 18
8.5. Stopping Plotting ............................................ 19
9. Listing ........................................................ 19
10. Watching ...................................................... 19
10.1. Trails ...................................................... 19
10.2. Sky dome .................................................... 19
10.3. Alt/az sky .................................................. 19
10.4. Solar System ................................................ 20
11. Searching ..................................................... 20
11.1. Find extreme ................................................ 20
11.2. Find 0 ...................................................... 21
- 2 -
11.3. Binary ...................................................... 21
11.4. Define a New function ....................................... 21
11.4.1. Intrinsic functions ....................................... 21
11.4.2. Field Specifiers .......................................... 22
11.4.3. Constants ................................................. 22
11.4.4. Operators ................................................. 22
11.5. Specifying Search Accuracy .................................. 23
11.6. Stop ........................................................ 23
11.7. Example Searches ............................................ 23
11.8. Another Example ............................................. 24
11.9. Caution ..................................................... 24
12. Implementation Notes .......................................... 24
12.1. Program limits .............................................. 25
13. DOS Installation Procedure .................................... 26
13.1. Setting TZ .................................................. 26
14. Known Bugs and Wish List ...................................... 27
15. Sample Screens ................................................ 28
16. Watch Earth, Moon ............................................. 30
17. Colors ........................................................ 30
- 3 -
1. Introduction
Ephem is a program that displays ephemerides for all the planets plus any
two additional objects. The additional objects may be fixed or specified
via heliocentric elliptical, hyperbolic or parabolic orbital elements to
accommodate solar system objects such as asteroids or comets.
Information displayed about each object includes RA and Dec precessed to
any epoch, local azimuth and altitude, heliocentric coordinates, distance
from sun and earth, solar elongation, angular size, visual magnitude,
illumination percentage, local rise, transit and set times, length of time
up, constellation, and angular separations between all combinations of
objects. A special detail of Jupiter's moons and central meridian
longitude is also available.
Observing circumstance information includes UTC and local date and time,
local sidereal time, times of astronomical twilight, length of day and
night, local temperature, pressure and height above sea level for the
refraction model and a monthly calendar.
RA/Dec calculations are geocentric and include the effects of light travel
time, nutation, aberration and precession. Alt/az and rise/set/transit
and, optionally, angular separation calculations are topocentric and
include the additional effects of parallax and refraction.
Plot and listing files of selected field values may be generated as the
program runs. The plot files are full precision floating point values in
ASCII intended for export to other plotting programs. The listing files
are tables formatted for more general human reading. Ephem includes
simple quick-look facilities to view these files.
One may watch the sky or the solar system with a simple character-oriented
screen display.
Ephem may be asked to search for interesting conditions automatically,
using several algorithms. Most fields displayed on the screen may be used
as terms in an arbitrary arithmetic expression that can be solved for
local zero or extrema, or the time of state change of any boolean
expression can be found.
The program is some 11,000 lines of C. It uses only a very simple set of
io routines and should be easily ported to any 24x80 ASCII display. To
date, it has been ported to several flavors of Unix, VMS, MS-DOS and,
simplistically, the Macintosh using Think-C.
1.1. References and Acknowledgements
The planetary polynomials and correction algorithms are taken, with
permission, from "Astronomy With Your Personal Computer", by Peter
Duffett-Smith, Cambridge University Press, (c) 1985.
The constellation determination algorithm is from a paper by Nancy G.
Roman, "Identification of a constellation from a position", Publications
of the Astronomical Society of the Pacific, Vol. 99, pages 695-699, July
- 4 -
1987.
The precession routine is from 1989 Astronomical Almanac.
Jupiter's moons are based on information in "Astronomical Formulae for
Calculators" by Jean Meeus. Richmond, Va., U.S.A., Willmann-Bell, (c)1982.
This reference is suitable for identification purposes but is not accurate
enough for precise occultation work.
I would like to thank Craig Counterman for his very competent assistance,
Joseph Fedock for his faithful testing and encouragement, Karsten Spang,
Richard Dyson, Doug McDonald and Peter Newton for their contributions in
porting ephem to various systems, and the many others who have made
helpful suggestions along the way. Finally, I would like to thank all of
you who actually use ephem; it is most gratifying to make a program from
which others derive value.
2. Running Ephem
2.1. Command Line Format
To run ephem, just type "ephem". You may also specify an alternate
configuration file, an alternate database file, and specify initial values
for several screen fields. The command line syntax can be summarized as
follows:
ephem [-W m] [-c <config_file>] [-d <database_file>] [field=value ...]
The default configuration file is named ephem.cfg in the current
directory. Ephem also looks for one named by the EPHEMCFG environment
variable, if it is set. You may specify an arbitrary name with the -c
option.
The default database file is named ephem.db in the current directory.
Ephem also looks for one named by the EPHEMDB environment variable, if it
is set. You may specify an arbitrary name with the -d option.
The exact format of these files is described below.
The W option means: enter watch mode m, where m is 1-5; 1=Sky Dome
2=AltAz 3=Solar Sys 4=Earth 5=Moon.
Any additional command line arguments are treated exactly as if they too
came from the configuration file.
2.2. Program Operation
When ephem starts, it first displays a disclaimer banner. Then, after any
key is pressed, it reads the configuration file and processes the command
line arguments to set the initial values of several fields, accessing the
database file if OBJX or OBJY is set, It then draws all fields on the
screen with their initial values. The program then loops advancing time
each step, by some amount you may control, and updating all fields each
loop.
- 5 -
There are three fields that control this looping behavior. NStep controls
the number of steps, StpSz the amount of time to add each step, and Pause
is the amount of real seconds to pause between steps. Ephem does not
pause between steps when plotting or searching is on. When the number of
steps, NStep, goes to 0 or any key is pressed, the looping stops and you
enter a command mode.
Command mode allows you to modify most of the fields. The idea is that
you move to each field on the screen you wish to change and change it.
When you have changed everything you want to, type "q" to resume screen
updates.
To change a field:
1) move the cursor to the field (see below);
2) type RETURN;
3) type in the new value along the command line at the top according
to the format indicated in the prompt. To accept the new value
type RETURN, or to leave it unchanged after all type "q".
A few fields don't require you to type anything; just typing RETURN does
all the work. If you can't move to it, you can't change it.
The arrow keys on most systems move the cursor around. If these do not
function or function incorrectly, the h/j/k/l keys also move the cursor
left/down/up/right, respectively. Motions off any edge of the screen will
wrap around.
Several "hot-keys" move the cursor immediately to frequently used fields.
You may move the cursor immediately to a planet row by typing one of the
characters SMevmJsunpxy. "x" and "y" are for the user-defined objects X
and y on the bottom rows. Also, the characters c, d, o, w, L and z move
you to the Menu, UT Date, Epoch, Watch, Listing and StpSz fields
immediately.
When you have changed a field that would invalidate any of the other
fields the message NEW CIRCUMSTANCES appears in the top center of the
screen. This will remain until you type "q" to allow at least one screen
update loop to occur. If you change any field that causes new
circumstances, the StpSz value is not added to the first loop. Note also
that after a series of loops, NStep is automatically reset to 1 so "q"
will do exactly one loop and return you to command mode.
On some systems, you may temporarily escape from ephem while in command
mode to run your operating system's command interpretor. This is done by
typing an exclamation point (!) followed by your command. When the
command completes, you will return back to ephem where you left off.
To quit the program, type control-d from command mode. For a little more
help, type ?. The entire screen may be erased and redrawn with control-l.
- 6 -
3. Screen Fields
The screen is divided into two halves, top and bottom. The top fields are
always present. They define the general observing circumstances and
control features.
The bottom half has several different forms. In three of the possible
forms the planets and two additional objects are displayed in a table.
There is one object per row, and several columns. The three forms of this
portion selected by picking the Menu selection.
The fourth form is a display of the planetocentric coordinates of the
Galilean moons of Jupiter, including a simple graphical display of their
locations as seen from Earth, and the central meridian longitude, in two
of the adopted rotational systems.
Some things may be turned off to reduce compute times. Calculations for
each planet may be turned on and off by selecting the planet name field.
Calculations for Dawn/Dusk/NiteLn may be turned off by selecting any of
these fields. Planet positions are only updated as often as necessary to
match the display precision of the screen unless plotting or searching is
on. In these cases full precision is desired at all times and so
positions are always fully recalculated at each iteration.
Follows is a list and description of each of the fields in each section.
Following each name a parenthetical "p" indicates the field may be
selected for plotting (see later). All fields may be selected for
changing.
3.1. Top Screen Fields
LTZ the local timezone name. The name field may be changed to
any three-character mnemonic.
LT(p)
LD(p) The local time and date are not labeled as such but are to
the right of the local timezone name. They are individually
selectable. Time and date fields may be changed as
described in a later section. Set to "n" to set to "now"
from computer clock.
UT(p)
UD(p) The universally coordinated time and date are not labeled as
such but are to the right of the UTC label. They are
individually selectable. Time and date fields may be
changed as described in a later section. Set to "n" to set
to "now" from computer clock.
JulianDat(p) the current Julian date, to about 1-second accuracy.
Listing controls listing; see complete discussion below.
Watch selects the sky dome, altitude/azimuth sky or solar system
displays; see complete discussion below.
Search controls the automatic search feature of ephem. See the
complete discussion below.
Plot controls plotting; see complete discussion below.
Menu controls which menu is in the bottom half of the screen.
- 7 -
See their complete discussion below.
LST(p) the current local sidereal time. set to "n" to set from
computer clock.
Dawn(p) local time when the sun center is 18 degrees below the
horizon before sunrise today.
Dusk(p) local time when the sun center is 18 degrees below the
horizon after sunset today.
NiteLn(p) length of astronomical night, ie, Dawn - Dusk. If this line
is shown as "-----", it means the sun is either always below
or always above approximately -18 degrees altitude on this
particular day. This and the Dawn and Dusk lines are blank
when their computation has been turned off.
NStep The number of times the display with be updated (time
advanced by StpSz each step) before entering command mode.
StpSz the amount of time UTC (and its derivatives) is incremented
each loop. set this to "r" to use real-time based on the
computer clock. you may also set it in terms of days by
appending a "d" after the number when you set it.
Lat(p) location latitude, positive degrees north of equator.
Long(p) location longitude, positive degrees west of Greenwich
meridian. set to "N" to set from computer clock.
Elev(p) local elevation of the ground above sea level, in feet. (see
implementation notes).
Temp(p) local surface air temperature, in degrees F.
AtmPr(p) local surface air pressure, in inches of mercury.
TZ(p) hours local time is behind utc, ie, positive west or
negative east of Greenwich.
Epoch the epoch, to the nearest 0.1 years, to which the ra/dec
fields are precessed. This says (OfDate) when coordinates
are not precessed, ie, are in the epoch of date. Set to "e"
to set to epoch of date.
Pause number of seconds to pause between screen updates. This is
used mainly to set up for free-running unattended operation.
This pause also applies to free-running "watch" screen
updates. Pausing is not done when plotting or searching is
on. If pausing is used with StpSz set to RT CLOCK and the
time was set with Now then ephem attempts to synchronize the
time to an integral multiple of pause seconds after the
minute, for aesthetic reasons.
Also in the upper right of the screen is a calendar for the current local
month. Dates of local new and full moons are marked NM and FM,
respectively.
3.2. The "OCX" column
The left column of the bottom screen, when displaying planetary
information, is labeled "OCX". This is short for "Object-Constellation-
eXtra". It is actually one, two or three adjacent one-column pickable
fields. Select the first column of the name to toggle the display and
calculations on and off. Select the second column of the name to show the
constellation in which the object currently resides. If available, the
third column of a planet name can be picked to display additional current
- 8 -
information relating to the planet. At this time, this feature is only
available for Jupiter.
3.3. Data format columns
R.A.(p) apparent geocentric right ascension of object, precessed to
given epoch, in hours, minutes and decimal minutes.
Dec(p) apparent geocentric declination of object, precessed to
given epoch, in degrees and minutes.
Az(p) degrees eastward of true north for object.
Alt(p) degrees up from a horizontal plane Elev feet above sea
level.
H Long(p) true heliocentric longitude, in degrees. Earth's is
displayed on the sun's line. For the moon this is the
geocentric longitude.
H Lat(p) true heliocentric latitude, in degrees. For the moon this
is the geocentric latitude.
Ea Dst(p) true distance from Earth center to object center, in AU,
except distance to the moon is in miles.
Sn Dst(p) true distance from sun center to object center, in AU.
Elong(p) spherical angular separation between sun and given object,
calculated from the their geocentric ecliptic coordinates.
Note this is not just the difference in ecliptic longitude.
The sign, however, is simply sign(obj's longitude - sun's
longitude), ie, degrees east. thus, a positive elongation
means the object rises after the sun. This field is not
generally useful in searching for conjunctions because of
the discontinuous sign change that occurs at conjunction.
Size(p) angular size of object, in arc seconds.
VMag(p) visual magnitude of object.
Phs(p) percent of visible surface in sunlight. Note the moon phase
is calculated simplistically as just abs(elongation)/180*100
which can be a few degrees off... this means that because of
how elongation is defined it doesn't say 0 during new moon
(or 100 during full) except during close eclipses (maybe
that's a "feature"?).
Also, some terminals scroll when a character is written to the lower right
character position. To avoid this, Object Y's phase is left shifted by one
column. This can look particularly ugly when the phase is 100% because the
"100" is right next to visual magnitude number.
If desired, the angle between Earth and Sun from the object, p, can be
computed from the illumination percentage, i, with the following relation:
cos (p) = i/50 - 1
3.4. RiseSet format columns
Rise Time
Rise Az The local time and azimuth when the upper limb of the object
rises today.
Transit Time
Transit Alt The local time and altitude when the object crosses the
meridian today, ie, when its azimuth is true south or, if no
precession, when the local sidereal time equals the object's
- 9 -
right ascension.
Set Time
Set Az The local time and azimuth when the upper limb of the object
sets today.
Hours Up The number of hours the object is up on the local date.
Horizon displacement may be calculated in either of two ways; see the
horizon discussion in the Menu selection section.
Various oddball conditions are accounted for, including an object that is
up sometime during the day but that doesn't rise, transit or set as such
on that day, an object that is circumpolar or that is never up or one that
rises twice on the same day. These are marked as "Never rises", "Never
transits", "Never sets", "Circumpolar", "Never up" or appended with a plus
"+" sign, respectively.
3.5. Separation format fields
This format is a table of angular separations between each pair of
objects. These angles are based on the local altitude/azimuth, and so in
general differ somewhat from the elongations reported for the sun in the
Data menu.
Unfortunately, with the format "ddd:mm", there is not enough room for a
space between columns when the angle is at least 100 degrees. To avoid
this, ephem drop the minutes portion if the (rounded) angle is at least
100 degrees.
3.6. Jupiter Aux
This menu option is a table of X, Y and Z coordinates for each of the
moons of Jupiter known to Galileo Galilei, that is, its four brightest.
The coordinate system is such that the xy plane is the mean plane of the
moons orbits, with +x to the east, +y to the north, and +z towards earth.
The y coordinate is corrected for earth's angular displacement above or
below this plane.
The menu also displays the longitude of the central meridian of Jupiter.
Three rotational systems have been adopted for this purpose; we show the
two that are useful to visual work.
4. Date and Time Formats
Times are displayed and entered in h:m:s format. If you pick a time field
to change it any of the h, m, and s components that are not specified are
left unchanged from their current value. For example, 0:5:0 set hours to
0, minutes to 5, seconds to 0, whereas :5 sets minutes to 5 but leaves
hours and seconds unchanged. A negative time is indicated by a minus sign
(-) anywhere before the first digit.
Dates are displayed and entered in American month:day:year format. As
with time, components omitted when entering a new value retain the current
value. For example, if the current date is 10/20/1988 and you type 20/20
the new date will become 20/20/1988. Note you must type the full year
since the program is accurate over several centuries either side of 1900.
If you change the date, the time (ie, partial day) will not change.
Negative years indicate BC dates. For example, Jan 1, 1 BC is given as
1/1/-1. There is no year 0.
- 10 -
Two other ways to set the date are supported for compatibility with some
published comet ephemerides. You may enter the day portion as a real
number. When you set the day this way, the time will also change to
correspond to the fractional portion of the day.
You may also enter a date as a decimal year, as in 1990.12345. This is
also useful in interpreting plot files that include a date field, since
date fields are stored in plot files as decimal years. If no decimal
point is included, the number is assumed to be a year unless it is in the
range 1-12, in which case it will be taken to mean that you are just
changing the month of the current date. To actually specify the years 1 -
12, you must append a decimal point to distinguish them from months.
As a matter of typing convenience, the program accepts most any character
as the separator; you don't have to type a perfect ":" or "/".
5. Configuration File
The ephem.cfg configuration file allows you to set the initial values of
many of the screen fields. You can still change any field while the
program is running too; this file just sets the initial conditions. Note
that the order of entries in this file is important because they each take
effect immediately. You should put them in the same order you wish them
to be processed, just as though you were changing the fields interactively
within ephem.
The default name of the file is ephem.cfg. Ephem also looks for one named
by the EPHEMCFG environment variable (if defined) or you may specify any
name using the -c command line option.
The format of the file uses the form KEYWORD=VALUE, where the possible
KEYWORDS and the types of VALUES for each are described below. Any
KEYWORDS not in the file will take on some sort of default. The separator
need not be an actual equals sign; any char will do because the VALUE is
assumed to start one character after the KEYWORD, regardless.
All lines that do not begin with an alpha character (a through z, either
case) are ignored and may be used for comments.
Note: because of the way unspecified time and date components are left
unchanged (see section on Date and Time Formats) always specify the
complete time and date for all entries in the configuration file. For
example, to initialize the longitude to zero degrees, say 0:0:0, not just
0.
5.1. Configuration File fields
UD initial UTC date, such as 10/20/1988, or "NOW" to use the
computer clock.
UT initial UTC time, such as 12:0:0, or "NOW" to use the computer
clock.
TZONE hours the local time is behind utc, such as 5:0:0. you need not
set this if you use "NOW" for UT or UD.
TZNAME name of the local time zone, such as CDT. 3 chars max. you need
not set this if you use "NOW" for UT or UD.
LONG longitude, in degrees west of Greenwich, in the form d:m:s.
- 11 -
LAT latitude, in degrees north of the equator, in the form d:m:s.
HEIGHT height above sea level, in feet, such as 800
TEMP air temperature, in degrees F, such as 50
PRES air pressure, in inches of Mercury, such as 29
STPSZ the time increment between screen updates, such as "1" to give
one hour updates. this can be a specific amount or RTC to use
the system clock as a real-time source. You may also specify a
time in days, by appending a D (or d) after the number.
PROPTS this selects what you want included initially in the display.
since IBM-PC math is not very fast, you can reduce the time to
update the screen by only printing those fields of interest. the
VALUE is a collection of letters to turn on each item from the
following set:
T twilight (dawn-dusk)
S circumstances for the sun
M circumstances for the moon
e circumstances for mercury
v circumstances for venus
m circumstances for mars
j circumstances for jupiter
s circumstances for saturn
u circumstances for uranus
n circumstances for neptune
p circumstances for pluto
x circumstances for object X
y circumstances for object Y
For example, to just track the sun and saturn, say PROPTS=Ss
If the delimiter between PROPTS and the selection is a plus (+)
sign then the given planets are included IN ADDITION TO ones
already specified. Any other delimiter sets the selection to
exactly the set specified. This feature was added so that the
command line version of using PROPTS could add to the set of
planets giving in the configuration file.
NSTEP number of times program will loop before entering command mode.
see the discussion under Program Operation.
EPOCH this sets the desired ra/dec precession epoch. you can put any
date here or EOD to use the current instant ("Epoch of Date").
OBJX
OBJY These fields specify the optional objects "x" and "y" by naming
any item in the database file. The form is OBJX=xyz, where xyz
must be in the database file, case sensitive. You may define
one object of each type for each of OBJX and OBJY; the last one
defined will be the "current" one when ephem gets going.
PAUSE The number of seconds to pause between calculation steps. See
definition of the Pause field in the "Top Screen Fields"
section.
MENU establishes the initial bottom screen menu type. This should be
one of the keywords DATA, RISET, SEP or JUP. There is no way to
set horizon or center suboptions at this time.
- 12 -
5.2. Example ephem.cfg
This is the ephem.cfg file that was in effect when the sample screens (in
another section) were generated. You might run ephem with this
configuration file and compare with the samples as a check.
UT=0;0;0
UD=5/1/1990
TZNAME=CDT
TZONE=5
LONG=93:42:8
LAT=44:50:37
HEIGHT=800
TEMP=40
PRES=29.5
STPSZ=RTC
PROPTS=TSMevmjsunpxy
EPOCH=2000
NSTEP=1
OBJX=Austin
OBJY=Juno
As another common example, this ephem.cfg creates an essentially free-
running real-time screen based on the computer clock:
UT=Now
LONG=90:10:8
LAT=40:50:20
HEIGHT=800
TEMP=50
PRES=29
STPSZ=RTC
PROPTS=TSMevmjsunp
NSTEP=9999999
EPOCH=Eod
PAUSE=30
6. Menu options
When you select "Menu" you can change among the three styles of bottom
screens. There are also two options that can be set from the Menu quick-
choice menu. These options toggle when picked and retain their values so
they need only be changed when desired.
6.1. Adaptive vs. Standard hzn
This selects the horizon refraction displacement algorithm used by the
Rise/Set menu. "Adaptive" uses the local atmospheric conditions known to
ephem and matches the Planet Info times nicely. "Standard" uses the
"accepted nominal" horizon refraction value of 32 arc minutes and usually
agrees, to a minute or so, with published tables.
- 13 -
6.2. Geocentric vs. Topocentric
This selects the vantage point for the Separation menu. "Geocentric"
ignores local conditions and gives the separation as seen from Earth
center. "Topocentric" uses the local conditions known to ephem. They are
particularly critical for lunar occultations, but the effect can be
significant for the planets.
Note that searching over a period that will include the rise or set times
of either object is generally better performed from the geocentric
viewpoint. The refraction effect of the topocentric viewpoint causes many
arcminutes of rapid whiplash displacement as the objects rise and set that
overlays the smooth celestial motion of the objects. This rapid position
variation can confuse the solver algorithms that expect fairly smooth
functions.
7. User Defined Objects: X and Y
You may specify one or two extra objects for ephem to use. The objects may
be defined in four different ways: fixed celestial sphere coordinates, or
heliocentric elliptical, hyperbolic or parabolic orbital elements.
Elliptical elements are typically useful for periodic comets or asteroids,
and hyperbolic and parabolic elements are for nonrecurring solar system
interlopers such as aperiodic comets.
The parameters for each type of object are stored separately, so you may
switch between types of objects without losing parameters.
7.1. Controlling Object-X or Y Operation
To control the type and the corresponding details for object X or Y,
select the corresponding row near the bottom. (Remember that typing the
character "x" or "y" is a shorthand way to move to the bottom rows.) It
will bring up a quick-choice menu as follows:
Select: Fixed, Elliptical, Hyperbolic, Parabolic, Lookup, On
When you first enter the quick-choice menu the cursor will start out
positioned at the field for the current type of object. The first four
selections allow you to enter or review the various parameters required to
define an object's position of the respective type, one parameter at a
time.
You set the current object type and begin to view its parameters by
positioning the cursor over the type and pressing RETURN. The prompt for
each item includes a short description, the units to use, and its current
setting is shown in parentheses. To leave the item unchanged and go to the
next item, type RETURN. If you do not wish to change or see any more
items about the object then type "q" and you will return immediately to
the object-X quick-choice menu.
You exit the quick-choice menu by typing "q" while over any field or
RETURN while over On or Off, as described in a later section.
- 14 -
As with all dates throughout ephem, the dates for the epochs of perihelion
and reference epochs may be entered in month/day/year or decimal year
formats, and the day may be entered as a real number (see the section on
Date and Time Formats). All dates given for comet parameters are always
in UT.
7.1.1. Fixed
This selection will present a series of six prompts to define a fixed
object. The prompts are the name, RA, Dec, magnitude, the reference epoch
for the coordinates and the angular size in arc seconds.
7.1.2. Elliptical
This will begin a series of 13 prompts asking for a name and the
parameters that define a heliocentric elliptic orbit and the coefficients
for either of two magnitude models. These elements are the same ones
often listed in the Astronomical Almanac. The elements are, in order:
i = inclination, degrees
O = longitude of ascending node, degrees
o = argument of perihelion, degrees
a = mean distance (aka semi-major axis), AU
n = daily motion, degrees per day
e = eccentricity
M = mean anomaly (ie, degrees from perihelion)
E = epoch date (ie, time of M)
D = the equinox year (ie, time of i/O/o)
g/k or H/G = either of two magnitude models; see below
s = angular size at 1 AU, arc seconds
You might have other parameters available that can be converted into
these. The following relationships might be useful:
P = sqrt(a*a*a)
p = O + o
n = 360/days_per_year/P ~ 0.98563/P
T = E - M/n
q = a*(1-e)
where
P = the orbital period, years;
p = longitude of perihelion, degrees
T = epoch of perihelion (add multiples of P for desired range)
q = perihelion distance, AU
Note that if you know T you can then set E = T and M = 0.
7.1.3. Hyperbolic
This will begin a series of 11 prompts asking for a name and the
parameters that define a heliocentric hyperbolic orbit and the magnitude
model coefficients. These orbital parameters are, in order:
- 15 -
T = epoch of perihelion
i = inclination, degrees
O = longitude of ascending node, degrees
o = argument of perihelion, degrees
e = eccentricity,
q = perihelion distance, AU
D = the equinox year (ie, time of i/O/o).
g/k = magnitude model
s = angular size at 1 AU, arc seconds
As with elliptical elements, other parameters might be available. The
relationships are generally the same, except for:
q = a*(e-1)
7.1.4. Parabolic
This will begin a series of 10 prompts asking for a name and the
parameters that define a heliocentric parabolic orbit and the magnitude
model coefficients. These orbital parameters are, in order:
T = epoch of perihelion
i = inclination, degrees
o = argument of perihelion, degrees
q = perihelion distance, AU
O = longitude of ascending node, degrees
D = the equinox year (ie, time of i/O/o).
g/k = magnitude model
s = angular size at 1 AU, arc seconds
7.1.5. Lookup
This option displays the name of each object in the database file. Move
around the list (using the usual hjkl or arrow keys) and type RETURN to
select an object. The cursor wraps around all edges. If there is more
than one page of entries, you may view the next or previous pages by
typing "n" or "p", respectively. Typing "q" will exit the lookup function
with no net effect.
If successful, the cursor will move to the type of the new object and it
becomes the current type.
7.1.6. On or Off
The last selection on the right toggles the calculations for the object On
and Off. It toggles when selected with RETURN and then immediately exits
the quick-choice menu back to the main menu. If calculations become On,
then they will be performed for the current type of object; if they become
Off the object-X or Y row of information will be erased.
- 16 -
7.2. Magnitude models
Ephem supports two different magnitude models. One, denoted here as g/k,
is generally used for comets and is always used for hyperbolic and