#### Description:

In general it is possible for positions within a given physical domain to be described using one of several different coordinate systems. For instance, the SkyFrame class can use galactic coordinates, equatorial coordinates, etc, to describe positions on the sky. As another example, the SpecFrame class can use frequency, wavelength, velocity, etc, to describe a position within an electromagnetic spectrum. The System attribute identifies the particular coordinate system represented by a Frame. Each class of Frame defines a set of acceptable values for this attribute, as listed below (all are case insensitive). Where more than one alternative System value is shown, the first of will be returned when an enquiry is made.

Type:

  String.

#### Applicability

##### Frame

The System attribute for a basic Frame always equals `"` Cartesian`"` , and may not be altered.

##### CmpFrame

The System attribute for a CmpFrame always equals `"` Compound`"` , and may not be altered. In addition, the CmpFrame class allows the System attribute to be referenced for a component Frame by including the index of an axis within the required component Frame. For instance, `"` System(3)`"` refers to the System attribute of the component Frame which includes axis 3 of the CmpFrame.

##### FrameSet

The System attribute of a FrameSet is the same as that of its current Frame (as specified by the Current attribute).

##### SkyFrame

The SkyFrame class supports the following System values and associated celestial coordinate systems:

- `"` AZEL`"` : Horizon coordinates. The longitude axis is azimuth such that geographic north has an azimuth of zero and geographic east has an azimuth of +PI/2 radians. The zenith has elevation +PI/2. When converting to and from other celestial coordinate systems, no corrections are applied for atmospheric refraction or polar motion (however, a correction for diurnal aberattion is applied). Note, unlike most other celestial coordinate systems, this system is right handed. Also, unlike other SkyFrame systems, the AzEl system is sensitive to the timescale in which the Epoch value is supplied. This is because of the gross diurnal rotation which this system undergoes, causing a small change in time to translate to a large rotation. When converting to or from an AzEl system, the Epoch value for both source and destination SkyFrames should be supplied in the TDB timescale. The difference between TDB and TT is between 1 and 2 milliseconds, and so a TT value can usually be supplied in place of a TDB value. The TT timescale is related to TAI via TT = TAI + 32.184 seconds.

- `"` ECLIPTIC`"` : Ecliptic coordinates (IAU 1980), referred to the ecliptic and mean equinox specified by the qualifying Equinox value.

- `"` FK4`"` : The old FK4 (barycentric) equatorial coordinate system, which should be qualified by an Equinox value. The underlying model on which this is based is non-inertial and rotates slowly with time, so for accurate work FK4 coordinate systems should also be qualified by an Epoch value.

- `"` FK4-NO-E`"` or `"` FK4_NO_E`"` : The old FK4 (barycentric) equatorial system but without the `"` E-terms of aberration`"` (e.g. some radio catalogues). This coordinate system should also be qualified by both an Equinox and an Epoch value.

- `"` FK5`"` or `"` EQUATORIAL`"` : The modern FK5 (barycentric) equatorial coordinate system. This should be qualified by an Equinox value.

- `"` GALACTIC`"` : Galactic coordinates (IAU 1958).

- `"` GAPPT`"` , `"` GEOCENTRIC`"` or `"` APPARENT`"` : The geocentric apparent equatorial coordinate system, which gives the apparent positions of sources relative to the true plane of the Earth`’` s equator and the equinox (the coordinate origin) at a time specified by the qualifying Epoch value. (Note that no Equinox is needed to qualify this coordinate system because no model `"` mean equinox`"` is involved.) These coordinates give the apparent right ascension and declination of a source for a specified date of observation, and therefore form an approximate basis for pointing a telescope. Note, however, that they are applicable to a fictitious observer at the Earth`’` s centre, and therefore ignore such effects as atmospheric refraction and the (normally much smaller) aberration of light due to the rotational velocity of the Earth`’` s surface. Geocentric apparent coordinates are derived from the standard FK5 (J2000.0) barycentric coordinates by taking account of the gravitational deflection of light by the Sun (usually small), the aberration of light caused by the motion of the Earth`’` s centre with respect to the barycentre (larger), and the precession and nutation of the Earth`’` s spin axis (normally larger still).

- `"` HELIOECLIPTIC`"` : Ecliptic coordinates (IAU 1980), referred to the ecliptic and mean equinox of J2000.0, in which an offset is added to the longitude value which results in the centre of the sun being at zero longitude at the date given by the Epoch attribute. Attempts to set a value for the Equinox attribute will be ignored, since this system is always referred to J2000.0.

- `"` ICRS`"` : The Internation Celestial Reference System, realised through the Hipparcos catalogue. Whilst not an equatorial system by definition, the ICRS is very close to the FK5 (J2000) system and is usually treated as an equatorial system. The distinction between ICRS and FK5 (J2000) only becomes important when accuracies of 50 milli-arcseconds or better are required. ICRS need not be qualified by an Equinox value.

- `"` J2000`"` : An equatorial coordinate system based on the mean dynamical equator and equinox of the J2000 epoch. The dynamical equator and equinox differ slightly from those used by the FK5 model, and so a `"` J2000`"` SkyFrame will differ slightly from an `"` FK5(Equinox=J2000)`"` SkyFrame. The J2000 System need not be qualified by an Equinox value

- `"` SUPERGALACTIC`"` : De Vaucouleurs Supergalactic coordinates.

- `"` UNKNOWN`"` : Any other general spherical coordinate system. No Mapping can be created between a pair of SkyFrames if either of the SkyFrames has System set to `"` Unknown`"` .

Currently, the default System value is `"` ICRS`"` . However, this default may change in future as new astrometric standards evolve. The intention is to track the most modern appropriate standard. For this reason, you should use the default only if this is what you intend (and can tolerate any associated slight change in future). If you intend to use the ICRS system indefinitely, then you should specify it explicitly.

##### SpecFrame

The SpecFrame class supports the following System values and associated spectral coordinate systems (the default is `"` WAVE`"` - wavelength). They are all defined in FITS-WCS paper III:

- `"` FREQ`"` : Frequency (GHz)

- `"` ENER`"` or `"` ENERGY`"` : Energy (J)

- `"` WAVN`"` or `"` WAVENUM`"` : Wave-number (1/m)

- `"` WAVE`"` or `"` WAVELEN`"` : Vacuum wave-length (Angstrom)

- `"` AWAV`"` or `"` AIRWAVE`"` : Wave-length in air (Angstrom)

- `"` VRAD`"` or `"` VRADIO`"` : Radio velocity (km/s)

- `"` VOPT`"` or `"` VOPTICAL`"` : Optical velocity (km/s)

- `"` ZOPT`"` or `"` REDSHIFT`"` : Redshift (dimensionless)

- `"` BETA`"` : Beta factor (dimensionless)

- `"` VELO`"` or `"` VREL`"` : Apparent radial (`"` relativistic`"` ) velocity (km/s)

The default value for the Unit attribute for each system is shown in parentheses. Note that the default value for the ActiveUnit flag is non-zero for a SpecFrame, meaning that changes to the Unit attribute for a SpecFrame will result in the SpecFrame being re-mapped within its enclosing FrameSet in order to reflect the change in units (see astSetActiveUnit function for further information).

##### TimeFrame

The TimeFrame class supports the following System values and associated coordinate systems (the default is `"` MJD`"` ):

- `"` MJD`"` : Modified Julian Date (d)

- `"` JD`"` : Julian Date (d)

- `"` JEPOCH`"` : Julian epoch (yr)

- `"` BEPOCH`"` : Besselian (yr)

The default value for the Unit attribute for each system is shown in parentheses. Strictly, these systems should not allow changes to be made to the units. For instance, the usual definition of `"` MJD`"` and `"` JD`"` include the statement that the values will be in units of days. However, AST does allow the use of other units with all the above supported systems (except BEPOCH), on the understanding that conversion to the `"` correct`"` units involves nothing more than a simple scaling (1 yr = 365.25 d, 1 d = 24 h, 1 h = 60 min, 1 min = 60 s). Besselian epoch values are defined in terms of tropical years of 365.2422 days, rather than the usual Julian year of 365.25 days. Therefore, to avoid any confusion, the Unit attribute is automatically cleared to `"` yr`"` when a System value of BEPOCH System is selected, and an error is reported if any attempt is subsequently made to change the Unit attribute.

Note that the default value for the ActiveUnit flag is non-zero for a TimeFrame, meaning that changes to the Unit attribute for a TimeFrame will result in the TimeFrame being re-mapped within its enclosing FrameSet in order to reflect the change in units (see astSetActiveUnit function for further information).

##### FluxFrame

The FluxFrame class supports the following System values and associated systems for measuring observed value:

- `"` FLXDN`"` : Flux per unit frequency (W/m`^`2/Hz)

- `"` FLXDNW`"` : Flux per unit wavelength (W/m`^`2/Angstrom)

- `"` SFCBR`"` : Surface brightness in frequency units (W/m`^`2/Hz/arcmin∗∗2)

- `"` SFCBRW`"` : Surface brightness in wavelength units (W/m`^`2/Angstrom/arcmin∗∗2)

The above lists specified the default units for each System. If an explicit value is set for the Unit attribute but no value is set for System, then the default System value is determined by the Unit string (if the units are not appropriate for describing any of the supported Systems then an error will be reported when an attempt is made to access the System value). If no value has been specified for either Unit or System, then System=FLXDN and Unit=W/m`^`2/Hz are used.

Copyright (C) 2021 East Asian Observatory