How To Run DiFX Using the DiFX GUI

This document contains an end-to-end description of how the DiFX user interface can be used to run DiFX jobs. All steps in the process are described in roughly the sequence they would be employed in actually running a job. Links are provided to other sections of the documentation that may provide additional details on each subject. Because the GUI has many options that can cause branching paths in step-by-step instructions, this document is organized with expanding/collapsing sections that can be viewed by the user, or not, based on whether they apply to their particular situation. To expand an area, click on the "" character associated with it. To close an area click on the "" character.

The hope is that this document, while rather unwieldy in its entirety, will be readably concise when altered for the specific interests of the user.

This document is not a comprehensive tutorial on all of the functionality of DiFX itself. A good place to start looking for that sort of thing is here.

+ Starting the GUI and Connecting to DiFX

- Starting the GUI and Connecting to DiFX

Starting the GUI and setting up a connection such that it can control DiFX is a multi-stage process. Some components of DiFX should be running for the GUI to properly communicate with it. Sigh....we have a problem here.
+ Assure Necessary DiFX Components Are Running

- Assure Necessary DiFX Components Are Running


mk5daemon

The actual processing components of DiFX are started on the fly as they are needed, however a properly configured DiFX installation will have some light-impact processes that are running constantly. Specifically important for the GUI, the mk5daemon process should be running on all DiFX hardware components (processors, MK5 units, etc.).

It is possible to run DiFX using the GUI with mk5daemon absent on some or all components, but this is not a subject covered here.

monitor_server

If you wish to monitor running jobs through the GUI's real-time plotting capabilities, the DiFX application monitor_server needs to be running. This program provides a TCP server at which real-time data from running DiFX processes can be obtained. The absence of this process is not usually a problem - if you request the real-time plotting it should be started automatically. However if you find that real-time plotting isn't working, this could be a cause. For details, see the Real-Time Monitor Documentation.

+ Starting the guiServer Process

- Starting the guiServer Process

The actual processing components of DiFX are started on the fly as they are needed, however a properly configured DiFX installation will have some light-impact processes that are running constantly. Specifically important for the GUI, the mk5daemon process should be running on all DiFX hardware components (processors, MK5 units, etc.).

It is possible to run DiFX using the GUI with mk5daemon absent on some or all components, but this is not a subject covered here.

+ Starting the DiFX GUI

- Starting the DiFX GUI

Some text about starting the thing.
+ Resolving Connection and Security Issues

- Resolving Connection and Security Issues

This can be a real pain. I'll get back to you on it.

+ The Components of the DiFX GUI
- The Components of the DiFX GUI

This is a whole bunch of text that would be hidden, normally.

+
Putting Experiments in the Queue Browser

-
Putting Experiments in the Queue Browser

DiFX jobs are run using entries in the Queue Browser window. If you don't have the job you want to run in the window there are a variety of ways of putting them there.

+ Understanding the Contents of the Queue Browser

- Understanding the Contents of the Queue Browser

The Queue Browser organizes DiFX jobs under a three-level hierarchy with "Experiments" at the top level.

  • An Experiment is usually bound to a single data set (one or more scans) collected over a specific time span - the results of a single observing session for instance. It can contain any number of "Passes" (including zero)
  • A Pass is used to contain the analysis of a subset of the data. Often Experiments contain a "Clock Pass" run on a few scans to generate the time delays for each involved antenna, and a "Production Pass" run on all scans with those time delays in place.
  • Within each Pass is a series of "Jobs", each controlling the processing of at least one scan. DiFX is run on one Job at a time.


+ Creating a New Experiment

- Creating a New Experiment

+ Reading Existing Experiments From Disk

- Reading Existing Experiments From Disk
+ Obtaining Experiments From a Database

- Obtaining Experiments From a Database


+
Running A Job

-
Running A Job

Here is a paragraph of header text. This explains some detail about this section and justifies the subsections below.

+ This is the First Subsection

- This is the First Subsection

Here is the text for the subsection. We can include other stuff in here, like a list:

  • Item 1
  • Item 2
  • Item 3
+ Creating a New Experiment

- Creating a New Experiment

A bit of associated text.


+
This is a Sample "Big Subject"

-
This is a Sample "Big Subject"

Here is a paragraph of header text. This explains some detail about this section and justifies the subsections below.

+ This is the First Subsection

- This is the First Subsection

Here is the text for the subsection. We can include other stuff in here, like a list:

  • Item 1
  • Item 2
  • Item 3
+ The Second Subsection

- The Second Subsection

A bit of associated text.