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 Green Bank. These are both good to have open during an observing session.
Basic How-To
- Log in to puppimaster (or use existing vnc session on :1 and :2)
- On a different machine (e.g. fusion00), start Cima (Cima runs very slowly on puppimaster), select Stable version, then Pulsar mode.
- Copy a PUPPI-friendly Cima conf file for your chosen receiver to
your project directory. Look in
/share/obs4/usr/p2676
for a conf file suitable for recording baseband data with L-wide. You will want to use a narrower filter than you would in search or coherent dedispersion mode. Conf files from/share/obs4/usr/pulsar/p2624
for the 327 MHz and 430 MHz receivers are also ok for recording data in baseband mode. - Make sure winking cal is turned off in Main Cima Menu:Pulsar Observing.
- Main Cima Menu:Load Configuration, select the .conf file you copied over, Load and apply.
- Main Cima Menu:Power Control, Adjust All.
- On puppimaster, in a shell type
guppi
to get to the guppi command prompt, then execute these commands in sequence:mode(тАШc32тАЩ)
to set the number of channels (32 in this example),reset(тАШ100тАЩ)
to set the bandwidth in MHz,arm()
to start hardware. The IF/LO Setup section below describes the parameters of several available configurations. The Setting up the PUPPI HW section gives more details about the commands. - On puppimaster, in a normal
shell:
guppi_adc_hist
. Two histograms will be displayed, one for each polarization; they should be Gaussian and closely overlapping.- Sample output from
guppi_adc_hist
:
ADC Power level info:
PolA (FPGA3): Mean=-1.030 RMS=21.897 Min=-96 Max=82
Add 0.8 dB attenuation (for target RMS 20.0)
PolB (FPGA1): Mean=-0.947 RMS=20.178 Min=-82 Max=86
Add 0.1 dB attenuation (for target RMS 20.0) - To check current attenuation
values, on puppimaster:
puppi_atten
. The attenuation values can be changed in steps of 0.5 dB within the range 0 - 15 dB. - If necessary, set new attenuation values with
puppi_atten -A [dB] -B [dB]
- Sample output from
- Main Cima Menu:Cima Utilities; in "Send to VX-works" field
type
setcal lcorcal
, then hit Enter. Confirmation of the command is displayed in the Cima log window. Erase it and then in the same field:cal25 on
(hit Enter) to turn the cal on manually. - On puppimaster, in normal shell:
puppi_observe -b L -m RAW -n 32 -w -100 -f 1500 -c [full path to .par file]
. This takes a 90s cal scan at L-band in baseband mode with 32 channels, 100 MHz total bandwidth, and center frequency of 1500 MHz. Par files are located in/home/gpu/tzpar
. The Running an observation section describes available options and modes for thepuppi_observe
script. - For cal with the 327 MHz receiver, e.g.
puppi_observe -b 327 -m RAW -n 32 -w 100 -f 327 -c [full path to .par file]
. Important: The band of high-frequency Arecibo receivers needs to be flipped before recording, hence-w -100
when using L-wide or S-low, but-w 100
for 327 and 430 MHz. - On puppimaster, in normal
shell:
guppi_gpu_status
(to monitor all GPUs),guppi_status
(general backend status). - On puppimaster, log into one of the gpu nodes to check cal
data: e.g.
ssh gpu05
. In this case, the data is in/data/gpu/partial/gpu05
. - When the cal scan is done, Main Cima Menu:Utilities; in "Send to
VX-works" field type
cal25 off
(hit Enter) to turn the cal off manually. - On puppimaster, in shell: same
puppi_observe
command as for the cal, but with your desired observation time for the source. Data will be in the same directory as the cal files. - To end an observation at any time, on puppimaster:
puppi_stop
.
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_lband_raw.conf
- L-wide with 1280-1470 MHz filter. Some possible combinations of parameters:- PUPPI center frequency=1400 MHz, BW=-100 MHz; with 32 or 64 channels.
- PUPPI center frequency=1300 MHz, BW=-200 MHz; with 32 or 64 channels.
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('c32')
to load 32-channel coherent mode.mode()
with no arguments will show both the currently selected mode, and all available choices. -
reset('200')
to change to 200 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 200 MHz
bandwidth observation is:
mode('c32'); reset('200'); 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
,-b 430
, and-b S
. -
-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, SEARCH, CAL, or RAW. -
-I
to take summed-polarization data. Default is full-Stokes. -
-n
To override the default number of channels. -
-p
To override the default polarization (e.g. if you want to record only one polarization channel). -
-P
To set the project ID.
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
.