| Version 1.9 Build 1556
|
|
Next: sditerator
Up: NOTE 236 - DISH: User's Manual
Previous: Development Plan
The sdrecord
The SDRecord is the fundamental data atom of dish. It has recently
been updated (V1.4) to more closely resemble individual rows of the
MeasurementSet.
Unless otherwise stated, the units of all values in an SDRecord are
SI units. Angles are expressed in degrees. This structure was
arrived at before Measures and coordinates were fully supported in
Glish. As a result, temporary fields in
an SDRecord are used to hold sufficient information to indicate
the coordinate system and reference frame where appropriate.
All of the fields described below are required unless stated otherwise.
The value of a field is undefined in the following circumstances:
- The Glish function is_nan(x) returns T for a floating point
value.
- The value is < 0 for an integer field.
- The string is empty.
For boolean fields, all values are considered valid. In addition,
all values in the data array should be considered valid. The
data array flag field should be used to indicate invalid values
in the data array.
An SDRecord is a Glish record having the following structure:
- data
- A Glish record which contains the data array and a
description of the data array (axis type, values, increments, and
units).
- arr - float | complex
- The data array. The dimensionality of the data
array is
(nstokes,nchan) where nchan is the number of channels and
nstokes is the number of different stokes types found in this data.
nstokes is either 1, 2 or 4.
- desc
- A Glish record which describes the data array.
- chan_freq - Quantity[nchan]
- 'unit' defines the units of the x-axis and
'value' defines the values of the x-axis.
- refframe - string
- Defines the reference frame.
- reffrequency - double[Hz]
- The frequency of the center pixel.
- chan_width - double
- The width of the channels in units of x.
- restfrequency - double[Hz]
- The rest frequency of the observed line.
- corr_type - string[nstokes]
- A vector of strings describing the Stokes
type of each element of the second axis of the data array. The possible Stokes
types are:
I, Q, U, V, RR, RL, LR, LL, XX, XY, YX, YY, RX, RY, LX, LY, XR, XL
YR, YL, PP, PQ, QP, QQ
For a typical single dish telescope, raw data will have
stokes = ("XX", "YY") or ("RR", "LL").
- unit - string
- A string describing the units of the data array.
- flag -bool[nchan,nstokes]
- A boolean matrix with the shape as
arr. When true, the corresponding value in arr has been
flagged as bad and should not be used. When false, the corresponding value
in arr is good.
- weight - float[ntokes,nchan]
- A floating point matrix having the same shape as arr.
- sigma - float[nstokes,nchan]
- Theoretical rms.
- header
- A Glish record with the following fixed structure.
The bulleted items are merely separators to make this list easier to read,
they are not members of header.
The type of each
field is indicated at the end of each description. Vector fields
are indicated by giving the length of the vector in parenthesis
after the field type.
- Identity
- time - MEpoch
- The mid-point of the observation (UT). A measure.
- scan_number - int
- The scan ID number. Typically this is an
identification number given to a chunk of data when the data is taken. Not all
telescopes provide a scan ID number.
- source_name - string
- The name of the thing being observed.
- direction - MDirection
- Where the telescope was pointed. A measure
with the reference frame.
- Times
- exposure - double[s]
- The total amount of time actually spent
collecting photons (e.g excludes blanking time, etc).
- duration - double[s]
- The elapsed (clock) time.
- Observer
- observer - string
- project - string
- Backend
- resolution - double
- The resolution. The units are whatever chan_freq
has.
- bandwidth - double
- The total bandwidth.
- tcal - float(nstokes)[K]
- The cal temperature.
- trx
- - float(nstokes)[K]] The receiver temperature.
- tsys - float(nstokes)[K]
- The system temperature.
- References
- reference_direction - MDirection
- Telescope
- telescope - string
- A string identifying the telescope.
- telescope_position - MPosition
- The (x, y, z) position of the telescope
in the ITRF (VLBI) coordinate system.
- azel - MDirection
- The azimuth and elevation at time.
- Weather
- pressure - double[hPa]
- The atmopheric pressure.
- dewpoint - double[K]
- The dew point.
- tambient - float
- The ambient temperature.
- wind_dir - float
- The wind direction.
- wind_speed - float
- The wind speed.
- Coordinate system kludges
- veldef - string
- The velocity definition (e.g. ``radio'', ``optical'').
- molecule - string
- transition - string
- hist - string
- This vector of strings contains a history of the operations
which resulted in this SDRecord. Each element is a valid Glish command. Taken as a whole, the hist field should be sufficient to
regenerate the SDRecord from the original data source.
In addition to the fixed structure described above. An SDRecord
may contain an optional ns_header field. This is a Glish record which can contain any additional information not found
in the fixed portion of an SDRecord. This field will typically be
used for telescope-dependent information.
To summarize, in pseudo-Glish an SDRecord looks like this:
sdrecord := [data=[=], header=[=], hist=[=], ns_header=[=]];
sdrecord.data := [arr=[...], flag=[...], desc=[=], weight=[...]];
sdrecord.data.desc := [units=,stokes=,ctype=,crpix=,crval=,cdelt=];
sdrecord.header := [time=,scan_number=,object=,etc.];
sdrecord.hist := ["# useful history","# as a vector","# etc. etc."];
sdrecord.ns_header := [non-standard fields]
ns_header is optional
Additional information can be found in the
Reference Manual section on
the get function of the
Sditerator tool. See also
the is_sdrecord function.
Next: sditerator
Up: NOTE 236 - DISH: User's Manual
Previous: Development Plan
  Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc.,
Washington, D.C.
Return to AIPS++ Home Page
2006-10-15