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)
...
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
...
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.
The structure returned is a JSON encoded dictionary, containing the following:
- result['success'] - a Boolean, True if the observations were scheduled successfully, False if there was an error.
- result['errors'] - a dictionary, containing integer keys from 0-N, where each value is an error message. Normally empty.
- result['params'] - a dictionary containing all parameters passed to the web service, after parsing, and some extra parameters calculated by the web service (the name of the automatically chosen calibrator, etc).
- result['clear'] - the commands used to clear the schedule. It contains the keys/values:
- 'command': The full clear_schedule.py command line
- 'retcode': The integer return code from that command
- 'stderr': The output to STDERR from that command
- 'stdout': The output to STDOUT from that command
- result['schedule'] - the commands used to schedule the triggered observations. It contains the keys/values:
- 'command': A string containing all of the schedule_observation.py command lines
- 'retcode':The integer return code from the shell spawned to run those commands
- 'stderr': The output to STDERR from those commands
- 'stdout': The output to STDOUT from those commands
TriggerVCS - Trigger a set of voltage-capture 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. If no target positions are specified, then observations will be triggered in 'all sky' mode, with a single dipole active on each tile:
- 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'.
- 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.
The structure returned is a JSON encoded dictionary, containing the following:
- result['success'] - a Boolean, True if the observations were scheduled successfully, False if there was an error.
- result['errors'] - a dictionary, containing integer keys from 0-N, where each value is an error message. Normally empty.
- result['params'] - a dictionary containing all parameters passed to the web service, after parsing, and some extra parameters calculated by the web service (the name of the automatically chosen calibrator, etc).
- result['clear'] - the commands used to clear the schedule. It contains the keys/values:
- 'command': The full clear_schedule.py command line
- 'retcode': The integer return code from that command
- 'stderr': The output to STDERR from that command
- 'stdout': The output to STDOUT from that command
- result['schedule'] - the commands used to schedule the triggered observations. It contains the keys/values:
- 'command': A string containing all of the schedule_observation.py command lines
- 'retcode':The integer return code from the shell spawned to run those commands
- 'stderr': The output to STDERR from those commands
- 'stdout': The output to STDOUT from those commands
...