ASTRO

A celestial navigation program for the 3Com Palm computer

1. What you get

The zipfile includes the program PASTRO and the library ASTROFUNC. A more recent version also includes a copy of MathLib. Please move the programs to your Pilot. ASTROFUNC may appear to be a program but it is actually a function library for the main program PASTRO. If you attempt to run the library, it will not run for you. The program is compiled for PalmOS 1.0, 2.0 and 3.0.

2. Something about your input

The data input for a program is always a special problem when you have to input degrees, minutes, seconds or time. To make it easier the data are separeted by space (stroke), e.g.  to enter 12 degrees 34.5 minutes do this

12<space>34.5

All times are in UTC (universal time coordinated).

3. The menu

When you start your program you will see the following on your display:
 
 

startup display

On the left are the celestial bodies the program can use and the center and left present the operations the program can perform.

3.1. Compute a position

The program uses its own internal year so that you can do sample sight reductions. Before a reduction be sure that the correct date is set. The sample problems in this documentation all use the year 1990. Set the appropriate year by first selecting 'year' from the middle column.

To reduce a sight a calculate a fix choose a star (from the left column) and start the calculation of your first sight (select 'sight').

Example:

We will reduce two sights and calculate the fix using the following sample data. (Please set the year for the examples to 1990.)

D.R.       13  53' N
           44  39' W
1. sight   sun 16.12.1990  UTC 10:49:06
           down 19  18.6' no indexerror
           height 2 m
2. sight   sun 16.12.1990  UTC 14:37:10
           down 52  28.2' no indexerror
           height 2 m
           run distance course 270 , 19 sm
These are sun sights so select 'Sun' and then 'Sight' from the main menu.

Now you can input your data for the first sight. First input your D.R. (Dead Reckoning)  position. Remember the input terms: first the degrees then a space followed by the minutes.

Then select north or south. North is the default.

Do the same with the longitude.

The date follows. Please input only month and day. The year is set in the main menu.

The time is the next data. Please remember the input terms.

Now input the sextant angle. If you work with the sun or the moon select the type of sight.

Input the correction now. The defaults are typical for sailors. If your indexerror is negative, you have to put an '-' in front of the minutes. The height of the eyes are in metres.

Now push the 'compute' buttom.
 
 

sight

Please wait for the computing. You will see the miles away or towards the star and the computered azimut. The miles should be very small. If the value seems too big there will be an input error or your sextant angle needs to be controlled. If everything is ok press the 'Ok' buttom. You are back to the main menu now.

For the second sight you can choose all stars again. The mask (inpout form) is like the first one but there is no position. You have to input the running values angle and distance.

The new sight is computed from the new position.

After two sights you can visit your position. Please press the 'fix' buttom in the main menu. The output looks like this:

Fix

The D.R. is shown from your last postion. The correction is computed (BV) from here.

You can add now another sight or clean up everything. If you do nothing the sight will be saved so when you start the program again you still have this position. More examples are below in this document.

3.2. To find a star

In the twilight often you have the chance to take a sight of a star but you don't know whic star it is. In this case you can select 'unknown' in the listbox and input the bearing of the star. The program will determine the star but it takes a little bit of time since it must make the computation for all the candidate stars and planets. So please wait for the answer.

The other inputs are the samew as for the sun.

For example:

D.R.       13  55 N
           44  31 W
1. sight   unknown star  16.12.1990  UTC 8:26:10
           bearing 80    sextant 44  36.4'
2. sight   unknown star  16.12.1990  UTC 8:30:30
           bearing 350   sextant 42  4.4'
           no run distance
Stern

The program always computes all stars. You only have to accept whether the output is correct or not. There are 58 stars to select.

The output for this example should be:

        2 sights
        16.12.1990
        8:30:30      
        pos  lat:     13  55.0 N                
             long:    44  31.0 W                
        fix  lat:     13  49.8 N                
             long :  44  39.4 W                
        BV   237,7    9.6 sm
The stars in this case are arcturus and dubhe.

You can try an other sight (upto 20):

3. sight   unkown star  16.12.1990  UTC 8:38:40
           bearing 270     sextant 57  19.2'
           no indexerror, height 2 m
           no run distance
The output is:
        3 sights
        16.12.1990
        8:38:40      
        pos  lat:     13  55.0 N                
             long:    44  31.0 W                
        fix  lat:     13  52.3 N                
             long:    44  46.9 W                
        BV   260.4      15.6 sm
The star now is jupiter.

3.3. (De)activate your sights

If you like you can control which of your sights are used to compute the fix. If you want to have a sight not included on the fix, deselect that sight in the 'sights' screen and it will not be used for the fix. Later you can reactivate this sight.
 


Beobachtungen

If you do this with the above example and deactivate the third star then the fix must be the same as you got from the first two sights.

3.4. Rating the sights

It's very difficulty to rate your position. There are some error behaviors you have to consider: You can get help from a little plot of your sights. Remember: the cross point of your lines is not necessarily your correct position but it is near there. The accuracy is ased on the azimuths of your sights. It is good to have a difference of between 60 and 120 degree for the azimuths. Every new sight will give you a better position and a smaller error in your fix.

3.5. Changing your recorded sights

The change of sights is the standard work for sailors. Example: you take a sun sight, then move forward a little bit. You take another sight to get a new fix. With the button 'change' you can make your last sight available to be the first sight of the new fix. The new computed fix will be based on your D.R. position from that last fix. You can start with a new sight from here and so on. Here is an example:
D.R.       15  30 N
           38  40 W
1. sight   sun down    13.12.1990  UTC 10:46:29
           sextant  23   6.6'
2. sight   sun down    13.12.1990  UTC 14:00:14
           sextant  51   0.8'
           no indexerror, height 2 m
           run distance  260   und 16 sm
Your fix should be
     14  50.7 N
     39  23.3 W
Change your sights now (the 2. sight will be the first). Control the sight. You will have only one and the position must be your old fix (see above). The miles away or towards should be very short.

 This will be basic for the next action. Here is the new sight:

       sun down    13.12.1990    18:08:24
       sextant   24  59.6'
       no indexerror, height 2 m
       run distance   260   und 24 sm
The fix now is:
      14  46.3 N
      39  47.8 W

3.6. Clearing your sights

The buttom 'clear' in the main menu will delete all your sights. There is no way to delete a single sight. You only can deactived a sight.

3.7. Computing a star's bearing

Take the first example for the following.

You like to know how to prepare your sextant before you take a sight. For this reason you input the datas as usual. Only the sextant angle you can't input because you don't know it yet. Press the '?' to get the value. If you do this with a star you also will get a value in the area bearing.

3.8. Computing a course and distance

Select 'course'. Input your initial position and your target position and Astro will compute the course and the distance.

An example: From your last fix you want to go to St. Lucia. If you have taken a fix before you can first review the fix and then choose the 'course' buttom in the main menu. So you only have to put in your destination data.

        pos:     lat:     14  46.3 N             
                 long:    39  47.8 W             
        target:  lat:     14   2.0 N             
                 long:    61   1.0 W             
        course   270.6                       
        distance 1233.5 sm

3.9. Computing a new position

This is the other way round. Select 'destination'. Input your position, the course, and the distance and Astro will compute the new position. Use only distances less then 500 miles for this.

Use the same example for this. From here you sailed 30 miles with the course 260 degree.
 
 

Koppeln

3.10. Noon

This computes some useful times of the day: sunrise, local noon, sunset, and the twilight times.

Mittag

3.11. Change the year

Astro uses its own year for the sight calculations. You set Astro's year independently of the Palm's date. Select 'year' from the main screen.

4. High altitude sights

Get the time for noon at your supposed position ('noon' at main menu) and take a sight at this time. Now reduce the sight. You will get the miles away or towards the sun (due South or due North). You only have to add the miles to your D.R. latitude (away = +, towards = -).

An example (clear all old sights first):

D.R.      14  0.0 N
          56  0.0 W

          noon at 20.12.90   15:42:00
          sextant  52  30.2'
          Index 0.0'
          height 2 m
The miles are 9.1 towards.
          lat             14   0.0' N
          -                    9.0'
          ---------------------------
          lat at noon     13  51.0' N
If you select 'Ok' this will be saved as a new sight.

5. The average of sights

Especially in the case of strong waves the accuracy of your sights is going to be reduced. For this reason you will take additional sights. You don't have to average them, just put them into your program and let the computer do the work. For one sun series you don't have a correct fix but with another later series you can get a nice little fix.

An example (please clear the old data):

D.R.       16  45.0' N
           34  23.0' W
1. sight   sun down   11.12.90    10:21:32
           sextant  21   8.2
2. sight   sun down   11.12.90    10:23:17
           sextant  21  29.3
3. sight   sun down   11.12.90    10:25:38
           sextant  21  55.0
4. sight   sun down   11.12.90    10:27:50
           sextant  22  30.0
5. sight   sun down   11.12.90    10:30:07
           sextant  22  51.1

run distance  course    250 
              sm         15

Some more sights:

6. sight   sun down   11.12.90    13:30:18
           sextant  49   2.0
7. sight   sun down   11.12.90    13:34:02
           sextant  49  19.0
8. sight   sun down   11.12.90    13:37:13
           sextant  49  31.4
9. sight   sun down   11.12.90    13:40:32
           sextant  49  41.2
10. sight  sun down   11.12.90    13:44:24
           sextant  49  54.6
>From 10 sights you get this fix:
           16  19.8 N
           34  50.4 W
Now control your lines in the away and towards values. We will deactivate the sights with the largest offsets. When you deactivate the sight 4 (7 sm) you will get a better standard deviation. Going on with the 6. sight (11.5 sm) the deviation also is reduced.
           16  18.1 N
           34  53.3 W
Please be careful. The distance between the two azimuths is very short. It's better to take a value of more then 40 degrees.


Appendix

Some examples

Use the year 1990 for all.
for all use     indexerror = 0.0'
                height   = 2 metres


1.  D.R.       25  18 N
               18   6 W
    1. sight   sun down 28.11.90  UTC 16.53.02
               sextant 16  40.4  
    2. sight   moon up  28.11.90  UTC 16.56.18
               sextant 22  35
    no run distance

    new pos.   25  23.3 N
               18  15.0 W


2.  D.R.       24  23 N
               20  20 W
    1. sight   unknown star 30.11.90  UTC 7.05.42
               bearing 120   sextant 32  41.4
    2. sight   unknown star 30.11.90  UTC 7.12.14
               bearing 230   sextant 22  29.8

    position   24   5.4 N     the star are spica and
               20  32.1 W     sirius.


3.  D.R.       13  43 N
               44  31 W
    1. sight   mars     16.12.90  UTC 21.33.30
               sextant 39  29.4
    2. sight   achernar 16.12.90  UTC 21.38.18
               sextant 16  23.2

    position   14  36.8 N
               45   4.6 W


4.  D.R.       14  15 N
               56   7 W
    1. sight   venus    25.12.90  UTC 21.56.20
               sextant  4  54.2
    2. sight   vega     25.12.90  UTC 22.01.54
               sextant  9  23.8

    position   13  56.2 N
               56  13.5 W



5.  Examples for a running fix

    D.R.       39  40 N
               15  20 E
    1. sight   sun down    14.07.1990  UTC  5:20:16
               sextant  16  20.6
    run distance  336   8 sm
    2. sight   sun down    14.07.1990  UTC  7:26:53
               sextant  40  30.0

    fix        39  25.9 N            please notice the
               15  16.2 E            very short time between
                                     the sights


    Now change the 2nd sight to become the first position

    new sight 
    run distance  323   9.4 sm
    sight      sun down    14.07.1990  UTC  9:44:23
               sextant  64  54.3

    new fix    39  40.7 N
               15   9.7 E


    Now change the 2nd sight to become the first position again

    new sight 
    run distance  323   7.4 sm
    sight      sun down    14.07.1990  UTC 11:10:22
               sextant  71  39.6

    new fix    39  46.6 N
               15   3.8 E

Addenda

This program was tested by me offshore for one year. For the reference I used various nautical almanacs, a GPS receiver and the logs of some friends. I believe that the compiled positions are relatively error free. But I can't give you any 100% guarantee that your positions are correct. Be careful with the output and always verify with other systems and your sense.


A. Fischer, fischer@schluetersche.de
John J. Kelly III, kelly@ModelSoftware.com as native speaker
home  txt.home