source: trunk/FACT++/erfa/src/c2tcio.c@ 19008

Last change on this file since 19008 was 18921, checked in by tbretz, 7 years ago
Updated to ERFA 1.4.0
File size: 5.1 KB
Line 
1#include "erfa.h"
2
3void eraC2tcio(double rc2i[3][3], double era, double rpom[3][3],
4 double rc2t[3][3])
5/*
6** - - - - - - - - - -
7** e r a C 2 t c i o
8** - - - - - - - - - -
9**
10** Assemble the celestial to terrestrial matrix from CIO-based
11** components (the celestial-to-intermediate matrix, the Earth Rotation
12** Angle and the polar motion matrix).
13**
14** Given:
15** rc2i double[3][3] celestial-to-intermediate matrix
16** era double Earth rotation angle (radians)
17** rpom double[3][3] polar-motion matrix
18**
19** Returned:
20** rc2t double[3][3] celestial-to-terrestrial matrix
21**
22** Notes:
23**
24** 1) This function constructs the rotation matrix that transforms
25** vectors in the celestial system into vectors in the terrestrial
26** system. It does so starting from precomputed components, namely
27** the matrix which rotates from celestial coordinates to the
28** intermediate frame, the Earth rotation angle and the polar motion
29** matrix. One use of the present function is when generating a
30** series of celestial-to-terrestrial matrices where only the Earth
31** Rotation Angle changes, avoiding the considerable overhead of
32** recomputing the precession-nutation more often than necessary to
33** achieve given accuracy objectives.
34**
35** 2) The relationship between the arguments is as follows:
36**
37** [TRS] = RPOM * R_3(ERA) * rc2i * [CRS]
38**
39** = rc2t * [CRS]
40**
41** where [CRS] is a vector in the Geocentric Celestial Reference
42** System and [TRS] is a vector in the International Terrestrial
43** Reference System (see IERS Conventions 2003).
44**
45** Called:
46** eraCr copy r-matrix
47** eraRz rotate around Z-axis
48** eraRxr product of two r-matrices
49**
50** Reference:
51**
52** McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003),
53** IERS Technical Note No. 32, BKG
54**
55** Copyright (C) 2013-2017, NumFOCUS Foundation.
56** Derived, with permission, from the SOFA library. See notes at end of file.
57*/
58{
59 double r[3][3];
60
61
62/* Construct the matrix. */
63 eraCr(rc2i, r);
64 eraRz(era, r);
65 eraRxr(rpom, r, rc2t);
66
67 return;
68
69}
70/*----------------------------------------------------------------------
71**
72**
73** Copyright (C) 2013-2017, NumFOCUS Foundation.
74** All rights reserved.
75**
76** This library is derived, with permission, from the International
77** Astronomical Union's "Standards of Fundamental Astronomy" library,
78** available from http://www.iausofa.org.
79**
80** The ERFA version is intended to retain identical functionality to
81** the SOFA library, but made distinct through different function and
82** file names, as set out in the SOFA license conditions. The SOFA
83** original has a role as a reference standard for the IAU and IERS,
84** and consequently redistribution is permitted only in its unaltered
85** state. The ERFA version is not subject to this restriction and
86** therefore can be included in distributions which do not support the
87** concept of "read only" software.
88**
89** Although the intent is to replicate the SOFA API (other than
90** replacement of prefix names) and results (with the exception of
91** bugs; any that are discovered will be fixed), SOFA is not
92** responsible for any errors found in this version of the library.
93**
94** If you wish to acknowledge the SOFA heritage, please acknowledge
95** that you are using a library derived from SOFA, rather than SOFA
96** itself.
97**
98**
99** TERMS AND CONDITIONS
100**
101** Redistribution and use in source and binary forms, with or without
102** modification, are permitted provided that the following conditions
103** are met:
104**
105** 1 Redistributions of source code must retain the above copyright
106** notice, this list of conditions and the following disclaimer.
107**
108** 2 Redistributions in binary form must reproduce the above copyright
109** notice, this list of conditions and the following disclaimer in
110** the documentation and/or other materials provided with the
111** distribution.
112**
113** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
114** the International Astronomical Union nor the names of its
115** contributors may be used to endorse or promote products derived
116** from this software without specific prior written permission.
117**
118** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
119** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
120** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
121** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
122** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
123** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
124** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
125** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
126** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
127** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
128** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
129** POSSIBILITY OF SUCH DAMAGE.
130**
131*/
Note: See TracBrowser for help on using the repository browser.