Spectrometer Software Overview

At the most basic level, an experiment on the spectrometer is performed by running a pulse program.  This is a specially written "C" program that utilizes a library of macros and functions to specify the exact sequence of events in an experiment.  Such a program performs all the tasks associated with running an experiment and collecting the resulting data.  Although each different kind of experiment requires a unique pulse program, all such programs share common structural elements.

In order to allow easy control of experimental parameters, all pulse programs read information from an external symbol table when they are executed.  This allows the user to control the details of an experiment (such as number of scans, dwell time, observe frequency, etc.) without having to modify the actual pulse program.

The spectrometer software also includes a collection of individual programs, each which performs a specific function such as halting an experiment in progress, listing the contents of the symbol table, or defining a symbol.  

Although pulse programs, and most of the individual spectrometer control programs, can be executed directly from the command line,  the user typically will interact with the spectrometer using a graphical user interface program (GUI) called the Manager.  This program provides a convenient graphical interface from which the user can edit and compile pulse programs, control the spectrometer, view the status of an experiment, and launch other useful GUI programs. 

The Manager program is started from the command line by entering the command Man.

There are three other GUI programs which are commonly used:

All of the GUI interfaces utilize the X-windows protocol.  As a consequence of this, they can all be run remotely from other computers.  In other words, any internet connected computer which has an X-windows server capability can be use to operate the spectrometer with exactly the same functionality that is available to a user sitting at the spectrometer console.  For example, much of the development work on the console software was actually done remotely from a Windows 98 computer using Starnet Communications' X-Win32 software.  The only caveat is that computers connected to the Internet via dialup modems will likely prove intolerably slow.


User Account Setup

The spectrometer software is hosted on a Silicon Graphics Inc. (SGI) Indigo workstation under version 5.3 of IRIX, the SGI variant of Unix.  In order for a user with a login account on the host workstation to run the spectrometer software several matters must be attended to.

1) The user must be authorized to use the spectrometer

The login name of the user must be added to the authorization database that is maintained for the spectrometer.  This task is usually performed by the manager of the system.

2) The directories that will hold the users pulse programs and data files must be created.

The location of these directories can be specified in the console configuration file, but by default the users pulse program directory is:

~/local_console/pulse_programs

and the users data directory is:

~/local_console/data/

3) The user's console_configuration file must be created

The easiest approach is to just copy the sample file with the following command:

cp /usr/local/console/sample_files/.console_configuration_file ~/

The user can then edit the file to reflect personal preferences.

4) The location of the spectrometer executable files must be added to the definition of the path environment variable.

The spectrometer executable files are located at /usr/local/console/bin.  This can be added to the users path by executing the command: 

set path = ( $path /usr/local/console/bin)

5) The environment variable CONSOLE_CONFIG must be set to the name and location of the user's console configuration file

Normal convention is for the user to have a file named .console_configuration_file in their home directory.  The variable can be defined with the following command:

setenv CONSOLE_CONFIG ~/.console_configuration_file

6) The environment variable WNDXPATH must be set to the location of the graphical interface resource files

These files are located at /usr/local/console/resource_files.  The variable can be defined with the following command:

setenv WNDXPATH /usr/local/console/resource_files

The last three steps (4, 5, and 6 above) must be performed each time the user logs in, so they are most easily accomplished by executing the commands from the user's .cshrc file.  This can be further simplified by executing the script made available for this purpose.  This is done by placing the following command in the users .cshrc file:

source nmrrc