NSIGUI trouble shooting
The
nsQueryEngine.tcl
script assumes that
ftp
and
telnet
are in the path - make sure those are available.
From time to time JPL horizons changes the
telnet
interface used to get non-sidereal object ephemerides. When this happens, the script nsQueryEngine.tcl must be modified. nsQueryEngine.tcl is in both the IRTC installation (/lbt/irtc/current/bin/), and the
TCS installation (/lbt/tcs/current/) (it is used by the
NSIGUI
, the
irc
, and the
IIF.).
The script tries to detect many failure conditions, but if the
telnet
question/response is broken, it often returns error "Invalid number of arguments" after about 17 seconds. It may also send messages like this to stderr:
can't read "ftpName": no such variable
while executing
"send "get $ftpName $localFile\r""
invoked from within
"expect "ftp> " {send "get $ftpName $localFile\r"}"
(file "/lbt/irtc/current/bin/nsQueryEngine.tcl" line 356)
The problem is ftpName has not been set because the preceding question/response is broken.
The nsQueryEngine.tcl script uses
expect
to manage the
telnet
and
ftp
sessions needed to communicate with JPL Horizons. If the session question/response is changed by Horizons, the tcl script must be changed to match. Probably the best way is to manually open a
telnet
session to Horizons following the script, and see what has changed. Then fix the script.
Another way is to look at the script logfile. The script makes a logfile (/lbt/ephemeris/) named <object>.log. Examining the logfile together with the script can show you where the changes are. This allows one error to be fixed at a time. For example, if an additional question is being asked by Horizons, following the logfile and the script will show where the new question is. Change the script for the new question, and run it again. Now the script will answer the new question, but the following question(s) may be handled incorrectly. Fix the script and repeat.
On at least one occasion JPL Horizons changed the output format of the ephemeris, which caused errors in the
PCS when it read the file. Figuring out what to do required an understanding of the
PCS with regard to what it expects to find in the ephemeris file.
-- %USERSIG{ChrisBiddick - 2017-06-30}%