PUPPI Observing in Folding (Coherent) Mode

(20 August 2012 -- P. Demorest and J. Deneva)

Here are some brief notes on observing with PUPPI in folding (coherent) mode. The Basic How-To section is a step-by-step guide for new users. Subsequent sections give more details and are written mainly for those who have done this sort of thing with GUPPI before.

Basic Info

Basic How-To

IF/LO setup

Several PUPPI-friendly CIMA config files are available in the p2624 (NANOGrav) project area. These are:

Setting up the PUPPI HW

Setting up the hardware (loading FPGA designs, changing clock rate, etc) is done via the guppi> prompt. Just run 'guppi' on puppimaster to open it up. At the guppi> prompt, run the following commands to set up or change modes:

Once you have done the above steps, you can check that the input power levels are ok by running guppi_adc_hist at the puppimaster command line. Important: Do not run guppi_adc_hist while recording data!

PUPPI has programmable attenuators that can be used to tweak the input power levels via the program puppi_atten. Attenuation for pol A and B can be adjusted separately from 0 to 15.5 dB in 0.5 dB steps. puppi_atten with no arguments will return the current settings. To give new attenuator settings, use -A and/or -B, e.g.:

Running an observation (taking data)

The script puppi_observe will run a coherent fold-mode observation. This will fill standard timing-appropriate observing options into the shared memory, then start a coherent-mode observation (ie, no manual arm() is required). The script takes one argument, which is the par file to use for folding. The full path should be used to specify the par file, eg:

The script also accepts the following options (as well as -h for usage info):

By default, this script assumes you have set up the PUPPI hardware and IF/LO settings such that:

Finally, this also by default assumes you want to use the following pulsar observing settings (these are currently hard-coded in the script):

The observing mode can be changed to record the channelized voltage data directly to disk by using the -m RAW option to puppi_observe.

To stop an observation before the specified scan length finishes, run puppi_stop.

Plotting/checking data

For coherent mode, the data are recorded on the gpu nodes, same as happens in GUPPI. To look at the files, log into any gpu node and look in the /data/gpu/partial/gpuXX directory. The usual PSRCHIVE plotting commends (eg, pav and psrplot) are available to show the data. For convenience the plot_last script can be run on any gpu node to automatically plot the most recently taken file.

When a scan finishes, the data from all the nodes can be transferred to puppimaster and combined. On puppimaster, go to /data/puppi/Pnnnn (nnnn = project ID), and run the get_data and combine_psrfits commands, for example:

And of course replace puppi_55993_B1937+21_0080_0001.fits with your actual data file name.