Features

CelestNavTM is a full-featured celestial navigation solution
for the PalmOS® family of handheld computers. It includes a
perpetual nautical almanac for the Sun, the Moon, navigational planets, and
navigational stars, as well as an electronic version of H.O. 229.

CelestNavTM guides you through the steps of computing a celestial
fix. It records your sextant observations with sight times; applies
the appropriate corrections for height of eye, atmospheric refraction,
backsights, and sextant errors; combines multiple sights into a
celestial fix; computes your position automatically; and maintains a
dead reckoning position from your last known fix.

CelestNavTM had its start on a 3500 mile tall ship voyage. In 1998
I sailed on Søren Larsen from Vanuatu to New Caledonia, then
to Sydney, and on to Auckland. I spent much of the trip practicing
with my sextant, and found that the most frustrating part was the
long delay between shooting my sight and finding out what the answer
should have been--calculating by hand on paper just took too long.
CelestNavTM is intended to take the drudgery out of
celestial navigation and to encourage sailors everywhere to stay
current in this important skill.

Requirements

CelestNavTM runs on any PalmOS handheld with version 3.0 or
higher of the operating system. This includes every PalmOS handheld
made since 1998: the entire Palm m100/m500/i700 series, Palm
III/V/VII families, Handspring Visors, Sony Clies, and Symbol,
Handera, TRG, and IBM units.

Learning celestial navigation

CelestNavTM is not designed to teach you how to navigate. We
suggest you take a class from a qualified instructor in your area.

Installation is easy. Two files are required. The first is
CelestNav.prc, the actual program. The second is MathLib.prc, a
library written by Rick Huebner.
MathLib.prc is used by many PalmOS
add-on applications; you might already have installed it. If
MathLib.prc is already installed, there is no need to install it
again.

To install the two files, double-click on each of them. Or if you
prefer, drag CelestNav.prc, and (if necessary) MathLib.prc into the
"Install Handheld Files" or "Install Files" window
of your Palm Desktop Software. Then perform a HotSync operation to
transfer the files from your desktop computer to your handheld.

After the HotSync, you're ready to go. Tap the CelestNavTM icon
on your handheld to start the program.

Celestial navigation depends on knowing the time quite
exactly. You need to tell CelestNavTM exactly what time it is. Tap the
"time" button in the Status Page to switch to the Handheld
Clock page, or choose "Time" from the "Setup"
menu.
There are two different formats for this screen. Which one you see
depends on which version of PalmOS your handheld is running.

Newer handhelds (PalmOS 4.0 and later)

Older handhelds

Device time, at the top of the page, is the time shown on your
handheld's internal clock. You can change that with the Prefs
program included on your handheld. CelestNavTM does not modify your
handheld's internal clock. CelestNavTM assumes that your
handheld's clock is set to approximate ship's time or local
time. You can tap the "Set internal clock" or "Set internal clock and
timezone" button to shift to the PalmOS Control Panel that sets your clock.

All clocks gain or lose time, and your handheld's clock is no
exception. If your handheld has drifted a few seconds fast or slow,
enter that as a "watch error". Tap the "Fast" or
"Slow" pushbutton, and enter the watch error in seconds.
You will see your "Local time" updated immediately.

New PalmOS handhelds keep track of the time zone for you. But on
older devices, you need to tell CelestNavTM what time zone you are in,
relative to UTC (sometimes called by its old name GMT). Enter the
difference between your local time and UTC, expressed in minutes. Tap
the "-" pushbutton if you are east of Greenwich, or the
"+" if you are west of Greenwich. For the east coast of the
USA, during the winter (not observing daylight savings time), enter
"300" minutes and tap the "+" pushbutton.
CelestNavTM will display the computed UTC time, as well as the longitude
that corresponds to the UTC offset that you entered.

When you make a sextant observation, you must know how far
above sea level you were. A difference of a few feet can make a large
difference in your computed location.

CelestNavTM lets you store multiple observing locations. You can
edit these by choosing "Observer height of eye" from the
"Setup" menu. You might just need one location. But if you
sometimes shoot from the bridge wing, sometimes from the signal
bridge, and sometimes from the flight deck, or if you sail on more
than one boat, it can be handy to have multiple locations defined.

To create a new location, tap the "New" button. Enter a
short text description, and then the height of eye. Tap "Use
this location" to tell CelestNavTM that this is where you are now;
CelestNavTM will use that height of eye for future sextant sights, but
will not change existing sights.

To delete the currently-visible observation location, use the
Delete entry from the Observer menu. If there are sextant sights in
the sight database that were made from this location, you will not be
able to delete it.

For practice, create a new entry. Enter "Leonard Gray chap
5" for the description, and 2.44 meters (8 feet) as the height of
eye. Tap "Use this location". Now tap the
"Status" button to return to the Status Page.

Index error is the error in your sextant reading. You can
determine your own sextant's index error by observing the
horizon. When the horizon is lined up with itself, your sextant
should read 0.0. The actual reading of your sextant is the index
error.

For this example we will use an index error of 1.0'. Tap the
selector box next to "Index error:", and you'll bring
up CelestNav's angle entry form.

You can use the angle entry form to enter angles as decimal degrees
(36.2341°), degrees and decimal minutes (36° 14.043'), or
degrees, minutes, and seconds (36° 14' 3"). Tap the
"DDD", "DMM", or "DMS" pushbutton to
change modes.

Use either the numeric buttons or Graffiti to enter the numeric
values in the proper fields. Use the "° '
"" button to cycle through the degrees, minutes, and
seconds fields. The backspace button (left arrow) deletes one
character at a time. The "000" button truncates the current
field and sets all fields to the right equal to zero; it's
handy for quickly turning 36° 14' 3" into exactly 36°.
The Revert button restores the value that you had when you started,
but leaves you in the form. "Cancel" restores the original
value and exits. "Done" saves your changes and exits.

You will always see a pair of pushbuttons to change the sign of the
angle. They will be "-" and "+" for angles and
bearings, "W" and "E" for longitudes, or
"N" and "S" for latitudes.

Enter 0° 1.0' for the index error, and then tap
"Done".

Once you enter an index error, it will persist and be used for all
future sights until you enter a new index error. Check your index
error each time you use your sextant.

Entering observations

We will go, step-by-step, through one entry. We observed
the star Regulus on December 18, 1993 at 17:20:35 UTC, azimuth 007°,
sextant reading 37°34.3'.

Timing the sight

When you use CelestNavTM at sea, you'll want to let your
handheld be your stopwatch. Suppose you're working alone, and
that it takes you 3 seconds to put down your sextant and pick up your
handheld after making an observation. Tap the "delay" popup
trigger (just to the left of the "Now" button. Choose
"3 second delay". You'll make your observation, say to
yourself "now", and count "thousand-one, thousand-two,
thousand-three". As you say "three", tap the
"Now" button. When you tap the "Now" button,
CelestNavTM will record a time that was 3 seconds in the past.

If you have an assistant, choose "No delay" and have your
assistant tap "Now" when you say (out loud!)
"now!".

When you use CelestNavTM to practice, you will be entering times
manually. For this example, the sight was made at 17:20:35 UTC on
December 18, 1993. Tap the time selector (just above the
"delay" trigger) and you'll bring up the Date and Time
Entry screen.

Tap the "Date" selector trigger to bring up the usual
PalmOS date selector. Use it to enter the date of your observation
(December 18, 1993).

Tap each part of the time in turn to set hours, minutes, and
seconds. Tap the up and down arrows to adjust the values. The
"00..." button zeros the minutes and seconds; the
"00" button zeros only the seconds. "Now" sets
the sight's date and time to the handheld's current date and time. "Revert",
"Cancel", and "Done" work as they did in the Angle
Entry Screen. Enter 17:20:35 for the time, and tap
"Done".

Where in the sky?

Tap the "Sextant" selector trigger to bring up
another angle entry form, this one for the sextant reading. Enter
37°34.3' for the sextant reading.

You may, if you wish, enter an observed azimuth value. This
information is not used currently, but a future release of CelestNavTM
will allow you to match azimuth and height of an unknown body with the
nautical almanac values so that you can identify the body. To enter
an azimuth, tap the "Azimuth" checkbox and then enter a
value into the selector trigger that appears. For this body, use 007°
for the azimuth.

Which body?

There are two popup lists that you will use to enter the
name of a celestial body. The first one is always visible, just below
the "Azimuth" checkbox. Tap it, and choose "Selected
star:", since Regulus is a star. You would use just this first popup
if you had taken a sight of a planet or the sun.

When you choose "Selected star:" from the upper popup,
the lower one appears. It contains only the names of stars. Tap it,
and choose "Regulus".

Sextant sight variations

Tap the "Extras" button to see the special cases
that CelestNavTM can handle.

When practicing with problems from a book, you might have occasion
to enter samples that already have all sextant corrections made, or
that have already corrected for dip/height of eye. Check those items
on the form if they apply.

A backsight is a sextant observation made over your shoulder, to the opposite horizon.
Turn your back on the body, and shoot it over your shoulder (this is
useful if you can't see the horizon below the body itself).
Check "backsight" if you made your observation this way.

CelestNavTM assumes standard atmospheric conditions of 10° Celsius,
1010 millibars. If you have observed other conditions, enter those
here for a more accurate correction.

A "noon/meridian passage" sight is made when a celestial body
(usually the Sun) reaches its highest point in the sky. This sight
gives you a latitude value only, but does not require accurate
timekeeping. At present CelestNavTM allows you to record that a sight
was made at local apparent noon, but still treats the sight as a timed sight.

Adding it all up

From the "Sights" menu, choose "Show
corrections". You'll see an overview of all of the steps
CelestNavTM takes to adjust your sextant reading to a corrected height
above horizon.

Putting it on paper

Tap the "LOP" button to display the information you need to plot this
single LOP on your paper chart. Tap each of the selector fields in
the upper left corner to enter a DR latitude and longitude, which for
this example is 40°17' South, 158°06.0' East.

Tap the "Find" button to switch to the
"Almanac data" page. In the upper left corner, enter your
dead reckoning position using the angle entry screen. In this example
your DR is 40°17' South, 158°06.0' East. CelestNavTM shows
you the predicted azimuth and elevation of Regulus, as well as the
sidereal hour angle, declination, local hour angle, and Greenwich hour
angle of Regulus and of Aries.

Optionally, you can display times of rise, set, and meridian
passage. These calculations take a while, so you should leave them
turned off unless you want to see them. Meridian passage is the time
that the body's LHA is 0. For the sun, it is local
apparent noon ("high noon", when the sun is at its highest point). If
an event does not occur (the body does not rise or set), "////" is
displayed. On the almanac screen, the times of rise, set, and
meridian passage are in UTC, with the date in parentheses. "(18)
12:29" means 12:29 UTC on the 18th of the month.

Tap the "Sight edit" button to enter the rest of the
example.

The rest of the round

Tap "New" on the "Sextant sight" page
to create a new sight entry. This one is for the star Spica, observed
December 18, 1993 at 17:22:04 UTC, with a sextant reading of
34°25.8'.

Here are the sextant observations you made (including the first
two, which we have already entered).
Create new entries for the rest of them.

December 18, 1993 Celestial Observations

Body

GMT

Hs (sextant reading)

Regulus

17:20:35

37°34.3'

Spica

17:22:04

34°25.8'

Procyon

17:23:44

35°31.2'

Canopus

17:25:16

53°09.9'

Jupiter

17:26:50

25°42.5'

Sirius

17:29:01

42°46.9'

Note that Jupiter's entry is a bit different, since it is a planet and
not a star.

Now tap the
"Sights" button to see all of your sextant sights.

This
page lists date and time of observation, sextant reading in degrees
and tenths, and the name of the body. The most
recent fix you entered (Sirius, at 17:29:01) should be highlighted.
If not, tap its entry once to highlight it. Then tap the "Build
fix" button.

When you first see this page, it looks like this. No dead reckoning
position has been entered yet, so CelestNavTM uses 0 for both latitude and
longitude.

AP, course/speed

In this example, the last fix we had was at 0950 on
December 18, 1993, at 40°17' South, 158°06' East. Since
then we have been on course 090° true, at a speed of 7.5 knots.

Enter the last known position as "AP/DR", using the two
Angle Entry Forms that will pop up when you tap the selector triggers.
Enter the time of that fix as "time of DR", using a Date and
Time Entry form. Enter the speed to the left of "knots" as
a normal PalmOS field; use Graffiti for this entry. Enter the course
in the lower right using an Angle Entry Form.

At sea, you can tap the "Use DR/Now" button to automatically enter
your DR from the Status Page and the current date and time into the
lower part of the page.

Time of fix

Most of the time you'll want the time of the fix to be
the time of the last celestial observation. Check the "(auto)
time" box for this. Uncheck it if you want to set the time of
fix manually; use the selector trigger next to "(auto) time"
to do so.

Adding sights

The last sextant sight you entered has its box checked.
Check the boxes next to each of the other 5 new celestial
observations. Each time you add a sight, you'll see a pause as CelestNavTM
computes the nautical almanac information for that sight. Your updated
fix is displayed at the top of the screen. An "A" to the left of a
sight means that the almanac information has been computed and
saved.

The final answer

When all 6 celestial observations have been added to the fix,
CelestNavTM computes your position at 17:29, December 18, 1993 as S
40°17.4'
E
159°16.5'. The intercept value (difference between Ho and Ha) is
displayed for each sight, and the mean squared intercept for the
entire fix is listed as "Err".

More information about the fix is available. Tap the "Details"
button. CelestNavTM computes the DR position at the time of the fix
(based on the information you entered), the actual celestial position,
and the difference between them (expressed as miles and as set and
drift).

The Mean Squared Intercept (sum of the squares of the individual
sight intercepts) is displayed again here, as well as some internal
calculation results (explained in the back pages of the Nautical Almanac).

Tap "Celestial fixes" from the Status Page, and you'll see your
newly-created fix in the database.

At sea, you can use the fix you just computed as the basis
for a continuously updated DR position. Tap the "Start DR" button, or
choose "Start DR"
from the Fixes menu. Your DR position is displayed on the Status
Page, as long as the time of your DR is fairly recent.

To test this
feature using our example, you'll have to set your
handheld's clock back to December 1993. If you'd rather not do that,
then go back to the status page and change the "Fix UTC" to something
in the last few days.

CelestNavTM includes a page which performs the same calculations that
are tabulated in Publication H.O. 229. From the "Almanac data" page,
tap the "Sight reduc" button, or from anywhere choose "Sight reduction
table" from the "Nav" menu.

An Example

Switch to the "Almanac data" page.

At 20:45:47 UTC, June 21 2000, your dead reckoning position is
N 31°56.1',
W
14°56.8'. Enter those values in the two DR fields and the
date/time field.

You want to observe the star Antares. CelestNav's perpetual nautical
almanac tells you that the uncorrected height should be 20°01.0'.
Tap the "Sight reduc" button to switch to the HO229 page.

After making your observation and correcting for index error,
dip, and atmospheric conditions, you calculate a height Ho of 20°19.4'. Enter
that value for Ho.

Check the "Calc from GHA?" box to enter your GHA and have CelestNavTM compute your LHA.
Antares's GHA and declination have been pre-entered for you from the
Nautical Almanac page.
Since your DR latitude is north
and the star's declination is south, CelestNavTM displays "contrary". Your LHA, as
computed by CelestNavTM, is 319°00.0'.

Check the "Round AP" box This will display an AP (assumed position) of W
15°26.1', N 32°00.0'. AP is rounded to give a whole integer
latitude and a whole integer LHA.

CelestNavTM displays a value of 19°42.5' for Hc, and azimuth of 141°, with an inter
cept
of 36.9 nautical miles "toward".

To plot this LOP on your paper chart, begin from the displayed AP position. Draw
a line from your AP on bearing 141. At a point on that line 36.9 nm from the AP,
place a dot, the intercept point. Draw a perpendicular to your first line (the
azimuth line), through the intercept point. Your position was somewhere along
that line.

Now turn to volume 3 of HO 229, page 85 (the page that lists LHA of 319,
contrary latitude/declination names). Look under the column for latitude 32°.
Interpolation between the values for declination 26 and 27 gives an Hc of
19°42.1', and both Z and azimuth of 141.4°.

To use the Sight Reduction/HO 299 screen by itself, without knowing
GHA, simply uncheck the "Cal from GHA?" box. Now you can use the
screen the same way you would use HO 229.

Sometimes you will want to draw a single celestial line of position on
your chart without computing a fix--for example, to plot a single sun
line in the middle of the afternoon.

For this example, assume that on December 19, 1993, you observe the
lower limb of the sun at 03:04:10 UTC, with Hs of 61° 12.7', index
error +1.0', height of eye 8 feet (as in the examples using the full
fix). Your DR position is 40°17' South, 160°15' East.

First enter your height of eye (or use the one you saved earlier) and
enter the sight.

Then tap "LOP" to bring up the "Sight reduction/HO 229" page.
CelestNavTM copies your DR position from the Almanac page, and Ho from
the Sight Edit page. Assumed Position is shown at the upper right.
In this example you would plot an azimuth line from the AP extending
on bearings 297 and 117, plot a point on the azimuth line 26.5 miles
from the AP along bearing 117, and the draw your celestial LOP through
that point, perpendicular to the azimuth line.

You can, of course, use this sight in a full-blown CelestNavTM fix
computation, also.

CelestNavTM can compute height, range, and angle for terrestrial
objects. This is useful for determining your distance from an object
of known height, or the height of an object at a known location, or
for maintaining a minimum or maximum range from an object of known
height, such as a lighthouse.

Tap "Find height", "Find distance", or "Find angle" to choose the
computation you want. CelestNavTM assumes that you can see both the top
and the bottom of the object; its algorithm fails if the base of the
object is below the horizon.

Suppose you want to stay at least 1 kilometer away from a 145 foot
lighthouse. Enter the lighthouse's height and the desired range;
check your index error and enter it if necessary. CelestNavTM shows
that you must observe an angle of no more than 2° 32.8' in your
sextant. If the angle exceeds that, you are too close to the lighthouse.

To compute approximate times for sunrise, sunset, local apparent noon,
and twilights, use the "Daylight" page. Times are displayed both in
"local" time (the time set on your PalmOS handheld) and UTC, using the
time zone that you set on the "Time" page. "////" means that an event
does not occur on that day, for instance a sunrise or sunset during
extreme polar winter or summer.

CelestNavTM can compute the great circle
or rhumb line distance (Mercator sailing)
between two points, including the locations of waypoints. Great
circle sailing gives the shortest distance; Mercator or rhumb line
sailing gives the route for a constant heading.

From the Status Page, tap "Sailings". Choose "Mercator" from
the popup list in the upper right corner. Tap "Find course/dist", and
enter your desired start and end
points.

To display waypoint locations at fixed percentages along the route,
enter that percentage in the field provided. Then tap "Next Wpt" and
"Prev Wpt" to cycle through the waypoints.

To compute the time
required to travel a given distance, or the speed required to make a
deadline, enter the known distance or speed, in days or hours.

You can also find the place you will be after sailing from an origin
for a given heading and distance. Tap "Find dest lat/long", and enter
your heading and distance.

CelestNavTM can also compute the great circle distance, and initial
heading, between two points. Note the difference in distance traveled
between Great Circle and Mercator sailings. Switch to "Great Circle"
using the popup list in the upper right corner.

In the rhumb line (Mercator) approximation to a Great Circle route,
you'll change course for each leg, and you'll travel a greater
distance than if you sailed a pure Great Circle route. When you tap
"Prev Wpt" or "Next Wpt",
CelestNavTM will show you the position of
each intermediate point that joins two rhumb line legs.

The more legs
you sail, the more course changes you have, but the shorter your
distance traveled is. Total distance on the rhumb line approximation
is listed in the last line, on the right, and changes depending on how
many legs you use. Change the size of the leg by entering a value in
the "%" field at the bottom.

To see the courses and waypoint positions for the return voyage, tap
the "Reverse" button.

CelestNavTM uses a
registration code based on your HotSync name. When you buy
it, you will need to provide your HotSync name. You may also provide
the RegCode, which appears in the middle of the screen. The RegCode
is helpful if your name uses international characters; it is simply a
different way of recording your HotSync name.

You
can find the HotSync name in the upper right corner of the screen in
your Palm HotSync application, or in the upper left corner of CelestNav's
"License purchase" page.

Go to the "Register" page by choosing "Licensing"
from the Setup menu.

Purchase CelestNavTM for $49.95 through the Mobile Geographics Online
Store, or through a PalmOS software retailer.

When you buy CelestNavTM, you will receive a temporary unlock key
immediately, and a permanent key in a few days.
The temporary key will work for 60 days. The permanent key will not
expire.

Feel free to beam the online version of CelestNavTM to your friends.
CelestNavTM will
function as a demonstration version for 10 days, just as if they had
downloaded CelestNavTM from a PalmOS software vendor.

When you receive a new version of CelestNavTM, simply install the new
celestnav.prc on your PalmOS device. Your existing data and
unlock key will be preserved. You should always keep a record of your
unlock key in a safe place, though.