Pulsar observers should now request to use VEGAS in pulsar modes.We will endeavor to make GUPPI available for simultaneous, dual-backend use for long-term timing programs that require overlapping data sets - observers who wish to use VEGAS and GUPPI in this manner should request to do so in the "pulsar" section of their technical justifications, but do not need to request to use GUPPI elsewhere in the Proposal Submission Tool. GUPPI can also be used as a fallback instrument if a requested VEGAS mode that is shared with GUPPI has not yet been released.

Observing Instructions for VEGAS Pulsar Modes

Overview

VEGAS can be used in pulsar observing modes (VEGAS pulsar modes, or VPM) that are similar to those available with the GUPPI backend (see the GBT Observer's Guide). VEGAS consists of eight CASPER ROACH2 FPGA boards and eight high performance computers (HPCs) equipped with nVidia GTX 780 GPUs, which together comprise a spectrometer bank (labeled A--H). VPM offers many combinations of observing modes, dedispersion modes, numbers of spectral channels, bandwidths, and integration times. Data are written in the PSRFITS format using 8-bit values. VPM can be used in dual-backend mode with GUPPI with prior approval whening modes supported by both backends.

Observing Modes

VPM can operate in one of three observing modes. All three modes can be used with coherent or incoherent dedispersion.
  • search: This mode is used to record spectra with very high time resolution (typically < 100 μs) and moderate frequency resolution (> 200 kHz). It is most often used when searching for new pulsars, observing known pulsars when a timing solution is not yet available, observing multiple pulsars simultaneously, or when resolution of individual pulses is required.
  • fold: This mode is used to phase-fold spectra modulo the instantaneous pulsar period. This requires a user-supplied pulsar timing solution that can be used by TEMPO1 in prediction mode (i.e., to generate "polycos"). Fold-mode is most often used for pulsar timing observations of individual pulsars.
  • cal: This mode is used for polarization and flux calibration observations of the GBT noise diodes. It is actually a specialized fold-mode in which data are phase-folded at a constant frequency of 25 Hz (or a period of 40 ms). This requires that the GBT noise diodes be turned on and set to a switching period of 0.04 s (see below)

Dedispersion Modes

VPM can operate in incoherent or coherent dedispersion modes. When using incoherent dedispersion, spectra are written without any removal of intrachannel dispersive smearing, and dedispersion must be performed offline (i.e. incoherently). When using coherent dedispersion, the intrachannel dispersive delay is removed prior to detection, providing higher effective time resolution.

When operating in incoherent dedispersion modes, each FPGA and HPC form an independent spectrometer bank (labeled A--H). The center frequency of each bank can be tuned independently, and each can process a maximum instantaneous bandwidth of up to 1500 MHz, though filters in the IF system limit the maximum usable bandwidth to 1250 MHz per spectrometer bank. The center frequencies of each bank can thus be arranged to contiguously cover up to 8 x 1250 Hz = 10 GHz, though, once again, IF limitations generally limit the maximum available bandwidth from any receiver to $< 4 GHz$ (up to 8 GHz is available for certain receivers; see the GBT Observer's Guide).

When operating in coherent dedispersion modes, one FPGA sends output to all eight HPCs. Since all the HPCs are in use the maximum total bandwidth in coherent dedispersion modes is 1500 MHz, 1250 MHz of which usable.

Generally speaking, incoherent dedispersion is only recommended in the following use cases:
  1. Blind searches for new pulsars.
  2. Observations at frequencies higher than 4 GHz (i.e., C-Band), when > 1250 Hz of bandwidth is desired.
  3. Observations of long-period pulsars in which very high time resolution is not needed (i.e., intrachannel dispersive delays can be tolerated).
Observations of known pulsars, especially for high-precision timing, observations of multiple pulsars with similar dispersion measures (e.g. globular cluster MSPs), and pulsar searches for which a good estimate of the dispersion measure is available should usually use coherent dedispersion.

Available VPM Modes

All configurations are subject to a maximum data rate of 400 MB/s per bank. The data rate per bank can be calculated as

R = 8 bits x npol x nchan /tint,

where npol is the number of polarization products (4 for full Stokes parameters, 1 for total intensity), nchan is the number of spectral channels, and tint is the integration time (i.e. sampling time). The following table lists all currently supported VPM modes.

Name Dedispersion Mode Bandwidth (MHz) nchan Notes
c0800x0128 Coherent 800 128 Full Stokes only
c0800x0256 Coherent 800 256 Full Stokes only
c0800x0512 Coherent 800 512 Full Stokes only
c0800x1024 Coherent 800 1024 Full Stokes only
c0800x2048 Coherent 800 2048 Full Stokes only
c0800x4096 Coherent 800 4096 Full Stokes only
c1500x0128 Coherent 1500 128 Full Stokes only
c1500x0256 Coherent 1500 256 Full Stokes only
c1500x0512 Coherent 1500 512 Full Stokes only
c1500x1024 Coherent 1500 1024 Full Stokes only
c1500x2048 Coherent 1500 2048 Full Stokes only
c1500x4096 Coherent 1500 4096 Full Stokes only
i0800x0128 Incoherent 800 128 Total intensity available in search-mode
i0800x0256 Incoherent 800 256 Total intensity available in search-mode
i0800x0512 Incoherent 800 512 Total intensity available in search-mode
i0800x1024 Incoherent 800 1024 Total intensity available in search-mode
i0800x2048 Incoherent 800 2048 Total intensity available in search-mode
i0800x4096 Incoherent 800 4096 Total intensity available in search-mode
i1500x0128 Incoherent 1500 128 Total intensity available in search-mode
i1500x0256 Incoherent 1500 256 Total intensity available in search-mode
i1500x0512 Incoherent 1500 512 Total intensity available in search-mode
i1500x1024 Incoherent 1500 1024 Total intensity available in search-mode
i1500x2048 Incoherent 1500 2048 Total intensity available in search-mode
i1500x4096 Incoherent 1500 4096 Total intensity available in search-mode

Configuring VEGAS Pulsar Modes

Configuration Keywords

VPM is configured using the standard Astrid keyword/value configuration block, which is discussed in detail in the GBT Observer's Guide. Here we review only those keywords relevant for VPM.
  • obstype will always be Pulsar.
  • backend will be either VEGAS or VEGAS/GUPPI (see below).
  • bandwidth will be either 800 or 1500.
  • ifbw will always be 0
  • tint is very flexible. Under the hood, it is controlled by the hardware accumulation length, so that tint = acclen x nchan/BW. acclen can take on values from 4 to 1024. Most observers will want to keep their integration times fast enough to resolve fast MSPs, while keeping the data rate < 400 MB/s.
  • swmode will either be tp for calibration scans or tp_nocal for pulsar scans.
  • swper will always be 0.04.
  • noisecal will be lo for calibration scans (this uses the low-power noise diodes) and offfor pulsar scans.

The following keywords are VPM specific.
  • vegas.obsmodecontrols both the dedispersion and observing mode. Allowed values are
    • search: Incoherent dedispersion search-mode
    • fold: Incoherent dedispersion fold-mode
    • cal: Incoherent dedispersion cal-mode
    • coherent_search: Coherent dedispersion search-mode
    • coherent_fold: Coherent dedispersion fold-mode
    • coherent_cal: Coherent dedispersion cal-mode
  • vegas.polnmode controls whether full Stokes or total intensity data are recorded. Allowed values are full_stokes and total_intensity, though total intensity can only be used in incoherent search-mode.
  • vegas.numchan sets the number of spectral channels. Allowed values are any power-of-two between 128 and 4096, though care must be taken not to exceed the maximum data rate.
  • vegas.outbits controls the number of bits used for output values. The only allowed value is 8.
  • vegas.scale controls the VPM internal gain so that the output data is properly scaled for 8-bit values. This value is typically chosen from experience with the observing set-up. Contact your project friend for advice on which value to use.
  • vegas.dm controls the DM used for coherent dedispersion search-mode. It is not used by any other modes.
  • vegas.fold_parfile specifies the path to the ephemeris (parfile) used for either incoherent or coherent dedispersion fold-modes. The parfile must be compatible with TEMPO1 prediction mode.
  • vegas.fold_bins controls the number of pulse phase bins used for either incoherent or coherent dedispersion fold- or cal-modes. Enough bins should be used to fully resolve fine profile structure. Typical values are 256 in incoherent dedispersion modes and 2048 in coherent dedispersion fold- or cal- modes.
  • vegas.fold_dumptime controls the length of a sub-integration in either incoherent or coherent dedispersion fold- or cal-modes. The value is specified in seconds, with 10 s being typical. It must be shorter than the total scan length.
  • vegas.subband is always 1for pulsar observing

Experienced observers will recognize that these keywords are very similar to those used by GUPPI. This is by design. Note that the guppi.datadiskkeyword has no analog in VPM.

Example Configurations

The following scripts illustrate some common VPM configurations. The first example configures a single VPM bank for incoherent dedispersion search-mode.

config_vpm_single= """
obstype = 'Pulsar'
# 'receiver' can be any GBT receiver except MUSTANG.  Here, we use Rcvr1_2, 
# aka L-Band
receiver = 'Rcvr1_2'
restfreq = 1500.0
nwin = 1
pol = 'Linear'
backend = 'VEGAS'
bandwidth = 800.0
# tint is highly flexible but subject to data rate limits. The true tint 
# will be rounded to the nearest value of acc_len * nchan / bw 
# where acc_len is an integer that controls the hardware 
# accumulation length
tint = 40.96e-6
deltafreq = 0.0
# For 'swmode', choose 'tp' for calibration, 'tp_nocal' for pulsar 
# observation
swmode = 'tp_nocal' 
swtype = 'none'
swper = 0.04
swfreq = 0
# For 'noisecal' choose 'lo' for calibration, 'off' for pulsar observation
noisecal = 'off' 
vlow = 0.0
vhigh = 0.0
vframe = 'topo'
vdef = 'Radio'
# The following keywords are VEGAS specific
# 'vegas.obsmode' can be search, cal, fold, coherent_search, 
# coherent_cal, or coherent_fold
vegas.obsmode = 'search' 
# 'vegas.polnmode' Can be full_stokes or total_intensity for search mode. 
# All other modes require full_stokes.
vegas.polnmode = 'total_intensity'
# 'vegas.numchan' can be any power of 2 between 128 and 4096
vegas.numchan = 2048
# 'vegas.scale' is configuration specific.  Ask your project friend for
# suggestions.
vegas.scale = 10000
vegas.outbits = 8
# These parameters are only used in cal, fold, coherent_cal, or 
# coherent_fold modes
vegas.fold_bins = 256
vegas.fold_dumptime = 10.0
vegas.fold_parfile = '/home/gpu/tzpar/B1937+21.par'
# 'vegas.dm' only used in coherent_search mode
vegas.dm = 0.0
"""

The next configuration uses multiple banks to cover a wider bandwidth.

config_vpm_multi= """
obstype = 'Pulsar'
# 'receiver' can be any GBT receiver except MUSTANG.  Here, we use Rcvr4_6, 
# aka C-Band
receiver = 'Rcvr4_6'
# Use the restfreq dictionary format to configure multiple banks
restfreq = [{'bank': 'A', 'restfreq': 4400.0}, 
            {'bank': 'B', 'restfreq': 5200.0}, 
            {'bank': 'C', 'restfreq': 6000.0}, 
            {'bank': 'D', 'restfreq': 6800.0}, 
            {'bank': 'E', 'restfreq': 7600.0}] 
dopplertrackfreq = 6000.0 # Required even without doppler tracking
nwin = 5 # Must match number of entries in restfreq dictionary
pol = 'Linear'
backend  = 'VEGAS'
# 'bandwidth' is per spectrometer bank.  In this case the total bandwidth 
# is larger.
bandwidth = 1500.0 
# tint is highly flexible but subject to data rate limits. The true tint 
# will be rounded to the nearest value acc_len * nchan / bw 
# where acc_len is an integer that controls the hardware 
# accumulation length
tint = 40.96e-6
deltafreq = 0.0
# For 'swmode', choose 'tp' for calibration, 'tp_nocal' for pulsar 
# observation
swmode = 'tp_nocal'
swtype = 'none'
swper  = 0.04
swfreq = 0
# For 'noisecal' choose 'lo' for calibration, 'off' for pulsar observation
noisecal = 'off' 
# observation
vlow = 0.0
vhigh = 0.0
vframe = 'topo'
vdef = 'Radio'
# The following keywords are VEGAS specific
vegas.obsmode = 'search' # search, cal, fold
# 'vegas.polnmode' Can be full_stokes or total_intensity for search mode. 
# All other modes require full_stokes.
vegas.polnmode = 'total_intensity'
# 'vegas.numchan' can be any power of 2 between 128 and 4096
vegas.numchan = 2048 
vegas.scale = 10000
vegas.outbits = 8
# These parameters are only used in cal, fold
vegas.fold_bins = 256
vegas.fold_dumptime = 10.0
vegas.fold_parfile = '/home/gpu/tzpar/B1937+21.par'
"""

Note the use of the dictionary format to manually specify the center frequencies of each bank in the above multi-bank configuration. A simple, comma-separated list of values can also be used. The nwin parameter must match the number of rest frequencies, i.e. the number of banks being used. dopplertrackfreq must also be specified when using the dictionary format, even though pulsar observers will not typically use Doppler tracking (i.e., vframe is set to topo).
Dual Backend Operation With GUPPI

Modes that are supported by both VPM and GUPPI can be used in dual backend mode. Both backends must be configured in the same way. To use this mode, specify Backend = VEGAS/GUPPI. GUPPI will inherit any VPM specific keywords (i.e. vegas.fold_parfile and guppi.fold_parfile do not need to each be specified. However, guppi.datadisk and guppi.scaleshould still be set independently.

config_vpm_guppi= """
obstype = 'Pulsar'
# 'receiver' can be any GBT receiver except MUSTANG.  Here, we use Rcvr1_2, 
# aka L-Band
receiver = 'Rcvr1_2'
restfreq = 1500.0
nwin = 1
pol = 'Linear'
# Choose dual backend operation by specifying VEGAS/GUPPI for 'backend'.  
# GUPPI/VEGAS also works.
backend = 'VEGAS/GUPPI'
# GUPPI offers a maximum bandwidth of 800 MHz.
bandwidth = 800.0
# tint is highly flexible but subject to data rate limits. The true tint 
# will be rounded to the nearest value acc_len * nchan / bw 
# where acc_len is an integer that controls the hardware 
# accumulation length
tint = 10.24e-6
deltafreq = 0.0
# For 'swmode', choose 'tp' for calibration, 'tp_nocal' for pulsar 
# observation
swmode = 'tp_nocal' 
swtype = 'none'
swper = 0.04
swfreq = 0
# For 'noisecal' choose 'lo' for calibration, 'off' for pulsar observation
noisecal = 'off' 
vlow = 0.0
vhigh = 0.0
vframe = 'topo'
vdef = 'Radio'
# The following keywords are VEGAS/GUPPI specific
# 'vegas.obsmode' can be search, cal, fold, coherent_search, 
# coherent_cal, or coherent_fold
vegas.obsmode = 'coherent_fold' 
# 'vegas.polnmode' Can be full_stokes or total_intensity for search mode. 
# All other modes require full_stokes.
vegas.polnmode = 'full_stokes'
# GUPPI has a maximum nchan of 2048 for 800 MHz bandwidth
vegas.numchan = 512 
vegas.scale = 1015.0
vegas.outbits = 8
# These parameters are only used in cal, fold, coherent_cal, or 
# coherent_fold modes
vegas.fold_bins = 2048
vegas.fold_dumptime = 10.0
vegas.fold_parfile = '/home/gpu/tzpar/B1937+21.par'
# 'vegas.dm' only used in coherent_search mode
vegas.dm = 0.0
# These keywords will be different from those for VEGAS and should be 
# specified independently for GUPPI
guppi.scale = 0.8
# Note that there is no equivalent to 'guppi.datadisk' for VEGAS
guppi.datadisk = 'data1' 
"""

Example Scheduling Blocks

Scheduling blocks are described in detail in the GBT Observer's Guide. Here we describe only the most typical steps for pulsar observers. These are:
  1. Load an Astrid catalog using the Catalog command.
  2. Define a configuration block as described above.
  3. Configure the GBT using the Configure command.
  4. Slew to a source using the Slew command.
  5. Update the pointing and focus corrections using an AutoPeakFocus. Note that this is essential to do if observing with C-Band or higher frequency receivers to ensure good efficiency. If observing with S-Band and lower frequency receivers, it is not as important, since the default pointing and focus models are already very good, and most pulsar observers choose to avoid the overhead time. However, it never hurts to start with peak and focus scans. Always remember to reconfigure after an AutoPeakFocus , otherwise you won't be set up for pulsar observing.
  6. Balance the IF system using the Balance command.
  7. Take data via one of several observing directives, such as Track or OnOff.

The following example scheduling block demonstrates a simple polarization calibration and pulsar observation. Note that we assume that the configuration blocks are already defined.

# Load one of the built-in Astrid catalogs
msps = Catalog(pulsars_bright_MSPs_GBT)

# Define some variables to be used elsewhere in the script
source = "B1937+21"
scanLength = 605.0

# Slew to the source of interest
Slew(src)

# Update pointing and focus corrections (optional at S-Band and below)
# We'll also slew back to the main source when done.
AutoPeakFocus()
Slew(src)

# Always remember to reconfigure after an AutoPeakFocus!

# Configure for the calibration scan.  We assume the configuration block
# has already been defined.
Configure(config_vpm_cal)

# Balance the IF system
Balance()

# Take a 65 second calibration scan
Track(src, None, 65.0)

# Now configure for the pulsar scan
Configure(config_vpm_psr)

# And take the main scan.  Note that we do *not* balance again
Track(src, None, scanLength)

There are a couple of things to take note of in this example.
  1. We do issue a second Balance command after the polarization calibration scan, but instead immediately reconfigure and take our main pulsar scan. If we did rebalance, the conversion factor between counts and antenna temperature/flux density could change and our calibration scan would not be valid for the pulsar scan.
  2. We add 5 seconds to the scan length in cal- and fold-mode scans to ensure that the last sub-integration is always written to disk.

If you want to take drift-scan data, you can use the current encoder position as your "source" but still issue a Track command---the telescope will not actually track, but will remain at the position specified by the encoder.

# Use the current Encoder position for a drift scan observation
source = GetCurrentLocation("Encoder")

# Configure and balance
Configure(config_vpm_search)
Balance()

# And take a 1-hour drift scan
Track(src, None, 3600.0)

If your science goal requires absolute flux calibration, you will probably want to perform an on/off scan sequence on a standard calibrator source.

# Load one of the built-in Astrid catalogs
fluxcal = Catalog(fluxcal)

# Define some variables to be used elsewhere in the script
source = "3C43"

# Slew to the source of interest
Slew(src)

# Configure for the calibration scan.  We assume the configuration block
# has already been defined.
Configure(config_vpm_cal)

# Balance the IF system
Balance()

# Take a on/off scan.  Each scan will last 65 seconds, and our off
# position scan will be 1 degree away in declination from our
# on-source position
OnOff(src, Offset("J2000", 1.0, 0.0, cosv=False), 65.0)

The GBT Observer's Guide has lots of other useful observing tricks. Note that since Astrid is written in python, one can write scripts that iterate over sources and automate a lot of the observing setup. Contact your project friend if you'd like help with more advanced scripting.

VPM Observing Tools

Once you start observing you will want to check the quality of your data and make sure that things run smoothly. A number of tools have been designed to facilitate this, many of which are similar to those used for GUPPI.

The VEGAS CLEO Screen

Unlike GUPPI, VEGAS has its own CLEO application that can be used for spectral line and pulsar observing modes (see the GBT Observer's Guide for more information on CLEO). There are two ways to launch the VEGAS CLEO application:
  1. From the main CLEO launcher, go to Backends and select VEGAS.
  2. Type cleo vegas from any command prompt.

Figure 1 shows an example of the VEGAS CLEO screen when in pulsar mode. The upper panels display information about setup on individual banks. The most relevant parameters for pulsar observers are the mode and integration time. The bottom panels show the state of the VEGAS managers on each bank.

When using incoherent dedispersion, anywhere from one to eight banks may be active, depending on how the system was configured. In this case, it is completely normal for inactive banks to be configured for a different mode (possibly a spectral line mode) and/or to be in an off state. In coherent dedispersion modes only the FPGA on Bank A is active, but all the managers and HPCs will be used and configured in the same way. However, the power monitors on other banks will notbe in use (because they are tied to the inactive FPGAs), and may not be near the target value of -20 dB (see below).

VPM_CLEO.png The VEGAS CLEO screen when operating in pulsar modes. In this case VPM is configured for coherent dedispersion, so all eight banks are active and configured in the same way. However, only the power monitor for Bank A will be in use. Note the VEGAS Power Monitor button on the right-hand side.

The VEGAS Data Monitor

The VEGAS data monitor is used to check the input power levels for each bank and replaces the guppi_adc_hist tool used for GUPPI. There are two ways to launch the data monitor:
  1. From the VEGAS CLEO application, click on the VEGAS Power Monitor... button (see Figure 1).
  2. Type vegasdmfrom any command prompt.

Figure 2 shows the data monitor. The top panel shows the input power level in chart recorder form for both polarization channels.The target power level is -20 1.5 dB.The plot is auto-scaling, so if the power levels change (e.g., during balancing) the plot may change abruptly. Note that there are separate tabs at the top of the application for each bank, though only active banks will update. The ``All measpwr'' tab shows the chart recorder for each bank. The bottom two panels show a histogram of 8-bit values from each ADC, one for each polarization channel. These should have zero mean and a FWHM of approximately 30 counts once the system is balanced.

VPM_DM.png The VEGAS Data Monitor screen. Data for Bank A is selected in this example, but all eight banks are active. The chart recorder shows proper input values of approximately -20 dB. The histograms of 8-bit ADC output values are also in an acceptable range, with a FWHM of approximately 30 counts.

The vpmStatus Tool

VPM makes use of shared memory to pass configuration parameters between the managers and data acquisition programs. To check the status shared memory type vpmStatus at the command prompt while logged into one of the VEGAS HPCs. These HPCs are namedvegas-hpc1 for Bank A, vegas-hpc2 for Bank B, etc. Shared memory will only be properly configured on banks that are in use.

vpmStatus plays the same role as guppi_status.

The vpmHPCStatus Tool

When using a multi-bank incoherent dedispersion mode or coherent dedispersion mode it is useful to check the status of all the active banks at once. This is done by typing vpmHPCStatus at the command prompt of any computer on the GBO network. This tool displays the center frequency, status of various processing threads (network communication and dedispersion), the current data block index, and a fractional running total of any dropped packets. It also displays the last few lines from the manager logs.

Note that inactive banks may have values like ``Unk'' (for unknown). This may occur if those banks are configured for spectral line observing. Inactive banks also will not update during data taking.This is normal behavior. You need only pay attention to the status of banks currently in-use.However, for coherent dedispersion modes, this will be all eight HPCs.

vpmHPCStatus plays the same role asguppi_gpu_status. Figure 3 shows an example status screen.

vpmHPCStatus.png The vpmHPCStatus screen. VPM is configured for coherent dedispersion at L-band in this example.

The VPM Data Display Webpage

Data from each HPC that is collected in coherent dedispersion fold- or cal-modes is displayed on a public webpage: www.gb.nrao.edu/vpm. The page refreshes every few seconds and should reflect the most recently written scan in close to real-time. The source name and modification time are displayed at the top of the page. The first column shows observing frequency vs pulse phase summed over the entire data file. The middle column shows frequency vs pulse phase for the most recent sub-integration. The last column shows observing time vs pulse phase summed over all frequencies.Note that long scans will be broken into multiple output files, and when a new file is opened the S/N may seem to suddenly drop.This is expected and the S/N should recover as more data is written to that file. Also note that under certain browsers (e.g. Chrome) the page not always automatically refresh. If VPM seems to be running but the plots are not updating, first try clearing your browser's cache and then reopening the page. If it still is not updating ask the GBT operator to make sure that the VPM coherent dedispersion autoplotting script is still running.

This page plays the same role as www.gb.nrao.edu/guppi

The VPM Monitor Webpage

When operating in incoherent dedispersion mode, bandpass plots are displayed on a public webpage: www.gb.nrao.edu/vpm/vpm_monitor. The page refreshes every few seconds and so should be close to real-time. Note that there is a separate panel for each bank, but only active banks will display data. The red curve shows the mean and the blue curves show the minimum and maximum values for the current data block. The average value should be around 30-40 counts and can be adjusted using the vegas.scale parameter. The relationship is linear for incoherent dedispersion modes. This page can also be used to monitor the RFI environment.

If you wish, you can run the same tool manually for more current data. To do this, type vpmMonitor at the command prompt while logged into one of the VEGAS HPCs. VPM must be taking data at the time. Use of the webpage is preferred.

These tools play the same role aswww.gb.nrao.edu/guppi/guppi_monitor and guppi_monitor.

Monitoring the VEGAS Manager Output

Output from the VPM data acquisition programs (as well as the spectral line programs) is captured by the VEGAS managers and written to log files. These log files can be found in/home/gbt/etc/log/vegas-hpcN where N is the bank number, e.g. vegas-hpc1 for Bank A. You can access these files from any GBO computer. A new log is started each time the VEGAS managers are started, so type ls -tr in the appropriate directory to find the name of the most recent log. Once you have this, you can follow the output by typing tail -f <logName>, where you replace <logName>with the appropriate file name.

Users typically will not have to check the logs unless they are trying to diagnose a problem. These log files play the same role as/tmp/guppi\_daq\_server.log, but they record output for all scans, both in incoherent and coherent dedispersion mode.

Accessing Your Data

VPM data are written directly to the lustre file system, and can be accessed from any of the machines listed as lustre clients atwww.gb.nrao.edu/pubcomputing/public.shtml(e.g. euclid or thales).

In coherent dedispersion modes data are written to

/lustre/gbtdata/<projectID>/VEGAS\_CODD/<bankID>

where <projectID> is your GBT project code with the session number in Astrid appended, e.g. AGBT18A_100_01, and<bankID>is the one-letter bank name (A--H).

i n incoherent dedispersion modes data are written to

/lustre/gbtdata/<projectID>/VEGAS/<bankID>

File names follow the forms:

vegas_<MJD>_<secUTC>_<sourceName>_<scanNumber>_<fileNumber>.fits(fold- and search-modes)

vegas_<MJD>_<secUTC>_<sourceName>_cal_<scanNumber>_<fileNumber>.fits (cal-mode)

where <MJD> is the modified Julian date of the observation, <secUTC> is the number of seconds after midnight UTC at the start of the scan, <sourceName> is the source name as identified from the Antenna manager, <scanNumber> is the scan number within the current Astrid session, and<fileNumber> is the file number within the current scan (long scans are broken across multiple files to avoid any one file from being very large).<secUTC> is a zero-padded five-digit integer and and <fileNumber> are zero-padded four-digit integers. Example file names are

vegas_58150_05400_B1937+21_0001_ca_0001.fits

vegas_58150_05490_B1937+21_0002_0001.fits

This format differs slightly from GUPPI, which does not have the<secUT> element. This has been added to avoid corner cases where GUPPI file names may not be unique.

Data are recorded in the PSRFITS standard, which can be processed by all common pulsar data analysis packages (e.g. PRESTO, PSRCHIVE, and DSPSR). Data in all modes are recorded in the /lustre/gbtdatafile store.

Fold- and cal-mode data will be archived per typical GBO data archiving policies. Due to large data volumes, search-mode data will not be included in the long-term archive.Please make arrangements to move large data sets off of the lustre file system as quickly as possible.Data can be transferred over internet (preferred) or shipped on hard disks. Please contact your project friend if you need help managing data.

Putting it All Together

In summary, a typical VPM observing session will consist of the following steps.
  1. Create scheduling blocks well in advance of being scheduled. Contact your project friend if you have questions.
  2. At the beginning of your observing session:
    1. Launch the CLEO VEGAS and VEGAS Data Monitor applications.
    2. Launch the vpmHPCStatus and/or vpmStatus tools, as appropriate.
    3. Log in to a lustre client and prepare to navigate to your data output directory (the directory will only be made once data start being recorded).
    4. Navigate to www.gb.nrao.edu/vpm to monitor coherent dedispersion fold- and cal-mode observations and www.gb.nrao.edu/vpm/vpm_monitor to check the bandpass for incoherent dedispersion observations.
  3. Once VEGAS has configured, check that the observing mode and various parameters are set properly using the VEGAS CLEO application and the vpmStatus and/or vpmHPCStatus tools.
  4. Once VEGAS has balanced, check the input power and ADC output using the Data Monitor.
  5. Once you have started recording data, check your fold- or cal-mode scans using the online viewers or by accessing data directly on disk. You should also check the bandpass using the VPM monitor webpage or the vpmMonitor tool.
  6. Once you have started your main science scans, keep an eye on the output data and the data-taking status using the status monitors.
  7. Start processing large data sets as soon as possible after your sessions ends.

Tips and Tricks

  • Before writing scheduling blocks from scratch, ask your project friend if there are any already available from other projects that might suit your needs. This minimizes the possibility of an incorrect set-up or scheduling block.
  • If you are searching for pulsars or observing a new source, consider observing a well known pulsar as a test source at the start of your session to make sure that things are working properly. A cal-mode scan can also be used.
  • If vpmStatus and/or vpmHPCStatus show unexpected values, the system seems to be having trouble balancing, or you experience other issues, ask the operator to cycle the VEGAS managers off/on, or do so yourself if you know how. This is usually sufficient to resolve any odd states that could arise out of a partial or incorrect configuration. If this fails, ask the operator to fully restart (stop/start) the VEGAS managers. If this still doesn't work, ask the operator to contact the on-duty support scientist.
  • The GBT noise diodes are stable over short-to-medium time scales, and a number of continuum flux calibration scans are available for common observing set-ups (this is especially true of 820 MHz and L-band NANOGrav set-ups because NANOGrav observes flux calibrators at least once a month). If you're project requires flux calibration, consider contacting your project friend to see if appropriate calibration data already exist.
  • If you are observing multiple sources with relatively short scan lengths, and the operator needs to take control for a wind-stow or snow-dump, ask if you can let the current scan finish and then use Pause to let the operator take control. Once control is released back to you, you can simply un-pause and pick up where you left off. But if the operator needs to take control immediately, abort your scan and let them take over.

Transitioning From GUPPI to VPM

Experienced pulsar observers will recognize that GUPPI and VPM observing are very similar, especially the parameters used in scheduling blocks. The following table summarizes the similarities and some differences between GUPPI and VPM.
  • Astrid: Most "guppi." parameters can be replaced with "vegas.". The exceptions are guppi.datadisk, which has no VPM equivalent.
  • File names: VPM output file names include a new element, the number of seconds after midnight UTC.
    vegas_<MJD>_<secUTC>_<sourceName>_<scanNumber>_<fileNumber>.fits
    vegas_<MJD>_<secUTC>_<sourceName>_cal_<scanNumber>_<fileNumber>.fits

Table 2 can be used a cheat-sheet for navigating between some common GUPPI and VPM tasks.

Quick Reference for Trainsitioning from GUPPI to VPM
GUPPI Tool or Procedure VEGAS Tool or Procedure Notes
guppi_adc_hist VEGAS Data Monitor Data monitor updates continuously; No need to pause a scheduling block to check ADC levels
guppi_status vpmStatus Must be run from the appropriate VEGAS HPC (e.g. vegas-hpc1)
guppi_gpu_status vpmHPCStatus Can be run from any GBT computer
guppi_monitor vpmMonitor Web interface is preferred; Must be run from the appropriate VEGAS HPC (e.g. vegas-hpc1)
www.gb.nrao.edu/guppi www.gb.nrao.edu/vpm
www.gb.nrao.edu/guppi/guppi_monitor www.gb.nrao.edu/vpm/vpm_monitor
/data1/<userName>/<projectID>/<date>
/data2/<userName>/<projectID>/<date>
/lustre/gbtdata/<projectID>/VEGAS/<bankID> Output directory for incoherent dedispersion modes
/data/gpu/partial/<gpuNum>/ /lustre/gbtdata/<projectID>/VEGAS/<bankID> Output directory for coherent dedispersion modes
Topic attachments
I Attachment Action Size Date Who Comment
VPM_CLEO.pngpng VPM_CLEO.png manage 42.8 K 2018-02-20 - 13:40 RyanLynch VPM CLEO Screen
VPM_DM.pngpng VPM_DM.png manage 66.3 K 2018-02-20 - 13:40 RyanLynch VEGAS Data Monitor
vpmHPCStatus.pngpng vpmHPCStatus.png manage 117.0 K 2018-02-20 - 13:41 RyanLynch vpmHPCStatus Screen
Topic revision: r11 - 2018-03-29, RyanLynch
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback