CIRS#

class astropy.coordinates.CIRS(*args, copy=True, representation_type=None, differential_type=None, **kwargs)[source]#

Bases: BaseRADecFrame

A coordinate or frame in the Celestial Intermediate Reference System (CIRS).

CIRS is a geocentric reference system that serves as the intermediate step between the quasi-inertial ICRS (fixed to distant quasars) and the Earth-fixed ITRS. It was introduced by the International Astronomical Union (IAU) 2000 and 2006 resolutions to replace the older equinox-based “apparent place” systems with a cleaner, higher-precision framework.

Definition

CIRS is defined by two fundamental concepts:

  • Celestial Intermediate Pole (CIP) — the pole of the system. Its motion in the GCRS is described by the IAU 2006 precession model combined with the IAU 2000A nutation model, giving micro-arcsecond accuracy.

  • Celestial Intermediate Origin (CIO) — the origin of right ascension in CIRS. Unlike the classical vernal equinox (which is defined by the intersection of the Earth’s equator and the ecliptic and therefore “swings” with precession and nutation), the CIO is a non-rotating origin: it is defined so that it has no rotation component around the CIP. This cleanly separates the Earth’s spin (described by the Earth Rotation Angle, ERA) from its wobble (precession and nutation).

Relation to other frames

  • ICRS → CIRS: applying the IAU precession-nutation model rotates the ICRS axes to the intermediate (CIP/CIO) axes. Astropy performs this via the ERFA apco/atciqz routines.

  • CIRS → ITRS: a single rotation by the Earth Rotation Angle (ERA) around the CIP axis. ERA is a linear function of UT1 and replaces the more complex “equation of the equinoxes” needed in the older equinox-based systems.

  • CIRS vs. GCRS: both share the same pole (CIP) and the same geocentric origin, but they differ in their right-ascension origin. GCRS uses the equinox; CIRS uses the CIO. The angular offset between the two origins along the intermediate equator is called the equation of the origins (EO).

Astropy implementation

Astropy implements CIRS using the ERFA library (the open-source version of IAU SOFA), which provides the IAU 2006/2000A precession-nutation model. The default location is the geocentre; supply an EarthLocation to get the topocentric variant (which additionally accounts for diurnal aberration).

For more background see Section 2.6 of USNO Circular 179 and the references in the See Also section of the documentation.

The frame attributes are listed under Other Parameters.

Parameters:
dataBaseRepresentation subclass instance

A representation object or None to have no data (or use the coordinate component arguments, see below).

raAngle, optional, keyword-only

The RA for this object (dec must also be given and representation must be None).

decAngle, optional, keyword-only

The Declination for this object (ra must also be given and representation must be None).

distanceQuantity [:ref: ‘length’], optional, keyword-only

The Distance for this object along the line-of-sight. (representation must be None).

pm_ra_cosdecQuantity [:ref: ‘angular speed’], optional, keyword-only

The proper motion in Right Ascension (including the cos(dec) factor) for this object (pm_dec must also be given).

pm_decQuantity [:ref: ‘angular speed’], optional, keyword-only

The proper motion in Declination for this object (pm_ra_cosdec must also be given).

radial_velocityQuantity [:ref: ‘speed’], optional, keyword-only

The radial velocity of this object.

representation_typeBaseRepresentation subclass, str, optional

A representation class or string name of a representation class. This sets the expected input representation class, thereby changing the expected keyword arguments for the data passed in. For example, passing representation_type='cartesian' will make the classes expect position data with cartesian names, i.e. x, y, z in most cases unless overridden via frame_specific_representation_info. To see this frame’s names, check out <this frame>().representation_info.

differential_typeBaseDifferential subclass, str, dict, optional

A differential class or dictionary of differential classes (currently only a velocity differential with key ‘s’ is supported). This sets the expected input differential class, thereby changing the expected keyword arguments of the data passed in. For example, passing differential_type='cartesian' will make the classes expect velocity data with the argument names v_x, v_y, v_z unless overridden via frame_specific_representation_info. To see this frame’s names, check out <this frame>().representation_info.

copybool, optional

If True (default), make copies of the input coordinate arrays. Can only be passed in as a keyword argument.

Other Parameters:
obstimeTime

The time at which the observation is taken. Used for determining the position of the Earth and its precession.

locationEarthLocation

The location on the Earth. This can be specified either as an EarthLocation object or as anything that can be transformed to an ITRS frame. The default is the centre of the Earth.

Attributes Summary

default_differential

Default representation for differential data (e.g., velocity)

default_representation

Default representation for position data

frame_attributes

frame_specific_representation_info

Mapping for frame-specific component names

location

The location on Earth of the observer

name

obstime

The reference time (e.g., time of observation

Attributes Documentation

default_differential#

Default representation for differential data (e.g., velocity)

default_representation#

Default representation for position data

frame_attributes = {'location': <astropy.coordinates.attributes.EarthLocationAttribute object>, 'obstime': <astropy.coordinates.attributes.TimeAttribute object>}#
frame_specific_representation_info#

Mapping for frame-specific component names

location#

The location on Earth of the observer

Default: (0.0, 0.0, 0.0) km

name = 'cirs'#
obstime#

The reference time (e.g., time of observation

Default: J2000.000