Correlation for Geodetic VLBI

Please note this guide is a rough draft that I (Tiege) have been writing alongside learning the correlation process. It is also written with the vc0 cluster in mind.

Preparing filelists

  1. Identify where data is stored for each station
  2. If data is stored as vbs scattered recordings, use the ‘vbs_fs -n 4 -I <exp_code>* /mnt/<vbs_mount_point>’
  3. Once you have a directory full of files run either: ‘vsum -s * > station_code.filelist’ or ‘m5bsum -s > station_code.filelist’ depending on the station/data (note: may need to do this from home directory point at the relevant files in /mnt/vbs or wherever, depending on permissions).
  4. vsum can take a long time (tens of minutes)
  5. Transfer the file lists to the correlation directory

NB: instead of vsum -s you can use vsum.gappy.py which is much faster and potentially more robust. It takes the VDIF file and data format as arguments. To run on a full directory worth of files use something like:

  for i in $(ls /mnt/vbs4/aua075_hb_11*_xx) ; do ~/vsum.gappy.py $i VDIF_8000-1024-8-2; done > hbXX.filelist

Transfer Logs

Move station logs to vc0 correlation directory for processing - for AuScope stations these logs will be on field system machines. For external stations, they should have been transferred with the data.

Preparing VEX file

If the experiment is a ‘mixed mode’ experiment, the VEX file will need modifying with new definitions for Hb, Ke or any other mixed mode station. These don’t change much - so look at a previous successfully correlated VEX file for this particular experiment series and copy the extra definitions in. Some stations that record in VDIF format may also need minor modifications of the VEX file.

Preparing V2D file

  1. Copy a V2D from a previous experiment as a start point.
  2. Check all required antennas are selected, and have been defined
  3. Check the antenna definitions point to the correct filelists and machines where data is stored
  4. Update clock information for each antenna
    • Unordered List ItemDo this using Log2clock.sh on vc home directory
    • Syntax is:
      ./Log2clock.arg.sh <log_file> YYYY DOY HH MM SS <station_code> search_string 
    • Where the date given is the start of the observation.
    • Note for Ke and Hb we care about maser2gps times - not fmout-gps, so change the search string to reflect this.
    • Copy the output into the antenna definitions within the V2D file.
    • Make sure deltaClock value is up-to-date with latest github table values
  5. Make sure the machines that data is being accessed from are listed within the machines list (make sure there is at least one entry per datastream)
  6. Update EOP parameters at the end of V2D:
    • Do this in the VC home directory using
      ./get_eop.utas.sh YYYY DOY
    • Copy the output into the V2D file

Peculiar offsets and relevant offset string per station:

Check the value of these against github table as they may be out of date, should be satisfactory starting points though.

  • Hb: -1.585 applied to maser2gps readings (v2d)
  • Ke: -1.85 applied to maser2gps readings (v2d)
  • Yg: -2.278 applied to fmout-gps readings (v2d)
  • Ww: -1.974 applied to gps-fmout readings (v2d)
  • Ht: -2.943 applied to fmout-gps readings (v2d)
  • Ho: -2.15 applied to fmout-gps readings (v2d)

Running Correlation

Basic correlation steps:
- Make sure threads file is in directory
- Run vex2difx on the V2D file
- Then run difxcalc on all .calc files within the directory
- Now either run an mpirun/mpifxcorr command and correlate an input file or use the dynamic correlation script on vc0 (see below).
- Use difx2mark4 on the .difx files to generate mark4 datasets for fringe fitting. Syntax: <code>difx2mark4 -e <4_digit_code> -d</code>

The -e difx2mark4 option defines the name of the directory (defaults to 1234) and -d tells it to run on all .difx files. IMPORTANT: when Ke is involved in the experiment you need to use the ‘-w 16’ option in order to not include the 32 MHz data.

Should correlate a few test scans throughout the experiment (and check for fringes with fourfit) to make sure settings in the V2D file are correct before correlating the whole session.

Example ‘manual’ mpirun command:

mpirun -NP 168 -machinefile aua078_007.machines mpifxcorr aua078_007.input 

Dynamic Correlation

The vc cluster has a scheduling script for the correlator that is controlled via a list of joblists. The ‘master’ list is /tmp/dynlist on vc0. In order to add a job to the queue, you must edit dynlist and add the path for your joblist. For example, to correlate 1 scan for AUA075, you can create a file in /tmp named aua075.joblist, within this file you add the path to each input file you want to correlate (however, leave off the file extension).

For example aua075.joblist may contain 1 line that is:

/home/observer/correlations/aua075/aua075_001

Then you edit dynlist and add the following line/ either to the front of the queue (top of the file), back (end of the file) or somewhere inbetween:

/tmp/aua075.joblist

Troubleshooting and general notes

To mount RDSI on flexbuf or flexbuf-2hb:

mount -t nfs 172.27.63.3:/rd/projects/radio_astronomy/pulsar /mnt/rdsi

or to mount RD1:

mount 172.27.63.3:/rd1/auscope/PRIVATE /mnt/rd1