These web services are the back-end of the MWA triggering system, described in detail Hancock et al, 2019 (https://ui.adsabs.harvard.edu/link_gateway/2019PASA...36...46H/EPRINT_PDF)
All of these web services accept parameters that can either be URL-encoded in the request URL, or POSTed in the request body. Most of these web services require the user to pass a 'project_id' parameter containing an MWA project ID code (used to determine whether that project is allowed to override whatever observations are currently in the schedule), and a 'secure_key' parameter containing a password that proves that the caller is authorised to interrupt the MWA on behalf of the given project ID.
All of them return a JSON structure in the body of the reply.
Busy - ask whether the telescope can currently be interrupted.
eg: http://mro.mwa128t.org/trigger/busy?project_id=C001&obstime=180
Parameters:
- project_id: MWA project ID string, eg G0055, that would be interrupting the existing observations
- obstime: Number of seconds from 'now' to check for in the schedule
- pretty: True if the returned JSON should be rendered to be more human-readable
The reply is a JSON string containing a boolean - True if the telescope is 'busy' at this instant, and can't be interrupted by the given project ID between now and 'obstime' seconds in the future.
Obslist - get a list of observations currently in the schedule over the next <obstime> seconds.
eg: http://mro.mwa128t.org/trigger/obslist?obstime=180
Parameters:
- obstime: Number of seconds from 'now' to check for in the schedule
- pretty: True if the returned JSON should be rendered to be more human-readable
The data returned is a JSON string containing a list of observations, where each observation is a tuple of (starttime, stoptime, obsname, creator, project_id, mode, groupid)
TriggerObs - Trigger a set of correlator observations with the MWA telescope, on one or more targets.
Parameters can be passed in the URL, as with the other services, but there are usually a lot of them, so POSTing them is preferred.
Base parameters are:
- project_id: MWA project ID string, eg G0055, that would be interrupting the existing observations. Defaults to 'C001'.
- secure_key: The password associated with that project ID. No default.
- pretty: True if the returned JSON should be rendered to be more human-readable. Defaults to False if called from a script, True if called from a web browser.
- pretend: Boolean, integer, or string (eg 'y', 'n', etc) - if true, then do everything except clear out existing observations and schedule new ones. Defaults to True.
- calibrator: Boolean, integer, or string (eg 'y', 'n', etc), or the name of a source - if a source name, observe that source as a calibrator observation for each frequency specified, after the target observations. If a boolean, and True, choose the best available calibrator source to observe. Defaults to False.
- calexptime: The duration in seconds of each calibrator observation, if specified. Defaults to 120 seconds.
- groupid: Used to specify the observation ID marking the start of this 'observation group' - useful if this trigger is adding to or changing a set of previously triggered observations, so the new ones can be grouped with the original set. Defaults to using the obsid of the first observation scheduled with this trigger call.
Many of the parameters can be used to specify one or more observing targets, in several different formats:
- ra and dec: Specify a target coordinate in J2000 coordinates. Each can be either a single value (in degrees), or a JSON encoded list of values in degrees to specify more than one target. If so, the number of elements in the 'ra' and 'dec' lists must be equal.
- alt and az: Specify a target coordinate in altitude/elevation and azimuth. Each can be either a single value (in degrees), or a JSON encoded list of values in degrees to specify more than one target. If so, the number of elements in the 'alt' and 'az' lists must be equal.
- source: A string specifying a source name, or a JSON encoded list of source names (to be resolved by the name resolver in astropy.coordinates).
- subarrays: A JSON encoded list of pre-defined MWA subarray names. If provided, the number of subarray names must be equal to the total number of observing targets provided (all ra/dec, alt/az and source names), and one of the given subarrays will be assigned to each of the target positions provided. If the subarrays parameter is NOT provided, then the MWA will observe each of the provided target positions in turn, with the entire array. Defaults to empty (no subarrays).
The rest of the observations provide the rest of the observation details:
- freqspecs: A single MWA coarse channel selection specifier (eg '121,24' for 24 coarse channels centered on channel 121), or a JSON encoded list of several channel selection strings. If more than one is provided, multiple observations of each specified target location will be taken, for each frequency channel set provided (as well as one at each frequency for the post-observation calibrator, if specified). Defaults to '145,24'.
- creator: The name of the person or system generating this trigger - an arbitrary string. Defaults to 'djmwa/trigger'.
- freqres: Frequency resolution for the correlator, in kHz - must be one of the standard MWAX settings. Defaults to 10.0 kHz.
- inttime: Integration time for the correlator, in seconds - must be one of the standard MWAX settings. Defaults to 0.5 seconds.
- avoidsun: Boolean, integer, or string (eg 'y', 'n', etc) - if true, try to put the Sun in a beam null for each target location (except alt/az positions). Defaults to False.
- obsname: The name the observation to be inserted (another arbitrary string). Defaults to 'trigger'.
- exptime: The duration of each individual observation (for each observing target, at each frequency channel selection). Defaults to 120 seconds.
- nobs: The number of observations (for each observing target, at each frequency channel selection). The total observing time (if not using subarrays) will be nobs * (number of target locations) * (number of frequency specifiers) * exptime (not including calibrator observations). Defaults to 15 observations.