Instructions for Extragalactic HI Observing at GBT
JHibbard, Aug2006. Updated Jan 2008 (pipeline scripts)
scheduler.cat |
Catalogue file for cleo scheduler. Not used by the system at all (optional). |
GBT06C_034_setup.py |
reads in catalogues; defines global variables (e.g. hoff), sets up receivers. This file is read in by all other scheduling blocks (s.b.'s) |
2PIGG.cat |
Catalogue of source positions, velocities |
calsources.cat |
Catalogue of calibrator sources positions, velocities. Includes both flux calibrators and spectral line calibrators. |
2PIGG.sb |
observing s.b. for sources. Move to source, balance, on/off for some amount of time. |
peakcal.sb |
observing s.b. for flux calibrator |
peakspcal.sb |
observing s.b. for spectral line calibrator |
2) Preobserving: validating schedule blocks
Log into computer that can run astrid (e.g. thalassa, despina,
thales, euler, fourier, etc. all at .gb.nrao.edu). Start up astrid:
%astrid
Select the option to work offline.
Click on "Edit" tab. Select your project from the drop-down menu. If
you have already saved any schedule blocks for this project, the will
show up in the left column. Click on the one you want to edit. If you
have the files on disk, then click "Import from file", then click on
the validate button. When it validates, click "Save to Database". It
is now available for use when observing.
Note: you do not validate your catalogue files by reading them
in. Instead, you read in a s.b that reads the catalogue and validate
that.
3) Optional: Observing remotely.
!!NOTE!! GBT remote observing instructions changed May 2008. I have
not propagated these changes into my instructions. I quote from the email
sent by Ron Maddalena. See the referenced link.
Change in Remote Observing Instructions
We have recently changed the method that observers should use for remote
observing. Observers should now use stargate.gb.nrao.edu to access the
control room computers. We are also seeing a rash of observers not
knowing that they need to explicitly kill their VNC servers at the end
of their observing run. Multiple servers from previous observers puts
excessive strain on our computer resources and noticeably interferes
with the work of the current observers.
I suggest that all remote observers read
http://www.gb.nrao.edu/gbt/remoteobserving.shtml for updated
instructions. Observers should pay special attention to the section on
how to close their VNC session. By the end of June 2008, VNC will no
longer work with the old instructions and when using ssh.gb.nrao.edu.
R. Maddalena
(see GbtRemoteObserving)
4) Observing:
Go to observer room 30min before your run.
Ask Operator to put your receiver in.
Start up astrid on observing console, but do not go online till they tell you you can.
Meanwhile, in another window start cleo in another window.
%cleo
launch=>status
If observing remotely: launch=>utilities/tools=>Talk and Draw
%cleo scheduler
In skyview:
- select "real time"
- Catalog...
=> Add/select/deselect catalog
=>Add user catalog
navigate to your catalog file, double click on it, and click "ok".
To see your sources, you may have to change the entries in the
"Intensity" field and press return.
You use the scheduler to decide what to observe, but should be looking
at the status window during your observations - keep an eye on the
balance, make sure no untoward messages appear, see how long until the
next scan.
By now its probably time to take control of the telescope, so go back
to the astrid window and take the telescope online with control.
Go to the "Edit" tab. Highlight your first scheduling block (should include
an autopeakfocus followed by a ~60sec observation of your flux
calibrator - see peakcal.sb in attachments). Click on Validate.
Save to database. Give it a new name if need be.
Now click on the "Run" tab. Select the scheduling block and press "submit".
For autopeakfocus, you can see the scans by clicking on the "Data Display -1" Tab.
To go back to the Edit/Run pages, click on Observation Managment.
You are observing!! Keep tabs on things with the cleo "status" display.
Of particular interest will be the levels for the spectrometer
after doing a balance on a source. These should both be around 1.3-1.5 and
similar to each other.
4.1) Notes on Observing Sequence and using attached sb's
In general, I'll first submit the peakcal.sb file, wait to see the first
spectra come up to make sure the spectrometer is working fine, then submit
peakspcal.sb (after first uncommenting the spectral line calibrator I want to observe).
This shows me that the system is fully functional (and will provide a calibration check
when I reduce the data). Then I'll repeatedly edit (to uncomment the desired
source) and submit source.sb for the rest of the night (in the attachments I have included
2PIGG.sb as the example of a source schedule block. There is also an example
of a 3x3 mapping schedule block). Its a good check to go back at least once to
a calibrator - either peakcal.sb, or peakspcal.sb. So here is a possible sequence
- uncomment desired calibrator and AutoPeakFocus command in peakcal.sb
- submit peakcal.sb to queue
- uncomment desired spectral calibrator in peakspcal.sb (but keep AutoPeak commented out)
- submit peakspcal.sb
- uncomment desired source in source.sb (but keep AutoPeak commented out)
- submit source.sb
- repeat last two steps for about half the night
- uncomment desired calibrator in peakcal.sb [and/or peakspcal.sb] and submit
- go back for rest of your sources
Whether and how often to go back to a calibration source, and whether to calibrate
on a radio galaxy or a spectral line calibrator depends on what you are trying to do. Include at
least one observation of a spectral line calibrator as a test on your calibration. Include
more if you want to understand your systematics better.
At L-band I am definitely not worried about the focus after doing it at the start
of the night, unless the operator tells me I should. If the observer before you
was using L-band, you may not even have to both with focus. But its cheap so do it.
I am also generally not worried about pointing (AutoPeak) after I do it at
the start of the run, so often will not comment out the AutoPeak functions in the
attached source.sb and peakspcal.sb schedule blocks. However, if you have a largish
galaxy (including spectral line calibrators), you may want to AutoPeak near it to
make sure you are centered - I have seen spectra taken of the same source that show
differences in the shape of the line profile that must be due to the receding/approaching
side falling in a different region of the beam.
You may also find an apparent absorption profile at a different velocity than your target source.
This is probably due to an emission source in the "Off" position. If the profile is not
bothering your target spectra, you can leave it as is and get a "free" HI observation of
another source. But if you need the real estate, uncomment out the other "OnOff" command to use
a different offset (off=ra_offset instead of off=dec_offset).
5) Looking at your data with gbtidl:
(also see example scripts in attachments)
Open an xterm.
ssh to another gb machine (so you don't interfere with the observing
machine).
cd to the directory with any idl programs you wish to use (you might
want to create a directory for each night you observe and cd there,
e.g. mkdir aug11, cd aug11)
Start up gbtidl:
%gbtidl
;; gbtidl_basic.pro
;; basic idl commands for gbtidl
;; JHibbard Aug2006
;; to work online
online
;;or
online,/acs
;;or
line
online
;; to work with a specific sdfits dataset
filein,'/home/sdfits/AGBT06C_034_01.raw.acs.fits'
;; see what is in your database
summary
;; get a scan and display it (only shows YY pol by default)
getps,22
;; spcifically display YY, then XX
getps,22,plnum=0
getps,22,plnum=1
;; display a single integration of a single polarization of a scan
getps,22,plnum=0,int=17
;; save the displayed plot to a file (can also do with "print" button
;; on display
write_ps
$mv gbtidl.ps out.ps
;; save data from last manipulated plot to an ascii file
write_ascii,'out.ascii'
;; display all ints, one after the other
for i=0,29 do begin $
getps,22,plnum=0,int=i & endfor
;; fit a baseline of order 5
getps, 25
boxcar, 20, /decimate
chan
nregion,[50,300,500,800] ;; could have used "setregion" to set interactively
baseline, nfit=5
velo
;; get statistics for whatever is plotted:
stats
;; accumlate consequent scans from 60-73, boxcar smooth by 20 channels
;; and display. this requires the file sumcans.pro to be in your directory or
;; you will need to specify the path. Note: Instead of specifying nregion, you
;; could use "setregion" to set it interactively.
.compile <path/>sumscans.pro
chan
nregion,[50,300,500,800]
nfit,1
sumscans, 60, 73, 20
;;; Reducing 9-pt map:
getsigref, 19, 22
;; where 19 is your on-source pointing and ref is your reference pointing.
;; Do each of these, and accumulate those you want to accumulate.
;; To get a single scan:
getscan, 19
##############################################################
;; A more complicated example for summing scans w/o RFI:
;; Sum scans [8,10,12,26,28,30]. But scan 25/26 has RFI in ints=20-22,
;; so individually sum the int outside of that range.
for i=long(8),12,2 do begin $
getps,i,plnum=0 & accum & $
getps,i,plnum=1 & accum & endfor
;;only accumulate ints w/o RFI for scan 25/26
i=25
for j=long(0),19 do begin $
getps,i,plnum=0,int=j & accum & $
getps,i,plnum=1,int=j & accum & endfor
for j=long(23),29 do begin $
getps,i,plnum=0,int=j & accum & $
getps,i,plnum=1,int=j & accum & endfor
for i=long(28),30,2 do begin $
getps,i,plnum=0 & accum & $
getps,i,plnum=1 & accum & endfor
ave
boxcar,20,/decimate
chan
nregion,[50,300,500,800]
baseline,nfit=5
velo
write_ps
$mv gbtidl.ps out.ps
write_ascii,'out.ascii'
;;This will accumulate XX,YY separately:
freeze
for k=0,1 do begin
for i=24,29,2 do begin $
getps,i,plnum=k & accum,k & endfor
i=25
for j=long(0),19 do begin $
getps,i,plnum=k,int=j & accum,k & endfor
for j=long(23),29 do begin $
getps,i,plnum=k,int=j & accum,k & endfor
for i=long(28),30,2 do begin $
getps,i,plnum=k & accum,k & endfor
ave,k
boxcar,20,/decimate
chan
nregion,[50,300,500,800]
baseline,nfit=5
velo
if k eq 0 then XXspec=dcextract(!g.s[0])
if k eq 1 then YYspec=dcextract(!g.s[0])
endfor
unfreeze
!g.s[0]=XXspec
show
!g.s[0]=YYspec
oshow
5a) GBTIDL position-switched pipeline
I have written some GBTIDL scripts to automate reduction of on/off HI data reductions. The main files are gbt_setup.pro (one for each night of observing) and GBTreduce.pro. The latter calls the following: accumscans.pro, write_spectra.pro, spcalflux.pro, and ottflux.pro. Its also useful to use the macro GBTreduce1.pro.
To use these, do the following:
- Edit gbt_setup.pro to identify scans with RFI, calibrator scans, source scans, and input/output data. Use rough values for default_region - you will refine these later
- start up gbtidl and execute the setup file via: "@gbt_setup". This reduces all the data specified in gbt_setup.
- use GBTreduce1.pro to look at each source/calibrator separately to determine best region:
- GBTIDL ->i=1 & GBTreduce1, source[i] & chan
- Enter these regions into gbt_setup.pro and run again!
For more than one night, I use the same keepfile, so that all the data are archived together.
6) Flagging:
Copied from GBTIDLBlankFlagIntro
flagrec, record, bchan=bchan, echan=echan, chans=chans, chanwidth=chanwidth,
idstring=idstring, /keep
One uses idstring to associate with a rule an identifying string that
is typically a reminder of the reason for the flag.
Examples:
The following example shows how to flag a channel range for a small
number of scans and integrations. Note that either the scan parameter
or scanrange keyword is required but both can not be used at the same
time. Otherwise, if a parameter is not specified, "all" is assumed. So
in this example, all polarizations are flagged:
flag, [18,19,20], int=[1,3], bchan=512, echan=514, idstring="RFI"
Equivalently, using the scanrange keyword:
flag, scanrange=[18,20], int=[1,3], bchan=512, echan=514, idstring="RFI"
The next example shows how to flag all channels for a given integration in one scan:
flag, 15, int=3, idstring="spectrometer glitch"
The next example shows how one could flag all data for the given three scans:
flag, [101,105,107]
The next example shows how one might flag a record in a processed data file (a "keep" file):
flagrec, 15, idstring="Glitch", /keep
The next example shows how mone might flag different channel ranges for a record:
flagrec, 16, bchan=[0,100], echan=[10,110], idstring="Two RFI Spikes"
The next example flags the same channel ranges:
flagrec, 16, chans=[5,105], chanwidth=11, idstring="Two RFI Spikes"
Flagging a few more scans, not in a nice sequence:
flag, [40,42,44,47,48,50,56], int=[1,3], bchan=512, echan=514, idstring="More RFI"
-- JohnHibbard - 22 Aug 2006
Copyright © 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