How to Record Data using GUPPI
NOTE: As of 9/21/2009 the procedures on this page should not be used for standard GBT GUPPI observations. Up-to-date observing instructions can be found at GUPPIAstridGuide
These instructions describe how to record pulsar data using GUPPI. Unless otherwise indicated, all commands presented here should be run on the beef command line from your own account, eg:
[pdemores@beef ~]$
1. Check for Data Flow
First, follow the steps listed in the
GUPPiUsersGuide to make sure the bee2 is initialized properly, signal input levels are correct, and data is being sent over the network and received on beef. You should also look at
GUPPiUsersGuide if you want to tweak the observing bandwidth of GUPPI or the sampling rate of the data that GUPPI sends to beef. If you do not see packets flowing, stop now and figure out why! Continuing with the instructions on this page will be pointless. If that all worked well, though, quit the test_net_thread job by doing a 'ctrl-C'.
If you previously opened a monitor program (i.e. guppi_monitor), exit it now before continuing.
2. Set up environment
Open several (at least 2) beef xterms. In each, source guppi.csh or guppi.bash as appropriate for your login shell:
[pdemores@beef ~]$ source /opt/64bit/guppi/guppi_daq/guppi.sh
Opening additional xterms is fine also, just source this init file before running any guppi programs.
Users who are developing their own version of the guppi_daq software (ie, not using the stable copy in /opt/64bit) should not source this file. It is assumed these people will have their environment set correctly already.
3. Set GUPPI Status Parameters
Set up the GUPPI status buffer. First, make sure the buffer is initialized:
[pdemores@beef ~]$ guppi_set_params
Next, fill it with values appropriate for your observation (in this case, a calibration scan on the current source):
[pdemores@beef ~]$ guppi_set_params -c
Note that if you want to tweak the observing bandwidth of GUPPI or the sampling rate of the data that GUPPI sends to beef, please see the instructions in the
GUPPiUsersGuide.
Full usage information for guppi_set_params can be found with the -h option:
[pdemores@beef ~]$ guppi_set_params -h
Usage: guppi_set_params.py [options]
Options:
-h, --help show this help message and exit
-c, --cal Setup for cal scan (folding mode)
-n SCAN, --scannum=SCAN
Set scan number
-i, --increment_scan Increment scan num
-T TSCAN, --tscan=TSCAN
Scan length (sec)
-P PARFILE, --parfile=PARFILE
Use this parfile for folding
-t TFOLD, --tfold=TFOLD
Fold dump time (sec)
-b NBIN, --bins=NBIN Number of profile bins for folding
-I, --onlyI Only record total intensity
--dstime=DSTIME Downsample in time (int, power of 2)
--dsfreq=DSFREQ Downsample in freq (int, power of 2)
--obs=OBS Set observers name
--src=SRC Set observed source name
--ra=RA Set source R.A. (hh:mm:ss.s)
--dec=DEC Set source Dec (+/-dd:mm:ss.s)
--freq=FREQ Set center freq (MHz)
--bw=BW Hardware total bandwidth (MHz)
--nchan=NCHAN Number of hardware channels
--acc_len=ACC_LEN Hardware accumulation length
--gb43m Set params for 43m observing
--gbt Use values from gbtstatus (the default)
--fake Set params for fake psr
If you make more than one scan on the same source, you will need to use the "-i" option to increment the scan number, or overwrite the scan number using the "-n" option.
After running guppi_set_params, the text-based guppi_status monitor program should look something like the following:
4. Take calibrator or folding mode data.
Change to the directory where you want the data to end up. This should be on one of the beef RAIDs (/data1 or /data2).
For a cal scan, simply do:
[pdemores@beef ~]$ guppi_set_params -c
[pdemores@beef ~]$ guppi_fold
And you should see stuff start to happen. There will be a folding-mode PSRFITS file that will appear in your directory after 10-sec, and it will be complete after 1-min. You can view it using PSRCHIVE with:
[pdemores@beef ~]$ pav -X myfile_cal.fits
or
[pdemores@beef ~]$ psrplot -pC myfile_cal.fits
For folding regular pulsar data you need to use the "-P" option to specify your parfile. And the "-b", "-t", and "-T" options are all optional (and will default to reasonably sensible values). So the following is a fairly normal example:
[pdemores@beef /data1/paul/data]$ guppi_set_params -P 1937.par -t 10.0 -T 100.0
[pdemores@beef /data1/paul/data]$ guppi_fold
then when it is complete, you can view it using:
[pdemores@beef /data1/paul/data]$ pav -GTpd myfile_1937_0001.fits
[pdemores@beef /data1/paul/data]$ pav -SFT myfile_1937_0001.fits
While you are taking data, you can always watch the bandpass if you want by running "guppi_monitor".
[pdemores@beef ~]$ guppi_monitor
Note that the "onlyI", "dstime" and "dsfreq" options only apply to search mode datataking, and should be left at their default values if folding mode is in use. To reduce the number of polarizations, channels, subintegrations, or phase bins after your folded data has been recorded, use PSRCHIVE's "pam" program. The available options can be listed by running "pam -h".
5. Recording search-mode data.
Change to the directory where you want the data to end up. This should be on one of the beef RAIDs (/data1 or /data2).
This process is very similar to taking folding mode data. We first set parameters using guppi_set_params and then start the data flow using guppi_search.
For 800 MHz observations, by default the data recorded is at a time resolution of 40.96us with 2048-channels and Full Stokes. That means 200MB/s.
To downsample in time: use the "--dstime" option to guppi_set_params.
To downsample in freq: use the "--dsfreq" option to guppi_set_params.
To record only Stokes I: use the "--onlyI" option to guppi_set_params.
If you want to specify a scan length, you do it with "-T". Otherwise it will default to an 8-hour observation and you can interrupt it whenever you want by simply pressing control-C in the window where you ran "guppi_search".
As an example, here is how we would start a reasonable pulsar search run where there will be 1024 channels of only total-intensity and a scan duration of 1 hour:
[pdemores@beef /data1/paul/data]$ guppi_set_params --dsfreq=2 --onlyI -T 3600
[pdemores@beef /data1/paul/data]$ guppi_search
And once again, while you are taking data, you can always watch the bandpass if you want by running "guppi_monitor".
[pdemores@beef ~]$ guppi_monitor