Database tables

A database backend (currently Oracle) is used to store certain bits of information that are important for the operation of the VLBA-DiFX correlator. The same physical database is used to store monitor data from VLBA observations and log data from foreign stations that are processed through fs2db. This version of this document describes only new features, including database tables not used in the hardware correlator era and the software that populates and uses this information. The new software in question accesses the database through one of two mechanisms. Python programs use the cx_Oracle library and Java programs (e.g., the DiFX Operator Interface) use JAXB.

The DIFXQUEUE table

The DIFXQUEUE table is used to specify the state of the correlator queue. Each job can have a unique entry in this table. The structure of this table is based on the FXQUEUE table used by OMS, but this table is incompatible with OMS and should be treated as a completely parallel development. The program difxqueue will populate this table for each job being staged for correlation. Initially the STATUS field will be “QUEUED”, but will change to one of the other options in the course of correlation. The DiFX Operator Interface (DOI) uses this database table directly.

Column

PROPOSAL

VARCHAR2(10)

The proposal code

SEGMENT

VARCHAR2(2)

Segment (epoch) of proposal, or blank

JOB_PASS

VARCHAR2(32)

Name of correlator pass (e.g. “geodesy”)

JOB_NUMBER

INTEGER

Number of job in the pass

PRIORITY

INTEGER

Number indicating the priority of the job in the queue;

1 is high, 2 is default, and 3 is low

JOB_START

DATE

Observe time of job start

JOB_STOP

DATE

Observe time of job stop

SPEEDUP

FLOAT

Estimated speed-up factor for job

INPUT_FILE

VARCHAR2(512)

Full path of the VLBA-DiFX input file 3

STATUS

VARCHAR2(32)

Status of the job, perhaps “QUEUED”, “KILLED”,

“RUNNING”, “FAILED”, “UNKNOWN” or “COMPLETE”

NUM_ANT

INTEGER

Number of antennas in the job

CORR_TYPE

VARCHAR2(32)

Type of correlation (e.g., “PRODUCTION” or “CLOCK”)

CORR_VERSION

VARCHAR2(32)

The DiFX version string

NUM_FOREIGN

INTEGER

Number of non-VLBA antennas in job

OUTPUT_SIZE_EST

INTEGER

Estimated correlator output size (MB)

The DIFXLOG table

The DIFXLOG table contains a list of all correlation attempts and is basesd on the FXLOG table used by the hardware correlator and OMS. In the case of successful correlation, the CORR_STATUS field will be set to “COMPLETE” and the SPEEDUP and OUTPUT_SIZE fields will be set.

Column

PROPOSAL

VARCHAR2(10)

The proposal code

SEGMENT

VARCHAR2(2)

Segment (epoch) of proposal, or blank

JOB_PASS

VARCHAR2(32)

Name of correlator pass (e.g. “geodesy”)

JOB_NUMBER

INTEGER

Number of job in the pass

CORR_START

DATE

Start time/date of correlation

CORR_STOP

DATE

Stop time/date of correlation

SPEEDUP

FLOAT

Measured speed-up factor

INPUT_FILE

VARCHAR2(512)

File name of .input file

OUTPUT_FILE

VARCHAR2(512)

File name of correlator output

OUTPUT_SIZE

INTEGER

Size (in \(10^6\) bytes) of correlator output

CORR_STATUS

VARCHAR2(32)

Status of correlation, typically “COMPLETED”

CORR_TYPE

VARCHAR2(32)

Type of correlation (e.g., “PRODUCTION” or “CLOCK”)

CORR_VERSION

VARCHAR2(32)

The DiFX version string

The CONDITION table

The CONDITION table contains performance information for the hard disks comprising Mark5 modules. A separate table entry is made for each disk in a module so typically there will be 8 entries generated for each module conditioned. There are two paths to get data into this table. The condition program can be used to manually load condition reports from the SSErase program. Secondly, the condition_watch program automatically populates the database immediately after module conditioning upon receipt of a Mark5ConditionMessage that is now generated by a specially modified version of Haystack Observatory’s SSErase program.

Column

SERIALNUM

VARCHAR2(32)

The hard disk serial number

MODEL

VARCHAR2(32)

Model number of hard disk

CAPACITY

INTEGER

Size of disk in \(10^9\) bytes

MODULEVSN

VARCHAR2(10)

The name of the module containing the disk

SLOT

INTEGER

The slot number within the module (0 to 7)

STARTTIME

DATE

Date/time of conditioning start

STOPTIME

DATE

Date/time of conditioning completion

BIN0

INTEGER

Bin 0 of performance histogram (\(<\) 1.125 ms)

BIN1

INTEGER

Bin 1 of performance histogram (\(<\) 2.25 ms)

BIN2

INTEGER

Bin 2 of performance histogram (\(<\) 4.5 ms)

BIN3

INTEGER

Bin 3 of performance histogram (\(<\) 9 ms)

BIN4

INTEGER

Bin 4 of performance histogram (\(<\) 18 ms)

BIN5

INTEGER

Bin 5 of performance histogram (\(<\) 36 ms)

BIN6

INTEGER

Bin 6 of performance histogram (\(<\) 72 ms)

BIN7

INTEGER

Bin 7 of performance histogram (\(\ge\) 72 ms)

1

INPUT_FILE is the primary key for this table.

2

INPUT_FILE is the primary key for this table.

3

INPUT_FILE is the primary key for this table.