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.