User Tools

Site Tools


difx:vex2difx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
difx:vex2difx [2017/10/19 03:05]
walterbrisken
difx:vex2difx [2021/09/16 22:36] (current)
janwagner [Table]
Line 28: Line 28:
  
 Note, only formal vex files are supported as input to vex2difx.  Similar looking ovex files used at some/all Mark4 correlators are not acceptable, however, with a small amount of work an ovex file can be hand converted to a valid vex file.  It would not be hard to write a conversion script to do this automatically. Note, only formal vex files are supported as input to vex2difx.  Similar looking ovex files used at some/all Mark4 correlators are not acceptable, however, with a small amount of work an ovex file can be hand converted to a valid vex file.  It would not be hard to write a conversion script to do this automatically.
 +
 +===== vex2 support =====
 +
 +On Aug 1, 2021, the vex2 committee completed the definition of vex2.  The final version of the format definition can be found [[https://safe.nrao.edu/wiki/bin/view/VLBA/Vex2doc|here]].
 +
 +difx2fits will be gaining vex2 capability in the [[https://svn.atnf.csiro.au/difx/applications/vex2difx/branches/vex2|vex2]] branch of vex2difx.  A log of supported vex2 features implemented in this branch can be found [[vex2support|here]].
  
 ===== The configuration file ===== ===== The configuration file =====
Line 76: Line 82:
   * LBA   * LBA
   * LBAVSOP   * LBAVSOP
 +
 +Note that some work-arounds are needed for complex data to handle limitations of the vex format - see [[complexsamplingvex|this page]] for details.
  
 Some general tips: Some general tips:
Line 147: Line 155:
   SOURCE 3c273 { source parameters go here }   SOURCE 3c273 { source parameters go here }
  
-^ Parameter name   ^ Type   ^ Units ^ Default ^ Comments ^ +^ Parameter name    ^ Type    ^ Units  ^ Default  ^ Comments                                                                                                                                                                                                  
-| ra                      | J2000 |         | right ascension, e.g., 12h34m12.6s or 12:34:12.6 | +| ra                        | J2000           | right ascension, e.g., 12h34m12.6s or 12:34:12.6                                                                                                                                                          
-| dec                     | J2000 |         | declination, e.g., 34d12'23.1" or 34:12:23.1 | +| dec                       | J2000           | declination, e.g., 34d12'23.1" or 34:12:23.1                                                                                                                                                              
-| name             | string |               | new name for source | +| name              | string                  | new name for source                                                                                                                                                                                       
-| calCode          | char         | ' '     | calibration code, typically A, B, C for calibrators, G for a gated pulsar, or blank for normal target |  +| calCode           | char           | ' '      | calibration code, typically A, B, C for calibrators, G for a gated pulsar, or blank for normal target                                                                                                     
-| naifFile         | string |               | Path to a leap second kernel file for SPICE.  Only used with near-field correlations | +| naifFile          | string                  | Path to a leap second kernel file for SPICE.  Only used with near-field correlations                                                                                                                      
-| ephemObject      | string |               | Name of the object from the ephemFile to be associated with this source. Only used for near-field correlations |  +| ephemObject       | string                  | Name of the object from the ephemFile to be associated with this source. Only used for near-field correlations                                                                                            
-| ephemFile        | string |               | Path to a planetary ephemeris file for SPICE.  Only used with near-field correlations.  bsp or tle files are allowed. | +| ephemFile         | string                  | Path to a planetary ephemeris file for SPICE.  Only used with near-field correlations.  bsp or tle files are allowed.                                                                                     
-| doPointingCentre | bool         | true    | Whether the pointing centre should be correlated (only ever turned off for multi-phase centre | +| doPointingCentre  | bool           | true     | Whether the pointing centre should be correlated (only ever turned off for multi-phase centre)                                                                                                            
-| addPhaseCentre   | string |               | contains info on a source to add, with ra, dec and optionally name/calcode with no spaces, "/" separation and "@" in place of "=" e.g., "addPhaseCentre = name@1010-1212/RA@10:10:21.1/Dec@-12:12:00.34" |+| addPhaseCentre    | string                  | contains info on a source to add, with ra, dec and optionally name/calcode with no spaces, "/" separation and "@" in place of "=" e.g., "addPhaseCentre = name@1010-1212/RA@10:10:21.1/Dec@-12:12:00.34"  |
  
 ==== ANTENNA sections ==== ==== ANTENNA sections ====
Line 164: Line 172:
 ^ Parameter name ^ Type    ^ Units ^ Default            ^ Comments ^ ^ Parameter name ^ Type    ^ Units ^ Default            ^ Comments ^
 | name           | string  |                          | New name to assign to this antenna | | name           | string  |                          | New name to assign to this antenna |
-| polSwap        | bool    |       | False              | Swap the polarizations (i.e. L ←→ R) for this antenna +| polSwap        | bool    |       | False              | Swap the polarizations (i.e. L <-> R) for this antenna 
-| clockOffset    | float   | us    | vex value          | Overrides the clock offset value from the vex file; used in conjunction with clockEpoch  |+| clockOffset    | float   | us    | vex value          | Overrides the clock offset value from the vex file  |
 | clockRate      | float   | us/s  | vex value          | Overrides the clock offset rate value from the vex file; used in conjunction with clockEpoch | | clockRate      | float   | us/s  | vex value          | Overrides the clock offset rate value from the vex file; used in conjunction with clockEpoch |
-| clockEpoch     | date    |       | vex value          | Overrides the epoch of the clock rate value; must be present if clockRate or clockOffset parameter is set |+| clockEpoch     | date    |       | vex value          | Overrides the epoch of the clock rate value; should be set if clockRate parameter is set (defaults to MJD 50000) |
 | deltaClock     | float   | us    | 0.0                | Adds to the clock offset (either the vex value or the clockOffset above) | | deltaClock     | float   | us    | 0.0                | Adds to the clock offset (either the vex value or the clockOffset above) |
 | deltaClockRate | float   | us/s  | 0.0                | Adds to the clock rate (either the vex value or the clockRate above) | | deltaClockRate | float   | us/s  | 0.0                | Adds to the clock rate (either the vex value or the clockRate above) |
Line 188: Line 196:
 | toneGuard      | float   | MHz   | 0.125 of bandwidth | When using toneSelection ''smart'' or ''most'' don't select tones within this range of band edge, if possible  | | toneGuard      | float   | MHz   | 0.125 of bandwidth | When using toneSelection ''smart'' or ''most'' don't select tones within this range of band edge, if possible  |
 | toneSelection  | string  |       | ''smart''          | Use an algorithm to choose tones for you.  Read the code to learn more. | | toneSelection  | string  |       | ''smart''          | Use an algorithm to choose tones for you.  Read the code to learn more. |
-| sampling       | string  |       | ''REAL''           | Set to ''COMPLEX'' for complex sampled data or ''COMPLEX_DSB'' for double sideband  |+| sampling       | string  |       | ''REAL''           | Set to ''COMPLEX'' for complex sampled data or ''COMPLEX_DSB'' for double sideband (see also [[complexsamplingvex|this page]]) |
 | fake           | bool    |       | False              | enable a fake data source | | fake           | bool    |       | False              | enable a fake data source |
 | mjdStart       | date    |       | obs. start         | discard any data from this antenna before this time | | mjdStart       | date    |       | obs. start         | discard any data from this antenna before this time |
Line 242: Line 250:
 Setup sections are enclosed in braces after the word SETUP and a name given to this setup section.  The setup name is referenced by a RULE section (see below).  A setup with the special name ''default'' will be applied to any scans not otherwise assigned to setups by rule sections.  If no setup sections are defined, a setup called ''default'', with all default parameters, will be implicitly created and applied to all scans.  The order of setup sections is immaterial. Note: The use of nChan (plus optionally specAvg) to set final (and FFT) spectral resolution is discouraged.  It is maintained for backwards compatibility and convenience, but if you have different subband bandwidths, you **cannot** use nChan, and must instead use specRes (and FFTSpecRes, if you want to explicitly set the FFT spectral resolution, for example in multifield projects). Setup sections are enclosed in braces after the word SETUP and a name given to this setup section.  The setup name is referenced by a RULE section (see below).  A setup with the special name ''default'' will be applied to any scans not otherwise assigned to setups by rule sections.  If no setup sections are defined, a setup called ''default'', with all default parameters, will be implicitly created and applied to all scans.  The order of setup sections is immaterial. Note: The use of nChan (plus optionally specAvg) to set final (and FFT) spectral resolution is discouraged.  It is maintained for backwards compatibility and convenience, but if you have different subband bandwidths, you **cannot** use nChan, and must instead use specRes (and FFTSpecRes, if you want to explicitly set the FFT spectral resolution, for example in multifield projects).
  
-^ Parameter name        ^ Type      ^ Units  ^ Default     ^ Comments                                                                                                                                                                                                                                     +^ Parameter name        ^ Type      ^ Units  ^ Default     ^ Comments                                                                                                                                                                                                                                                                                                                              
-| tInt                  | float     | sec    | 2           | integration time                                                                                                                                                                                                                             +| tInt                  | float     | sec    | 2           | integration time                                                                                                                                                                                                                                                                                                                      
-| FFTSpecRes            | float     | MHz    | 0.125       | spectral resolution of first stage FFTs                                                                                                                                                                                                      +| FFTSpecRes            | float     | MHz    | 0.125       | spectral resolution of first stage FFTs                                                                                                                                                                                                                                                                                               
-| specRes               | float     | MHz    | 0.5         | spectral resolution of visibilities produced                                                                                                                                                                                                 +| specRes               | float     | MHz    | 0.5         | spectral resolution of visibilities produced                                                                                                                                                                                                                                                                                          
-| nChan                 | int              | 16          | number of post-averaged channels per spectral window; currently must be a power of 2.  Do not use in combination with specRes/FFTSpecRes; nChan is only for convenience in simple cases (all stations have the same bandwidth for all subbands)  +| nChan                 | int              | 16          | number of post-averaged channels per spectral window; currently must be a power of 2.  Do not use in combination with specRes/FFTSpecRes; nChan is only for convenience in simple cases (all stations have the same bandwidth for all subbands)                                                                                       
-| doPolar               | bool      |        | True        | correlate cross hands when possible?                                                                                                                                                                                                         +| doPolar               | bool      |        | True        | correlate cross hands when possible?                                                                                                                                                                                                                                                                                                  
-| subintNS              | int       | ns     | 160000000   | The mpifxcorr SUBINT NS; should eventually be set to a smarter default                                                                                                                                                                       +| subintNS              | int       | ns     | 160000000   | The mpifxcorr SUBINT NS; should eventually be set to a smarter default                                                                                                                                                                                                                                                                
-| guardNS               | int       | ns               | The mpifxcorr GUARD NS; 2000 is usually sufficient.  With DiFX 2.5, set to zero and mpifxcorr will calculate for you.  Override may be needed for non-sidereal sources     +| guardNS               | int       | ns               | The mpifxcorr GUARD NS; 2000 is usually sufficientset to zero and mpifxcorr will calculate for you.  Override may be needed for non-sidereal sources                                                                                                                                                                                
-| maxNSBetweenUVShifts  | int       | ns     | 2000000000  | Used for multiphase centre stuff. if better time resolution than 1 threads portion of a subint is required                                                                                                                                   +| maxNSBetweenUVShifts  | int       | ns     | 2000000000  | Used for multiphase centre stuff. if better time resolution than 1 threads portion of a subint is required                                                                                                                                                                                                                            
-| maxNSBetweenACAvg     | int       | ns     | 2000000000  | Used for STA dumping (transient searches) if better time resolution than 1 threads portion of a subint is required                                                                                                                           +| maxNSBetweenACAvg     | int       | ns     | 2000000000  | Used for STA dumping (transient searches) if better time resolution than 1 threads portion of a subint is required                                                                                                                                                                                                                    
-| specAvg               | int              | 8           | The spectral averaging to perform inside the correlator, at the end of a subint                                                                                                                                                              +| specAvg               | int              | 8           | The spectral averaging to perform inside the correlator, at the end of a subint                                                                                                                                                                                                                                                       
-| fringeRotOrder        | int              | 1           | The fringe rotation order - 0=post-F, 1=linear, 2=quadratic                                                                                                                                                                                  +| fringeRotOrder        | int              | 1           | The fringe rotation order - 0=post-F, 1=linear, 2=quadratic                                                                                                                                                                                                                                                                           
-| strideLength          | int              | 16          | The number of channels to "stride" for fringe rotation, fractional sample correction etc.  With DiFX 2.5, set to zero for automatic setting on a per-datastream basis (usually good).  This is almost mandatory for non-commensurate sample rates.   +| strideLength          | int              | 16          | The number of channels to "stride" for fringe rotation, fractional sample correction etc.  With DiFX 2.5, set to zero for automatic setting on a per-datastream basis (usually good).  This is almost mandatory for non-commensurate sample rates.                                                                                    
-| xmacLength            | int              | 128         | The number of channels to "stride" for cross-multiply accumulations.  With DiFX 2.5, set to zero for automatic setting (usually good). | +| xmacLength            | int              | 128         | The number of channels to "stride" for cross-multiply accumulations.  With DiFX 2.5, set to zero for automatic setting (usually good).                                                                                                                                                                                                
-| numBufferedFFTs       | int              | 1           | The number of FFTs to do in a row for each datastream, before XMAC'ing them all                                                                                                                                                              +| numBufferedFFTs       | int              | 1           | The number of FFTs to do in a row for each datastream, before XMAC'ing them all                                                                                                                                                                                                                                                       
-| postFFringe           | bool      |        | False       | do fringe rotation after FFT?                                                                                                                                                                                                                +| postFFringe           | bool      |        | False       | do fringe rotation after FFT?                                                                                                                                                                                                                                                                                                         
-| binConfig             | string    |        | none        | if specified, apply this pulsar bin configuration file to this setup                                                                                                                                                                         +| binConfig             | string    |        | none        | if specified, apply this pulsar bin configuration file to this setup                                                                                                                                                                                                                                                                  
-| freqId                | int list  |        | none        | a comma separated list of integers that are freq table indexes to select which bands to correlate; default is to correlate all. **Note:** this should be used to select parent bands for zoom frequencies if difx2fits is to be run.         +| freqId                | int list  |        | none        | a comma separated list of integers that are freq table indices to select which bands to correlate; default is to correlate all. **Note:** this should be used to select parent bands for zoom frequencies if difx2fits is to be run. **Note2:** freq table indices usable for freqId are found in the .input file FREQ TABLE section  
-| phasedArray           | string    |        |             | if specified, tells DiFX to produce a phased array output instead of cross correlations, using the setup specified in this phased array config file                                                                                          |+| phasedArray           | string    |        |             | if specified, tells DiFX to produce a phased array output instead of cross correlations, using the setup specified in this phased array config file                                                                                                                                                                                   | 
 +| outputBandwidth       | float     | MHz    | none        | if specified, enables DiFX 2.7 outputband mode and auto-determines bands that fit the VEX frequency setups                                                                                                                                                                                                                            | 
 +| addOutputBand         | string    |        | none        | if specified, enables DiFX 2.7 outputband mode and adds an explicitly specified outputband, syntax freq@<sky freq low edge MHz>/bw@<bandwidth MHz>                                                                                                                                                                                    |
  
  
Line 335: Line 345:
   }      }   
  
-==== COMMENT sections //coming in DiFX 2.5// ====+==== COMMENT sections ====
  
-Starting with version 2.5.0 one can include COMMENT blocks in the .v2d file.  These have no effect on the files written by vex2difx but allow comments (likely instructions to the person executing vex2difx) to be seen at the end of the output to the terminal.  Each COMMENT block will make a new comment, separated by one line of whitespace in the output.  A comment block starts with COMMENT { and ends with a }  For example:+One can include COMMENT blocks in the .v2d file.  These have no effect on the files written by vex2difx but allow comments (likely instructions to the person executing vex2difx) to be seen at the end of the output to the terminal.  Each COMMENT block will make a new comment, separated by one line of whitespace in the output.  A comment block starts with COMMENT { and ends with a }  For example:
  
   COMMENT   COMMENT
Line 459: Line 469:
   /data/mk/bx123.003.m5a  54322.766323 54322.812311    /data/mk/bx123.003.m5a  54322.766323 54322.812311 
  
-If times for a file are supplied, the file will be included in the .input file DATA TABLE only if the file time range overlaps with the .input file time range.  If not supplied, the file will be included regardless of the .input file time range, which could incur a large performance problem.+If times for a file are supplied, the file will be included in the .input file DATA TABLE only if the file time range overlaps with the .input file time range.  If not supplied, the file will be included regardless of the .input file time range, which could incur a large performance problem. Start and stop times for a Mark5 or VDIF file can be  
 +extracted using the ''m5bsum -s'' or ''vsum -s'' commands respectively.
  
 A few sample ANTENNA blocks are shown below: A few sample ANTENNA blocks are shown below:
difx/vex2difx.1508342702.txt.gz · Last modified: 2017/10/19 03:05 by walterbrisken