This page is obsolete - under normal circumstances VEX file hacking is not required
Common vex file corrections needed for LBA experiments & vex2config.pl
Note: this should cease to become an issue when LBA SCHED definitions are fixed and it's all done properly…
In experiments where ATNF stations record 512 Mbps data rate (e.g. 4×16 MHz IFs, dual polarization) Ceduna and Hobart (and Tid) generally record only half the channels.
Currently this is not reflected in the vex format schedule (.skd) file. However it is relatively easy to edit the .skd file so that the correlator input file produced by vex2config
will have the correct information on the recorded data (DATASTREAM and BASELINE tables)
ref $FREQ
, rename the second frequency '<keyword>:<qualifiers>' for the stations which did not record all channels, e.g.:*------------------------------------------------------------------------------ $MODE; * def lba3cm-2p-1IF; ref $PROCEDURES = Mode_01; ref $FREQ = 8417.00MHz2x16MHz:Pa:At:Mp; * removed Ho:Cd from this line ref $FREQ = 8417.00MHz2x16MHzHoCd:Ho:Cd; * new line ref $IF = LO@4500MHzDPolNoTone:Pa:Ho; ref $IF = LO@7800MHzDPolNoTone:At:Mp; ref $IF = LO@7000MHzDPolNoTone:Cd; ref $BBC = 2BBCs:Pa:At:Mp:Ho:Cd; ref $TRACKS = S2.32x4-2:Pa:At:Mp:Ho:Cd; ref $HEAD_POS = S2Void:Pa:At:Mp:Ho:Cd; ref $ROLL = NoRoll:Pa:At:Mp:Ho:Cd; ref $PASS_ORDER = S2with1Groups:Pa:At:Mp:Ho:Cd; ref $PHASE_CAL_DETECT = NoDetect:Pa:At:Mp:Ho:Cd; enddef; *------------------------------------------------------------------------------
*------------------------------------------------------------------------------ $FREQ; * def 8417.00MHz2x16MHz; * mode = 1 stations =Pa:At:Mp sample_rate = 32.000 Ms/sec; * (2bits/sample) chan_def = : 8409.00 MHz : U :16.000 MHz : &CH01 : &BBC01 : &NoCal; *Rcp chan_def = : 8425.00 MHz : U :16.000 MHz : &CH02 : &BBC01 : &NoCal; *Rcp chan_def = : 8409.00 MHz : U :16.000 MHz : &CH03 : &BBC02 : &NoCal; *Rcp chan_def = : 8425.00 MHz : U :16.000 MHz : &CH04 : &BBC02 : &NoCal; *Rcp chan_def = : 8441.00 MHz : U :16.000 MHz : &CH05 : &BBC03 : &NoCal; *Rcp chan_def = : 8457.00 MHz : U :16.000 MHz : &CH06 : &BBC03 : &NoCal; *Rcp chan_def = : 8441.00 MHz : U :16.000 MHz : &CH07 : &BBC04 : &NoCal; *Rcp chan_def = : 8457.00 MHz : U :16.000 MHz : &CH08 : &BBC04 : &NoCal; *Rcp enddef; * def 8417.00MHz2x16MHzHoCd; * new def with channels 5-8 commented out * mode = 1 stations =Ho:Cd sample_rate = 32.000 Ms/sec; * (2bits/sample) chan_def = : 8409.00 MHz : U :16.000 MHz : &CH01 : &BBC01 : &NoCal; *Rcp chan_def = : 8425.00 MHz : U :16.000 MHz : &CH02 : &BBC01 : &NoCal; *Rcp chan_def = : 8409.00 MHz : U :16.000 MHz : &CH03 : &BBC02 : &NoCal; *Rcp chan_def = : 8425.00 MHz : U :16.000 MHz : &CH04 : &BBC02 : &NoCal; *Rcp * chan_def = : 8441.00 MHz : U :16.000 MHz : &CH05 : &BBC03 : &NoCal; *Rcp * chan_def = : 8457.00 MHz : U :16.000 MHz : &CH06 : &BBC03 : &NoCal; *Rcp * chan_def = : 8441.00 MHz : U :16.000 MHz : &CH07 : &BBC04 : &NoCal; *Rcp * chan_def = : 8457.00 MHz : U :16.000 MHz : &CH08 : &BBC04 : &NoCal; *Rcp enddef; *------------------------------------------------------------------------------
If a station swapped polarizations in a dual-pol experiment, the $IF section of the vex file can be edited to make the correlator input file produced by vex2config.pl
correct.
In the $MODE block, if necessary create a new 'ref', e.g. for v275a where both Hobart and Tid swapped pols, the original block:
$MODE; * def lba1cm-2p-2IF; ref $PROCEDURES = Mode_01; ref $FREQ = 22300.00MHz2x16MHz:At:Mp:Pa:Ho:Cd:Ti; ref $IF = LO@19000MHzDPolNoTone:At:Mp:Pa:Ho; ref $IF = LO@20000MHzDPolNoTone:Cd; ref $IF = LO@21914MHzDPolNoTone:Ti; ref $BBC = 2BBCs:At:Mp:Pa:Ho:Cd:Ti; ref $TRACKS = S2.32x4-2:At:Mp:Pa:Ho:Cd:Ti; ref $HEAD_POS = S2Void:At:Mp:Pa:Ho:Cd:Ti; ref $ROLL = NoRoll:At:Mp:Pa:Ho:Cd:Ti; ref $PASS_ORDER = S2with1Groups:At:Mp:Pa:Ho:Cd:Ti; ref $PHASE_CAL_DETECT = NoDetect:At:Mp:Pa:Ho:Cd:Ti; enddef;
becomes:
$MODE; * def lba1cm-2p-2IF; ref $PROCEDURES = Mode_01; ref $FREQ = 22300.00MHz2x16MHz:At:Mp:Pa; ref $FREQ = 22300.00MHz2x16MHzDAS1:Ho:Cd:Ti; * (Also had to edit FREQ block as Ho, Cd, Ti record only half the channels) ref $IF = LO@19000MHzDPolNoTone:At:Mp:Pa; * Ho removed from this line ref $IF = LO@19000MHzDPolNoToneHo:Ho; * new line for Hobart ref $IF = LO@20000MHzDPolNoTone:Cd; ref $IF = LO@21914MHzDPolNoTone:Ti; * not needed for Tid since it has its own IF def ref $BBC = 2BBCs:At:Mp:Pa:Ho:Cd:Ti; ref $TRACKS = S2.32x4-2:At:Mp:Pa:Ho:Cd:Ti; ref $HEAD_POS = S2Void:At:Mp:Pa:Ho:Cd:Ti; ref $ROLL = NoRoll:At:Mp:Pa:Ho:Cd:Ti; ref $PASS_ORDER = S2with1Groups:At:Mp:Pa:Ho:Cd:Ti; ref $PHASE_CAL_DETECT = NoDetect:At:Mp:Pa:Ho:Cd:Ti; enddef;
The original $IF block:
$IF; * def LO@19000MHzDPolNoTone; * mode = 1 stations =At:Mp:Pa:Ho if_def = &IF_2N : 2N : R : 19000.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : L : 19000.0 MHz : U ; * PCall off! enddef; * def LO@20000MHzDPolNoTone; * mode = 1 stations =Cd if_def = &IF_2N : 2N : R : 20000.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : L : 20000.0 MHz : U ; * PCall off! enddef; * def LO@21914MHzDPolNoTone; * mode = 1 stations =Ti if_def = &IF_2N : 2N : R : 21914.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : L : 21914.0 MHz : U ; * PCall off! enddef;
becomes:
$IF; * def LO@19000MHzDPolNoTone; * mode = 1 stations =At:Mp:Pa if_def = &IF_2N : 2N : R : 19000.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : L : 19000.0 MHz : U ; * PCall off! enddef; * def LO@19000MHzDPolNoToneHo; * new entry for Hobart with pols swapped * mode = 1 stations =Ho if_def = &IF_2N : 2N : L : 19000.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : R : 19000.0 MHz : U ; * PCall off! enddef; * def LO@20000MHzDPolNoTone; * mode = 1 stations =Cd if_def = &IF_2N : 2N : R : 20000.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : L : 20000.0 MHz : U ; * PCall off! enddef; * def LO@21914MHzDPolNoTone; * swapped pols in Tid's IF def * mode = 1 stations =Ti if_def = &IF_2N : 2N : L : 21914.0 MHz : U ; * PCall off! if_def = &IF_1N : 1N : R : 21914.0 MHz : U ; * PCall off! enddef;