MWA Schedule database schema
The telescope schedule contains the desired state of the telescope, at all times (past, present, and future). It is contained in five database tables - I've summarised the tables below, leaving out some deprecated or rarely used columns.
The 'mwa_setting' table (describing the observation as a whole, and how it is to be processed):
- starttime
- stoptime
The times, in GPS seconds, over which this setting is to be applied. These times must both be integers, as changes to the configuration only happen on second boundaries. The starttime is used as the primary key in the database table, and also used to link this settings record with other tables, including the metadata archive. In practice, both of these must be modulo-8 values.
The obvious constraints apply - endtime>starttime, and endtime<=(any other starttime)
- creator
Who entered this setting - person, daemon name, etc.
- unpowered_tile_name
The name of the set of tiles to power down during this observation, referring to a row in the 'unpowered_tiles' table. Rarely used, but was implemented to allow tiles to be powered down completely during some observations, in case they transmit RFI.
- modtime
A timestamp for when this record was last modified in the database. This attribute can be changed in the observation object, but the value is not written back to the database - instead, the database server automatically sets this value when the record is altered.
- mode
A text string defining the data reduction handler
- ra_phase_center
- dec_phase_center
RA and Dec of the commanded phase center, in decimal degrees; None if the commanded pointing direction was an alt/az, a TLE, or a raw hex delay. Used as the phase center for the correlator.
- projectid
The project ID code, referring to a row in the 'mwa_project' table.
- dataquality
Integer: (1, 'Good'), (2, 'Some Issues'), (3, 'Unusable'), (4, 'Deleted'), (5, 'Marked for Delete')
- dataqualitycomment
An arbitrary text string describing the reason behind the given data quality.
- int_time
Correlator integration dump time, in seconds, eg 0.5.
- freq_res
Correlator frequency resolution in kHz, eg 10.0.
The 'rf_stream' table, describing one or more sub-arrays with pointing and other desired observation state data:
- starttime
Observation start time in GPS seconds - must refer to a row in the mwa_setting table.
- number
An integer, starting from 0 for the first RF stream associated with a setting, 1 for the second, etc. Most observations only have one rf_stream entry. These two fields (starttime and number) form the primary key of the rf_stream table.
- azimuth
- elevation
Pointing direction in degrees of az/el, NULL if the requested pointing pointing direction was not a fixed az/el.
- ra
- dec
Pointing direction in ra/dec in degrees, NULL if the requested pointing pointing direction was not an RA/Dec or astronomical source.
- tle
Two-Line Element - a list of two lines describing an Earth-orbiting satellite, or NULL if the pointing was not specified this way.
- hex
Hex digits defining raw beamformer delay switch values, or NULL if raw delay values were not specified for a pointing.
The above six columns define the beamformer delays for the specified tiles in one of four ways. If more than one set of these columns are filled, the results are undefined.
- tile_selection
The name of an entry in the 'tile_selection_table' table, defining what tiles to include in the subarray defined in this rf_stream entry. For most observations, this will be simply 'all_on'.
- dipole_exclusion
Text field which is the name of the entries in the 'dipole_exclusion_table' to use for the tiles in this rf_stream object. This field defines a set of 'bad' dipoles for each tile, which should be switched off at the summing junction inside the beamformers to avoid contaminating the signal with bad data.
- frequencies
A list of 24 channel numbers, each an integer between 0 and 255, in units of 1.28 MHz.
- gain_control_value
Overall analogue attenuation, in dB. Usually 1.0.
- creator
Who entered this setting - person, daemon name, etc.
- modtime
Timestamp for when this record was last modified in the database.
The 'tile_selection_table', containing named subarrays of tiles that can be pointed independently by creating more than on rf_stream entry for an observation:
- name
Tileset name, eg 'all_on'
- xlist
List of tile ID's to include in the X polarisation
- ylist
List of tile ID's to include in the Y polarisation
- creator
Who entered this setting - person, daemon name, etc.
- modtime
Timestamp of last modification time for that database row. Note that X and Y polarisations on tiles are independent, so you could in theory make two sub-arrays, one of all 128 tiles in X, and another of all 128 tiles in Y, and point them in different directions, with two different rf_stream rows in the same observation.
The 'dipole_exclusion_table', containing rows describing 'bad' dipoles, to be switched off in hardware at the summing junction inside each beamformer.
- name
The name of the set of bad dipoles, typically 'default'.
- tile
The tile ID number.
- exclude_x_dipoles
A list of integer dipole numbers (1-16) with bad X polarisation signals on this tile.
- exclude_y_dipoles
A list of integer dipole numbers (1-16) with bad Y polarisation signals on this tile.
- begintime
- endtime
The range of times, in GPS seconds, that this row is valid for. Outside this time range, the dipoles described in this row are not 'bad' (unless the current time is within the time range of some other row in this table, describing the same dipole/s).
The 'schedule_metadata' table, containing miscellaneous data about the observation. I didn't create this table, so it doesn't really match the naming conventions of style of the other schedule tables.
- observation_number
Start time of the observation in GPS seconds - must refer to a starttime value in the mwa_setting and rf_stream tables.
- azimuth_pointing
- elevation_pointing
Az/El in degrees of the centre of the primary beam at the midpoint time of the observation, no matter how that pointing was specified by the user.
- ra_pointing
- dec_pointing
RA/Dec in degrees of the centre of the primary beam at the midpoint time of the observation, no matter how that pointing was specified by the user.
- sun_elevation
Angle in degrees between the Sun and the horizon at the midpoint time of the observation.
- sun_pointing_distance
Angle in degrees between the Sun and the centre of the primary beam at the midpoint time of the observation.
- jupiter_pointing_distance
Angle in degrees between Jupiter and the centre of the primary beam at the midpoint time of the observation.
- moon_pointing_distance
Angle in degrees between the Moon and the centre of the primary beam at the midpoint time of the observation.
- sky_temp
Sky temperature in Kelvin at the centre of the primary beam at the midpoint time of the observation.
- calibration
True if this observation is a calibrator reference observation.
- calibrators
The name/s of the calibration source/s in this observation.
- gridpoint_name
Always 'sweet' (we used to use a special set of grid points for EoR observations).
- gridpoint_number
The 'sweet' spot number, or NULL if we aren't using a sweet spot pointing.
- local_sidereal_time_deg
The LST, in degrees, at the midpoint time of the observation.
- modtime
Timestamp of last modification time for that database row.