NCCS Single-Dish Continuum Observing Algorithms M J Gaylard + whoever 1999/06/25 The three types of continuum observing are defined to be scanning, stepping and making maps from sets of scans. Observing programs that were in use previously are summarised. The algorithms for carrying out each type of observation are defined. The common subroutines needed are defined. ______________________________________________________________________ Table of Contents 1. Introduction 2. Types of scans 2.1 Scan types and antenna motion 2.2 Multiscan SCANTYPES 2.3 Step positions 2.4 Mapping options 3. Continuum Observing Programs on the HP1000 and PC 3.1 Scanning programs 3.2 Stepping programs 3.3 Mapping Programs 4. Observing Algorithms 4.1 Generic single-dish observing algorithm 4.2 Drift scan algorithm 5. Subroutines needed ______________________________________________________________________ 11.. IInnttrroodduuccttiioonn The programs on the HP1000 making use of continuum radiometry were written by many authors. They diverged over the years to produce groups of very similar programs, each optimised slightly differently by changes to the code. The aim here is to converge on a miminum set of generalised algorithms for scanning, stepping and making small maps. These algorithms are optimised by means of input parameters that define their mode of operation. The types of continuum observing modes meant by scanning, stepping and mapping are first defined. Note that there is an ambiguity in terminology, in that for the NCCS, "scan" is used as a synonym for any type of observation, including spectroscopy and pulsar timing, but "scan" also means driving the telescope in a particular way, e.g. drift scan, declination scan etc., so that a "scan" (observation) can actually be made up of a number of "scans" (drives). For ease of reference the programs that were in use on the HP1000 are briefly described and links provided to their code. General algorithms for each type of observing are defined. 22.. TTyyppeess ooff ssccaannss 22..11.. SSccaann ttyyppeess aanndd aanntteennnnaa mmoottiioonn Scanning, if completely generalised, is defined by specified rates of motion in two orthogonal axes which may have no particular relation to the natural axes of the telescope, i.e. Equatorial Hour Angle and Declination. However it may be useful to categorise scans in order of increasing complexity in relation to the natural axes of the telescope, as subtleties of algorithm design may be involved. 1. passive (drift) scan, telescope stationary a. park telescope at an earlier RA than the target, Earth rotation produces the scan 2. active scan at fixed rates in the natural telescope coordinates (HA, Dec) a. scan in HA at siderial rate (track RA), park in Dec b. scan in HA at non-siderial rate, park in Dec c. scan in HA at siderial rate (track RA), scan in Dec d. park in HA, scan in Dec e. scan in HA at non-siderial rate, scan in Dec 3. active scan at fixed rates in coordinate systems rotated from the natural telescope coordinates, producing variable speeds in the latter a. Galactic b. Ecliptic c. Altazimuth d. other Longitude + Latitude The outputs of the instruments attached to the receiver are recorded during the scan, and the data are internally calibrated at some point in the scan or set of scans by firing a noise diode and recording the change in signal level. All continuum radiometry comprises the recording of instrument outputs during one or more of the above scans. 22..22.. MMuullttiissccaann SSCCAANNTTYYPPEESS Two standard SCANTYPE definitions produce multiple scans treated as an uninterruptible observation, normally with a single calibration: +o STEP is defined to consist of a series of (track RA, park in Dec) scans, at the step positions defined in the next section. +o SCANPNT is defined to be two orthogonal scans centred on the specified coordinates, first being (scan in HA, park in Dec), the second (track RA, scan in DEC). 22..33.. SStteepp ppoossiittiioonnss Stepping consists of tracking in RA at positions stepped around a beam pattern at some subset of the following positions: +o second null in RA (SNE, SNW) or Dec (SNN, SNS) +o first null in RA (FNE, FNW) or Dec (FNN, FNS) +o half power points in RA (HPE, HPW) or Dec (HPN, HPS) +o beam centre (ON) +o zero-crossing point of dual beam receivers (ZC) Suffixes A or B denote the beam in use for dual beam systems, e.g. SNEA. Suffix CAL denotes that the calibration noise diode is fired during the track, e.g. SNEACAL, producing a double length track with the noise diode on during the first half. Stepping therefore comprises a set of a particular type of active scans carried out in a specific sequence as one, uninterruptible unit. 22..44.. MMaappppiinngg ooppttiioonnss Maps are made from repeated scans. Large maps are made from scans treated as single entities that are calibrated and recorded individually. However there remains a need for small maps comprising a set of scans treated as a single entity, calibrated once, and observed without interruption. SCANTYPE= STEP and SCANPNT are two undersampled examples already described. Fully sampled examples could be defined to include the SCANTYPEs: +o SMALLMAP, a map of a small area such as the inner sidelobes of the beam, centred on a strong, compact radio continuum source. +o SUNMAP, a map of a small area centred on the Sun +o MOONMAP, a map of a small area centred on the Moon There are two ways that uninterruptible small maps can be handled: 1. By generating in advance an input file comprising all the scans required, as single entities, and commanding the scheduler to treat the set as uninterruptible; 2. By defining in an input file the minimum set of parameters needed to execute the set of scans and passing these to the observing program to generate internally the required scans. The first option is identical to making a large map, each individual scan being treated separately, except that all the scans are done without interruption. The second option is identical to the method used to do STEP and SCANPNT observations, and is how it was done in all pre-NCCS mapping. Clearly, the relative advantages of the two methods need careful assessment. 33.. CCoonnttiinnuuuumm OObbsseerrvviinngg PPrrooggrraammss oonn tthhee HHPP11000000 aanndd PPCC 33..11.. SSccaannnniinngg pprrooggrraammss The first drift scan program was written by Don Cameron (sixcm). DDSSCCAANN Interactive multiwavelength drift scans, written by MG. Used for tests and as a training program for students. Source code , in nccs/doc/continuum/hpcontinuum/scan/dscan.all. DDSSCCNN99 Automated non-interactive drift scans, derived from DSCAN, written by MG. Source code , in nccs/doc/continuum/hpcontinuum/scan/dscn9.ftn. OOBBCCIIRR Multiwavelength drift scans through Circinus X-1, written by GN. Source code , in nccs/doc/continuum/hpcontinuum/scan/obcir.ftn. SSIIXXCCMM Obsolete 6cm drift scan program, written by DC, GN. Source code , in nccs/doc/continuum/hpcontinuum/scan/sixcm.ftn. TTHHRRCCMM Obsolete 13cm drift scan program, written by DC, GN. Source code , in nccs/doc/continuum/hpcontinuum/scan/thrcm.ftn. 33..22.. SStteeppppiinngg pprrooggrraammss The stepping programs all derive from a single program originally written by Don Bramwell. OOBBCCAALL Runs under SCHDL. Steps around a single beam at all frequencies. Step sequence as per TNSTP. Source code , in nccs/doc/continuum/hpcontinuum/step/obcal.ftn. OOBBPPLLNN Runs under SCHDL. Observe any planet. Step sequence as per TNFPC. Source code , in nccs/doc/continuum/hpcontinuum/step/obpln.ftn. Routines for reading MICA planetary predictions , in nccs/doc/continuum/hpcontinuum/step/plnet.sub. OOBBQQCCKK Runs under SCHDL(?) Observe any planet in highspeed "interlaced mode" at both 3.5cm and 6cm. Source code , in nccs/doc/continuum/hpcontinuum/step/obqck.ftn. Written by JQ. Tracks at (?): ZCCAL, ON. TTNNFFPPCC Source code , in nccs/doc/continuum/hpcontinuum/step/tnfpc.ftn. For dual beams full pointing is done only in declination. Zero- crossing point provides east-west pointing if no inflection between the beams. Tracks at: FNNA, HPNA, ONA, HPSA, FNSA, ZC, FNNB, HPNB, ONB, HPSB, FNSB For single beams there is no east-west pointing check. Tracks at: FNN, HPN, ON, HPS, FNS TTNNFFQQSS "Quick Step". Source code , in nccs/doc/continuum/hpcontinuum/step/tnfqs.ftn. For both dual and single beams, does no pointing. Tracks at: FNNACAL, ONA, FNSA TTNNSSTTPP Source code , in nccs/doc/continuum/hpcontinuum/step/tnstp.ftn. For dual beams, does pointing in both Dec and HA using HP points, with zero-crossing as last point, but otherwise does not use the second beam. Tracks at: FNNACAL, HPNA, ONA, HPSA, FNSA, FNEA, HPEA, ONA, HPWA, FNWA, ZC For single beams, does pointing in both Dec and HA using HP points. tracks at: FNNCAL, HPN, ON, HPS, FNS, FNE, HPE, ON, HPW, FNW 33..33.. MMaappppiinngg PPrrooggrraammss The mapping programs on the HP1000 all derive from SKYMAP, developed over the aeons by Rhodes University (Pete Mountfort, Justin Jonas et al.) for mapping at 13cm wavelength. SSKKYYMMAAPP Program for mapping in equatorial coordinates at 13cm, using calls to HP-STEER. Source code , in nccs/doc/continuum/hpcontinuum/map/skymap.ftn. BBEEAAMM66 Program for multiwavelength small area mapping in equatorial coordinates, using calls to HP-STEER, derived from SKYMAP by MG. Source code , in nccs/doc/continuum/hpcontinuum/map/beam6.ftn. SSUUNN77 Map the Sun in Ecliptic coordinates using calls to Pascal PC- STEER. Written by JQ? Source code , in nccs/doc/continuum/hpcontinuum/map/sun7.ftn. Superceded by MAPR3. MMOOOONN Map the Moon in apparent Equatorial coordinates using calls to Pascal PC-STEER. Written by JQ? Source code , in nccs/doc/continuum/hpcontinuum/map/moon.ftn. Superceded by MAPR3. MMAAPPRR33 Map the Sun in Ecliptic coordinates, the Moon in apparent Equatorial coordinates, or other general object in Galactic or 1950, 2000 or mean (current date?) Equatorial coordinates, using calls to Pascal PC-STEER. Written by JQ. Source code , in nccs/doc/continuum/hpcontinuum/map/mapr3.ftn. The parameter file used by MAPR3 was called , in nccs/doc/continuum/hpcontinuum/map/mapprm. The most recent mapping program is a basket-weaving program written by Sarah Buchner under Justin Jonas' tutelage. It is written in Pascal and is described in her MSc thesis (available in the library). Source code should be on NCCS1 or NCCS2 ? 44.. OObbsseerrvviinngg AAllggoorriitthhmmss 44..11.. GGeenneerriicc ssiinnggllee--ddiisshh oobbsseerrvviinngg aallggoorriitthhmm All single-dish observing algorithms follow this form: get scan parameters from parser/scheduler set up parameters for the scan(s) check object visibility configure the telescope, receiver and instrument quickly test the receiver and instrument with the calibration noise diode repeat { drive to start of scan calibrate if required scan and capture data until end of scan bin/transform/process the data if required scale the data if required plot the data on screen for visual data qualification } until ( all scans done ) write captured data in required format to disk file The devil, of course, lies in the details. 44..22.. DDrriifftt ssccaann aallggoorriitthhmm This is a first attempt at expanding the generic algorithm, in this case for a drift scan. get scan parameters from parser/scheduler (object, coordinates, scan_type, scan_start, scan_length, scan_rate, receiver, instrument, res_freq, bin, observing constraints) set up scan parameters minscanlen = bwfn / cos(dec) + 0.1 degrees set scan_length = max (min_scan_len, scan_len_input) sampling interval = averaging time of samples coming in at 10 per second at say 10 samples / hpbw start_RA = POSRA (RA_of_date - scanlen/2) drive_RA = POSRA (start_RA - calibration_time * time_to_angle) endRA = POSRA (RA_of_date + scan_len/2) deltRA = RA_of_date - RA2000 check object visibility command_HA = PMOD (ST / deg_to_sid_secs - start_RA) if ( command_HA > HALIM (+90.0, dec_of_date) ) then { object has set, so quit } else { object is above the horizon mask, so continue } if ( command_HA < HALIM (-90.0, dec_of_date) ) then { object not risen above horizon, so quit } else { object is above horizon mask, so continue } if ( coordinates within user specification of HA, elevation, time of day etc ) then continue configure the telescope, receiver and instrument read system parameters from syparm, using restfreq connect receiver L+RCP pair to instrument L+RCP pair configure telescope (hyperbola tilt and focus, dichroic on/off) configure receiver (dual/single beam, set frequency, Dicke mode on/off, NAD diode on/off etc.) configure instrument (NAD/TP etc.) quickly test the receiver and instrument with the calibration noise diode (number_of_failures_allowed, fault_report) continue if faults clear within specified number_of_failures_allowed carry out the scan drive to (drive_RA, DEC) wake up when on target if ( calibrate on this scan ) then { calibrate receiver (counts_per_K, error_in_counts_per_K, fault) } if ( RA_now > start_RA ) then { drive to start_RA, DEC } while ( RA_now > start_RA and RA_now < end_RA ) do { read and save ( instrument outputs, coordinates ) } qualify data at end of scan if ( binning wanted ) { bin the outputs } if ( scaling wanted ) { scale the outputs to Kelvins } plot data on screen for visual data qualification (counts versus angle) write raw or binned data to disk file quit 55.. SSuubbrroouuttiinneess nneeeeddeedd The following is based on HP code, but there is some guesswork here as I don't really know just how SYPARM will work, what calls to it are like, or what commands can be sent to STEER and what data can be sampled from STEER. +o Input file reader +o Input parameter parser +o Syparm reader +o Telescope configurator +o Receiver configurator +o Instrument configurator +o Calibration using noise diode (quicktest and accurate calibration) +o Convert input parameters to scan parameters +o Coordinate transformations +o PMOD Returns a value of angle in PMOD, -180.0 < PMOD < 180.0 +o HALIM Returns east or west hour angle limits +o Telescope driver +o Instrument output and telescope coordinates reader +o Data binning +o Data scaling +o Plot data on screen annotated with key parameters +o Write housekeeping and data to file