1 #include "erfa.h"
2 
eraC2tcio(double rc2i[3][3],double era,double rpom[3][3],double rc2t[3][3])3 void 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 **  This revision:  2021 May 11
56 **
57 **  Copyright (C) 2013-2021, NumFOCUS Foundation.
58 **  Derived, with permission, from the SOFA library.  See notes at end of file.
59 */
60 {
61    double r[3][3];
62 
63 
64 /* Construct the matrix. */
65    eraCr(rc2i, r);
66    eraRz(era, r);
67    eraRxr(rpom, r, rc2t);
68 
69 /* Finished. */
70 
71 }
72 /*----------------------------------------------------------------------
73 **
74 **
75 **  Copyright (C) 2013-2021, NumFOCUS Foundation.
76 **  All rights reserved.
77 **
78 **  This library is derived, with permission, from the International
79 **  Astronomical Union's "Standards of Fundamental Astronomy" library,
80 **  available from http://www.iausofa.org.
81 **
82 **  The ERFA version is intended to retain identical functionality to
83 **  the SOFA library, but made distinct through different function and
84 **  file names, as set out in the SOFA license conditions.  The SOFA
85 **  original has a role as a reference standard for the IAU and IERS,
86 **  and consequently redistribution is permitted only in its unaltered
87 **  state.  The ERFA version is not subject to this restriction and
88 **  therefore can be included in distributions which do not support the
89 **  concept of "read only" software.
90 **
91 **  Although the intent is to replicate the SOFA API (other than
92 **  replacement of prefix names) and results (with the exception of
93 **  bugs;  any that are discovered will be fixed), SOFA is not
94 **  responsible for any errors found in this version of the library.
95 **
96 **  If you wish to acknowledge the SOFA heritage, please acknowledge
97 **  that you are using a library derived from SOFA, rather than SOFA
98 **  itself.
99 **
100 **
101 **  TERMS AND CONDITIONS
102 **
103 **  Redistribution and use in source and binary forms, with or without
104 **  modification, are permitted provided that the following conditions
105 **  are met:
106 **
107 **  1 Redistributions of source code must retain the above copyright
108 **    notice, this list of conditions and the following disclaimer.
109 **
110 **  2 Redistributions in binary form must reproduce the above copyright
111 **    notice, this list of conditions and the following disclaimer in
112 **    the documentation and/or other materials provided with the
113 **    distribution.
114 **
115 **  3 Neither the name of the Standards Of Fundamental Astronomy Board,
116 **    the International Astronomical Union nor the names of its
117 **    contributors may be used to endorse or promote products derived
118 **    from this software without specific prior written permission.
119 **
120 **  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
121 **  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
122 **  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
123 **  FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
124 **  COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
125 **  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
126 **  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
127 **  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
128 **  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
129 **  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
130 **  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
131 **  POSSIBILITY OF SUCH DAMAGE.
132 **
133 */
134