GCRF ↔ ITRF Transformations¶
Transformations between Geocentric Celestial Reference Frame (GCRF, inertial) and International Terrestrial Reference Frame (ITRF, Earth-fixed). Uses CIO-based theory with classical angles on the selected precession-nutation model, IAU 2006/2000A by default.
Note
For conceptual explanations and examples, see GCRF ↔ ITRF Transformations in the Learn section.
GCRF to ITRF¶
state_gcrf_to_itrf builtin ¶
state_gcrf_to_itrf(epc: Union[Epoch, Sequence[Epoch]], x_gcrf: Union[ndarray, Sequence], axis: int = -1) -> ndarray
Transforms a state vector (position and velocity) from GCRF (Geocentric Celestial Reference Frame) to ITRF (International Terrestrial Reference Frame).
Applies the full IAU 2006/2000A transformation including bias, precession, nutation, Earth rotation, and polar motion corrections using global Earth orientation parameters. The velocity transformation accounts for the Earth's rotation rate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for the transformation. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
x_gcrf | ndarray or list | State vector in | required |
axis | int | The axis of | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: State vector in |
Example
rotation_gcrf_to_itrf builtin ¶
Computes the combined rotation matrix from GCRF (Geocentric Celestial Reference Frame) to ITRF (International Terrestrial Reference Frame). Applies corrections for bias, precession, nutation, Earth-rotation, and polar motion.
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
The function will utilize the global Earth orientation and loaded data to apply corrections for Celestial Intermediate Pole (CIP) and polar motion drift derived from empirical observations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for computation of transformation matrix. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: 3x3 rotation matrix transforming |
Example
position_gcrf_to_itrf builtin ¶
position_gcrf_to_itrf(epc: Union[Epoch, Sequence[Epoch]], x: Union[ndarray, Sequence], axis: int = -1) -> ndarray
Transforms a position vector from GCRF (Geocentric Celestial Reference Frame) to ITRF (International Terrestrial Reference Frame).
Applies the full IAU 2006/2000A transformation including bias, precession, nutation, Earth rotation, and polar motion corrections using global Earth orientation parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for the transformation. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
x | ndarray or list | Position vector in | required |
axis | int | The axis of | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: Position vector in |
Example
ITRF to GCRF¶
state_itrf_to_gcrf builtin ¶
state_itrf_to_gcrf(epc: Union[Epoch, Sequence[Epoch]], x_itrf: Union[ndarray, Sequence], axis: int = -1) -> ndarray
Transforms a state vector (position and velocity) from ITRF (International Terrestrial Reference Frame) to GCRF (Geocentric Celestial Reference Frame).
Applies the full IAU 2006/2000A transformation including bias, precession, nutation, Earth rotation, and polar motion corrections using global Earth orientation parameters. The velocity transformation accounts for the Earth's rotation rate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for the transformation. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
x_itrf | ndarray or list | State vector in | required |
axis | int | The axis of | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: State vector in |
Example
rotation_itrf_to_gcrf builtin ¶
Computes the combined rotation matrix from ITRF (International Terrestrial Reference Frame) to GCRF (Geocentric Celestial Reference Frame). Applies corrections for bias, precession, nutation, Earth-rotation, and polar motion.
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
The function will utilize the global Earth orientation and loaded data to apply corrections for Celestial Intermediate Pole (CIP) and polar motion drift derived from empirical observations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for computation of transformation matrix. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: 3x3 rotation matrix transforming |
position_itrf_to_gcrf builtin ¶
position_itrf_to_gcrf(epc: Union[Epoch, Sequence[Epoch]], x: Union[ndarray, Sequence], axis: int = -1) -> ndarray
Transforms a position vector from ITRF (International Terrestrial Reference Frame) to GCRF (Geocentric Celestial Reference Frame).
Applies the full IAU 2006/2000A transformation including bias, precession, nutation, Earth rotation, and polar motion corrections using global Earth orientation parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch or Sequence[Epoch] | Epoch instant for the transformation. A sequence evaluates one epoch per vector (or broadcasts a single vector across all epochs). | required |
x | ndarray or list | Position vector in | required |
axis | int | The axis of | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: Position vector in |
Example
Intermediate Matrices¶
bias_precession_nutation builtin ¶
Computes the Bias-Precession-Nutation matrix transforming the GCRS to the CIRS intermediate reference frame. This transformation corrects for the bias, precession, and nutation of Celestial Intermediate Origin (CIO) with respect to inertial space.
This formulation computes the Bias-Precession-Nutation correction matrix using a CIO based model, evaluating the precession-nutation model selected by set_precession_nutation_model (IAU 2006/2000A by default).
The function will utilize the global Earth orientation and loaded data to apply corrections to the Celestial Intermediate Pole (CIP) derived from empirical observations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch instant for computation of transformation matrix | required |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: 3x3 rotation matrix transforming |
References
IAU SOFA Tools For Earth Attitude, Example 5.5 http://www.iausofa.org/2021_0512_C/sofa/sofa_pn_c.pdf Software Version 18, 2021-04-18
earth_rotation builtin ¶
Computes the Earth rotation matrix transforming the CIRS to the TIRS intermediate reference frame. This transformation corrects for the Earth rotation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch instant for computation of transformation matrix | required |
Returns:
| Type | Description |
|---|---|
ndarray | 3x3 rotation matrix transforming |
polar_motion builtin ¶
Computes the Earth rotation matrix transforming the TIRS to the ITRF reference frame.
The function will utilize the global Earth orientation and loaded data to apply corrections to compute the polar motion correction based on empirical observations of polar motion drift.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch instant for computation of transformation matrix | required |
Returns:
| Type | Description |
|---|---|
ndarray | 3x3 rotation matrix transforming |
Precession-Nutation Model¶
PrecessionNutationModel ¶
Precession-nutation model evaluated by the GCRF to ITRF and GCRF to MOD to TOD transformations.
Attributes:
| Name | Type | Description |
|---|---|---|
IAU2006A | Any | IAU 2006 precession with the full IAU 2000A nutation series. The default. |
IAU2000B | Any | IAU 2000 precession with the truncated IAU 2000B nutation series; about seven times faster and within about 1 mas of IAU 2006/2000A. |
Example
Initialize instance.
IAU2000B class-attribute ¶
IAU2000B: Any = PrecessionNutationModel.IAU2000B
Precession-nutation model evaluated by the GCRF to ITRF and GCRF to MOD to TOD transformations.
Attributes:
| Name | Type | Description |
|---|---|---|
IAU2006A | IAU 2006 precession with the full IAU 2000A nutation series. The default. | |
IAU2000B | IAU 2000 precession with the truncated IAU 2000B nutation series; about seven times faster and within about 1 mas of IAU 2006/2000A. |
IAU2006A class-attribute ¶
IAU2006A: Any = PrecessionNutationModel.IAU2006A
Precession-nutation model evaluated by the GCRF to ITRF and GCRF to MOD to TOD transformations.
Attributes:
| Name | Type | Description |
|---|---|---|
IAU2006A | IAU 2006 precession with the full IAU 2000A nutation series. The default. | |
IAU2000B | IAU 2000 precession with the truncated IAU 2000B nutation series; about seven times faster and within about 1 mas of IAU 2006/2000A. |
set_precession_nutation_model builtin ¶
set_precession_nutation_model(model: PrecessionNutationModel) -> None
Set the crate-wide precession-nutation model evaluated by the Earth orientation transformations.
The setting applies to every subsequent call of the GCRF to ITRF and GCRF to MOD to TOD transformations, including the frame router and the batch forms. Functions that take a model argument explicitly are unaffected.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model | PrecessionNutationModel | Precession-nutation model to evaluate. | required |
Returns:
| Name | Type | Description |
|---|---|---|
None | None | The crate-wide model is replaced. |
get_precession_nutation_model builtin ¶
get_precession_nutation_model() -> PrecessionNutationModel
Get the crate-wide precession-nutation model evaluated by the Earth orientation transformations.
Returns:
| Name | Type | Description |
|---|---|---|
PrecessionNutationModel | PrecessionNutationModel | Model currently selected. |
bias_precession_nutation_model builtin ¶
bias_precession_nutation_model(epc: Epoch, model: PrecessionNutationModel) -> ndarray
Computes the Bias-Precession-Nutation matrix transforming the GCRS to the CIRS intermediate reference frame using an explicitly chosen precession-nutation model.
The Celestial Intermediate Pole corrections from the global Earth orientation data are applied for either model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch instant for computation of transformation matrix. | required |
model | PrecessionNutationModel | Precession-nutation model to evaluate. | required |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: 3x3 rotation matrix transforming |
See Also¶
- ECI ↔ ECEF Transformations - Generic naming convention API
- Reference Frames Module - Complete API reference for frames module