Hi folks,
I am reasonably sure that I have now fixed the bugs (there
was more than one!) affecting artificial satellites. If you
visit the "in-testing" update page,
http://www.projectpluto.com/new.htm
and grab the update posted there, the problem should go away.
Aside from the Major Bug that caused only one pass to be
listed, I fixed...
(1) A problem that sometimes caused the wrong maximum altitude
to be listed in the satellite pass table.
(2) Guide could center on the wrong object when you clicked on a
date/time listed in the satellite pass table, if there were duplicate
names in the TLE, i.e., two or more objects with the same name.
This is related to the problem Kevin Fetter mentioned: using the
names for satellites can cause trouble because often, different
satellites have the same name. Jari Suomela ran into it because
the Chinese anti-satellite missile has created hundreds of objects
named FENGYUN 1C DEB. This problem is fixed.
(3) You can now locate satellites by entering their five-digit
NORAD number followed by a 'u', or their international designation
in several different forms.
You'll also see that Guide can be run in Linux, using WINE
(a free package that allows many Windows programs to run in Linux),
with some tips on how to do this. (From the 'winehq.org' Web
site, it sounds as if this also may make it possible to run
Guide on Intel-based Macs. Note that while this _does_ let you
run Guide without Windows, a few things -- such as grabbing TLEs
and images and star catalog data from the Internet -- don't work
under WINE yet.)
The rest of this post is an explanation of where the bugs
were and how I fixed them, possibly of interest to only a few
people on this list! Everyone else can safely skip it:
Jari and Masaki gave me some more details on the problems via
private e-mail. But I was still unable to replicate the errors
on my machine: everything worked Just Fine. Finally, I tried
something a bit unusual: I rebooted my machine into Linux and
tried installing and running Guide using WINE.
With Linux/WINE, everything ran Just Fine until I right-clicked
on a low-orbiting Earth satellite. Then the entire solar system
receded by a few million light-years (literally!) in the direction
of RA=0, dec=0. I could right-click on the cluster of objects at
that point and ask for "more info", and got a long string of
digits for the distance to the object.
I added some debugging code, switched back to Windows to
recompile Guide, switched back to Linux, and ran Guide via
WINE again. I had to do this several times, to narrow down
the point where things went haywire. As I did this, the bug
changed. Eventually, I got the same bug reported on-list:
in a list of satellite passes, only the first pass was found.
Still further narrowing-down revealed that a particular
variable was uninitialized. Some of the time, oddly enough,
this wouldn't present much of a problem. But much of the time
(including when running Guide via WINE on my machine) it would
be set to a value that allowed only one pass to be generated.
In the end, after many hours of work, I changed a '9' to a
'10' in one line of code, and the bug was fixed.
-- Bill