Category : Science and Education
Archive   : JPL9209.ZIP
Filename : JPLCLOCK.DOC

 
Output of file : JPLCLOCK.DOC contained in archive : JPL9209.ZIP
















Program JPLCLOCK

NASA/JPL Multimission Computer Control Center Clock






(C) Copyright David H. Ransom, Jr., 1991-1992
All rights reserved.







Version 9209
February 24, 1992





by David H. Ransom, Jr.
Rancho Palos Verdes, CA




RPV ASTRONOMY BBS
(213) 541-7299
(310) 541-7299 [November 2, 1991]
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page i



TABLE OF CONTENTS
-----------------


INTRODUCTION ......................................................1
JPLCLOCK FEATURES ............................................1
PROGRAM DESCRIPTION ...............................................5
JPLCLOCK HARDWARE AND SOFTWARE REQUIREMENTS .......................7
JPLCLOCK FILES ....................................................9
STARTING PROGRAM JPLCLOCK .........................................10
JPLCLOCK Command Line Options ................................10
Setting UTC Zone and Daylight Flags ..........................11
JPLCLOCK MAIN CLOCK DISPLAY .......................................14
JPLCLOCK MAIN MENU ................................................18
F1 Program Information .....................................19
F2 Set LOCATION CLOCKS .....................................20
F3 Set EVENT/MISSION TIMERS ................................22
Set MISSION/EVENT TIMERS ................................23
Clear MISSION/EVENT TIMERS ..............................28
Set SELECTED EVENTS .....................................28
MISSION/EVENT TIMER NUMBERS .............................29
F4 Set DAYLIGHT and Defaults ...............................30
Set PAGE and TEXT Mode Delays ...........................30
F5 Read or Save INI and MTD Files...........................32
READ and SAVE INI Files .................................33
READ and SAVE MTD Files .................................33
INI Files from Other Locations ..........................35
F6 Self-Calibration using TIMESET ..........................36
F7 Switch TEXT Mode ........................................38
F8 Switch PAGE Mode ........................................38
F9 DOS SHELL (DOS 3.3+ ONLY) ...............................38
F10 TIME SYNCHRONIZATION ....................................39
Configuring Program TIMESET .............................39
Time Synchronization Menu ...............................41
VIEW or SET Time Sync Data ..............................41
TIMESET Time Synchronization ............................42
MANUAL Synchronization ..................................42
LAUNCH SUPPOET ....................................................44
DOS CLOCK CALIBRATION .............................................46
Setting DOS Time .............................................47
Maintaining DOS Time .........................................48
Calibrating DOS Time .........................................50
Manual Hardware Clock Calibration .......................51
Manual Software Clock Calibration .......................53
USING TEXT MODE ...................................................55
Preparing TEXT Files .........................................56
Modifying JPLCLOCK.INI for Special Features .......................57
COMMENTS AND KNOWN PROBLEMS .......................................59
Computer Processor and Math Coprocessor ......................59
Computer BIOS Problems .......................................60
Monitor Type and Video Adapter Cards .........................60
DOS Version and the Shell Feature ............................60
Unstable Hardware or Software Clocks .........................61
Typical Calibration Results ..................................61
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page ii


Color Variations .............................................62
UTC AND TIME ZONES ................................................63
FUTURE IMPROVEMENTS AND FEATURES ..................................65
JPLCLOCK REVISION HISTORY .........................................66
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page ii



JPLCLOCK (NORMAL MAIN CLOCK SCREEN)

º JPLCLOCK by David H. Ransom, Jr. Version 9209 º JD2448541.24552 11 OCT 1991
þþþþþþþþþþ
É[ NASA Jet Propulsion Laboratory ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» Ú[ Galileo ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
º º ³ 627 06:53:33 ³
º Õ» ÉÍÍÍ» ÉÍÍ͸ ÕÍÍÍ» ÕÍÍÍ» ÕÍÍÍ» º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
º º º º þ º º þ º º º
º º º º ÈÍÍÍ» ÆÍ͹ ÆÍ͹ ÆÍ͹ PDT º Ú[ Magellan ]ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
º º º º þ º º þ º º º ³ 885 09:53:33 ³
º ÔÍÊ; ÈÍÍͼ ÔÍÍͼ ÔÍÍͼ ÔÍÍͼ ÔÍÍͼ º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
º º
º Õ» ÕÍÍÍ» ÉÍÍ͸ ÕÍÍÍ» ÕÍÍÍ» ÕÍÍÍ» º Ú[ Ulysses ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
º º º þ º º þ º º º ³ 370 00:07:33 ³
º º º ÈÍÍÍ» ÆÍ͹ ÆÍ͹ ÆÍ͹ UTC º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
º º º þ º º þ º º º
º ÔÍÊ; Ð ÔÍÍͼ ÔÍÍͼ ÔÍÍͼ ÔÍÍͼ º
º º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Ú[ GDS Goldstone ]ÄÄÄÄ¿ Ú[ JSC Houston ]ÄÄÄÄÄÄ¿ Ú[Hubble Space Telescope]Ä¿
³ 284 10:53:33 PDT ³ ³ 284 12:53:33 CDT ³ ³ 522 05:19:41 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Ú[ CAN Canberra ]ÄÄÄÄÄ¿ Ú[ MAD Madrid ]ÄÄÄÄÄÄÄ¿ Ú[ UARS Upper Atmosphere]Ä¿
³ 285 04:53:33 AEST* ³ ³ 284 18:53:33 CES ³ ³ 26 14:30:33 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

NOTE: Pages ii and iii use the IBM "line drawing" characters as they appear
on the display screen. If your printer cannot print these characters, these
pages may appear garbled. These line drawing characters are not used
elsewhere in this documentation; instead, I substitute similar characters
from the normal character set.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page iii



JPLCLOCK (SMALL MAIN CLOCK SCREEN)

º JPLCLOCK by David H. Ransom, Jr. Version 9209 º JD2448541.24473 11 OCT 1991
þþþþþþþþþþ
É[ NASA Jet Propulsion Laboratory ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» Ú[ Galileo ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
º º ³ 627 06:52:25 ³
º 10:52:25 PDT 17:52:25 UTC º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
º º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Ú[ Magellan ]ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 885 09:52:25 ³
ÚÄÄ SELECTED EVENTS ÄÄÄ¿ ÚÄÄ PRIORITY EVENTS ÄÄÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
³ ³ ³ ³
Ú[Hubble Space Telesc]Ä¿ ³ ³ Ú[ Ulysses ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 522 05:18:33 ³ ³ ³ ³ 370 00:06:25 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
³ ³ ³ ³
Ú[UARS Upper Atmosphe]Ä¿ ³ ³
³ 26 14:29:25 ³ ³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Ú[ GDS Goldstone ]ÄÄÄÄ¿ Ú[ JSC Houston ]ÄÄÄÄÄÄ¿ Ú[ Gamma Ray Observatory]Ä¿
³ 284 10:52:25 PDT ³ ³ 284 12:52:25 CDT ³ ³ 189 02:29:40 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Ú[ CAN Canberra ]ÄÄÄÄÄ¿ Ú[ MAD Madrid ]ÄÄÄÄÄÄÄ¿ Ú[ ROSAT Observatory ]ÄÄÄÄ¿
³ 285 04:52:25 AEST* ³ ³ 284 18:52:25 CES ³ ³ 496 20:04:26 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

NOTE: Pages ii and iii use the IBM "line drawing" characters as they appear
on the display screen. If your printer cannot print these characters, these
pages may appear garbled. These line drawing characters are not used
elsewhere in this documentation; instead, I substitute similar characters
from the normal character set.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 1


INTRODUCTION
------------

JPLCLOCK is a clock and event timer program written at the request of
the JPL Flight Projects Support Office especially for use in the NASA Jet
Propulsion Laboratory's Multimission Computer Control Center (MCCC) in
Pasadena, California, and is continuously displayed on one of the five
large projection screens overlooking the MCCC. JPLCLOCK provides mission
controllers in the MCCC with current JPL time (Pacific Standard or Daylight
Time), UTC (Coordinated Universal Time), and DSN (Deep Space Tracking
Network) times as well as up to 60 selected mission or event timers. In the
event that the hard line to NIST in Boulder, Colorado, is out of service,
JPLCLOCK operates as the backup time standard for the MCCC. A text
presentation mode allows the display of supplementary text and other
messages when the program is used for more general applications.
JPLCLOCK is copyrighted software; you are hereby granted a non-
exclusive license for non-commercial or educational use only. Agencies of
the United States Government are hereby also granted a non-exclusive
license for the use of this program. Use it if you like it, discard it if
you don't. There are no warranties of any kind. If you wish to use JPLCLOCK
commercially, write for license information.


JPLCLOCK FEATURES
-----------------

- JPLCLOCK can turn an "ordinary" IBM-compatible personal computer into
a precision clock, synchronized to the National Institute of Standards
and Technology in Boulder, Colorado or to the U.S. Naval Observatory
in Washington, DC.

- When used with the NIST or USNO Telephone Time Service, JPLCLOCK can
maintain its displayed time to an accuracy of 0.25 seconds or better
over extended periods of time.

- JPLCLOCK automatically and continuously compensates for the drift of
the DOS software clock.

- JPLCLOCK can display your local time and Universal Coordinated Time in
large, easy to read characters in its Main Window.

- JPLCLOCK can display the local time at four additional locations
around the world.

- JPLCLOCK can automatically adjust itself and your DOS clock for the
correct DAYLIGHT or STANDARD time for all U. S. time zones.

- JPLCLOCK tracks as many as 60 different missions or events, displaying
the Mission Elapsed Time or a countdown to Time Zero for each event.
Mission/event times may range from -27 years to +274 years!

- JPLCLOCK can display up to four special PRIORITY EVENT timers that
automatically select events whose Time Zero is closest to the current
time.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 2


- All features and events are set by the user so that JPLCLOCK may be
easily configured for each installation.

- JPLCLOCK can present supplementary text information on as many as 10
successive display screens for news and public information.


JPLCLOCK Version 9126 was the first limited public release of the
program in June of 1991, after a number of beta versions tested by Charles
White at the NASA Jet Propulsion Laboratory. Thanks to Charles, a number of
interesting features were added to the early versions, bugs were detected
and squashed, and the program was tested in the MCCC and elsewhere. Other
interested individuals at JPL have also evaluated the program, offered
criticism and suggestions, and researched some of the older mission times.
Mike Gardner in Sunnyvale has reviewed an early version of my documentation
and offered his usual constructive criticism. To all of these people, my
thanks!
Although my initial discussions at JPL envisioned a "simple" program,
JPLCLOCK is definitely NOT simple. The original idea was to adapt my
program ASTROCLK to the task required in the MCCC. I have indeed borrowed
freely from ASTROCLK (as well as from another of my programs, STSORBIT) and
this helped get the first versions up and running relatively quickly. As
usually happens, the project quickly grew in scope and complexity. Everyone
involved, myself included, had new ideas or suggestions. Equally
significant, the personal computer is hardly the ideal precision clock, yet
JPLCLOCK is intended for the JPL MCCC where accuracy is critical. Making
sure that JPLCLOCK will maintain the required accuracy has consumed
considerable time and thought. It wasn't long before the source included
thousands of lines of code and the documentation grew to over 40 pages. All
this in the space of a couple of weeks of my "spare time"!
Given the clock drift and accuracy problems inherent in the design of
the typical IBM-compatible personal computer, JPLCLOCK would not have been
practical without the various time services provided by the National
Institute of Standards and Technology (NIST) and the U.S. Naval Observatory
(USNO). The NIST radio stations WWV and WWVH provide an inexpensive and
convenient means for "ordinary folks" to synchronize clocks and other
equipment. The NIST and USNO Telephone Time Services offer a high precision
standard time calibration source when such accuracy is required.
Every effort has been made to assure that program JPLCLOCK performs
its task accurately and reliably. However, while no known errors of any
consequence remain, JPLCLOCK is still a young program and it is almost
certain that some bugs are yet to be discovered. In addition, there is
still much that can be done to further enhance JPLCLOCK, so new versions
can be expected from time to time. User comments, suggestions, and bug or
problem reports will be appreciated!
Programs such as JPLCLOCK take many hours to develop and maintain.
While it is not required, I would appreciate your registration of the
program; the $10 donation is very nominal and will encourage me to continue
supporting the program. Registration information is in file README. The
only other request I make of users is that they take the time to complete
and return the confidential questionnaire in file README whether or not
they register. The questionnaire gives users a chance to offer comments and
suggestions, and lets me know that people use and appreciate JPLCLOCK.
For those who are interested in our space program and who have access
to a modem, I recommend NASA's SpaceLink Bulletin Board System in
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 3


Huntsville, Alabama, (205) 895-0028, 300 to 9600 baud on 8 lines, available
twenty four hours per day. NASA SpaceLink, operated by the NASA Marshall
Space Flight Center, provides a wealth of information on NASA and its
projects. Orbital elements for a Space Shuttle mission are usually
available while a mission is in progress. In addition to educational
materials, general information on NASA programs and plans, news releases,
and graphics images from current and prior spacecraft missions such as
Voyager and Magellan, SpaceLink also provides current news and information
on missions in progress. Mission status reports for all active missions are
generated periodically. I regularly call SpaceLink and post files of
interest on my own bulletin board system (BBS).
Special thanks to Charles White of the NASA/JPL Flight Projects
Support Office for his continuing comments and suggestions during the
development and testing of this program, as well as a fascinating visit to
the JPL Multimission Computer Control Center. Like many others, I consider
the Jet Propulsion Laboratory to be a unique national resource, unequaled
anywhere else in the world. JPLCLOCK is entirely "a labor of love", to
repeat a well-worn phrase; to see my software operating in the MCCC where
amazing projects such as Voyager and Magellan are controlled is sufficient
reward.
A brief biographical note: I am a retired physicist and engineer who
spent all of his professional life in the world of electronics, data
communications and, more recently, computers. As a young man I was actively
involved in the early American space program as a contractor for the Jet
Propulsion Laboratory, working on projects such as Ranger and Mariner.
Perhaps as a consequence of these and the many other remarkable NASA
projects directed by JPL, my respect and admiration for The Lab and its
people practically knows no bounds. I was also involved with the Mercury,
Gemini, and Apollo projects and my interest in space has continued to this
day. My experience includes both hardware and software, and I designed and
implemented software professionally for many years with considerable
success.
I have been writing software for IBM-compatible personal computers,
usually oriented toward space and astronomy, for a number of years. Since
1987 I have also maintained the RPV ASTRONOMY BBS, a free access bulletin
board system with an emphasis on space and astronomy. So successful has
my latest "hobby" become that it is threatening to overwhelm my bulletin
board system and consume all of my available time just answering the mail!
All of my programs are free although I do encourage users to register them
for a modest fee. If my software also serves to help spark the interest of
young people in science and technology or can be a learning tool at any
level, I will have more than achieved my purposes.
Two of my programs, ASTROCLK and STSORBIT, have become widely known
around the world. ASTROCLK is an attempt to consolidate a multiplicity of
astronomy and time related programs into a single useful computer tool. My
desire to "keep in touch" with our Space Shuttle missions led to the
development of STSORBIT, a simulation of the large wall map in Mission
Control at the Johnson Space Center in Houston, Texas. STSORBIT evolved
into STSORBIT PLUS, a much enhanced version of the program, and eventually
found its way (several times) to JPL where it is now often projected in the
MCCC during Space Shuttle missions and for other Earth orbiting missions.
STSORBIT was the catalyst for JPLCLOCK.
The initial versions of JPLCLOCK were written over a period of several
weeks in June of 1991 with close coordination with JPL. Even before the
program was "finished" (if such programs are EVER really finished!),
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 4


JPLCLOCK was being used during a planned power outage as the primary time
standard in the Multimission Computer Control Center. JPL has also made
JPLCLOCK available on JPL computer networks so that Lab personnel may have
access to current time and mission information. Other applications for the
program are being considered by the Public Affairs Office. How useful or
interesting it may be to others remains to be seen.
For current space and astronomy programs and data, as well as the
current version of this program, call my RPV ASTRONOMY BBS bulletin board
system which I maintain as a public service. There is no cost except for
the telephone call. The system has over 1000 more or less regular callers
and is often busy, so please be patient. If the BBS has not answered after
the fourth ring, hang up, wait TWO MINUTES, then call back; the system has
a power controller and if the system is off it takes that long for the
computer to start up and do its initial housekeeping chores.
If you do not have access to a modem, you may send US$10.00 as a
donation for a copy of the current version of JPLCLOCK on disk; please
specify the disk size: 5-1/4" 360K or 3-1/2" 720K.
JPLCLOCK can be a complex program when all of its features are used,
perhaps more complex than was originally anticipated. This documentation
attempts to completely describe the program and its operation. There may be
errors in this documentation, but please read it BEFORE you drop me a nasty
note or give up! Comments and suggestions are welcome.

David H. Ransom, Jr.
7130 Avenida Altisima
Rancho Palos Verdes, CA 90274

February 1992
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 5


PROGRAM DESCRIPTION
-------------------

The NASA/JPL Multimission Computer Control Center (MCCC), located at
the Jet Propulsion Laboratory in Pasadena, California, is the "nerve
center" where all NASA planetary missions and some Earth orbiting missions
are controlled. Other NASA and ESA (European Space Agency) missions may
also be supported by MCCC from time to time. The Control Center resembles
other similar installations with consoles for each of the controllers and
other responsible individuals directing the progress of a mission and
coordinating the operation of the NASA Deep Space Network and other
critical resources. Operations continue around the clock with a number of
missions typically active. Missions active at this time include Voyager 1
and 2, Magellan, Ulysses, and Galileo.
Above the main floor of the Control Center and in plain view of all
controllers and individuals in the visitors gallery are seven projection
screens, five large and two slightly smaller. JPLCLOCK is dedicated to one
of these large screens. The remaining screens display television or
computer generated images related to missions in progress or other images
and programs as selected by Control Center personnel. For example, NASA
Select Television is normally displayed when it is broadcasting.
JPLCLOCK displays various time information for the convenience of
Control Center personnel. The current local time (Pacific Standard/Daylight
Time) and Coordinated Universal Time (UTC, or GMT as it was formerly
designated) are displayed in large characters in the program's main window.
Below that window are four smaller windows displaying local time at the DSN
locations or other selected installations. On the right side of the screen
are six smaller windows which display the Mission Elapsed Time for selected
missions in progress (green background) or Countdown Time for missions or
events due to occur (red background). The background color switches from
red to green when the countdown reaches zero or the event occurs. As many
as 60 different missions or events may be monitored with these timers.

IMPORTANT NOTE
--------------

Before using program JPLCLOCK in applications requiring
high accuracy, read the section DOS TIME CALIBRATION in
this documentation!

JPLCLOCK may be operated in two modes: NORMAL and PAGE. The NORMAL
mode displays the main window, four location time windows, and from one to
six timer windows continuously. If more than six timers have been
programmed, the user may select the timer "page" to be displayed. Each
timer page displays a maximum of six timers. The PAGE mode displays the
same main window and four location windows but sequences automatically
through up to 60 different timer windows using ten different timer "pages".
The timer page is normally switched every thirty seconds; however, when any
timer on a particular page is within one hour of of "Time Zero", the
display will "freeze" on that timer page. As long as events which occur
within several hours of one another are arranged on the same screen page,
JPLCLOCK will automatically ensure that the timer for each event is
displayed from one hour before to one hour after Time Zero.
In addition, up to ten screen pages of supplementary text information
or messages may be displayed in conjunction with the PAGE mode. When the
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 6


TEXT mode is active, the program cycles through all of the active timers
then switches and presents the text pages in sequence. This real time to
text to real time sequence repeats indefinitely unless an active timer
reaches the plus or minus one hour period around its Time Zero, in which
case that timer page freezes as described above.
The default JPLCLOCK configuration is arranged for the convenience of
the Jet Propulsion Laboratory MCCC. One or more initialization files, files
with a file type ".INI" and containing alternate or supplementary time and
location data, may also be included from time to time. Manual configuration
features are included for setup at other locations. Window titles, mission
or event names, and window times are easily configured for the desired
location or event. Inactive location or timer windows may be removed from
the screen. The current configuration is saved each time JPLCLOCK is run so
that the program may be resumed at any time. While the program is running,
all keyboard operations are timed so that inattention on the part of the
user for more than ten to thirty seconds (depending upon the operation
being performed) will result in automatic restarting of the program.
JPLCLOCK is intended for a dedicated IBM-compatible computer running
MS-DOS version 3.3 or higher. Best performance will be achieved using a 286
or better processor equipped with a math coprocessor chip. However, the
program should execute correctly (but perhaps with perceptible delays)
using any IBM-compatible computer with or without a math coprocessor chip.
For normal use, the program should started from the computer's AUTOEXEC.BAT
file so that it is restarted in the event of a power failure.
As of June 1991, JPLCLOCK is still a relatively new program. Although
all known problems have been corrected, there are doubtless a few minor
bugs yet to be discovered. User comments and suggestions are welcome.
Future versions are anticipated at periodic intervals as new features are
added and/or problems are corrected. Planned features include optional
automatic synchronization with compatible external time signals.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 7


JPLCLOCK HARDWARE AND SOFTWARE REQUIREMENTS
-------------------------------------------

JPLCLOCK is written for use on IBM-compatible computers using the
Microsoft DOS operating system, Version 3.3 or higher, and has been tested
primarily on computers equipped with an 80286 or higher processor. For
critical applications, the minimum hardware configuration is a computer
equipped with an 80286 processor AND an 80287 math coprocessor. An EGA or
VGA color display is recommended.
Most of JPLCLOCK's features should operate correctly on older XT class
computers but those features which use the clock/calendar chip, introduced
with the AT-class computer and subsequently retrofitted to older computers
as an add-on chip or circuit card, may not operate correctly. Several
different clock chips have been used on PC and XT machines which are NOT
compatible with the AT chip and may not be compatible with JPLCLOCK or
program TIMESET.
JPLCLOCK requires a modest amount of the computer's memory. The
program has not been tested on a machine with less than 640K of main RAM.
Although most JPLCLOCK operations are entirely memory resident, program
startup, use of program TIMESET, and the DOS shell all require disk
accesses. Because of the excessive time delays associated with floppy disk
drives, a hard disk is strongly recommended. Even with a hard disk, delays
and system software vary considerably and performance may differ from
system to system and from drive to drive.
Operation of JPLCLOCK on computers without a math coprocessor is
possible but may be marginal on some older XT and AT class computers.
Typical symptoms of a "slow computer" are skipping seconds and a "ripple"
effect visible as the clocks and timers are updated on the screen. A number
of users have reported problems on these computers, especially when not
equipped with a math coprocessors. See the section COMMENTS AND KNOWN
PROBLEMS, "Computer Processor and Math Coprocessor", for discussion and
suggestions.
JPLCLOCK assumes DOS Version 3.3 or higher; MS-DOS and PC-DOS are
considered equivalent and referred to as "DOS" although testing has been
performed only on systems using MS-DOS. All testing has been performed with
Versions 3.3+ and 5.0. The DOS Shell feature, required for the use of
program TIMESET, is considered unreliable for versions of DOS prior to DOS
3.1. If you have not upgraded to at least DOS 3.3, consider doing so!
Not surprisingly, JPLCLOCK relies upon the internal clock in your
computer to maintain accurate time. However, not all computer clocks are
created equal; some are much more accurate than others and it is difficult
to predict that performance in advance. The computer clock was simply not
designed as a high precision timekeeping instrument. Further, recent
versions of DOS (3.3 and higher) can reset an otherwise relatively accurate
hardware clock if the software clock loses time.
Just as your quartz watch will keep time most consistently (as opposed
to accurately) when you leave it always on your wrist, so too your computer
clock will keep time best if it is left on continuously. Voltage, time and
temperature changes are a quartz oscillator's worst enemies, along with a
long term crystal aging effect. Taken together, these effects can cause
your clock to lose or gain up to several seconds per day. For reasonably
accurate operation, your computer clock should be synchronized against a
time standard from time to time. See the sections DOS CLOCK CALIBRATION and
TIME SYNCHRONIZATION for additional discussion, especially for
installations where high precision is desired or required.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 8


For those individuals willing to modify their computer's hardware,
Mike Gardner has written a short memo, CLKFREQ.TXT, which describes a
simple hardware modification for some PC clocks which can improve their
accuracy by at least an order of magnitude. A variable capacitor is part of
the circuit and permits physical calibration of the clock frequency to
external standards. NOTE: Modification of your computer may affect its
warranty; read your warranty and CLKFREQ.TXT before you make ANY hardware
modifications.
Other factors may also affect the accuracy of the computer's clock.
One of the most common and severe offenders is Local Area Network (LAN)
software; while this can vary depending upon the LAN BIOS and network
hardware being used, the networking software in many systems may completely
or partially ignores the clock's "time ticks" during network operations.
Another frequent offender is high speed communication (usually about 50Kb
per second or higher) via the serial communications ports, COM1 through
COM4; in this case too, time ticks may be lost and the clock will fall
behind. Clock problems related to networking or other software can result
in time losses up to tens of seconds or even minutes per day! There is no
remedy for this situation except to avoid using the software which causes
the problem.
The performance of the DOS software clock can vary considerably from
computer to computer and from one version of DOS to another. It may also be
sensitive to certain software. Avoid using your favorite TSR (Terminate and
Stay Resident) programs when running JPLCLOCK. Several hours of operation
with JPLCLOCK will establish whether or not your computer and DOS software
clock are suitable for use with the program. If the DOS software clock
varies too much with time or temperature it cannot be used with JPLCLOCK
and there is no remedy in most cases except to use a different computer.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 9


JPLCLOCK FILES
--------------

JPLCLOCK is normally distributed in archived format using either the
PAK or ZIP format. The following files are usually included:

JPLCLOCK.EXE Main program (required)
JPLCLOCK.DOC Documentation (not required)
JPLCLOCK.INI Initialization data (optional)
JPLCLOCK.MTD Mission Timer Data (optional)
JPLCLOCK.MSG Sample TEXT file (optional)
JPLFONT.COM Experimental EGA font (optional)
README Program Registration (not required)

Files noted as "(required)" must be in the current default directory for
program operation. Files noted as "(optional)" do not need to be in the
default directory when JPLCLOCK is operated but may provide additional
features or information if present. File JPLCLOCK.MTD contains data for
selected missions. If file JPLCLOCK.INI is not present, it will
automatically be created the first time the program is executed.
Additional MTD files (files with filetype ".MTD", standing for
"Mission Timer Data") may be included from time to time with interesting or
upcoming events pre-programmed. Other MTD files may be posted periodically
on my bulletin board system for upcoming events.
Registration of program JPLCLOCK is not required but certainly will be
appreciated! See the file README for registration information. JPLCLOCK has
involved considerable effort to develop and test, and your response will
encourage me to continue enhancing and supporting the program. As a "bonus"
for registration, I will send the current version of JPLCLOCK to you on
disk; please specify the disk size desired: 5-1/4" 360K or 3-1/2" 720K
(supplied if no disk size specified).
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 10


STARTING PROGRAM JPLCLOCK
-------------------------

Before starting program JPLCLOCK for the first time, make sure that
all required files are in the current drive and directory (see below).
Delete the file JPLCLOCK.INI if it has been created by a previous version
of JPLCLOCK or you are using the program at a different location from the
one which prepared the file. The format of the INI file may change with
new versions and, although the program may read prior versions of .INI
files, it is safer to "start from scratch". The INI file also includes
specific information related to the local time zone.
To start program JPLCLOCK for operation in the NORMAL mode, enter the
following command at the DOS prompt:

JPLCLOCK

The file JPLCLOCK.EXE has been compressed to save disk space using program
PKLITE by PKWare and there may be a modest delay before the program begins
operation. As described in the summary of command line options below, you
may add the "/M" command line option to force monochrome operation on CGA,
EGA, and VGA systems.


JPLCLOCK Command Line Options
-----------------------------

All JPLCLOCK program features (except monochrome operation) may be
enabled or disabled from within the program. However, to facilitate use
with batch files, certain features may be enabled using "command line
options", specific words preceded by the slash ("/"), used when the program
is started from the DOS prompt. A command line consists of the program name
followed by the desired command line option(s): "JPLCLOCK [option] ...
[option]". The following command line options are available:

? (Special option) Displays brief help information to remind
users of the principal command line options and then returns
to DOS.

/M Force monochrome operation. On color monitors, this usually
forces white or light white on black background.

/SMALL Enables the SMALL main clock window and the additional four
SELECTED/PRIORITY timer windows.

/PAGE Enables PAGE mode operation with up to 60 Mission/Event
Timers displayed in "pages" of six timers each. Default is
the non-page mode with only 6 Mission/Event Timers.

/TEXT Enables TEXT (and PAGE) mode operation if file JPLCLOCK.MSG
is found. Up to ten screen pages of prepared text may be
sequentially displayed.


Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 11


Setting UTC Zone and Daylight Flags
-----------------------------------

JPLCLOCK must know the correct local time and time zone in order to
operate accurately. In addition, your computer clock may be set either to
LOCAL time or to Coordinated Universal Time (UTC). The first time JPLCLOCK
is executed (or any time the program cannot find the file JPLCLOCK.INI),
the program prompts you for this information:


Set UTC TIME ZONE OFFSET and DAYLIGHT FLAG

JPLCLOCK must know the difference between your local time zone and Universal
Coordinated Time (UTC), also sometimes known as Greenwich Mean Time (GMT).
In addition, JPLCLOCK must know if your local time zone is now using STANDARD
or DAYLIGHT (SUMMER) time and if your computer is set to LOCAL or UTC time.

First, enter the difference between your STANDARD time zone and UTC in hours.
Do NOT include the hour for daylight time if you are now on DAYLIGHT time;
it will be entered separately. For most time zones in the United States and
Canada, the entries required are:

Eastern Standard Time EST -5.00
Central Standard Time CST -6.00
Mountain Standard Time MST -7.00
Pacific Standard Time PST -8.00

Enter UTC Offset (hours) [ -8.00]: -8.00
Enter Daylight Flag (0=OFF, 1=ON, A=AUTO) [1]: ON, AUTOMATIC
Enter DOS Time (0=LOCAL, 1=UTC) [0]: LOCAL

Press ENTER to ACCEPT, any other key to repeat:


The example entries shown above illustrate the required information
for Pacific Daylight Time: "-8" for the standard time zone offset from UTC,
"ON,AUTOMATIC" to signify that automatic Daylight Time is in effect, and
"LOCAL" to show that the computer is set to local time rather than UTC
time. Enter the information that is appropriate for your time zone and
computer clock, then press ENTER when the information is correct. Press
any other key to repeat the process. If an item is correct as shown within
the square brackets ([...]), you may press ENTER to skip that item and
leave it unchanged. In order to set Daylight Savings Time to ON and to
AUTOMATIC, set the Daylight Flag to ON the first time then repeat and set
to AUTOMATIC the second time. These data are saved in file JPLCLOCK.INI and
will not be requested again.
When the Daylight Flag is set to AUTOMATIC, the program will
automatically switch the program AND the DOS clock from and to Daylight
Savings Time on the last Sunday in October and the first Sunday in April
in accordance with U. S. convention. Locations outside the United States
which do not observe the same convention must switch the Daylight Flag
manually using F4+F1 from the Main Menu.
The Daylight Flag controls the selection of Standard or Daylight
Savings Time for the main clock display and all Location Timers which are
set to use U. S. Daylight Savings Time. When used in the Automatic mode,
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 12


the time and date of the change is correct for the local time zone.
However, since all time zones are switched simultaneously, the time and
zone abbreviation for other time zones using Daylight Savings Time will be
incorrect for as much as several hours. For example, if Automatic Daylight
Savings Time is enabled and the local time zone is Pacific, a Location
Timer in the Central time zone set to use DST will change to or from
Daylight Savings Time two hours late. Location Timers which are NOT set to
use DST must be adjusted manually from the Main Menu.
Once this information is set, JPLCLOCK continues with its normal
startup and displays the title screen (see below). Verify that the current
local and UTC time and date (including your local time zone abbreviation if
you are located in the United States) are correct before proceeding.
JPLCLOCK will start automatically in 10 seconds and the message on the
screen will count down during the wait time. No operator action is required
if you wish JPLCLOCK to start; you may also press ENTER twice to
immediately start the program, bypassing the 10 second delay.
JPLCLOCK's full name and the current version are shown on the title
screen, followed by the current time and date. At this point the program is
awaiting user input; if no keyboard input is detected within 10 seconds,
the program will automatically begin operation. Press ENTER to display the
Main Menu or ESC to quit the program and return to DOS. All other keys are
ignored except that a timed message is displayed at the upper right of the
screen reminding the user to press ENTER for the Main Menu.


Program JPLCLOCK

NASA/JPL Multimission Computer Control Center Clock
Version 9209


Current time: 20:18:02 PDT 03:18:02 UTC
Current date: 06/30/1991 07/01/1991


JPLCLOCK will start automatically in 10 seconds

OR

Press ENTER for MENU, ESC to QUIT



(C) Copyright David H. Ransom, Jr., 1991-1992
All rights reserved.


Note both the local time and date (Pacific Daylight Time in the
example) and UTC time and date (Coordinated Universal Time). Be sure that
ALL time and date items are correct. If not, press ENTER to go to
JPLCLOCK's Main Menu and then press F4 to correct the information.


IMPORTANT NOTE
--------------
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 13



If you are using a JPLCLOCK.INI file (or any other INI
file) prepared at some other location, your local time
and date may not be correct. If all else fails, quit
program JPLCLOCK, delete file JPLCLOCK.INI, and restart
the program. JPLCLOCK will assist you in setting up the
program for your time zone and will create a new
JPLCLOCK.INI file for subsequent use.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 14


JPLCLOCK MAIN CLOCK DISPLAY
---------------------------

The Main Clock display for JPLCLOCK is illustrated on Pages ii and iii
above. Two screen layouts are available, selectable either by a command
line option or by a Function Key, NORMAL or SMALL. The NORMAL screen
provides a large window with special large characters for Local and UTC
Times and is recommended when the program will be used on a normal monitor
which may have to be viewed from some distance. The SMALL screen provides a
smaller window for Local and UTC Times along with up to four additional
timers and may be preferred when JPLCLOCK is projected on a large screen.
The remaining windows are the same for both screen layouts. The four
Location Clocks are below the main window, and the six Mission/Event Timers
are on the right side of the screen. The Location Clocks and the
Mission/Event Timers are separately described in following sections. In
addition to these data, the main clock display also includes the program
name and version, as well as the current Julian Date (a standard method of
day numbering used by scientists and astronomers) and local date (day-
month-year) at the upper right corner of the display.
The following keys are active while JPLCLOCK is running and the clocks
and timers are displayed on the screen:

ENTER Stop the main clock display and go to JPLCLOCK's Title
Screen. Press ENTER again to go to the Main Menu. See
the section below for a description of the available
commands at the Main Menu.

ESC Quit JPLCLOCK and return to DOS. You will be asked to
press ESC again to confirm that you wish to quit the
program. If not, press ENTER to resume operation.

ALT-F1 Freeze the display. Updating the screen stops EXCEPT
that Local and UTC Time will be updated above the Main
Window and the word "FREEZE" will flash in yellow above
the Mission Timer Windows while the freeze is in
effect. The freeze will be automatically released in
five minutes, or press ENTER to release the freeze
immediately. (Actually, pressing any key except keys
which do not generate a character, such as SHIFT, ALT,
or CTRL, will release the freeze.)

ALT-F2 Enable or disable automatic SCREEN BLANKER. When
enabled, the screen blanker will clear the computer
screen five minutes after the last keystroke. The
screen will also be displayed for five minutes at 29
and 59 minutes past the hour. Press ENTER to display
the screen when it is blanked. (Actually, pressing any
key except keys which do not generate a character, such
as SHIFT, ALT, or CTRL, will cause the screen to be
displayed.)

ALT-F5 Change SELECTED/PRIORITY EVENTS display. This key is
active ONLY when the SMALL Main Window is active. The
choices are: four SELECTED Mission Timers; two SELECTED
Mission Timers and two PRIORITY Mission Timers; or,
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 15


four PRIORITY Mission Timers. Press again for the next
arrangement.

ALT-F6 Switch between the LARGE Main Window and the SMALL Main
Window. Enabling the SMALL Main Window also displays
the four SELECTED/PRIORITY Event Timers (as currently
selected).

ALT-F7 Enable LAUNCH SUPPORT mode. This mode enables the user
to adjust a group of Mission/Event Timers for mission
or launch delays, keyed upon a single Key Timer, in
real time. All affected timers are "frozen" while in
the LAUNCH SUPPORT mode until ALT-F7 is pressed again
at the appropriate moment at which time JPLCLOCK
returns to normal operation. See the section LAUNCH
SUPPORT for additional information.

ALT-F8 Enable or disable the PAGE and TEXT modes. If no
command line options are specified, the default mode is
both PAGE and TEXT modes disabled. Each time ALT-F8 is
pressed, JPLCLOCK switches between PAGE and TEXT
disabled, PAGE enabled, and TEXT enabled. This command
combines the functions of F7 and F8 on the Main Menu.

ALT-F9 EXPERIMENTAL COMMAND to enable a special screen font,
similar to "Helvetica", for EGA and VGA monitors ONLY.
Press ALT-F9 to enable the special screen font and
large numbers in the time displays; press ALT-F9 again
to use "normal" size characters in the time displays.

The special font is designed primarily for EGA systems
and may not operate correctly on some VGA systems. (On
one VGA system, for example, the last few lines of the
screen show a variety of text and graphics symbols when
program TIMESET is executed, and these symbols remain
on the screen when JPLCLOCK resumes operation.)

ALT-F10 Immediately perform TIME SYNCHRONIZATION using the
external program TIMESET to call either the National
Institute of Standards and Technology (NIST) or the
U.S. Naval Observatory (USNO). See the section TIME
SYNCHRONIZATION for further information on this command
and program TIMESET. This command is the same as the
F10+F1 commands on the Main Menu.

PgUp ONLY ACTIVE IN THE NORMAL MODE. Allows the user to page
UP (increasing page number) through the active timer
pages. Inactive timer pages will be automatically
skipped.


PgDn ONLY ACTIVE IN THE NORMAL MODE. Allows the user to page
DOWN (decreasing page number) through the active timer
pages. Inactive timer pages will be automatically
skipped.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 16



Four additional timer windows appear on the screen below the Main
Clock window when the SMALL Main Window is selected. These are divided into
two classes: SELECTED EVENTS and PRIORITY EVENTS. SELECTED EVENTS are just
like regular Mission/Event Timers except that they are always displayed;
they may be selected from the current Mission/Event Timers by pressing
F3+F2 from the Main Menu. PRIORITY EVENTS are those events which have a
Time Zero which is within 24 hours of the current time.
Three different arrangements of SELECTED EVENTS and PRIORITY EVENTS
may be selected by pressing ALT-F5 when the SMALL Main Clock is displayed.
These two classes of events are always selected from the available 60
Mission/Event Timers; note that the titles have been truncated because the
window width is shorter than the normal Mission/Event Window. The default
arrangement displays four SELECTED EVENTS:

+--------------- SELECTED EVENTS ----------------+
| |
+[Hubble Space Telesc]-+ +[ Voyager 1 ]---------+
#1 | 424 01:38:02 | | 5,051 01:13:54 | #3
+----------------------- +----------------------+
| |
#2 +[Gamma Ray Observato]-+ +[ Voyager 2 ]---------+
| 90 22:49:09 3 3 5,066 23:47:54 | #4
+----------------------+ +----------------------+
+------------------------------------------------+

Pressing ALT-F5 once will change the arrangement to two SELECTED
EVENTS and two PRIORITY EVENTS:

+-- SELECTED EVENTS ---+ +-- PRIORITY EVENTS ---+
| | | |
#1 +[Hubble Space Telesc]-+ | | #1
| 424 01:37:27 | | |
+----------------------+ | |
| | | |
#2 +[Gamma Ray Observato]-+ | | #2
| 90 22:48:34 | | |
+----------------------+ | |
+----------------------+ +----------------------+

Note that only the first two SELECTED EVENTS are now displayed. In this
example, there are no active PRIORITY EVENTS and therefore that window area
is blank. JPLCLOCK continuously scans all 60 Mission/Event Timers to
determine if any are less than 24 hours (plus or minus) from the current
time. Events which have not yet occurred are shown with a RED background
and a minus sign ("-") before the days, and events which have already
occurred are shown with a GREEN background. If any events are found within
the 24 hour range, they are sorted every second in such a way that #1 is
that event now closest to Time Zero and #2 is the next closest to Time
Zero. The ordering of PRIORITY EVENTS is set dynamically and will change as
the time difference between the Time Zero set in the Mission/Event Timers
change with respect to current time.
Pressing ALT-F5 again will change the arrangement to four PRIORITY
EVENTS:

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 17


+--------------- PRIORITY EVENTS ----------------+
| |
+[ Test Event ]--------+ |
#1 | 0 01:38:02 | | #3
+----------------------- |
| |
#2 | |
| | #4
| |
+------------------------------------------------+

As described above, the PRIORITY EVENTS are continuously scanned and
sorted. With this display arrangement, from zero to four PRIORITY EVENTS
may be displayed. In the example shown, the Mission/Event Timer called
"Test Event" has been detected as within 24 hours of Time Zero.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 18


JPLCLOCK MAIN MENU
------------------


Program JPLCLOCK

NASA/JPL Multimission Computer Control Center Clock
Version 9209


Current time: 20:18:50 PDT 03:18:50 UTC
Current date: 06/30/1991 07/01/1991


JPLCLOCK will start automatically in 10 seconds



F1 Program Information F6 CLOCK Calibration [OFF]
F2 Set LOCATION CLOCKS F7 Switch TEXT Mode [OFF]
F3 Set EVENT/MISSION TIMERS F8 Switch PAGE Mode [ON]
F4 Set DAYLIGHT and Defaults F9 DOS Shell (3.3+ ONLY!)
F5 Read/Save INI & MTD Files F10 Time Synchronization

ENTER Resume Program JPLCLOCK ESC Quit Program JPLCLOCK

Enter selection:

As with the title screen, JPLCLOCK is awaiting user input; if no
keyboard input is detected within 10 seconds, the program will
automatically resume operation. Note that the Main Menu displays the
current status of CLOCK Calibration, TEXT Mode, and PAGE Mode. Press ENTER
to immediately resume program operation. Press ESC to quit and return to
DOS; the program will request that you press ESC a second time to confirm
that you wish to return to DOS. (To resume JPLCLOCK when this message
appears, press ENTER.) To go to one of the sub-menus, press the indicated
Function Key. The purpose and operation of each menu item is described on
the following pages.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 19


F1 Program Information
------------------------


Function Key F1 displays a brief description of the program and
gives the telephone number of my bulletin board system (BBS), RPV ASTRONOMY
BBS, in Rancho Palos Verdes, California near Los Angeles. This is a free
access BBS which I maintain as a public service. There are over 1,000 more
or less regular callers, and the system is frequently busy, so please be
patient! The BBS computer has a power controller; if the BBS has not
answered by the fourth ring, hang up and call back in approximately two
minutes.

Program JPLCLOCK was written especially for the NASA/JPL Multimission
Computer Control Center. It provides a main window with local and UTC
time, four location clocks usually displaying local time at the NASA
Deep Space Network sites in Goldstone, Canberra, and Madrid, and six
event timers used to display mission elapsed time or the time for an
upcoming event of interest. The current version of JPLCLOCK is always
on my BBS: (310) 541-7299.

(Press ENTER for more ...) David H. Ransom, Jr.

Pressing the ENTER key will display the following additional HELP
information:

The following special keys are active during the clock display:

ALT-F1 Freeze Display for 5 minutes; Release freeze with any key
ALT-F2 Enable/Disable automatic SCREEN BLANKER
ALT-F5 Select PRIORITY and SELECTED EVENTS (SMALL Main Window ONLY)
ALT-F6 Select LARGE or SMALL Main Window
ALT-F7 Enable/Release LAUNCH SUPPORT MODE, see documentation for details
ALT-F8 Select NORMAL/PAGE/TEXT Mode
(See documentation for other active keys.)
Press ENTER to return to Main Menu
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 20


F2 Set LOCATION CLOCKS
------------------------

JPLCLOCK displays from one to four LOCATION CLOCKS. When the program
is used in the JPL Mission Control Center, three of the clocks normally
display the time for the DSN (Deep Space Network) antenna locations; the
fourth location clock may be used for another location of interest or may
be left blanked out. The location clocks are numbered #1 through #4 and are
located in the lower left portion of the display screen below the main
window in the following relative positions:

| Main Window | |
+------------------------+ +---

+----------+ +----------+ +---
| #1 | | #3 | |
+----------+ +----------+ +---

+----------+ +----------+ +---
| #2 | | #4 | |
+----------+ +----------+ +---

Each Location Clock displays the local time at the location using the
following format (all times in 24-hour notation, HH:MM:SS):

147 13:24:16 PDT
--+ -+ -+ -+ --+
| | | | |
| | | | +--- Time Zone Abbreviation (if present)
| | | |
| | | +------- Local Seconds
| | +---------- Local Minutes
| +------------- Local Hours
|
+------------------ Local Day of the Year

Function Key F2 allows the user to change the name and time zone
information for the four location clocks displayed below the main window.
If a location name is PRESENT for a given location clock, that clock will
be displayed on the screen; if the location name is ERASED (the "Location
Name" column for the clock is blank in the display), the clock will NOT be
displayed on the screen. The default location clocks are shown below:

Uses
# Location Name UTC Offset DST
-----------------------------------------
1 GDS Goldstone -8.00 YES
2 JSC Houston -6.00 YES
3 CAN Canberra 11.00 NO
4 MAD Madrid 1.00 NO

Enter LOCATION # to change:

JPLCLOCK will automatically resume operation if no keyboard input is
detected within 30 seconds. Each keystroke resets the 30 second timer.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 21


Press ENTER to cancel this function and return to the Main Menu making no
changes. To continue, enter the number of the location clock to change and
press ENTER. Then enter the new location name for that clock:

Enter new LOCATION NAME:

Press the TAB key to leave the name unchanged for this clock and skip to
the time information. Press ENTER to erase the name and remove the clock
from the display screen. To enter a new or corrected location name, type
the new name and then press ENTER. JPLCLOCK will automatically capitalize
the first letter of each word if it is lower case.
In order to show the local time correctly for each location, JPLCLOCK
must know the UTC Offset for the location; this is the number of hours
which must be ADDED to UTC (Universal Coordinated Time) in order to obtain
the local STANDARD time for the location. Do NOT include the additional
hour if the location is on U.S. Daylight Savings Time; DO include the
additional hour if the location is on daylight or summer time but the time
changes do not correspond to those used in the United States. See the
additional discussion below.

Enter New UTC Offset (hours):

Press the TAB key to leave the current UTC Offset value unchanged. Press
the ESC key to cancel all changes to this location clock. Otherwise, type
the new UTC Offset in hours (and decimal parts of an hour if necessary) and
then press ENTER.
JPLCLOCK will independently adjust each location clock time for U.S.
Daylight Savings Time if the special flag in the column "Uses DST" is
marked "YES". As a general rule, therefore, respond "YES" if the location
is within the United States (including Alaska and Hawaii); respond "NO" if
the location is outside the United States.

Uses US Daylight (N=NO, Y=YES):

IMPORTANT NOTE: When the main Daylight Flag is changed (using F4+F3
from the Main Menu), the appropriate correction will be automatically made
for all locations which indicate "YES" in the "Uses DST" column. Locations
outside the United States which use daylight or summer time but which
change at different times from the United States should indicate "NO" in
the "Uses DST" column and must be manually adjusted for each time change.

When all of these questions have been answered, the information will
be updated on the screen and the user may either continue to another
location clock or return to the Main Menu.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 22


F3 Set EVENT/MISSION TIMERS
-----------------------------

One of the most important functions of JPLCLOCK is to be able to
display Mission Elapsed Time (MET) or Countdown/Countup Time for a variety
of missions and events. MIssion Elapsed Time usually measures the time
since the mission was launched and is the primary time measure used for the
Mission Timeline, the schedule of planned events and operations; this
applies equally to short duration missions such as the Space Shuttle as
well as to long duration missions such as Voyager and Hubble Space
Telescope. Countdown/Countup Times may be critical events in the progress
of a mission, such as scheduled Launch Time or Venus Orbit Insertion for
Magellan, and controllers need to be able to judge the time remaining until
(or time passed since) specific tasks or operations are to be (or were
supposed to have been) performed.
JPLCLOCK is able to independently time up to 60 different events or
missions using six MISSION TIMER WINDOWS on the display screen and
switching from one mission timer "page" to another to display up to ten
pages. The mission timer windows are numbered #1 through #6 and are located
on the right of the display screen beside the main window in the following
relative positions:

---+ +----------------+
| | TIMER #1 |
M | +----------------+
a |
i | +----------------+
n | | TIMER #2 |
| +----------------+
W |
i | +----------------+
n | | TIMER #3 |
d | +----------------+
o |
w | +----------------+
| | TIMER #4 |
---+ +----------------+

---+ +----------------+
| | TIMER #5 |
---+ +----------------+

---+ +----------------+
| | TIMER #6 |
---+ +----------------+

Each Mission/Event Timer displays the current time value for that
mission or event using one of the following formats (all times are shown as
HH:MM:SS, hours:minutes:seconds):

143 13:01:47 The event occurred 143 days plus time ago.
When applied to a mission, this format is
measured from the time of launch and is known
as Mission Elapsed Time (MET) and is used for
all mission event planning.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 23



-16 01:33:19 The event will occur in 16 days plus time.

-0 07:44:51 * The event will occur in the time shown and a
flashing asterisk denotes less than 24 hours.

-0 00:58:29 ** The event will occur in the time shown and
two flashing asterisks denote less than 1
hour remains.

-0 00:08:14 *** The event will occur in the time shown and
three flashing asterisks denote less than 10
minutes remain.


Pressing F3 from the Main Menu displays the menu for setting the
MISSION/EVENT TIMERS and the SELECTED EVENTS:

F1 Set MISSION/EVENT TIMERS
F2 Clear MISSION/EVENT TIMERS
F3 Set SELECTED EVENTS
F4 ON MISSION/EVENT TIMER NUMBERS

ENTER Return to Main Menu

Press the Function Key for the desired selection or press ENTER to return
to the Main Menu.

Set MISSION/EVENT TIMERS
------------------------

Using F1, each Mission/Event Timer may be set to any desired time and
date in the past or future over a range of from approximately minus 27
years (-9,999 days before the event) to approximately plus 274 years
(99,999 days after the event) referenced to the current time. Given the
time scale of interplanetary missions such as Voyager 1 and 2 or Pioneer
11, these time ranges are reasonable and necessary even though it may seem
like "overkill" for a 5-day Space Shuttle mission. The Mission Timer Window
background color (for color monitors) is RED if the event has not yet
occurred and GREEN if the event has occurred. The color switch occurs when
the Mission Timer reaches 0 days and 00:00:00 (hours:minutes:seconds).
As a special feature to call attention to events about to occur, a
single asterisk ("*") appears to the right of the countdown time when the
event is less than 24 hours from occurrence; this changes to two asterisks
at T minus one hour and to three asterisks at T minus ten minutes. The
asterisks are removed once the scheduled event time occurs.
When JPLCLOCK is operated in the NORMAL mode, Mission Timers #1
through #6 are displayed continuously; the remaining 54 timers are neither
checked nor displayed. However, when JPLCLOCK is operated in the PAGE mode,
all 60 Mission Timers are checked and are displayed if a valid time and
date has been entered. The Mission Timers are divided into ten pages of six
timers each. The pages are numbered 0 through 9; Mission Timers #1 through
#6 appear on Page 0, Mission Timers #7 through #12 appear on Page 1, and so
forth. If any one of the timers in a given page is valid, that page will be
displayed; if no timers in a given page are valid, that page will be
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 24


skipped. Each page is displayed for 30 seconds and then the program cycles
to the next valid page. With active Mission Timers in each of the ten
pages, it can require up to 5 minutes to complete a full cycle through the
timers.
When the PAGE mode is active and JPLCLOCK is cycling through all
active Mission Timers, a special "bar meter" is displayed at the top right
of the Mission Timers. This is a row of ten special square symbols, one for
each of the ten Mission Timer pages, which indicates the status of the
page. If there are no active Mission Timers on the page, the symbol is
GRAY. If one or more Mission Timers on the page is in the countdown mode
(the event has not yet occurred), the symbol is RED. If all active Mission
Timers on the page are in the countup or Mission Elapsed Time mode, the
symbol is GREEN. The current active page is flashing.
With up to 60 Mission Timers active in the PAGE mode, it might be easy
to overlook an event which is scheduled to occur in the near future. The
flashing asterisks described above may help to avoid this situation but
JPLCLOCK solves the problem by holding the display on a page if any Mission
Timer on that page will reach Time Zero within the next hour. When the
current page is being held in this manner, the word "HOLD" appears above
the Mission/Event Timers and the flashing symbol corresponding to the held
page changes to YELLOW. The HOLD remains in effect until all timers on that
page are either more than one hour before Time Zero or have passed Time
Zero by more than one hour OR until another page includes events closer to
their Time Zero. When the hold is removed, normal cycling is resumed and
the program checks for other potential HOLD opportunities on each page
before selecting the next page to display. See also the discussion below
(in the section Set DAYLIGHT and Defaults) regarding setting the PAGE Delay
for additional suggestions.
Not all Mission Timers on a particular page must be programmed. If the
Event/Mission Name is blank, that Mission Timer will not be displayed and
its position on the display screen will be blank. The user may therefore
arrange both which page(s) will be displayed as well as what position(s)
is(are) used to display the active timers on a given page. As noted above,
if ALL Mission Timers on a particular page are blank, that page will be
skipped.
Function Key F3 provides the capabilities to enter, erase, or correct
the Mission Timers. The first time F3 is used, Page 0 and the first six
Mission Timers will be displayed; subsequent uses of F3 may start on a
different page. The Page Number is shown along with the data for the
individual Mission Timers on that page.


# Event/Mission Name Time(UT) Date (MDY) Julian Date
PAGE ---------------------------------------------------------------
1 Galileo 11:00:00 01/22/1990 2447913.958333
+---+ 2 Magellan 08:00:00 05/09/1989 2447655.833333
| | 3 Ulysses 17:46:00 10/06/1990 2448171.240278
| | 4 Hubble Space Telescope 12:33:52 05/07/1990 2448019.023519
| | 5 Gamma Ray Observatory 15:22:45 04/05/1991 2448352.140799
+---+ 6 ROSAT Observatory 21:47:59 06/01/1990 2448044.408322
(Home, PgUp, PgDn, ENTER to return to Main Menu)
Enter EVENT # to change (1-60):

The reminder enclosed in parentheses indicates the special keys that
are active at this prompt:
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 25



Home Display PAGE 0
PgUp Go to NEXT PAGE
PgDn Go to PRIOR PAGE
ENTER Return to Main Menu

Use PgUp or PgDn to review each of the ten Mission Timer pages or type the
number of the desired Mission Timer followed by ENTER to edit that Mission
Timer. When a Mission Timer has been selected, a flashing diamond will
appear to the left of the Mission Timer number in the display and you will
be asked to enter a new MISSION NAME. For the following example, Mission
Timer #7 was desired and "7" was typed:

# Event/Mission Name Time(UT) Date (MDY) Julian Date
PAGE ---------------------------------------------------------------
* 7 Voyager 1 12:58:00 09/05/1977 2443392.040278
-+ 8 Voyager 2 14:24:00 08/20/1977 2443376.100000
| 9
| 10
| 11
--+-- 12
(TAB to SKIP, #nn to COPY, ESC to CANCEL, ENTER to ERASE #7 data)
Enter #7 EVENT/MISSION NAME:

The asterisk shown above will actually be displayed as a flashing
diamond to indicate the selected Mission Timer. The reminder enclosed in
parentheses indicates the special keys that are active at this prompt:

TAB SKIP the name, leaving it unchanged, and continue.
ESC CANCEL making changes to this Mission Timer
ENTER ERASE all data for this Mission Timer

In some cases, you may wish to copy an event from one Mission Timer to
another. If the event is simply being moved, you would then go back and
erase the original entry; otherwise, the event will appear in multiple
Mission Timers (which might be desired for certain important events). The
"#nn" format may be used for this purpose by substituting the SOURCE
MISSION TIMER NUMBER for "nn". Thus, after selecting the DESTINATION
MISSION TIMER NUMBER in the previous step, you would enter "C13" to copy
all data from Mission Timer #13 to the selected Mission Timer.
In other cases, you may wish to prepare a group of related Mission
Timers relative to a single time. A sequence of operations following launch
or satellite deploy are examples of this situation. To do this, first
select the "base time" event and enter its information into a selected
Mission Timer. Next, select each successive Mission Timer whose time is
relative to the "base time" and use one of the following formats:

#nn+ddd/hh:mm:ss
#nn+hh:mm:ss
#nn-ddd/hh:mm:ss
#nn-hh:mm:ss

where:

# Specifies the COPY syntax
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 26


nn SOURCE MISSION TIMER NUMBER, 1 to 60
+ Specifies ADD to "base time"
- Specifies SUBTRACT from "base time"
ddd The number of DAYS to add/subtract to "base time"
/ Separates DAYS from TIME
hh The number of HOURS to add/subtract to "base time"
mm The number of MINUTES to add/subtract to "base time"
ss The number of SECONDS to add/subtract to "base time"
: Separates hours:minutes and minutes:seconds

Note that the days portion of the command, "ddd/", may be omitted if the
value is zero; omitting the days is equivalent to a days portion of "000/".
The number of digits shown for each portion of the command may not be
exceeded, but leading zeroes may be omitted. Times may differ by as little
as one second. (In fact, they may be identical if you wish.)
As an example of relative Mission Timer programming, suppose that the
"base time" for a sequence of events is on 7/11/1991 at 13:44:00 UTC and
that a series of subsequent events will occur at this "base time" plus 37
seconds, 1 minute and 30 seconds, and 3 hours and 7 minutes. The following
commands will set up this sequence of Mission Timers:

25 Event Timer Number
Base Event Event Name
7/11/91 Event Date
13:44 Event Time

26 First Subsequent Timer Number
#25+00:00:37 Relative time to Mission Timer 25

27 Second Subsequent Timer Number
#25+00:01:30 Relative time to Mission Timer 25

28 Third Subsequent Timer Number
#25+03:00:07 Relative time to Mission Timer 25

After these commands have been entered, Mission Timers 25 through 28 will
contain the base event and the three subsequent events. Since the "copy"
format has been used for the subsequent events, the names will be identical
in all four Mission Timers. You may then edit Mission Timers 26 through 28
by selecting them in turn, entering a new event name, then pressing TAB in
place of a date entry to leave that information unchanged.
Future events are sometimes rescheduled. To accommodate this
situation, the "#nn" command may be used to copy an event to the same
Mission Timer with a positive or negative time adjustment. Select the
Mission Timer number you wish to adjust, enter the "#nn" command as
described above (including the relative time adjustment) and the change
will be made. For example, to advance the time for Mission Timer 44 by one
hour and thirty minutes, enter the following commands:

44 Timer Number to adjust
#44+1:30 Advance the time by 1:30

This example illustrates a "shortcut": if the seconds are zero, they may be
omitted. Similarly, if both minutes and seconds are zero, both may be
omitted. The hours could also have been entered with a decimal fraction and
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 27


the minutes omitted: "#44+1.5" to achieve the same result. The optional
days ("#44+3/1:30" to advance the time by 3 days, 1 hour, 30 minutes) could
have been used if required.
If you wish to enter new data for the selected mission timer, type the
new name for this Mission Timer followed by ENTER. You will then be asked
to enter the new DATE for this timer:

(ESC to CANCEL)
Enter new DATE (MM/DD/YYYY or JD/MJD):

Press ESC to CANCEL making changes to this Mission Timer or type the new
DATE followed by ENTER. Dates are normally entered using "MM/DD/YYYY"
format where "MM" is the MONTH (month number), "DD" is the DAY, and "YYYY"
is the YEAR. JPLCLOCK will also accept a two-digit year and add 1900 to the
value entered; "1991" and "91" will both be accepted as "1991". JPLCLOCK
will also accept several "JD" (Julian Date) formats by prefixing the date
entry with one of the following:

Prefix Julian Date Format Name Starting Date
-------------------------------------------------------------------
JD 2448424.375000 Standard Julian Date (-4713 JAN 1.5)
MJD 48423.875000 Modified Julian Date (1858 NOV 17.0)
DJD 33404.375000 Dublin Julian Date (1900 JAN 0.5)
TJD 8423.875000 Truncated Julian Date (1968 MAY 23.0)

All of the Julian Date formats in the example are equal to June 16, 1991,
at 14:00 PDT. "JD" is the standard format used by astronomers and most
scientists. The other formats have been developed to reduce the number of
digits required to uniquely identify a specific date but have more
restricted range if negative numbers or large numbers are to be avoided.
NASA, for example, frequently uses the "TJD" format.

NOTE: When one of the Julian Date formats is used, the time is implicit and
the "New TIME" prompt will be skipped. Thus, an entry of "JD2448424.375" or
"TJD8423.875" would yield the same time and date as "6/16/91" (for DATE)
and "14:00P" (for TIME).

After the new date has been entered (and provided you did not use one
of the Julian Data formats), you will be prompted for the new TIME:

(ESC to CANCEL)
Enter new TIME (UTC or Zone):

Type the desired new time using the "HH:MM:SS" format followed by ENTER.
JPLCLOCK is very flexible as to the time format. JPLCLOCK requires the 24-
hour format. Decimal fractions for the last value entered are accepted,
leading zeroes are NOT required, the separator may be either the colon
(":") or the comma (","), and the entry may omit values which are zero.
Each of the following examples will be accepted as 14:15 (2:15 PM):

14:15:00
14,15
14.25

JPLCLOCK assumes that the time entered is Coordinated Universal Time (UTC)
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 28


unless a suffix is added to indicate otherwise. The following time zone
suffixes are supported by JPLCLOCK:

U UTC Universal Coordinated Time
A AST/ADT Atlantic Time Zone
E EST/EDT Eastern Time Zone
C CST/CDT Central Time Zone
M MST/MDT Mountain Time Zone
P PST/PDT Pacific Time Zone
Y YST/YDT Yukon Time Zone (sometimes "Alaska")
H HST/HDT Hawaiian Time Zone

Except for UTC, JPLCLOCK will automatically adjust the entered time
for the appropriate time zone AND for daylight savings time (if in effect).
Thus, an entry of "14:00P" will be interpreted as Pacific Standard Time
(PST) if the Daylight Flag is OFF, and as Pacific Daylight Time (PDT) if
the Daylight Flag is ON. If no suffix is included or if the "U" suffix is
added, no adjustment for the Daylight Flag will be made and the time entry
will be accepted as UTC. By using the appropriate time zone suffix, times
may thus be entered directly in local time for each time zone in the United
States, Alaska, and Hawaii without making any conversions (or mistakes!).
JPLCLOCK makes the required conversions to the time (and date, if
necessary) and displays the resulting Mission Timer values in UTC.

Clear MISSION/EVENT TIMERS
--------------------------

As the function name suggests, this clears all Mission/Event Timers.
While this process could be accomplished without a separate function key,
it was rather time consuming. Several users suggested a "master clear" and
it has been implemented. All Mission/Event Timers are cleared and reset.

Set SELECTED EVENTS
-------------------

Press F2 to set the SELECTED EVENTS. The program will display the
currently selected SELECTED EVENTS, if any, and remind you that the
SELECTED EVENTS are displayed ONLY when the SMALL Main Clock window is
active. To make the SMALL Main Clock window active, press ALT-F6 when the
Main Clock window is on the screen.

SELECTED EVENTS are active with SMALL Main Window ONLY!

# MT# Mission/Event Name
----------------------------------------
1 11 Hubble Space Telescope
2 17 Gamma Ray Observatory
3 23 Voyager 1
4 24 Voyager 2

(ENTER to CLEAR, TAB to SKIP, ESC to CANCEL)
Enter MISSION/EVENT TIMER # for Selected Event #1:

In the sample display above, the column marked "#" lists the four SELECTED
EVENT timers in order; the column marked "MT#" lists the Mission/Event
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 29


Timer which is associated with the corresponding SELECTED EVENT; and, the
column marked "Mission/Event Name" lists the name of the selected
Mission/Event Timer.
The information for each SELECTED EVENT is requested in turn. The
first prompt asks for Selected Event #1. As noted, press ENTER to clear
that event, press TAB to skip to the next event, or press ESC to cancel and
return to the Main Menu.
The only information that can be entered here is the Mission/Event
Timer number which you wish to be associated with each SELECTED EVENT. The
actual data, the event name, date, and time, must already have been entered
into the Mission/Event Timer (F3+F1 from the Main Menu). Note also that the
while the full Mission/Event Name is displayed on the menu as shown above,
the actual window on the screen will truncate the name to a maximum of 19
characters; this is because the SELECTED EVENT windows are somewhat
narrower than the main Mission/Event Timer windows. If you wish to edit the
name so that it will fit correctly in the SELECTED EVENT windows, you must
edit the Mission/Event Timer entry using F3+F1 from the Main Menu (or just
F1 from the event menu).

MISSION/EVENT TIMER NUMBERS
----------------------------

The Mission/Event Timer Windows may be configured to display the
window number (1 to 60) or not. If the window number will NOT be displayed,
the F4 menu item will include the word "OFF"; if the window number WILL be
displayed, the F4 menu item will include the word "ON". The window number
is displayed at the bottom left of the window border, as illustrated in the
following example where the Hubble Space Telescope is assigned
Mission/Event Timer #11:

+[Hubble Space Telescope]--+
| 654 15:58:23 |
+[11]----------------------+

In cases where the same window position is assigned to the same
mission or event (as, for example, by assigning the top window always to
the Hubble Space Telescope for all pages), the first assigned timer number
will be displayed for all occurences in sequence.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 30


F4 Set DAYLIGHT and Defaults
------------------------------

Function Key F4 allows you to switch the system from local STANDARD
time to local DAYLIGHT time and set a number of program defaults. Pressing
F4 from the Main Menu displays the following menu:


Enter selection:
F1 Switch STANDARD/DAYLIGHT Time
F2 Set LOCAL NAME and TIME ZONE
F3 Restore Program DEFAULT DATA
F4 Set PAGE and TEXT Mode Delays [15,30]
F5 Enable/Disable SCREEN BLANKER [ON]
ESC Return to Main Menu
ENTER Resume Program JPLCLOCK

Enter selection:

Pressing ESC will return you to the Main Menu.

Pressing ENTER will resume operation of program JPLCLOCK.

Pressing F1 will switch the Daylight Flag between Standard time and
Daylight time. NOTE: This function does NOT change your computer's clock;
you must set the correct local time BEFORE using this function!

Pressing F2 will allow you to enter a new name for your location and
to set its standard UTC Offset (in hours) and Daylight Flag.

Pressing F3 will restore the "hard-coded" program default data for the
Local Name, Location Clocks and Mission Timers.

Pressing F4 will prompt you to enter new values for the PAGE delay and
the TEXT delay. See further discussion which follows below.

Pressing F5 will toggle the SCREEN BLANKER between ON and OFF and the
prompt on the menu will change accordingly. When the SCREEN BLANKER is OFF,
the screen is always active when the clocks are displayed. When the SCREEN
BLANKER is ON, the screen will be cleared if five minutes passes without a
key being pressed on the keyboard. The screen will be immediately restored
if any key (except non-typing keys such as CTRL and SHIFT) is pressed; the
screen is also automatically restored at 29 and 59 minutes past the hour.

Set PAGE and TEXT Mode Delays
-----------------------------

As noted above, pressing F4 on this menu will allow you to set the
PAGE and TEXT Mode Delays. The current values are shown at the right of the
prompt. The following information will be displayed and you will be asked
for the PAGE Delay:

PAGE Delay sets the time to display each page of Mission
Timers. TEXT delay set the time to display each text page.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 31


PAGE Delay must be between 5 and 900 seconds.
TEXT Delay must be between 5 and 900 seconds AND an even
multiple of PAGE Delay. The times are adjusted if necessary.

Enter PAGE Delay [15] (seconds):

The current PAGE Delay is shown in square brackets. Enter the desired new
value for the PAGE Delay in seconds or press ENTER to leave the present
value unchanged. You will then be asked for the TEXT Delay:

Enter TEXT Delay [30] (seconds):

The current TEXT Delay is shown in square brackets. Enter the desired new
value for the TEXT Delay in seconds or press ENTER to leave the present
value unchanged.
Note the minimum and maximum values allowed for these delays, 5 and
900 seconds respectively. Note also that the TEXT Delay must be an even
multiple of the PAGE Delay (for internal programming reasons). If this is
not the case, TEXT Delay will be automatically adjusted accordingly. The
values shown in the examples above are recommended as the minimum values
for JPLCLOCK. Smaller values may allow insufficient time for reading.
JPLCLOCK was originally designed for use with multiple events which
are well spaced in time such as NASA planetary missions. Typical events in
this environment are usually spaced minutes, hours, or even days apart.
When the Mission/Event Timers are used for fast paced events such as the
launch of a space shuttle (where events are separated by as little as a
second or two), set the PAGE Delay to 5 seconds and disable the TEXT mode.
Using that technique, JPLCLOCK will check all timers every five seconds and
select the page with events closest to Time Zero.
However, even with the PAGE Delay set to 5 seconds JPLCLOCK may miss
certain events which are spaced only a few seconds apart and which are on
different Mission/Event Timer pages. This is dependent upon the actual
times programmed compared to the PAGE Delay time; if an event occurs just
after the PAGE Delay, that page will be held for the full delay time and
other pages will not be checked until after the expiration of the delay
time. With the PAGE Delay set to 5 seconds, this means that page switching
may not occur until as many as four seconds have passed since Time Zero for
an event on a given page. Where practical, events should be programmed such
that there is more than twice the PAGE Delay separating events on different
pages.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 32


F5 Read or Save INI and MTD Files
-----------------------------------

Two types of files are used to save and restore information by
JPLCLOCK, distinguished by the filetypes ".INI" and ".MTD". INI files
include all program initialization, Location Clock, and Mission/Event Timer
data. MTD files include data for from 1 to 60 Mission/Event Timers only.
Pressing Function Key F5 from the Main Menu will display the following
menu:

F1 Read external INI File F3 Read external MTD File
F2 Save external INI File F4 Save external MTD File
ESC Return to Main Menu
ENTER Resume Program JPLCLOCK

Enter selection:

JPLCLOCK reads the file JPLCLOCK.INI each time it is started, and
writes a new JPLCLOCK.INI file each time the program is halted. This INI
file contains all the information about the local installation, the
Location Clocks, and the Mission Timers. For installations where only the
first six Mission Timers are used, this information will change only
infrequently and additional INI files will probably not be required.
Users may find it convenient to re-read the normal INI file,
JPLCLOCK.INI, if they have incorrectly changed information and wish to
restore the original information. (NOTE: Exiting program JPLCLOCK in this
situation will cause the incorrect information to be written to file
JPLCLOCK.INI and the original data in that file will be permanently lost!)
As a protection against this sort of problem, it is recommended that all
users create a standard INI file, named STANDARD.INI for example, that
represents the normal program configuration. This is most easily done by
verifying the configuration of JPLCLOCK (by running the program) and then
quiting the program and copying file JPLCLOCK.INI to file STANDARD.INI.
Function Key F1 may then be used from this menu to reload the standard
configuration at any time.
However, installations using JPLCLOCK in the PAGE mode may find that
advance preparation of INI and MTD files (using another computer running
JPLCLOCK) is very helpful in preparing for upcoming events on multiple
missions. In order to facilitate this process, JPLCLOCK can both read and
write INI files. This takes advantage of JPLCLOCK's internal editing
capabilities (using Function Key F3 from the Main Menu) and may avoid
errors due to manual editing and time/date conversions, especially when
various different time zones are involved. In most cases, only the
Mission/Event Timers change and therefore the MTD file format is
recommended. When a completely new setup is configured, the INI file format
is recommended.
A new set of Mission/Event Timers can be prepared on an "offline
computer", tested, and written to an MTD file for use on an "online
computer". Files may be exchanged via disk, local area networks, or
telecommunications software. Since the dates and times in an MTD file are
saved in the Julian Date format, these date are independent of time zone
and location. Once the new MTD or INI file has been loaded onto the "online
computer", JPLCLOCK may be paused, the new file read, and program operation
resumed. Performed in this manner, the entire updating process will take
the "online computer" offline for a few seconds. Any number of INI and MTD
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 33


files may be prepared in this fashion, the only requirement being that they
have unique names and the correct filetype.


READ and SAVE INI Files
-----------------------

INI files MUST have the file type ".INI". The filename may be any
legal file name EXCEPT "JPLCLOCK.INI". Manual editing of INI files is NOT
recommended; however, if this is done be certain to use a simple ASCII
editor or an editor which has a "non-document" mode. Although the format of
the INI file uses a simple comma-delimited format, an error in the file
structure may cause the program to operate incorrectly or to crash (halt
with an error message). If all else fails, delete the file JPLCLOCK.INI and
restart the program; JPLCLOCK will then use its internal default data and
construct a new INI file.
Press F1 to read an INI file or F2 to write an INI file. All files are
assumed to be in the current drive and directory. For file read operations,
the file must exist. For file write operations, if the file does not exist
it will be created and if the file does exist it will be overwritten. If
either F1 or F2 is pressed, the following prompt will be displayed:

INI files contain the setup and mission/clock data for JPLCLOCK.
Enter the name of the INI file which you wish to READ or SAVE.
Do NOT include a filetype; the program automatically adds '.INI'.
(ENTER = 'JPLCLOCK', ESC to CANCEL)
Enter filename to READ (without .INI):

If you have pressed F2 to SAVE, the word "READ" will be replaced by the
word "SAVE" in the sample above. Press ESC to CANCEL the file read or
write. Press ENTER to use the default file name JPLCLOCK.INI. Otherwise,
type the filename WITHOUT the ".INI" filetype followed by ENTER. JPLCLOCK
will automatically append ".INI" to the filename and then read or write the
file and return to this menu.


READ and SAVE MTD Files
-----------------------

MTD files are processed in a manner almost identical to INI files. The
default filename used if ENTER is pressed is JPLCLOCK.MTD. The principal
difference is that since only the Mission/Event Timer data is included,
JPLCLOCK must know which timers to SAVE or the first timer to which data
should be READ.
Pressing F3 to READ an MTD file will display the following prompts in
turn:

Enter FIRST TIMER NUMBER [1]:
Enter TIME OFFSET [0]:

In each case, the number enclosed in square brackets "[...]" is the default
response if ENTER is pressed. When reading an MTD file, only the first
Mission/Event Timer number is required. JPLCLOCK will read the file until
all data have been read or until timer 60 has been read, whichever comes
first. You may also add a TIME OFFSET to the Mission/Event Timer data as it
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 34


is read; this may be helpful if the schedule for the events in the MTD file
has changed. The TIME OFFSET is entered in one of the following formats:

+ddd/hh:mm:ss
+hh:mm:ss
-ddd/hh:mm:ss
-hh:mm:ss

where:

+ ADD the TIME OFFSET to event time
- SUBTRACT the TIME OFFSET from event time

ddd The number of DAYS to add/subtract to event time
/ Separates DAYS from TIME
hh The number of HOURS to add/subtract to event time
mm The number of MINUTES to add/subtract to event time
ss The number of SECONDS to add/subtract to event time
: Separates hours:minutes and minutes:seconds

Note that the days portion of the command, "ddd/", may be omitted if the
value is zero; omitting the days is equivalent to a days portion of "000/".
The number of digits shown for each portion of the command may not be
exceeded, but leading zeroes may be omitted.
Pressing F4 to SAVE an MTD file will display the following prompts in
turn:

Enter FIRST TIMER NUMBER [1]:
Enter LAST TIMER NUMBER [60]:

In each case, the number enclosed in square brackets "[...]" is the default
response if ENTER is pressed. The only constraints are that the LAST TIMER
NUMBER must be greater than or equal to the FIRST TIMER NUMBER, and no
timer number may exceed 60. After these special prompts are answered, the
next prompt requests the MTD filename:

MTD files contain only selected MISSION TIMER data for JPLCLOCK.
Enter the name of the MTD file which you wish to READ or SAVE.
Do NOT include a filetype; the program automatically adds '.MTD'.
(ENTER = 'JPLCLOCK', ESC to CANCEL)
Enter filename to READ (without .MTD):

If you have pressed F4 to SAVE, the word "READ" will be replaced by the
word "SAVE" in the sample above. Press ESC to CANCEL the file read or
write. Press ENTER to use the default file name JPLCLOCK.MTD. Otherwise,
type the filename WITHOUT the ".MTD" filetype followed by ENTER. JPLCLOCK
will automatically append ".MTD" to the filename and then read or write the
file and return to this menu.
The MTD file format is ideal for preparing Mission/Event Timer data
for multiple systems whose configuration and/or time zone may not be the
same. Since the time and data information is saved in the Julian Date
format, it is independent of the local time zone for any particular
installation of JPLCLOCK. Further, since the Mission/Event Timer number is
specified by the ultimate user, different users may select different timer
numbers to suit their own installations.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 35


Included with the JPLCLOCK files is STS43.MTD; this file has 13 events
associated with Space Shuttle Mission STS-43, scheduled for July 23, 1991.
The events include the important milestones of the ascent phase, the deploy
events for TDRS-E, and the deorbit burn and landing. Although the flight of
STS-43 is a one-time event, the MTD file may serve as an example of how to
prepare and use MTD files; for example, read the file into the system
starting at timer #43.
As with file STS43.MTD, events of interest may be prepared in advance
and distributed to users without regard for their location or time zone. By
maintaining a backup copy of their "standard" INI file, users may freely
read in MTD files, use them for as long as desired, then restore their
original configuration by reading in their "standard" INI file.
The same techniques may be used to move events from one set of timers
to another. First write the MTD file for the desired events, then clear the
timers involved (either one by one using F3+F1, or by reading in your
"standard" INI file), then read the MTD file just created using the new
timer numbers. After some experimentation, I discovered that it would be
handy to be able to add a time offset (plus or minus) to events as they are
being read from the MTD file so that schedule changes or delays might be
easily accommodated; the next version of JPLCLOCK will include an
additional prompt to permit you to add such an offset which will be applied
equally to all timer events being read.
Another use for the MTD file is to easily set up all active
Mission/Event Timer pages with the same set of events for the first several
timers. The sample INI file distributed with JPLCLOCK illustrates this
technique; the first three timers are always the same and only the bottom
three change from page to page. In this case, save an MTD file with the
desired "constant" events, then read that MTD file back on each active
timer page at the appropriate timer number. The "constant" events could as
easily be the last timers on each page by selecting the appropriate timer
numbers.


INI Files from Other Locations
------------------------------

Except when JPLCLOCK is first started, the information specific to
your location (Location Name, UTC Offset, Daylight Flag, etc.) is NOT
processed when you read an INI file using F1. Therefore, if you receive an
INI file from elsewhere, you should rename it to a convenient name (which
might remind you of the source of the data, for example) and then read it
into JPLCLOCK using F3. Since all of the remaining information in the INI
file is recorded using UTC, JPLCLOCK will be able to make the necessary
time conversions for display in your time zone.
If you wish to use missions or events from a received INI file, you
may read it in using F5, then save the desired information in selected
Mission Timer Pages to an MTD file. Having saved the information, you may
then re-read your own JPLCLOCK.INI file (press ENTER when asked for the INI
filename) and read the mission or event data you saved to the MTD file
using F5 as usual. Note that the times and dates shown on each Mission
Timer page are always Coordinated Universal Time (UTC), not your local
time, so the times will automatically be adjusted for your location and
time zone.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 36


F6 Self-Calibration using TIMESET
-----------------------------------

Function Key F6 enables a special self-calibration procedure which
causes JPLCLOCK to use program TIMESET to perform a series of calibration
measurements over a period of 7 hours. Note that TIMESET must have been
correctly configured and tested prior to automatic use. See the procedure
for configuring TIMESET in the section F10 TIME SYNCHRONIZATION below and
read the TIMESET documentation.
When the Self-Calibration procedure is initiated, JPLCLOCK immediately
makes a call using TIMESET and resets the drift and offset parameters. The
program then makes subsequent calls at 1, 2, and 4 hour intervals (for a
total of four calls) to enable calculation of new parameters. When the last
call has been completed, a reasonable calibration of the DOS clock should
have been calculated.
The computer must be allowed to run JPLCLOCK continuously during the
procedure. However, the usual commands are available for use between calls
PROVIDED you do not exit to DOS and the clocks are displayed when the time
comes to make each call. Of particular interest after the second call (in
other words, after more than one hour has elapsed since the procedure was
started) is the calculated DOS Clock Drift. With the main clock display on
the screen, press ENTER twice to obtain the Main Menu, then press F10+F1 to
view the current data:

DOS time: 06:45:26.17 07-05-1991
CMOS time: 06:45:27 07-05-1991
JPLCLOCK time: 06:45:27 PDT 13:45:27 UTC
JPLCLOCK date: 07/05/1991 07/05/1991

JPLCLOCK will start automatically in 88 seconds

Current Julian Date: 2448443.073229
Last Synchronized: 2448442.500926
Time since Last Sync: 0.572303 days
Current Clock Offset: 0.00 seconds
Current DOS Drift Rate: -1.512899 seconds/day
Current Total Adjust: -0.87 seconds

Press ESC for Sync Menu, ENTER to ADJUST data:

In the example above, about half a day has elapsed since the last
synchronization was performed. As a result of that measurement, JPLCLOCK
has calculated that the drift rate of the DOS clock is -1.512889 seconds
per day and that the current time must be adjusted by SUBTRACTING -0.87
seconds from the DOS clock. Above these data are four time displays showing
the present DOS clock (the one being calibrated), the CMOS clock (the
computer's hardware clock), and the JPLCLOCK time and date both for the
local time zone and for UTC. The JPLCLOCK time is the time displayed in the
Main Clock window and reflects the current calculated adjustment from the
DOS time.
When using self-calibration, ALWAYS press ESC after viewing these data
to return to normal operation. If you press ENTER by mistake, press the TAB
key to leave all items unchanged.
JPLCLOCK generates a "temporary" automatic synchronization schedule
during self-calibration, saving the prior schedule (if any). Thus, the
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 37


program will perform the procedure over 7 hours and then revert to the
original automatic schedule (if automatic synchronization is ENABLED) or
turn off automatic synchronization (if automatic synchronization is
DISABLED). You may verify the current status of the automatic
synchronization from the Main Menu by pressing F10+F3; this will show the
schedule now in effect; note that the times shown in the schedule are UTC.

F1 Execute TIMESET (Manual)
F3 Set Automatic Synchronization: ENABLED
NEXT TIME = 00:55:00 UTC
START = 08:55:00 UTC
INTERVAL = 04:00:00
ESC Return to Sync Menu
ENTER Resume Program JPLCLOCK

Enter selection:

In the example shown, the automatic synchronization schedule has been set
to start at 00:55:00 UTC and repeat every four hours. Comparing this
schedule against the current time, JPLCLOCK will next perform the
synchronization at 08:55:00 UTC.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 38


F7 Switch TEXT Mode
---------------------

Function Key F7 permits you to enable or disable the TEXT mode
provided the text file JPLCLOCK.MSG is present on the current drive and
directory when the program is started. This command is equivalent to the
"/TEXT" command line option. If the file JPLCLOCK.MSG has been added while
using the DOS SHELL (F9), the text will NOT be available since the file is
read ONLY when JPLCLOCK is started from DOS. Quit program JPLCLOCK and
restart the program if you wish to add or edit JPLCLOCK.MSG.


F8 Switch PAGE Mode
---------------------

Function Key F8 permits you to enable or disable the PAGE mode. This
command is equivalent to the "/PAGE" command line option. Disabling the
PAGE mode will also disable the TEXT mode if it is currently enabled.


F9 DOS Shell (DOS 3.3+ ONLY)
------------------------------

Function Key F9 invokes the DOS SHELL, loading a second copy of
COMMAND.COM and displaying the usual DOS prompt. Most DOS commands and
programs are now available. To return to JPLCLOCK, type the following at
the DOS prompt (followed by ENTER):

EXIT

Note that using the SHELL with versions of DOS prior to Version 3.3
may yield unpredictable results. Because program JPLCLOCK remains in memory
and a second copy of COMMAND.COM is also loaded into memory, the memory
available to execute programs under the SHELL is considerably reduced. Some
programs may fail to execute due to insufficient memory or you may receive
an "Out of Memory" message. If this happens, check to see that all TSR
(Terminate and Stay Resident) programs that are not required have been
disabled. If this does not solve the problem, the program in question
cannot be executed with the shell.
Except for the potential memory problem, the SHELL operates exactly
the same as normal DOS. Although JPLCLOCK is resident in memory, it is not
active. The timer which causes execution of the program to automatically
resume after some seconds is therefore also NOT active and the computer
will remain in the SHELL until you type "EXIT" followed by ENTER.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 39


TIME SYNCHRONIZATION
--------------------

As discussed at length elsewhere, the hardware and software clocks on
the typical personal computer do not keep accurate time. In order to use
JPLCLOCK in a critical installation such as the JPL Multimission Computer
Control Center, additional steps must be taken to ensure the accuracy of
the JPLCLOCK display.

NOTE: Before proceeding with this section, please read the section DOS
CLOCK CALIBRATION below. An understanding of that section and its
procedures is essential before time synchronization is attempted.

Time synchronization may be accomplished either manually (using the
DOS TIME command outside program JPLCLOCK) or by using the program TIMESET.
TIMESET, in turn, may be invoked either on demand or its use may be
scheduled to occur at any desired interval. The balance of this section is
concerned with the use of program TIMESET. TIMESET is copyrighted software
distributed separately, and it must be registered before regular use. See
the TIMESET documentation for details. (Additional information on TIMESET
is also given in the section DOS CLOCK CALIBRATION, below.)


Configuring Program TIMESET
---------------------------

JPLCLOCK has been tested ONLY with Professional TIMESET Version 6.0
and may not operate correctly with other versions of the program. Before
program TIMESET may be used with JPLCLOCK it must be configured for your
computer system. In addition to the "regular" configuration described in
the TIMESET documentation, an additional process is required here. In order
for TIMESET to operate successfully with JPLCLOCK, two special versions of
the program must be prepared: one for your local STANDARD time and one for
your local DAYLIGHT time. If you have not already done so, configure
TIMESET by entering the following command at the DOS prompt:

TIMESET /C

The following configuration screen will be displayed for your
approval. The information shown here is that used on one of my test
computers.

Outside phone: NULL
Naval Observatory: 12026530351
Inst. Stds. Technol.: 13034944774

===> Time zone: PACIFIC
===> Time season: STANDARD

Serial port: COM1
Dialing method: TONE
Dialing baud rate: 2400
Lock modem speed: NO


Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 40


User's commands: L2X4S7=45&C1&D2

Computer clock: DOS CLOCK-CALENDAR

===> Immediate/countdown: IMMEDIATE
===> Manual/automatic: AUTO NIST
Video type: COLOR

You will not need to change some of the information shown here. Verify that
the modem information is correct. You WILL need to set your TIME ZONE to
the correct zone and to set the TIME SEASON to STANDARD. Make sure the
IMMEDIATE/COUNTDOWN is set to IMMEDIATE and that MANUAL/AUTOMATIC is set to
AUTO NIST or AUTO USNO (depending upon the time service you wish to use.
The four critical items are each marked with an arrow ("===>") in the
sample above. Once all data are correct, press F10 to save the configured
version, then ESC to exit the program.
You will now have a program file, TIMESET.COM which represents your
basic TIMESET configuration for STANDARD time in your time zone. It may be
used at any time by simply entering the following command at the DOS
prompt:

TIMESET

Use the DOS COPY command to save a separate STANDARD TIME version of this
program for JPLCLOCK's use:

COPY/B TIMESET.COM TIMESTD.COM

Now, repeat the configuration process by entering the command "TIMESET /C"
and leave everything the same EXCEPT change the TIME SEASON to DAYLIGHT.
Press F10 when you have made the change to save a DAYLIGHT version of
TIMESET. Then use the DOS COPY command to save a separate DAYLIGHT TIME
version of this program for JPLCLOCK's use:

COPY/B TIMESET.COM TIMEDAY.COM

Use the DOS DIR command to be certain that you now have two specially named
versions of TIMESET on disk:

TIMESTD.COM
TIMEDAY.COM

Copy these two files to your JPLCLOCK disk and/or directory.


IMPORTANT NOTE
--------------

Unfortunately, TIMESET cannot be instructed to select
STANDARD TIME or DAYLIGHT TIME from the command line,
only by changing the its configuration. JPLCLOCK
already knows which time season is in effect and uses
these two special versions of TIMESET as appropriate.
If these two files are not present, JPLCLOCK's auto-
matic time synchronization functions will NOT execute
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 41


correctly!

CHECK AGAIN TO BE SURE THESE TWO FILES ARE IN YOUR
JPLCLOCK DRIVE AND DIRECTORY:

TIMESTD.COM
TIMEDAY.COM

TEST BOTH PROGRAMS CAREFULLY TO BE CERTAIN THAT EACH
VERSION CALLS THE SELECTED TELEPHONE TIME SERVICE AND
SETS YOUR COMPUTER CLOCK CORRECTLY AND FOR THE SELECTED
TIME SEASON. JPLCLOCK HAS NO WAY OF DETECTING IF YOUR
COMPUTER CLOCKS ARE SET INCORRECTLY!

This completes configuration of program TIMESET for use with JPLCLOCK.
It might be wise to make backup copies of the two special versions of the
program so that they will be readily available if needed.


Time Synchronization Menu
-------------------------

F1 VIEW or SET Time Sync Data
F3 TIMESET Time Synchronization
F5 MANUAL Synchronization
ESC Return to Main Menu
ENTER Resume Program JPLCLOCK

Enter selection:

Select F1 to view the current time synchronization data or to manually
execute program TIMESET. Select F3 to enable or disable automatic time
synchronization using program TIMESET. Select F5 to manually synchronize
the DOS clock against an external source such as radio station WWV using
audio tones.


VIEW or SET Time Sync Data
--------------------------

Current Julian Date: 2448430.351713
Last Synchronized: 2448428.036412
Time since Last Sync: 2.315301 days
Current Clock Offset: 0.00 seconds
Current DOS Drift Rate: -3.034839 seconds/day
Current Total Adjust: -7.03 seconds

Press ESC for Sync Menu, ENTER to ADJUST data:

Press ESC to return to the Time Synchronization Menu, or press ENTER to
adjust the Last Synchronized, Clock Offset, and/or DOS Drift Rate
parameters. See the section DOS CLOCK CALIBRATION for additional
information on measuring these parameters. During CALIBRATION or after the
DOS software clock has been correctly set, do NOT manually adjust these
data!
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 42




TIMESET Time Synchronization
----------------------------

F1 Execute TIMESET (Manual)
F3 Set Automatic Synchronization: ENABLED
NEXT TIME = 16:55:00 UTC
START = 00:55:00 UTC
INTERVAL = 08:00:00
ESC Return to Sync Menu
ENTER Resume Program JPLCLOCK

Enter selection:

Press F1 to immediately execute program TIMESET. JPLCLOCK will select
either program TIMESTD or TIMEDAY depending on whether it is set for
STANDARD or DAYLIGHT time.
Press F3 to enable, disable, or change the automatic time
synchronization function. The sample shown above indicates that the
automatic function is ENABLED, that it will next occur at 16:55:00 UTC, and
that JPLCLOCK will automatically schedule time setting starting at 00:55:00
UTC each day and at eight hour intervals thereafter. Press ENTER to DISABLE
the automatic time synchronization feature, or enter the START time and the
TIME INTERVAL when requested.
As a general rule and to minimize use of the NIST and USNO telephone
time services, the longer the synchronizing interval, the more accurate the
time measurements. This is because the DOS clock ticks occur at 55
millisecond intervals and in order to maintain the desired accuracy of plus
or minus 250 milliseconds per day or better, this "granularity" should be
small compared to the total time used to make the measurements. Where
practical, I recommend a normal interval of at least 8 hours and preferably
12 or more hours (after initial calibration).


MANUAL Synchronization
----------------------

Current Julian Date: 2448453.693785
Last Synchronized: 2448448.302674
Time since Last Sync: 5.391111 days
Current Clock Offset: -0.50 seconds
Current DOS Drift Rate: -1.512899 seconds/day
Current Total Adjust: -8.66 seconds

(Press ESC to return to Sync Menu)

Press: +/= to INCREMENT - to DECREMENT
Z to RESET Offset S to SET Sync Time

Manual Synchronization causes JPLCLOCK to present the display shown
above and to generate a brief tone each second. This may be compared to the
one second "ticks" generated by radio station WWV and JPLCLOCK's tone
adjusted in 50 millisecond increments until the two tones occur
simultaneously. It is my experience that synchronization to within about
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 43


100 or 150 milliseconds may be obtained using this technique.
Press the "+" or "=" (an unshifted "+" for convenience) key to
increment the Current Clock Offset, or press the "-" key to decrement the
Current Clock Offset. When you are satisfied that JPLCLOCK is synchronized
as accurately as is possible, press the "S" key (upper or lower case) to
set the synchronization time for use in drift calculations. Press the "Z"
key (upper or lower case) to reset the Current Clock Offset.
While not as accurate as using the NIST or USNO Telephone Time
Services, this method can be used over extended times to calibrate JPLCLOCK
to reasonable accuracy. The only additional equipment required is a
shortware receiver capable of receiving WWV, WWVH or a similarly accurate
time source. WWV and WWVH may be received on the following frequencies:

2.5 MHz
5.0 MHz
10.0 MHz
15.0 MHz
20.0 MHz (WWV only)

The quality of reception will vary with time of day, atmospheric conditions
and distance from the transmitter (Fort Collins, CO or Hilo, HI).
Propagation delay may be estimated at approximately 5 microseconds per
statute mile or 5 milliseconds per 1,000 miles, probably not significant
when performing manual synchronization.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 44


LAUNCH SUPPORT
--------------

JPLCLOCK was originally designed to support long term missions such as
the Voyager, Ulysses, Magellan, and Galileo spacecraft. It was not intended
to support fast paced mission events such as the launch of the Space
Shuttle. One day prior to the actual launch of STS-43, I learned to my
surprise that the NASA/JPL Multimission Computer Control Center (MCCC) was
supporting the STS-43 launch of Atlantis and the TDRS-E satellite in real
time! Charles White at JPL was one of the few people in NASA who was
relieved that the STS-43 launch was scrubbed on July 31st; it gave him (and

me) time to prepare an "emergency update" to JPLCLOCK to support real time
launches. But not too much time -- the launch was rescheduled with only a
24-hour delay!
The problem with JPLCLOCK was not that it could not follow a
preprogrammed scenario such as the ascent timing for a space shuttle
launch, but that when holds are extended as happened on the scrubbed launch
attempt it is almost impossible to adjust all of the event times "on the
fly". Version 9131 addressed this situation by adding a "LAUNCH SUPPORT"
mode which allows the user to force JPLCLOCK to continuously adjust all of
the mission event times during an extended hold, then release the hold
coincident with the actual event. The only tricky part is knowing what the
proper hold times are.
In order to accommodate this situation, the Launch Support mode has
been added to JPLCLOCK. With JPLCLOCK operating and the clocks displayed on
the screen, Function Key ALT-F7 now enables the LAUNCH SUPPORT mode. The
program requires several entries to support this new mode. A sample space
shuttle ascent MTD file, STS43F.MTD, is included for testing and
demonstration.

Enter KEY TIMER NUMBER [1]:

Enter the Mission/Event Timer number corresponding to Time Zero. For
file STS43F.MTD, this is number 42, "STS-43 Launch". Press ENTER to
accept the default value shown in the square brackets.

Enter FIRST TIMER to adjust [1]:

Enter the number of the first Mission/Event Timer whose time is to be
adjusted. For file STS43F.MTD, this number is the default, 1.

Enter LAST TIMER to adjust [60]:

Enter the number of the last Mission/Event Timer whose time is to be
adjusted. For file STS43F.MTD, this number is 59 (although accepting
the default value of 60 causes no problems in this case since Timer 60
is unprogrammed).

Enter HOLD TIME (HH:MM:SS):

Enter the POSITIVE time before Time Zero at which you wish JPLCLOCK
to hold. For example, if you wish to hold JPLCLOCK at the end of the
final T-9 minute hold in the launch sequence, enter "00:09". The
following screen sample illustrates the screen messages which appear.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 45


----------------- LAUNCH SUPPORT -----------------

Launch Support allows the user to continuously
adjust the mission LAUNCH TIME using a KEY TIMER
and a set HOLD TIME. When the HOLD TIME releases,
press ALT-F7 to resume normal operation.

Enter KEY TIMER NUMBER [1]: 42
Enter FIRST TIMER to adjust [1]: 1
Enter LAST TIMER to adjust [60]: 59
Enter HOLD TIME (HH:MM:SS): 00:09

Once this information has been entered, JPLCLOCK will adjust the
selected range of Mission/Event Timers such that the selected Key Mission
Timer is held at the specified HOLD TIME. The various time of day clocks
will continue to keep the appropriate time but the Mission/Event Timers
will appear frozen. The following message will appear below the active main
timers:

----------------- LAUNCH SUPPORT -----------------

STS-43 Launch

COUNT IS HOLDING

-00:09:00

Press ALT-F7 to RELEASE HOLD!

When the instant comes to release the hold, press ALT-F7 again and all
Mission/Event Timers will resume counting. Note that JPLCLOCK checks to see
if ALT-F7 has been pressed just before it updates the various times on the
screen. Therefore, press ALT-F7 just BEFORE the seconds change to the time
at which the hold is to be released. For example, if the hold is to be
released at 11:23:00, press ALT-F7 while the clock reads 11:22:59.
This process may be repeated as many times as necessary during the
course of a launch. In the past, for example, space shuttle launch holds
have been extended at T-20 minutes, T-9 minutes, and T-31 seconds. The
first two times are normal holds and the last is an unscheduled hold which
is not normally used but which is available if necessary.
For any of these holds, the HOLD TIME entered should be the time
remaining before launch when the hold ENDS. The holds at T-20 and T-9 are
normally ten minutes in duration and the following HOLD TIME should be used
for these holds:

T-20 minutes HOLD TIME = 00:30

T-9 minutes HOLD TIME = 00:09
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 46


DOS CLOCK CALIBRATION
---------------------

The primary purpose of JPLCLOCK is to display the current time and
other related information in the JPL Multimission Computer Control Center.
Accuracy and precision in that environment are essential. There is a
tendency these days to accept whatever a computer says as the absolute
truth without regard for whether or not the information is even
"reasonable". For something as basic as time, even an experienced computer
user often assumes that it is correct. JPLCLOCK attempts to match reality
with that expectation.
Given that a computer clock has been set with reasonable accuracy, the
computer's time will indeed be sufficient for many applications; if you are
using a word processing or spreadsheet program, knowing the time to within
a minute or two is probably adequate. For JPLCLOCK, however, this level of
accuracy simply will not suffice; when used in the Multimission Mission
Control Center, the information displayed must be correct to within less
than a second. Unless other steps are taken to set the clock and to
maintain its accuracy, this will not be the case. No matter how accurately
the clock on a typical personal computer is set, it will only be a matter
of hours before the time will have drifted by some seconds. Measured over a
number of days, the accumulated errors can easily amount to a minute or
more.
The timekeeping operations of an IBM-compatible computer are actually
performed by two separate and independent functions: a clock-calendar
integrated circuit and lithium battery combination which maintains the
current time and date in hardware; and a section of the MS-DOS or PC-DOS
operating system software which maintains the current time and date in
software. When computer power is off, the hardware chip continues to
operate using its battery; when the computer is started ("booted"), the
operating system software reads the hardware clock and sets its internal
software clock. Absent special software, the DOS time thereafter relies
entirely on the software clock until the next time the computer is
restarted. Unfortunately, neither of these clocks was designed for
accuracy; early versions of the PC did not even include the
hardware/battery arrangement. Even the typical electric clock, which uses
the power line frequency for its timekeeping reference, is far more
accurate.
The accuracy of the DOS time at any instant is the result of the
accumulated errors in both clocks. The hardware clock will drift as a
function of time, temperature, and crystal aging; the software clock will
gain or lose time depending upon the skill with which its software was
written and how well that software "cooperates" with the balance of the
computer's hardware and software. Some software, especially network and
high speed communications software, can prevent the DOS clock software from
incrementing when it should, usually resulting in the DOS clock losing
time. The problem was compounded with the release of DOS Version 3.3;
beginning with that version, the DOS TIME and DATE commands adjust BOTH the
hardware and software clocks and thereby potentially eliminate the hardware
clock as even a modestly reliable reference. If today's personal computers
used the power line frequency as their primary reference, and only used the
battery powered crystal oscillator if the power line was not present, clock
accuracy could at one stroke be improved by at least several orders of
magnitude.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 47



Setting DOS Time
----------------

Bearing these considerations in mind, there are a number of approaches
to the DOS time question. The most obvious approach, used by the vast
majority of computer users, is to either ignore the computer clock entirely
or to say "It's close enough". Regardless of the application, I strongly
recommend that the DOS clock be set to the approximate time if only to
assure that files are more or less correctly date stamped. If the accuracy
of DOS time is important, the computer clock may be set or synchronized
in a number of ways, some of which are described below. In this context,
"ACCURACY" means the accuracy of the time setting operation and NOT the
longer term accuracy of the DOS time.

1. TELEPHONE: Many local telephone companies offer a telephone time
service, usually with a message such as "When you hear the signal
the time will be ... (beep)". I am not aware of any commercial
equipment which uses this signal for time setting purposes.

ACCURACY: Generally plus or minus 5 seconds. With the advent of
digital voice response equipment, the accuracy has improved in
recent years to perhaps plus or minus 1 second.

2. COMMERCIAL RADIO: Use commercial radio hourly time signals to
manually set the time. (My experience suggests that the CBS time
signal is normally quite reliable.)

ACCURACY: Usually within plus or minus 2 seconds, depending upon
the source.

3. SHORTWAVE RADIO: Time signals are broadcast on shortwave radio
stations WWV and WWVH by the National Institute of Standards and
Technology. These time signals may be used to manually set the
time. WWV and WWVH broadcast on several frequencies: 2.5MHz,
5MHz, 10MHz, 15MHz, and 20 MHz (WWV only). Reception will vary
according to your distance from the transmitter, time of day, and
atmospheric conditions. These time signals are very precise; the
only major variable is the propagation delay, the time it takes
the radio signal to travel from the transmitter to your receiver.
The typical propagation delay is approximately 5 microseconds per
mile. Outside North America, other national radio services such
as the British Broadcasting Company's BBC World Service offer
accurate hourly shortwave time signals.

ACCURACY: Time setting using WWV or WWVH can usually be performed
to within about plus or minus 250 milliseconds, of which up to 25
milliseconds is transmission time and the balance is user
response time. With practice, plus or minus about 100
milliseconds is practical.

4. NIST/USNO TELEPHONE TIME SERVICE: When real precision and
accuracy are required, the computer clock may be set remotely
using the telephone time service of either the National Institute
of Standards and Technology (NIST, formerly the National Bureau
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 48


of Standards or NBS) in Boulder, Colorado or Hilo, Hawaii, or the
U.S. Naval Observatory (USNO) in Washington, D.C. This method
requires a modem connected to a telephone line and is available
for systems using DOS version 3.3 or higher AND equipped with
80286 processor or higher; some 8088-equipped systems may also
use this method depending upon the type of clock hardware
installed and the version of DOS being used. The recommended
method uses the program TIMESET (see below) although other
similar commercial and shareware programs are available.

ACCURACY: This is the most accurate method available for setting
the DOS clocks. Depending upon which service is used, NIST or
USNO, and whether or not line delay compensation ("lag") is
employed, the DOS time can be set to within plus or minus 2
milliseconds. However, since the "time ticks" of the DOS software
clock occur every 55 milliseconds, or 18.2 times per second, this
"granularity" effectively limits the accuracy of reading the DOS
clocks. See the documentation for program TIMESET for additional
discussion.

5. HEATH GC-1000 MOST ACCURATE CLOCK: The GC-1000 is a combination
digital clock and scanning shortwave radio receiver which may be
equipped with an RS-232 communications port for use with
computers and other electronic equipment. This is the only method
which provides more or less continuous accurate time information.
RECOMMENDED!

ACCURACY: When properly configured for your location, equipped
with an external antenna, used with appropriate computer
software, and when the receiver is locked to one of the WWV (or
WWVH) time signals, the GC-1000 can provide time information and
a standard calibration frequency to an accuracy of plus or minus
10 milliseconds. When signal lock is lost, the receiver scans the
5MHz, 10MHZ, and 15MHz broadcasts to reacquire signal and lock.
Even after signal lock is lost, the receiver maintains an
accuracy of plus or minus 100 milliseconds for some hours.

Choose one of the methods suggested or a suitable alternative based
upon your precision and accuracy requirements. Other methods of maintaining
an accurate time standard, such an atomic clocks and NIST time code
equipment, are available -- for a price. Those methods are beyond the scope
of program JPLCLOCK and this documentation.


Maintaining DOS Time
--------------------

Just in case you missed the point earlier, accurately setting DOS time
is only half the battle. Even if the DOS time is set very precisely as
discussed above, all that assures is that the time is correct to the
required accuracy at that instant. The problem then becomes one of knowing
how the DOS clocks change or drift with time and how to compensate for
those changes or, alternatively, checking the DOS time frequently enough
that any drift on the part of the DOS clocks is acceptable for the intended
application.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 49


Of the two clocks in a typical personal computer, the hardware clock
is considerably more consistent and reliable. I have checked perhaps a
dozen PC hardware clocks in recent years, and almost all kept reasonably
good time over a period of several days; as expected, none kept "perfect"
time. Typical drift rates ranged from about 3 seconds per day to near zero
seconds per day, with the magnitude and direction of the drift more or less
constant over the period of measurement. Once a hardware clock has been
calibrated, therefore, the drift can be calculated with reasonable accuracy
over periods of some weeks or more; for these results, the computer must
always be left on and the ambient temperature held constant. Crystal aging
rates suggest that calibration should be performed at least annually.
The hardware clock is normally interrogated only when the computer is
first started or rebooted. The correct time can therefore only be predicted
at that moment for a calibrated hardware clock and given the last time that
clock was synchronized with an appropriate time standard. Microsoft
provides no standard software tools for interrogating the hardware clock at
other times. Quite the contrary; beginning with DOS Version 3.3, using the
DOS TIME and DATE commands to set the DOS software clock will also set the
hardware clock and effectively destroy its usefulness as a calibrated time
reference. I am at a complete loss to understand the reasoning behind this
change in DOS; I presume that users were being "confused" by differences
between the hardware and software clocks; instead of either explaining or
fixing the problem, Microsoft elected to "legislate" the problem away -- a
process any politician would recognize instantly. The only mitigating
consideration is that any really effective solution would probably require
hardware as well as software changes. Blame IBM, I guess.
The software clock provides the only time information accessible to
DOS using standard software. Since this clock is maintained entirely in
software, with no reference to the hardware clock except at bootup, it is
at the mercy of other software which may execute from time to time. The
software clock increments its time using "interrupts", a technique which
stops a software process in progress just long enough to do the required
tasks and then resumes the interrupted process. These interrupts occur
every 55 milliseconds. So long as none is missed, the software clock should
keep accurate time -- if the software is written correctly and if the
computer's crystal controlled oscillator is in turn accurate. It may be
that neither of these conditions is true; certainly the crystal controlled
oscillator (quite similar to the one which runs the hardware clock) was not
designed for accuracy or stability. It's original purpose was solely to
generate the necessary timing signals for the correct operation of the
computer. Cost, not keeping accurate time, was the primary consideration in
its design.
Other software designers have contributed to the problem by writing
software which, deliberately or inadvertently, prevents the software clock
from being updated. Off-brand BIOS firmware can present occasional
problems. Local Area Network (LAN) and high speed communications software
are typical culprits in this respect. For example, a casual check of the
clock while using Brooklyn Bridge (a computer-to-computer transfer program)
indicated that the clock was effectively suspended when data transfers were
in progress. In one relatively brief period, the DOS clock lost about 30
seconds.
As a result of all of these factors, the accuracy of the DOS software
clock can vary wildly from one computer to the next and from one
manufacturer to another. One inexpensive "clone" computer that I'd rather
forget couldn't manage to keep time to better than about 30 seconds per
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 50


HOUR! Before planning to use a particular computer as a time reference with
programs like JPLCLOCK, check the computer hardware and software you intend
to use very carefully.


Calibrating DOS Time
--------------------

Regardless of the method used, the DOS time must be set from time to
time in order to maintain even reasonable accuracy. More demanding
applications will require calibration of the hardware or software clock or
both. The method and frequency of calibration will depend upon your
accuracy requirements and cost. For my "normal" work, involving program
development and word processing, I use NIST station WWV and a digital
PLL shortwave receiver to manually set my computer clocks on a regular
basis. From time to time I require higher accuracy; given my location in
California, I usually use a program like TIMESET to call the NIST Telephone
Time Service in Boulder, Colorado when precise time setting is required.
When using a program such as JPLCLOCK where consistent accuracy is
essential over extended periods of time, calibration of the hardware and
software clocks may be required. I recommend program TIMESET for this
purpose. TIMESET is a copyrighted program by Peter Petrakis which is
distributed using the "shareware" concept. If not available on a
convenient bulletin board system, TIMESET may be obtained by writing:

Life Sciences Software
8925 271st N.W., Suite 112
P.O. Box 1560
Stanwood, WA 98292

(206) 387-9788

US$35.00/copy (as of April, 1991)

TIMESET is an elegant and very precise method for setting the hardware
and software clocks in your computer. Note that TIMESET sets your computer
based upon Coordinated Universal Time (UTC) rather than UT1; the offset
between UTC and UT1 is displayed by TIMESET but is not used. TIMESET is
superior to any of the several other similar programs I have evaluated. You
must have a modem and a telephone line connected to your system to use
TIMESET. Note that the process involves making a telephone call to either
Boulder, CO or Washington, DC and toll or long distance charges may apply!
For additional information on configuring TIMESET for use with JPLCLOCK,
see the section TIME SYNCHRONIZATION.
The current version of TIMESET, Version 6.0, is not without its
shortcomings. First, if the modem does not make connection to a telephone
line correctly, TIMESET may hang indefinitely waiting for a response from
the modem which will never arrive. This is the case with one of my internal
modems that is convinced that the first call after initialization is at
2400 baud; since the call to NIST is being made at 1200 baud, the modem is
definitely "confused". This problem has not been observed when using a
standard Hayes 2400 modem. Second, TIMESET does not record the statistical
results of its operations to a disk file. This means that calibration must
be performed manually; normal time setting, however, operates automatically
with no problems. Third, TIMESET does not return an "error code" to
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 51


indicate whether or not synchronization was successfully performed. I hope
to convince Mr. Petrakis of the need to address these relatively minor
problems in an otherwise excellent program.
The method being used for time synchronization and adjustment will
determine whether or not calibration of your hardware clock is required. If
you use the Heath GC-1000 Most Accurate Clock, calibration is probably not
required. Similarly, if you place a program like TIMESET in your
AUTOEXEC.BAT file and synchronize your DOS clocks every time you start your
computer, hardware calibration is not required. If, on the other hand, you
wish to call NIST as infrequently as possible so as to minimize the
telephone charges, hardware clock calibration is definitely recommended.
Unless you use the Heath GC-1000 (or some other time standard) and poll it
regularly, calibration of the software clock is always required.
The following suggested calibration procedures assume the use of
program TIMESET and that TIMESET has already been configured for your
computer and for your time zone. See the TIMESET documentation for
instructions. If you use some other program, it must provide similar
information and you must make appropriate changes to these procedures as
required by the software actually used.


Manual Hardware Clock Calibration
---------------------------------

Hardware clock calibration requires a minimum of 48 hours to
accomplish. The computer should be located in the environment in which it
is expected to operate and should be turned on and off at the "usual"
times. The idea is to duplicate the actual operating conditions to the
maximum extent possible, especially temperature. The following procedure is
suggested:

1. Operate the computer in its normal environment and according to
its usual schedule for at least 24 hours prior to the test.

2. Set the hardware clock using TIMESET according to instructions.
Use a screen capture program or manually record the ACTION
SUMMARY prepared by TIMESET. The most significant information is
shown as:

Local computer time was: 06:59:41.95
Set to: 06:59:44.01 Pacific Daylight
Local computer date was: 06-19-1991
Set to: 06-19-1991, Wednesday

3. Operate the computer normally for the next 24 hours. Do NOT use
the DOS DATE and TIME commands!

4. After approximately 24 hours, reboot the computer and repeat the
time setting with TIMESET and record the same information as in
Step 2.

5. Using the data obtained in Steps 2 and 4, calculate the hardware
clock drift in seconds per day.

6. Operate the computer normally for the next 24 hours. Do NOT use
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 52


the DOS DATE and TIME commands!

7. After approximately 48 hours, reboot the computer and repeat the
time setting with TIMESET and record the same information as in
Step 2.

8. Using the data obtained in Steps 4 and 7, again calculate the
hardware clock drift in seconds per day. Repeat as required until
consistent results are obtained. If consistent results cannot be
obtained, the selected computer may not be suitable for your
intended use.

NOTE: The current version of JPLCLOCK does not directly use the hardware
clock drift in its time adjustment calculations. This capability will be
added in a future version. Instead, JPLCLOCK accepts a "Clock Offset" value
which represents the total hardware clock drift in seconds between the last
time synchronization was performed and the most recent time the computer
was booted. If the computer is always synchronized immediately prior to
running JPLCLOCK, the hardware calibration is not required and the Clock
Offset should be set to zero.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 53


Manual Software Clock Calibration
---------------------------------

Manual software clock calibration is quite similar to hardware clock
calibration and is recommended for all installations using JPLCLOCK which
do not plan to use the automatic synchronization and calibration features
of the program. The recommended procedure requires 28 hours to accomplish.
The computer should be located in the environment in which it is expected
to operate and should be turned on and off at the "usual" times. The idea
is to duplicate the actual operating conditions to the maximum extent
possible, especially temperature. The following procedure is suggested:

1. Operate the computer in its normal environment and according to
its usual schedule for at least 24 hours prior to the test.

2. Set the hardware and software clocks using TIMESET according to
instructions. Use a screen capture program or manually record the
ACTION SUMMARY prepared by TIMESET. The most significant
information is shown as:


Local computer time was: 06:59:41.95
Set to: 06:59:44.01 Pacific Daylight
Local computer date was: 06-19-1991
Set to: 06-19-1991, Wednesday

3. Operate the computer normally for the next 4 hours. "Normal
operation" means using the particular software, JPLCLOCK in this
case, that is planned for the computer. Do NOT use the DOS DATE
and TIME commands!

4. After 4 hours, repeat the time setting with TIMESET and record
the same information as in Step 2.

5. Using the data obtained in Steps 2 and 4, calculate the software
clock drift in seconds per day.

6. Operate the computer normally for the next 12 hours. "Normal
operation" means using the particular software, JPLCLOCK in this
case, that is planned for the computer. Do NOT use the DOS DATE
and TIME commands!

7. After 12 hours, repeat the time setting with TIMESET and record
the same information as in Step 2.

8. Using the data obtained in Step 7, again calculate the software
clock drift in seconds per day. Repeat as required until
consistent results are obtained. If consistent results cannot be
obtained, the selected computer may not be suitable for your
intended use.

9. Now enter the latest synchronization date and time (from Step 7)
and calculated drift (from Step 8 or Step 5) in seconds per day
into program JPLCLOCK. From the Main Menu, press F10+F1 and enter
the data as prompted. Enter zero for Clock Offset.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 54


Other time sources may be similarly used to calibrate the DOS clock.
The final result of this calibration should be a software clock drift in
seconds per day that should remain reasonably stable for relatively long
periods of time. The calculated clock drift is POSITIVE if your DOS clock
GAINS time with respect to the time source and NEGATIVE if your DOS clock
LOSES time with respect to the time source. These data may then be entered
into JPLCLOCK so that the program will automatically adjust the displayed
time for the predicted drift.
Note that the predicted drift calculations assume that JPLCLOCK is
operating continuously. If you exit JPLCLOCK and perform operations that
affect the DOS clock (such as disk accesses or high speed communications),
the drift calculations will still be accurate but you will have to add a
clock offset to compensate for the DOS clock changes. If you turn off your
computer, you must reset your clock (to the desired accuracy) and then
adjust the last synchronization time to correspond to the time you reset
your computer clocks. For maximum accuracy, perform a manual time
synchronization (F10+F3+F1 from the Main Menu) each time you reboot your
computer; JPLCLOCK will automatically update the last synchronization time.
Program JPLCLOCK is a "well behaved" program written and compiled
using Microsoft's QuickBASIC Compiler, Version 4.5. No "clever tricks" are
used to fool the system into doing something that might interfere with
accurate timekeeping by the DOS software clock. The software clock drift
obtained by this suggested procedure should be relatively consistent from
day to day.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 55


USING TEXT MODE
---------------

In addition to its use in the Multimission Computer Control Center,
JPL is also considering the use of JPLCLOCK as a means of displaying
the current mission and event times in other locations at the Laboratory,
and for display to visitors and guests. In order to explain the data, to
provide additional commentary on missions in progress, and to provide
other supplementary information, JPL suggested the addition of a TEXT mode
to further enhance JPLCLOCK.
Each time JPLCLOCK is started, it searches for a special message file
named "JPLCLOCK.MSG" in the current drive and directory. If the file is
found, it reads the file into memory and thereafter permits the TEXT MODE
to be enabled. This occurs ONLY when the program is started from the DOS
prompt; if you use the DOS SHELL (Function Key F9 from the Main Menu) to
copy or create the special message file, JPLCLOCK will NOT recognize the
file until the program is restarted.
The TEXT mode has a capacity of up to 10 screen pages of text with 20
lines per screen page. The normal distribution of the program includes a
demonstration message file with the name JPLCLOCK.MSG. To enable TEXT mode,
you must first enable PAGE mode. This may be done when the program is
started from the DOS prompt:

JPLCLOCK /TEXT

or by using Function Key F7 to enable TEXT mode from the Main Menu.
Disabling PAGE mode automatically disables the TEXT mode. TEXT mode cannot
be enabled if the special message file JPLCLOCK.MSG was not found when the
program was started OR if the file contains no text.
When the TEXT mode is enabled, JPLCLOCK first cycles through all
active Mission Timers (as in the usual PAGE mode), then cycles through all
available text pages in order. The process then repeats. The sample special
message file contains five text pages.
When the TEXT mode is active and JPLCLOCK is cycling through all
active Mission Timers and text pages, a special "bar meter" is displayed
at the top left of the Mission Timer Windows. This is a row of ten special
square symbols, one for each of the ten text pages, which indicates the
status of the page. Each available text page is denoted by a BLUE symbol;
the active text page symbol is flashing. Inactive text pages (pages without
any text) are shown with a GRAY symbol.
In addition to the prepared text in file JPLCLOCK.MSG, the display
includes a title line with the program version number, the current Julian
Date, and the local date in conventional notation. The second line displays
the current UTC Time, Local Time, and the two "bar meters". The left bar
meter gives the status of title pages, and the right meter the status of
the Mission Timer pages. The following is the first screen page in the
supplied sample file JPLCLOCK.MSG. Special "line drawing" characters
actually used in the display have been replaced in this text by similar
printing characters.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 56


| JPLCLOCK by David H. Ransom, Jr. Version 9141 | JD2448430.26897 22 JUN 1991
18:27:19 UTC 11:27:19 PDT ********** **********
---------- NASA Jet Propulsion Laboratory -------------------------------------

Welcome to JPLCLOCK!
--------------------

Written by
David H. Ransom, Jr.
Rancho Palos Verdes, CA


JPLCLOCK is a real time clock and mission/event timer program written
especially for the NASA Jet Propulsion Laboratory in Pasadena, California for
use in the Multimission Computer Control Center (MCCC) and elsewhere in the
Laboratory. The MCCC is the "nerve center" where all the NASA planetary
missions such as Magellan, Ulysses, and Galileo are controlled. Other NASA and
European Space Agency missions are also supported by the JPL MCCC either
directly or through NASA's Deep Space Network, three large antenna systems
located in Goldstone, California, near Madrid, Spain and near Canberra,
Australia. The MCCC is in turn supported by the scientists and engineers at JPL
and at the California Institute of Technology, which operates JPL for NASA.


Preparing TEXT Files
--------------------

The demonstration message file JPLCLOCK.MSG may be used as a template
to create customized text files. When preparing text files for use with
JPLCLOCK, use an ASCII editor, or use a word processor program in the "non-
document" or "ASCII" mode. Before editing, make a backup copy of file
JPLCLOCK.MSG. I recommend that all text files for JPLCLOCK be created with
the filetype ".MSG". Future versions of JPLCLOCK may include a feature to
read additional text files and the required filetype will be ".MSG".
The sample file contains 5 screen pages of text. Each screen page
consists of exactly 20 lines of text, and a maximum of 10 screen pages (or
200 text lines) is allowed. After creating a new text file (and having made
a backup copy of the original JPLCLOCK.MSG file!), copy the new file to
JPLCLOCK.MSG and start program JPLCLOCK in the TEXT mode to view the
results. My testing indicates that it takes several attempts before the
appearance of the screen pages suits my taste.
The TEXT mode displays text lines exactly as it finds them in file
JPLCLOCK.MSG. As illustrated in the sample file, the "line drawing"
characters and other special characters are displayed. (Some editors are
unable to place these special characters in a text file. I recommend the
shareware editor QEDIT for editing text files for JPLCLOCK.)
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 57


Modifying JPLCLOCK.INI for Special Features
-------------------------------------------

CAUTION
-------

MODIFICATION OF FILE JPLCLOCK.INI IS FOR ADVANCED USERS ONLY!

If you are not familiar with file editing or do not understand what
the term "Simple ASCII Editor" means, do not attempt to modify file
JPLCLOCK.INI.


File JPLCLOCK.INI may be modified by advanced users to provide two
special features: force time zone initialization; and, special network
"read-only" operation. Users modifying this file must use a simple ASCII
editor or a text editor in the "non-document" mode. Users are cautioned
that if the file is modified incorrectly, the program may fail to execute
correctly or may terminate with an error. If this happens, delete
JPLCLOCK.INI and restart the program. A new JPLCLOCK.INI will automatically
be created with the correct file format.
The data items which enable the two special features are contained in
the first and fourth lines of file JPLCLOCK.INI. All other information in
the file is maintained by and may be modified from within the program and
should not be manually altered. The following sample illustrates the first
four lines of a typical unmodified JPLCLOCK.INI file:

"9141 ",30015,60
2448459.25569444,0,0,0,0
0,0,0,400000000,1,0
" NASA Jet Propulsion Laboratory ",-8,1,0

To force JPLCLOCK to re-initialize its UTC Offset and Daylight flags,
change the first number in the fourth line (following the user's location
name, "-8" in the sample) to "-99". The changed line would then read:

" NASA Jet Propulsion Laboratory ",-99,1,0
^
|
Force UTC initialization -----+

This special feature allows a user to create a customized .INI file,
complete with Location Clocks and Mission/Event Timers, which will force
any user of the file to enter his correct UTC Offset and Daylight flags.
Such a file may therefore be freely distributed without regard for the time
zone of the ultimate user. The distribution version of JPLCLOCK.INI is
usually modified for this feature.
In order to use JPLCLOCK on a network server and avoid having users
intentionally or inadvertently change the .INI and .MTD files, JPLCLOCK may
be forced into a "read only" mode. In this mode, the program will read but
not write .INI and .MTD files; menu items are also modified to remove those
features now disabled. The .INI and .MTD files may also be set to READ-ONLY
status on the network server as further protection. To force this mode of
operation, modify the first number on the first line (the version number of
JPLCLOCK which wrote the .INI file) to a negative number by adding a minus
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 58


sign. The changed line would then read:

"-9141 ",30015,60
^
|
+----- Force Read-Only Network Operation

After making modifications to JPLCLOCK.INI, be certain to test that
the modified file executes correctly. Note that JPLCLOCK will remove the
flag to re-initialize itself (the "-99" on the fourth line) the first time
it is executed, so perform tests with a copy of the modified file. A file
which has only been modified for network operation will not be altered by
execution.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 59


COMMENTS AND KNOWN PROBLEMS
---------------------------

1. Computer Processor and Math Coprocessor

JPLCLOCK has been tested primarily on computers equipped with the
80286 or higher processor and including a math coprocessor chip. There are
no known problems if the computer does NOT have a math coprocessor chip but
there may be perceptible delays visible on the screen; obviously, there's
no solution except a faster computer or the addition of a math coprocessor
chip. Testing on 8088-class machines (the original PC and XT computers and
their clones) indicates that these computers may skip a second from time to
time but will otherwise operate correctly. Operations involving the CMOS
clock/calendar chip will usually fail on these machines since their design
did not include that feature; the various add-on clock chips and circuit
cards are usually incompatible with the current clock chips. If you have
such a computer and wish to use program TIMESET, read the TIMESET
documentation carefully and test the program thoroughly before use with
JPLCLOCK.
Although the calculations performed in JPLCLOCK are almost trivial as
compared with those required in a complex program such as my satellite
tracking program STSORBIT, a math coprocessor DOES make a difference --
especially in slower PC, XT and AT class machines. Without a math
coprocessor, the computational overhead required at the beginning of each
second added to the time required to update the display screen is
significant, ranging from well over one second in a "basic" PC or XT class
machine to perhaps half a second in a 6MHz AT class machine. This has two
major effects: first, the computer may not be able to perform the required
calculations and update the display each second, causing the display to
skip a second from time to time; and second, even if the computer is able
to get everything done in less than one second, the displayed times may
appear to be delayed by a fraction of a second as compared to the actual
time and to "ripple" through the various clock and timer displays as they
are updated. By comparison, an 8MHz AT class computer which I frequently
use for testing appears to update all the clock and timer displays
instantaneously.
There is no remedy for the first effect on most PC and XT class
machines although the addition of a math coprocessor will certainly help.
On most AT class machines, however, adding a math coprocessor will usually
solve the problem. On all machines, using the large display for local and
UTC times instead of the small display (with its added features and
consequent additional computational overhead) will improve or solve the
problem. For all critical applications, the minimum recommended hardware
configuration is an AT class computer WITH a math coprocessor chip.
The second effect, where the screen display is lagging by a fraction
of a second, can be partially compensated for by adding a fixed Clock
Offset (use F10+F1 from the Main Menu) of so that JPLCLOCK starts making
its calculations and updating the display slightly BEFORE the actual time
to be displayed has occurred. For example, if the time updates are lagging
by half a second from actual time, enter a Clock Offset of -0.5 seconds to
compensate for the delay. This method will compensate for the time required
to perform preliminary calculations but cannot change the time required to
update the screen; further, the Clock Offset can be adjusted to yield the
"exact" time at only one clock display on the screen. How noticeable this
problem remains after the Clock Offset adjustment is a function of the
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 60


display writing speed of a particular computer and its display adapter.

2. Computer BIOS Problems

Media advertizing notwithstanding, not all PC's are created equal. A
program like JPLCLOCK may execute correctly on one machine and not on
another. The most likely culprit in these cases is the computer's BIOS
(Basic Input Output System) which is built into each machine in ROM, Read
Only Memory, by the manufacturer. Even computers with the same model number
may have a different BIOS, depending upon when they were manufactured;
different model numbers by the same manufacturer may perform differently.
Brands which have demonstrated problems in this area include Tandy, Leading
Edge, and Ergo. Some computer brands and/or models fail to correctly
execute ANY program compiled using Microsoft BASIC or QuickBASIC; others
execute some or all programs correctly but hang and must be rebooted upon
completion.
There is no remedy for these problems except to contact the
manufacturer, report the nature of the problem, and request assistance. As
a general rule, I can offer little but sympathy. JPLCLOCK has been tested
on computers ranging from XT-class 8088 systems to the latest 486 systems,
with and without math coprocessor chips. However, I do appreciate problem
reports, even those which cannot be solved, so that I may inform other
users that a problem is known. Please include all pertinent information in
such reports, including computer manufacturer, model number, DOS version,
special hardware and/or software, and so forth.

3. Monitor Type and Video Adapter Cards

Not all video adapter cards are created equal either. While most CGA
adapters perform about the same (slowly!), EGA and VGA adapters can vary
considerably. The same card, operated in different video modes, can be a
star or a lemon. There are too many different types of adapters to even
attempt any generalizations. One practical note: Some VGA monochrome
monitors "confuse" the VGA BIOS and/or the VGA adapter and require the
command "MODE CO80" (from the DOS prompt) for proper gray-scale operation
with JPLCLOCK. If all else fails, include the "/M" command line option to
force monochrome operation.

4. DOS Version and the Shell Feature

The "Shell to DOS" feature, used by Function Key F9 from the Main Menu
and when program TIMESET is executed from within JPLCLOCK, is NOT reliable
for versions of DOS prior to 3.1 and the results of attempting to use these
features with DOS Version 3.0 and lower are unpredictable. In one case, any
program compiled using Microsoft BASIC or QuickBASIC failed unless DOS 3.3
or higher was installed. Some versions of DOS 4.xx are notoriously
unreliable amd for all versions the DOS 4.x kernel is considerably larger
than either DOS 3.3 or DOS 5.0; the use of DOS 4.xx is therefore NOT
recommended. For these and other reasons, I strongly recommend DOS Version
3.3 or DOS 5.0 as the most stable DOS versions available. The Shell feature
may also fail on certain computers for no apparent reason, probably related
to the BIOS (see above).

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 61


5. Unstable Hardware or Software Clocks

Some clock circuits have been implemented in such a manner that they
are essentially a simple tuned resistance-capacitance design which
effectively ignores the presence of a crystal. Such circuits may drift
wildly as a function of time, temperature and/or voltage, and make the host
computer unsuitable for an application such as JPLCLOCK. Any decent crystal
controlled oscillator should be able to hold to within a second per day,
but not many PC computer clocks are that good. I've been told that tests on
a typical PC hardware clock several years ago showed a 5% difference in
clock frequency when operated on AC power versus the lithium battery. I
would not have believed that big a difference was even possible with a
crystal oscillator!
However, what appears to be an unstable DOS clock may, in fact, be the
fault of certain software. Network and communications software are
notorious for turning off the interrupt system and doing other bad things
which prevent the DOS clock from keeping accurate time. This problem
usually shows up as a significant time loss AFTER network access or high
speed communications. Avoid the use of these programs when running JPLCLOCK
and eliminate any TSR (Terminate and Stay Resident) programs which may
interfere with the clock.
The fact that there are two clocks in the PC can cause confusion and
apparent errors. While JPLCLOCK is running, only the DOS clock is
interrogated and it is this clock that requires the most careful
calibration for extended operations. However, each time a computer with a
battery supported clock/calendar is booted, the hardware clock is used to
initially set the DOS clock. These two clocks have independent drift
direction and rate; further, the hardware clock will usually exhibit
different drift rates when power is on as compared to power off. Thus, the
time may appear to drift in one direction if the computer is booted
frequently, and in the opposite direction if it is left on. Microsoft
compounded the problem by "fixing" the DOS TIME command in Version 3.3 and
up so that it sets both the hardware and software clocks (for AT-class
machines and higher), thereby eliminating the hardware clock as any sort of
a reliable or stable reference!

6. Typical Calibration Results

During the testing of JPLCLOCK I have used both 286 and 386 computers
and have calibrated each of their software clocks using the NIST telephone
time service. While the drift rates varied from computer to computer, each
computer was able to maintain the correct time using JPLCLOCK to within 150
milliseconds after: a) running for a minimum of 4 hours prior to attempting
calibration; and b) using a calibration time of at least 4 hours. Since the
DOS clock ticks occur at 55 millisecond intervals, calibration runs of less
than four hours will yield an uncertainty which is of the same order of
magnitude as the desired calibration accuracy.
For applications requiring maximum accuracy, these tests indicate that
the computer should be set using NIST each time the computer is booted and
then resynchronized at 4 to 24 hour intervals. The stability of the DOS
clock will determine the optimum interval. JPLCLOCK records the measured
drift rate each time it makes a synchronization call; use F3+F3+F1 from the
Main Menu to view the data and adjust the synchronization interval to the
longest time which yields consistent results. Another consideration is to
minimize the number of calls to NIST or USNO; these telephone time services
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 62


are a precious resource and should be used as infrequently as possible
consistent with the needs of your application (as well as your willingness
to pay the toll charges).

7. Color Variations

Especially with EGA and VGA adapter cards, displayed colors may vary
considerably from those described. The most common variation is "dim
yellow" or "brown" (used for the version number on JPLCLOCK's title screen)
which often appears as either brown or as a dim red which is all but
indistinguishable from the "real" dim red. Other colors may also vary from
system to system and from monitor to monitor.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 63


UTC AND TIME ZONES
------------------

Coordinated Universal Time (UTC) is the world wide civil standard time
as broadcast by national radio time services such as stations WWV and WWVH
of the National Institute of Standards and Technology (formerly the
National Bureau of Standards) and the BBC World Service. It is roughly the
same as UT1, the time standard used by astronomers and scientists for
celestial and solar system measurements. However, because the orbital time
and rotation rate of the Earth is not constant, periodic adjustments of one
second are required. These adjustments, called Leap Seconds, are usually
made at the end of June and/or the end of December in order to maintain the
difference between UTC and UT1 to within 0.9 seconds. As I discovered while
writing my program ASTROCLK, there are many other defined time standards.
Because of the ready availability of UTC for synchronization, JPLCLOCK
assumes that the computer's internal clock is set either to local time or
to UTC AND that the selected time has a known relationship to UTC.
The original plan for time zones required each zone boundary to be
located at the 15 degree meridians around the globe. Since that arrangement
seldom coincided with national or political boundaries, many adjustments
have been made over the past one hundred years for political reasons or for
local convenience. Some time zones are approximately "nominal" while others
are quite large; all of China, for example, uses a single national time
zone -- at least officially.
All civil time zones are related to UTC, usually by an integral number
of hours (although there are several "half hour zones" and at least one
"quarter hour zone"). Many countries, including the United States and most
of Europe, also adjust their civil time by one hour during summer months.
In the United States, Daylight time begins on the first Sunday in April and
ends on the last Sunday in October. Other countries use different dates and
those dates may change from time to time. JPLCLOCK can automatically adjust
for Daylight time for all time zones in the United States (including Alaska
and Hawaii) or the change may be performed manually from the Main Menu;
other time zones must be individually set for standard or summer time.
The following time zone abbreviations are used by JPLCLOCK for the
main window and the four location clocks at the lower left of the display
screen:

ABBR OFFSET ZONE NAME
----------------------------------------------------
UTC 0 Coordinated Universal Time
(formerly GMT = Greenwich Mean Time)

AST -4 Atlantic Standard Time
ADT -3 Atlantic Daylight Time
EST -5 Eastern Standard Time
EDT -4 Eastern Daylight Time
CST -6 Central Standard Time
CDT -5 Central Daylight Time
MST -7 Mountain Standard Time
MDT -6 Mountain Daylight Time
PST -8 Pacific Standard Time
PDT -7 Pacific Daylight Time
YST -9 Yukon Standard Time
YDT -8 Yukon Daylight Time
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 64


HST -10 Hawaiian Standard Time
HDT -9 Hawaiian Daylight Time

GMT 0 Greenwich Standard Time (UK)
BST +1 British Summer Time (UK)
CET * +1 Central European Time
CES * +2 Central European Summer Time

AEST * +10 Australian Eastern Standard Time
AEST * +11 Australian Eastern Summer Time
ACST * +9.5 Australian Central Standard Time
ACST * +10.5 Australian Central Summer Time
AWST * +8 Australian Western Standard Time

* denotes non-standard abbreviation

Users with specific information on time zone names, abbreviations, and
and relationship to UTC as well as official times for changing to and from
daylight/summer time are encouraged to send me that information so that I
may update or correct the program if necessary. The information will be
added to subsequent versions of JPLCLOCK.
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 65


FUTURE IMPROVEMENTS AND FEATURES
--------------------------------

JPLCLOCK is still a young program and, in addition to repairing the
inevitable bugs and problems that have been and are yet to be found, I have
a number of additional features that I hope to add in future releases of
the program. Here are a few that are being considered:

1. Add automatic calibration of the hardware (CMOS) clock comparable to
that now provided for the software (DOS) clock. This is a little more
complicated since the hardware clock can only be read to the nearest
second.

2. Add automatic synchronization using the Heath GC-1000 Most Accurate
Clock. When equipped with an RS-232 interface and external antenna,
the GC-1000 can maintain an accuracy of plus or minus about 10
milliseconds with WWV or WWVH. With software overhead, this probably
translates into about plus or minus 50 milliseconds for the PC, the
resolution of the DOS clock ticks.

3. Give the user the choice of displaying UTC or UT1 (required for
navigation, for example) if synchronization is done using the NIST
telephone time service or the Heath GC-1000 Clock (which are the only
available services which supply the correction from UTC to UT1). The
current correction is +0.2 seconds as of July 1, 1991.

4. For systems equipped with a CMOS clock/calendar chip (286 and higher),
add the optional capability to use the hardware clock to adjust the
DOS time when leaving JPLCLOCK to do disk operations, etc.

5. Provide an ASCII time message in a format similar to NIST via COM2 at
a selectable baud rate. The message would be sent every ten seconds
and synchronized with a final "*" character.

Some or all of these features may never be added and others may find their
way to the top of the list first. Some improvements described in prior
versions of this documentation have already been added. Comments and
suggestions are welcome!
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 66


JPLCLOCK REVISION HISTORY
-------------------------

Each released version of JPLCLOCK uses a four digit revision code
such as 9126. The first two digits indicate the year and the second two
digits indicate the week of the year. In some cases, an additional letter
suffix is added to distinguish changes occurring within the same week. A
partial week at the beginning or end of the year is counted as a full week.
Using this method, a year will typically have 53 weeks although it is
possible to have 54 weeks in a leap year (1972 is an example). The year-
week revision code for any date may be determined using the Julian Date
display, Display Mode 7, in my program ASTROCLK.
This file records the revision history of program JPLCLOCK through all
of the minor twists and turns that usually accompany the evolution of such
a program. It illustrates the tortuous process of maintaining and refining
a program as ideas and problems are reported from every quarter. These
notes may also be helpful to users who are upgrading from one version to
another to find out what has changed.

David H. Ransom, Jr.

9209 02/24/92
-----------------
-By popular request, I have added a screen blanker function which will turn
the screen off five minutes after the last keystroke. To enable or disable
the screen blanker, use Function Keys F4+F5 from the Main Menu or ALT-F2
while the clocks are displayed. The screen blanker is DISABLED by default
and the status is preserved in STSPLUS.INI. Unlike most screen blankers,
however, this one restores the screen just before the half hour, at 29 and
59 minutes past the hour, or press any key.
-By popular request, I have added Function Keys F3+F4 to enable or disable
the display of Mission/Event Timer numbers at the lower left of each timer
window. This function is DISABLED by default. These numbers can be helpful
during Launch Support and to quickly identify a Mission/Event Timer number
from the active display.
-By popular request (yet another one!), I have added the PgUp and PgDn keys
as active when PAGE mode is disabled (the display is "frozen" to a single
page of Mission/Event Timers). Previous versions always displayed Page 0 in
this mode; JPLCLOCK may now display any active page by the use of PgUp and
PgDn. This status is NOT saved from one execution to the next.
-The "thermometer" above the Mission/Event Timer windows is now displayed
at all times, showing the current page and which pages have active timers.
Pages normally are indicated in GREEN (active and past Time Zero), RED
(active and not yet to Time Zero), and GRAY (not active). When PAGE mode is
active, the current page is flashing and all other pages are steady; when
PAGE mode is NOT active, the current page flashes MAGENTA to so indicate.
-In order to facilitate network operations, the filename (optionally
preceeded by the path) for the text message file has been added near the
end of JPLCLOCK.INI. Since the default is "JPLCLOCK.INI" (and note that it
should be enclosed in double quotation marks), it is easy to recognize. Use
any editor in the ASCII or non-document mode. The file is now reloaded each
time at the beginning of the first text page and may therefore be replaced
with a new file from time to time without halting program execution.
-Various minor cosmetic changes.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 67


9147 11/18/91
-----------------
-Corrected a bug which caused the program to hang or generate an error if
the user loaded an MTD file and set the first timer so that the MTD file
would attempt to load past Timer #60.

9141 10/11/91
-----------------
-AUTOMATIC DAYLIGHT FLAG now available to switch to daylight savings time
on the first Sunday in April and back to standard time on the last Sunday
in October. Use Function Key F4+F1 from the Main Menu. If the computer's
DOS clock is set to LOCAL time (the default condition) rather than UTC
time, the DOS clock will also be adjusted.
-When the DAYLIGHT FLAG is set to AUTOMATIC and the DOS clock is set to
LOCAL time, the switch and clock setting operations will also be made if
the computer was off at the designated time and JPLCLOCK is run later; do
NOT manually adjust your computer's DOS clock for the time switch if the
DAYLIGHT FLAG is set to AUTOMATIC!
-When changing the DAYLIGHT FLAG using F4+F1 from the Main Menu, the DOS
clock will be also adjusted if it is set to LOCAL time.
-AUTOMATIC and LOCAL/UTC flags added to initial UTC Offset routine.
-Documented the "force UTC initialization" special feature, present in
prior versions but undocumented.
-Added special feature to permit "read-only" operation on network servers
and added documentation.
-Added additional on-line help for special function keys active during
clock display. F1+ENTER from Main Menu.
-Several other minor problems associated with daylight savings time fixed.
-Manually entered Mission/Event Timer names were being shortened to 20
characters instead of 22.
-UARS (Upper Atmosphere Research Satellite) added to internal default
database, replacing ROSAT Observatory.
-The abbreviation in the internal data for MADRID was "MAS" instead of
"MAD". (Typo in Version 9134.)

9134 8/18/91
-----------------
-Testing completed using MS-DOS Version 5.0. No problems encountered.
-Changes for LAUNCH SUPPORT, introduced at Version 9131 on an "emergency"
basis and not fully documented, incorporated in this documentation. File
JPL9131.UPD deleted from distribution files. See the section LAUNCH SUPPORT
for details.
-Launch support enhanced to allow the user to specify the range of
Mission/Event Timers affected by a countdown hold. More thorough error
checking added to timer number entries.
-Corrected bug in SELECTED EVENTS. If a Mission/Event Timer was assigned as
a SELECTED EVENT and subsequently cleared, incorrect data would be
displayed for the SELECTED EVENT.
-Code optimized to the extent practical to improve performance on slower
computer systems. Even so, operation on XT-class computers is still a bit
marginal. For all 8088 and 80286 processors, the on-screen clocks may skip
a second and/or exhibit screen delays depending upon the processor clock
rate and whether or not a math coprocessor is present.
- A number of users have reported problems on XT and AT class computers
without math coprocessors. See the section COMMENTS AND KNOWN PROBLEMS,
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 68


"Computer Processor and Math Coprocessor", for discussion and suggestions.
-A bug that sometimes caused the page modes to not switch pages at the
proper time on slow computers has been repaired.
-Corrected the abbreviations for Goldstone and Madrid to GDS and MAD.

9131 8/01/91
-----------------
-"Emergency Update" for the JPL MCCC to support the launch of STS-43 in
real time. Details in file JPL9131.UPD.

9130 7/22/91
-----------------
-Changed the PAGE HOLD and PAGE SELECTION logic to accommodate fast paced
events such as a space shuttle launch. When used in the PAGE mode (use the
"/PAGE" command line option or F8 from the Main Menu), JPLCLOCK now checks
each time a page change is scheduled for Mission/Event Timer events due to
occur within 1 hour, selects the page with events closest to Time Zero,
jumps to that page, and enters the PAGE HOLD mode. HINT: Set the PAGE DELAY
(F4+F4 on the Main Menu) to 5 seconds for fastest page scanning.
-By popular request from amateur radio and BBS operators who keep their
computers set to UTC, added DOS CLOCK FLAG to select LOCAL or UTC time for
the DOS CLOCK. With the flag set to LOCAL, JPLCLOCK assumes the computer is
set to the correct local time (including Daylight Savings Time); with the
flag set to UTC, JPLCLOCK assumes the computer is set to the correct UTC
time. The program then performs all necessary time conversions so that the
correct times are displayed. Set by F4+F2 from the Main Menu.
-Corrected a minor bug which sometimes displayed Time Zero (0 00:00:00)
with a RED background instead of a GREEN background. This was caused by a
rounding problem with the double precision Julian Date.
-Corrected a minor bug around midnight that might cause the incorrect date
to be displayed for a few seconds as a function of the calculated Clock
Offset and Total Drift adjustments.

9129 7/15/91
-----------------
-Added Manual Synchronization using audio tones (F10+F5) to permit
synchronization using WWV or WWVH. Accuracy of 100 to 150 milliseconds can
be obtained with practice.
-Added abbreviations for Australian time zones (with an added "A" prefix
letter). The abbreviations are the same for STANDARD and for SUMMER time;
SUMMER time is denoted by an asterisk after the abbreviation. See text for
details.
-Corrected bug in HOLD logic (if an event is within 60 minutes ot T-0) that
caused HOLD to not take effect under certain circumstances.
-Modified Mission/Event Timer windows to not "blink" if all event data is
the same from one page to another (that is, when the same event is
programmed for multiple timers).
-Modified ALT-F9 so that it both enables the experimental EGA screen font
and toggles between "large" and "normal" size numbers in the time displays.
-Added description for MTD files.
-Various cosmetic changes to the program. Corrections, changes, and
numerous typographical errors corrected in this text.

9128 7/05/91
-----------------
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 69


-Repaired bug that caused CALIBRATION (F6) to fail to execute subsequent
TIMESET calls at the correct time interval after the first two. Also
corrected a sign error in the drift calculation during self-calibration.
-Corrected screen text for CALIBRATION (F6) to show correct calibration
intervals of 1, 2, and 4 hours. The total time required is 7 hours.

9127 7/01/91
-----------------
-Added "/SMALL" command line option to display smaller Main Window with
Local Time and UTC Time. See text for details.
-Added ALT-F6 during clock display to switch between LARGE and SMALL Main
Window.
-Added four additional SELECTED and PRIORITY EVENT windows below the SMALL
Main Window. User may select: four SELECTED EVENTS (default); two SELECTED
EVENTS and two PRIORITY EVENTS; or, four PRIORITY EVENTS. Change using ALT-
F5 when SMALL Main Window is active. These additional four windows are
displayed ONLY when the SMALL Main Window is selected ("/SMALL" command
line option or ALT-F6 when clock display is active).
-Added "/SYNC" command line option to force immediate time synchronization
(using program TIMESET) when JPLCLOCK is started. The time synchronization
performed as a result of the "/SYNC" command line option is independent of
the automatic time synchronization (F10+F3+F3).
-Changed "/TEXT" command line option so "/PAGE" is no longer also required.
"/TEXT" now forces PAGE mode.
-The word "HOLD" now appears above the Mission Timer windows if the current
page of Mission Timers is being held on the screen because one or more of
the timers is within 1 hour of its Time Zero.
-Changed SCREEN FREEZE (ALT-F1) to time out in 5 minutes if no key is
pressed. Current UTC and Local time are now displayed and updated on line 2
during the screen freeze. JPLCLOCK will no longer freeze indefinitely!
-Changed Location Clock prompts for "Uses US Daylight Time" (F2) to "Y" for
YES and "N" for NO.
-Corrected bug in Mission Timers: countdown time at zero days displayed "0"
days rather than "-0" days.
-Corrected a bug introduced at Version 9126: INI files were interpreted
incorrectly and reset the Daylight Flag on the Location Clocks which use US
Daylight Savings Time.
-In most instances, pressing BACKSPACE will reset the timer in the message
"JPLCLOCK will start automatically in NN seconds". When typing characters,
the BACKSPACE will delete the previous character.
-Modified large clock logic in the Main Window to write only digits that
have changed. This improves performance with slower computers and/or slow
video adapter cards.
-Improved prompts for Read/Write INI & MTD files (F5) and corrected a minor
bug when ESC was pressed to CANCEL. Added warning that disk operations may
affect JPLCLOCK's time accuracy.
-Added warning when exiting to DOS (F9) that disk operations may affect
JPLCLOCK's time accuracy.
-Fixed "?" command line help so correct time is shown and added "/TEXT"
command line reminder.
-Corrected references to the DOS timer rate. The timer ticks occur 18.2
times per second or every 54.945 milliseconds. Previous text had the
frequency given where period was indicated.
-Various cosmetic changes.

Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 70


9126 6/22/91
-----------------
NOTE: Program JPLCLOCK and this documentation were prepared largely from
memory some hundreds of miles away from my usual references and other
resources. Technical revisions and corrections can be expected in future
releases! Comments and suggestions are welcome.
-INITIAL PUBLIC RELEASE OF JPLCLOCK.
-Added F10 to Main Menu for manual and automatic time synchronization and
calibration functions. See the section TIME SYNCHRONIZATION for details.
-Added automatic offset and drift compensation to JPLCLOCK displayed time
based upon measured time offset and drift rate. Once the average drift rate
of the computer's clock is known, JPLCLOCK will compensate for that drift
and display the corrected time.
-Added TEXT mode for the display of up to 10 screen pages of supplementary
information or messages. A sample text file, JPLCLOCK.MSG, has been added
to the standard distribution files. See text for details.
-Added "bar meter" above the Main Window to provide countdown to automatic
time synchronization. Meter appears 100 seconds before JPLCLOCK suspends
and counts down in increments of 10 seconds.
-Added two "bar meters" above the Mission Timer windows to display active
Mission Timer pages and active TEXT pages. The right meter is for Mission
Timer pages and the left for TEXT pages. Active page markers are in color
and inactive page markers are gray.
-Added "#nn" copy format to Mission Timer input (F3).
-Added TAB to skip an entry and leave it unchanged in several menus.
-Added F7 to switch TEXT mode from Main Menu.
-Added F8 to switch PAGE mode from Main Menu.
-Added ALT-F1 to FREEZE clock display. Press any key to resume operation.
-Added ALT-F7 to switch TEXT mode from clock display. NOTE: PAGE mode must
first be enabled before TEXT mode can be enabled.
-Added ALT-F8 to switch PAGE mode from clock display. NOTE: TEXT mode will
be disabled (if enabled) when PAGE mode is disabled.
-Added F4 on the DEFAULTS menu (F4+F4 from Main Menu) to allow the user to
set the PAGE Delay and the TEXT Delay. See text for details.
-Swapped Location Windows #2 and #3 to make numbering scheme conform to the
other windows, top to bottom in a given column.
-INI file format has changed but JPLCLOCK will correctly read Version 9125B
INI files and subsequently write the new format. Use F5 from the Main Menu
to convert prior files; first read the old file then write a new file using
the same or a new filename.
-The menu message "JPLCLOCK will start automatically in NN seconds" now
counts down as the allowed time for keyboard input decreases.
-Various cosmetic changes and minor bug repairs.
-Documentation updated.

9125B 6/16/91
-----------------
-Added /PAGE command line option for page mode operation.
-Number of timers now set to 60 in 10 pages.
-Mission Timer capacity changed to allow from -9,999 days to +99,999 days
to accommodate long duration interplanetary missions such as Voyager 1 and
2 and Pioneer 11 as they leave the solar system.
-Corrected Daylight Savings Time adjustment and default values for the four
location clocks.
-Added Voyager 1 and 2 to default data but times and dates are only
Program JPLCLOCK: NASA/JPL Multimission Control Center Clock Page 71


approximate.
-Function keys on several menus changed or swapped.
-Many minor and cosmetic changes.
-Documentation updated.

9125A 6/14/91
-----------------
-Interim test release.
-Documentation not updated.

9125 6/12/91
-----------------
-First fully functional release.
-All configuration features now available.
-Preliminary documentation released.
-Mission Elapsed Time for Magellan, Galileo, and Ulysses are NOT correct.
Dummy values have been used for testing.

9124 6/10/91
-----------------
-Initial BETA VERSION Release. This version was an operational
demonstration of the program and did not include any configuration
features.



  3 Responses to “Category : Science and Education
Archive   : JPL9209.ZIP
Filename : JPLCLOCK.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/