######################################################## # 26jan06 # template scheduling block for GBT cbi-veto observations # # Uses new symmetric otf nods with 10 sec per phase and # 10 sec initial settle # # This scan takes 1.5m per source including intrasource slew # During the day you should have 20 sources in this block plus # the peak/focus # During the night you can let it slip to 27 sources plus # peak/focus # # Notable change from my old way of doing things # *eliminate sources hash array and therefore hifreq.cat. # instead consistently use the new astrid format catalogs # *check python path variables before adding to them # *read the fits trajectory file only once per SB now, instead # of for every scan # *move all referenced files to one place, ~bmason/gbt-obs/gbtcbiruns/ # *Add srccnt keyword to fits file # ######################################################## ####################################################### # # configuration variables # ####################################################### # sources to iterate over # # The first member of each element is the source name. The second is whether it is a calibrator or not. # These variables are used to access those elements, as in srclist[0][sName] which should be "3C353" # sName=0 isCal=1 # # sources to observe in this scheduling block. # srclist=[ ["1512-0905",1], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0], ["144400-0259",0], ["145207-0325",0], ["143820-0239",0] ] # POINTING CALIBRATORS MUST BE IN THIS ASTRID FORMAT CATALOG calibcat=Catalog("/users/bmason/gbt-obs/gbtcbiruns/cbicalibs.acat") # CCB SCIENCE TARGET SOURCES MUST BE IN THIS ASTRID FORMAT CATALOG targetcat=Catalog("/users/bmason/gbt-obs/gbtcbiruns/c14h.acat") # # NB: which catalog you gotta be in is defined by the "isCal" fields # in the above array # ######################################################## # You shouldn't have to change anything below this line # ####################################################### ############################################### # # Define custom scans "dotrajectory" and "autopeakfocus2" # also define the function that reads in a trajectory FITS file, # and then use it, to read in some trajectories. # import os import sys codedir = "/home/groups/ptcs/obs/turtle" if (codedir not in sys.path): sys.path.append(codedir) DefineScan("AutoPeakFocus2",os.path.join(codedir, "AutoPeakFocus2.py")) trajdir="/users/bmason/gbt-dev/scanning/ptcsTraj" if (trajdir not in sys.path): sys.path.append(trajdir) from readFitsTraj import readFitsTraj # # Read in the trajectories # trajnod=readFitsTraj("/users/bmason/gbt-obs/gbtcbiruns/ka-otfnod-symmShort.fits",1.0) #trajnod=readFitsTraj("/users/bmason/gbt-obs/gbtcbiruns/ka-otfnod-symmShortNoWait.fits",1.0) DefineScan("dotrajectory", "/users/bmason/gbt-dev/scanning/ptcsTraj/dotrajectory.py") # # Preceed with a bogus source name in order to set to a long string # SetValues("ScanCoordinator", {"source": "AVeryBogusFoo"} ) # set an initial configuration and add the weather data to the archivist # if the first source is not a calibrator this also leaves us in a # happy state for CCB observations Configure("/users/bmason/gbt-obs/gbtcbiruns/ccbAXL.conf") execfile("/users/bmason/gbt-obs/gbtcbiruns/addwx.py") execfile("/users/bmason/gbt-obs/gbtcbiruns/killlo.py") srccnt=0 for mySrc in srclist: srccnt=srccnt+1 Annotation("SRCCNT",str(srccnt)) Annotation("OBSTAG",str(mySrc[isCal])) SetValues("ScanCoordinator", {"source": mySrc[sName]} ) # change from sources[mySrc[sName]] -- Slew(mySrc[sName]) if mySrc[isCal]: Comment("PRIMARY CALIBRATOR PEAK") Configure("/users/bmason/gbt-obs/gbtcbiruns/KaContMidTtl.py") Balance() AutoPeakFocus2(source=mySrc[sName],configure=False,doZernModel="2005WinterV1") Configure("/users/bmason/gbt-obs/gbtcbiruns/ccbAXL.conf") execfile("/users/bmason/gbt-obs/gbtcbiruns/killlo.py") Slew(mySrc[sName]) myloc=calibcat[mySrc[sName]]["Location"] dotrajectory(trajnod,location=myloc, beamName="1", cos_v=True, coordMode="AzEl") else: myloc=targetcat[mySrc[sName]]["Location"] Slew(mySrc[sName]) dotrajectory(trajnod,location=myloc, beamName="1", cos_v=True, coordMode="AzEl") # removes the anotation: # obs tag =1 denotes a pointing calibrator; 0 is for a program source Annotation("OBSTAG") # srccnt is just a count of how many sources into the scheduling block you got Annotation("SRCCNT") Comment("All Done")