CASA Contributed Task: makeschedule

From CASA Guides
Jump to: navigation, search

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

Positions of the mosaic pointings (blue) and the phase calibrator (red) in RA/DEC (top), and AZ/EL (bottom) at the start of the observations (20 LST).
Observing sequence of the mosaic pointings (blue) and the phase calibrator (red) over the observation.

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

Positions of 277 methanol masers (blue) and the 4 phase calibrators (red) in RA/DEC (top), and AZ/EL (bottom) at the start of the observations (18 LST).

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(...)