NRAO Home  >  Green Bank  |  Wiki Topic:    GB > Data > IardsGuide
   Changes | Index | Contents | Search | Statistics | Jump to Topic

Running IARDS

Jim Braatz

Introduction

This document describes IARDS (pronounced "yards" by some, and "eye-ards" by others) and its interaction with GO. It also provides details on how to start IARDS from scratch, how to troubleshoot the system in the event of errors, and how to operate the components of IARDS in an offline environment.

Architectural Overview and Definitions

GO is the GBT Observe program, the astronomer's interface to the GBT.

IARDS is the Interim Automated Runtime Display System, a set of AIPS++ functions which are called at the conclusion of a GBT scan to display the completed scan's results. IARDS is not a true real-time display system because it operates only on completion of a scan. In addition to displaying a scan's result, IARDS is used to calculate and update certain GBT parameters including local pointing corrections (LPC's) and focus settings. So, to get automated LPC's, you must be running IARDS.

GO and IARDS are connected by a single client, gbtgoclient, which allows the two programs to communicate even if they are running on different computers. Communication happens via glish events sent between the two at the conclusion of a scan. The events from GO to IARDS notify IARDS that a scan is completed and ready for processing. Events from IARDS to GO are used to pass parameters such as the LPC's back to the GBT Monitor and Control system. Communication is orchestrated by the glishd process, a daemon which runs on each of the computers involved.

This architecture is designed to permit observing and data collection to continue even if IARDS goes down for some reason. Currently the user must be wary to have only a single IARDS session running at a time.

How to Start IARDS from Scratch

1. Ensure that glishd is running on victor.

     victor% ps -elf | grep glishd

If you do not see a glishd process running, start it as follows, from the gbtops account:

      victor% sudo /sbin/run-glishd

2. Ensure that no gbtgoclient processes are running on victor.

     victor% ps -elf | grep gbtgoclient

If a process is running there, have the operator log in to victor as root and kill it using

     victor% kill -9 pid
where pid is the process ID of the gbtgoclient process.

3. Start IARDS. This is usually done from naiad.

      naiad% iards

4. Start GO

      naiad% source /home/gbt/gbt.bash
      naiad% GO T

Troubleshooting IARDS

Problems with IARDS can arise under a variety of circumstances. These include a) the glishd process is not running properly; b) the GBT configuration is not correct c) an external AIPS++ session is interfering with the process; d) the gbtgoclient process is not running properly; or e) a bug in IARDS or GO. If IARDS does not seem to be working, follow these steps:

1. Make sure only one copy of IARDS is running. If this is not the case, shut down all instances of IARDS by typing "exit" at the glish prompts and start IARDS from scratch. You might also shut down any other AIPS++ sessions that are running on naiad (or whichever computer IARDS is running from) to ensure that resources are optimized for IARDS performance.

2. If there is a gbtgoclient process running on victor, ask the operator to log in as root and kill it. Often this is enough, and you can try restarting GO and IARDS after this step.

3. Try resetting the communications mechanism. See instructions below.

4. If the above steps have not fixed the problem, try to process your scan offline. The result will indicate if the problem is in the communications mechanism or in the GBT configuration or elsewhere in the system. Follow the instructions given below.

5. If you can not clear the problem still, try rebooting the relevant computers (usually naiad and victor) and start again. Notify Jim Braatz by email if you have to resort to this option.

6. When all else fails, contact Jim Braatz or Toney Minter to seek help.

Resetting the IARDS communications mechanism (glishd)

1. If IARDS and/or GO are running, shut them down by typing "exit" at the glish prompt for each session. That is, exit IARDS and exit GO, separately.

2. Reset the glishd process on victor, using the gbtops account, as follows:

    % sudo /sbin/run-glishd

3. Check the status of glishd. Test this as follows, on victor:

    % ps -elf | grep glishd

You should see one glishd process, owned by root, and no others. If this is the case, try again to start IARDS from scratch according to the instructions above. If you see multiple glishd processes, you need to kill them all (as root) and repeat this step.

Running IARDS in an offline environment

IARDS can be run offline, that is, without the communications link to GO. The offline mode can be used to test whether a given IARDS problem is associated with the communication link or not. To run IARDS offline, first shut down any AIPS++ sessions you have running, other than GO, and proceed as follows:

% source /home/aips++/stable/aipsinit.sh              // assuming you use the bash shell
% aips++ -l GOpoint.g -l GOspec.g                     // start AIPS++ and load the appropriate functions

The following functions are now available to you at the glish prompt. You need supply only the project name and a scan number to each.

Continuum pointing GOpoint (project_ID,scan_number) The scan number in this case is the first scan of a 2-scan procedure.
Spectral Line GOspec (project_ID,scan_number)
Continuum Focus GOfocus (project_ID,scan_number)
Continuum Track GOtrack (project_ID,scan_number)

Example:

- GOpoint('/home/gbtdata/test_go',3)

If you suspect a problem with IARDS, run the appropriate offline function. If the data look correct, then there is a problem with the IARDS communication mechanism. If the data do not look correct, there is most likely a problem with your GBT configuration for that scan. Check the configuration. If you know of a scan taken previously in the same intended configuration, try the IARDS offline function on that one also. If that scan, known to have worked with IARDS previously, fails, then there is likely a defect in the IARDS code. Report it to Jim and with the AIPS++ bug() feature.

Here are some samples of offline tests that you can use to check the functionality of IARDS components:

Az/El pointing GOpoint('/home/gbtdata/test_go',1)
Ra/Dec pointing GOpoint('/home/gbtdata/standards_jul13',1)
Beam switched pointing GOpoint('/home/gbtdata/T_FABIAN',878)
Off/On spectral line GOspec('/home/gbtdata/standards_jul13',57) Ignore the printed warnings about missing scans in sequence
Beam Switch sp line GOspec('/home/gbtdata/T_FABIAN',880) Ignore the printed warnings about missing scans in sequence
Freq Switch sp line GOspec('/home/gbtdata/standards_jul13',36)
Track GOtrack('/home/gbtdata/standards_jul13',1) You see intensity against time with GOtrack
Focus GOfocus('/home/gbtdata/test_go',14)

-- JimBraatz - 20 Jun 2003

Topic IardsGuide . { Edit | Attach | Ref-By | Printable | Diffs | r1.2 | > | r1.1 | More }
Revision r1.2 - 25 Jun 2003 - 21:13 GMT - JimBraatz
Parents: WebHome
Content copyright © 1999-2007 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.