Basic Info
- The main PUPPI computer at Arecibo is called 'puppimaster' and the only user account currently is called 'gpu'.
- When logging in to puppimaster as gpu, you will already have all relevant PATH/etc set up (ie, no sourcing guppi.bash is required).
- The gpu cluster nodes are only accessible from puppimaster, and are called gpu01, gpu02, ..., gpu09. As of March 2, 2012, gpu04 is offline for repairs.
- The monitor programs
guppi_status
andguppi_gpu_status
are available on puppimaster and work exactly the same as at GB. These are both good to have open during an observing session.
IF/LO setup
Several PUPPI-friendly CIMA config files are available in the p2624 (NANOGrav) project area. These are:-
generic_327_newcima.conf
- The old ASP 327 MHz setup works for PUPPI as-is. PUPPI center freq=327 MHz, BW=+100 MHz. -
generic_430_newcima.conf
- The old 430 MHz config also works. PUPPI center freq=430 MHz, BW=+100 MHz. -
puppi_1410_newcima.conf
- L-Wide setup for PUPPI+ASP+WAPPs. The center freqs for the various backends are:- PUPPI = 1380 MHz, BW=-800 MHz
- ASP = 1410 MHz, band_dir=+1 (Note changed band_dir vs old L-Wide config)
- WAPPs = 1700, 1195, 1500 MHz, BW=50 MHz
-
puppi_2030_newcima.conf
- S-Low config putting PUPPI in the bottom half of the receiver band with the 1700-1880, 2040-2400 MHz filters in place. Center frequency/bandwidth info:- PUPPI = 2030 MHz, BW=-800 MHz
- ASP = 2350 MHz, band_dir=-1 (Note changed band_dir vs old S-low config)
- WAPPs = 2085, 2205, 1850 MHz, BW=100 MHz
-
puppi_2800_newcima.conf
- S-Low config putting PUPPI in the upper half of the receiver band with the 2600-3100 MHz filter in place. Center frequency/bandwidth info:- PUPPI = 2800 MHz, BW=-800 MHz
- ASP = 2650 MHz, band_dir=+1 (Note changed freq vs old S-low config)
- WAPPs = 2950, 2750, 2850 MHz, BW=100 MHz
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:
-
mode('c512')
to load 512-channel coherent mode. Usemode('c64')
for low-freq receivers.mode()
with no arguments will show both the currently selected mode, and all available choices. -
reset('800')
to change to 800 MHz BW. Usereset('100')
for 100 MHz BW on the low-freq receivers (327, 430). This command only needs to be run when changing the bandwidth. -
init()
sets up appropriate values in the FPGAs. Note that thereset()
command will automatically callinit()
so there is no need to run it twice in that case. -
arm()
starts data flowing to the computers. Important: Do not runarm()
once you are actually recording data! It will reset your observation. - A typical command sequence for setting up an 800 MHz
bandwidth observation is:
mode('c512'); reset('800'); arm()
. If no receiver changes will happen during a session, this should only needs to be done once at the start of the session.
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.:
-
puppi_atten -A 13.5 -B 8.0
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:
-
puppi_observe /home/gpu/tzpar/B1937+21.par
The script also accepts the following options (as well as
-h
for usage info):
-
-c
to take a cal mode scan. -
-b
to set the receiver band. Default is L-band, other currently allowed values are-b 327
and-b 430
. -
-f
To override the default center frequency for a band. -
-T
to set the scan length in seconds (default is 1 hour for pulsars and 90 sec for cals). -
-m
to override the default observing mode. Allowed values are COHERENT_FOLD, COHERENT_CAL, or RAW.
By default, this script assumes you have set up the PUPPI hardware and IF/LO settings such that:
- L-band: PUPPI center freq (IF=1200 MHz) is 1380 MHz; 512-channel coherent mode is loaded; the bandwidth is 800 MHz.
- 430: PUPPI center freq (IF=750 MHz) is 430 MHz; 64-channel coherent mode is loaded; the bandwidth is 100 MHz.
- 327: PUPPI center freq (IF=750 MHz) is 327 MHz; 64-channel coherent mode is loaded; the bandwidth is 100 MHz.
- S-band: PUPPI center freq (IF=1200 MHz) is 2030 MHz; 512-channel coherent mode is loaded; the bandwidth is 800 MHz.
Finally, this also by default assumes you want to use the following pulsar observing settings (these are currently hard-coded in the script):
- Real-time coherent dedispersion and folding.
- 2048 pulse profile bins.
- 10 sec profile integration time.
- 25 Hz cal signal in cal mode.
-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:
-
get_data puppi_55993_B1937+21_0080_0001.fits
-
combine_psrfits puppi_55993_B1937+21_0080_0001.fits
And of course replace
puppi_55993_B1937+21_0080_0001.fits
with your
actual data file name.