CASA Contributed Task: makeschedule
Feb 5, 2013: The script has been recently updated and uses the new format now. It allows now to make entire Scheduling Blocks or only Scan Lists, and different pointing separations in X and Y direction. An updated documentation will follow soon.
Download task files: Download task files: File:Task makeschedule.py, File:Makeschedule.xml
Task to create complete schedules for JVLA observations that can be imported as a scan lists into the OPT, including initial setup, observations of flux and banpass calibrators, pointing scans, and phase calibrators. The task can run either on a pre-defined 'pointing_file' in SCT format, or it can generate a mosaic either in equatorial (J2000.0) or galactic coordinates centered at a specific 'position'.
If many sources at different positions in the sky are observed, the program will pick the closest phase calibrator from 'phase_cals' and group sources related to each phase calibrator together. The task will then schedule the groups in the order of the list of phase calibrators given in 'phase_cals'. Phase calibrators with no associated targets will be ignored.
The task will try to optimize the sequence of pointings, by always selecting the closest remaining target source for optimization = 'simple'. The 'complex' optimization can reduce settling times and gain a few seconds on source, but it runs much slower (in particular for large mosaics with a few hundred pointings). This is only recomended for mosacis with very short time per pointing (e.g. 12 seconds).
Output files are:
pointings.pst -- File with pointing positions in SCT format to be read into the OPT. scan_list_xxLST.opt -- Scan list to be imported to the OPT (import scans) for the specified LST start time. regions.reg -- Region file for ds9
Example 1: Mosaic
The following example will generate a hexagonal 12x12 mosaic, centered at the position RA=01:33:51.00 DEC=+30:39:37, with pointing separations of 6 arcminutes. The schedule will start at 20 LST, with the bandpass calibrator J1733-1304 (NRAO530), followed by the mosaic, and ends with the flux density calibrator 3C48. Each pointing will be visited twice for 33 seconds, and the phase calibrator will be observed roughly every 20 minutes for 60 seconds. X-Band pointing scans are included before the bandpass calibrator, flux calibrator, and roughly every 60 minutes on the phase calibrator. The schedule will use the 'C wide band' resource from the 'NRAO Defaults' catalog.
Text version of makeschedule.last: File:Makeschedule.txt
Corresponding OPT report: File:Makeschedule.pdf
CASA <35>: inp makeschedule ---------> inp(makeschedule) # makeschedule :: Task to create JVLA schedules for mosaics or observations of large source lists. pointing_file = '' # Input file frame = 'equatorial' # Coordinate frame (equatorial or galactic) position = '1:33:51.00,30:39:37' # Central position of mosaic (hh:mm:ss.s,dd:mm:ss.s) delta = 6 # Pointing spacing (arcmin) x_points = 12 # Pointings in RA (l) y_points = 12 # Pointings in DEC (b) poi_type = 'hexagonal' # Options: 'hexagonal' or 'rectangular' start_LST = 20 # Start LST time setup_time = 8.0 # Initial setup time (min) cal_order = 'BTF' # Order of different parts of the schedule (F=Flux cal; B=bandpass cal; T=target # sources- including phase calibrators) flux_cal = '3C48' # Flux calibrator ('3C48','3C147','3C286', or '3C138') flux_time = 2.0 # Time on flux calibrator (min) bp_cal = 'J1733-1304' # Bandpass calibrator '' => same as flux_cal bp_time = 4.0 # Time on Bandpass calibrator (min) n_visits = 2 # number of cycles scan_time = 33 # Duration of each pointing (sec) cal_time = 60 # Duration on phase-cal (sec) cal_freq = 20 # Max. time between phase-cal scans (min) do_poi = True # True: Do reference pointing; False: Do not do this. poi_freq = 60.0 # Time between reference pointing scans (min) poi_res = 'Primary X band pointing' # Resource for pointing poi_time = 180.0 # Time for reference pointings (sec) max_diff = [15.0, 15.0] # Do new reference pointing if new calibrator is not within x deg (az,el) of old # reference pointing phase_cals = ['J0137+3309'] # List of phase calibrators. optimize = 'simple' # Options: 'simple' (optimize for ra,dec) or 'complex' (optimize for az,el) start_first_poi = True # True: Start with first pointing in list; False: Start with closest pointing to # calibrator use_loops = True # True: Group all scans between phase-calibrators into a loop; False: Do not do # this. group_name = '' # Source group name in SCT source_cat = 'MyMosaic' # Source Catalog Name in SCT resource_cat = 'NRAO Defaults' # Resource Catalog Name in RCT resource = 'C wide band' # Resource Name in RCT beam = 12 # beam in arcmin (regions) plot = [1, 0, 1, 0, 0] # Plot start,end,raster,slew,uptime max_scan_length = 120 # Maximal scan length (sec) async = False # If true the taskname must be started using makeschedule(...)
Example 2: Large source list
The second example uses a list of 277 Galactic methanol masers (File:Methanol masers.txt) over more than 30 deg on the sky. Each maser is observed once for 23 seconds. The masers are automatically grouped with one of the four phase calibrators. The observations used the 'C-Band + RRL (Galaxy)' resource from my 'RSRO' catalog.
Text version of makeschedule.last: File:Makeschedule2.txt
Corresponding OPT report: File:Makeschedule2.pdf
CASA <105>: inp makeschedule ----------> inp(makeschedule) # makeschedule :: Task to create JVLA schedules for mosaics or observations of large source lists. pointing_file = 'Methanol_masers.txt' # Input file start_LST = 18 # Start LST time setup_time = 8.0 # Initial setup time (min) cal_order = 'FT' # Order of different parts of the schedule (F=Flux cal; B=bandpass cal; T=target # sources- including phase calibrators) flux_cal = '3C286' # Flux calibrator ('3C48','3C147','3C286', or '3C138') flux_time = 2.0 # Time on flux calibrator (min) bp_cal = '' # Bandpass calibrator '' => same as flux_cal n_visits = 1 # number of cycles scan_time = 23 # Duration of each pointing (sec) cal_time = 60 # Duration on phase-cal (sec) cal_freq = 12.5 # Max. time between phase-cal scans (min) do_poi = False # True: Do reference pointing; False: Do not do this. phase_cals = ['J1751-2524', 'J1811-2055', 'J1832-1035', 'J1907+0127'] # List of phase calibrators. optimize = 'simple' # Options: 'simple' (optimize for ra,dec) or 'complex' (optimize for az,el) start_first_poi = True # True: Start with first pointing in list; False: Start with closest pointing to # calibrator use_loops = False # True: Group all scans between phase-calibrators into a loop; False: Do not do # this. group_name = '' # Source group name in SCT source_cat = 'Methanol' # Source Catalog Name in SCT resource_cat = 'RSRO' # Resource Catalog Name in RCT resource = 'C-Band + RRL (Galaxy)' # Resource Name in RCT beam = 7 # beam in arcmin (regions) plot = [1, 0, 1, 0, 0] # Plot start,end,raster,slew,uptime max_scan_length = 120 # Maximal scan length (sec) async = False # If true the taskname must be started using makeschedule(...)