FACT++  1.0
pom00.c
Go to the documentation of this file.
1 #include "erfa.h"
2 
3 void eraPom00(double xp, double yp, double sp, double rpom[3][3])
4 /*
5 ** - - - - - - - - - -
6 ** e r a P o m 0 0
7 ** - - - - - - - - - -
8 **
9 ** Form the matrix of polar motion for a given date, IAU 2000.
10 **
11 ** Given:
12 ** xp,yp double coordinates of the pole (radians, Note 1)
13 ** sp double the TIO locator s' (radians, Note 2)
14 **
15 ** Returned:
16 ** rpom double[3][3] polar-motion matrix (Note 3)
17 **
18 ** Notes:
19 **
20 ** 1) The arguments xp and yp are the coordinates (in radians) of the
21 ** Celestial Intermediate Pole with respect to the International
22 ** Terrestrial Reference System (see IERS Conventions 2003),
23 ** measured along the meridians to 0 and 90 deg west respectively.
24 **
25 ** 2) The argument sp is the TIO locator s', in radians, which
26 ** positions the Terrestrial Intermediate Origin on the equator. It
27 ** is obtained from polar motion observations by numerical
28 ** integration, and so is in essence unpredictable. However, it is
29 ** dominated by a secular drift of about 47 microarcseconds per
30 ** century, and so can be taken into account by using s' = -47*t,
31 ** where t is centuries since J2000.0. The function eraSp00
32 ** implements this approximation.
33 **
34 ** 3) The matrix operates in the sense V(TRS) = rpom * V(CIP), meaning
35 ** that it is the final rotation when computing the pointing
36 ** direction to a celestial source.
37 **
38 ** Called:
39 ** eraIr initialize r-matrix to identity
40 ** eraRz rotate around Z-axis
41 ** eraRy rotate around Y-axis
42 ** eraRx rotate around X-axis
43 **
44 ** Reference:
45 **
46 ** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
47 ** IERS Technical Note No. 32, BKG (2004)
48 **
49 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
50 ** Derived, with permission, from the SOFA library. See notes at end of file.
51 */
52 {
53 
54 /* Construct the matrix. */
55  eraIr(rpom);
56  eraRz(sp, rpom);
57  eraRy(-xp, rpom);
58  eraRx(-yp, rpom);
59 
60  return;
61 
62 }
63 /*----------------------------------------------------------------------
64 **
65 **
66 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
67 ** All rights reserved.
68 **
69 ** This library is derived, with permission, from the International
70 ** Astronomical Union's "Standards of Fundamental Astronomy" library,
71 ** available from http://www.iausofa.org.
72 **
73 ** The ERFA version is intended to retain identical functionality to
74 ** the SOFA library, but made distinct through different function and
75 ** file names, as set out in the SOFA license conditions. The SOFA
76 ** original has a role as a reference standard for the IAU and IERS,
77 ** and consequently redistribution is permitted only in its unaltered
78 ** state. The ERFA version is not subject to this restriction and
79 ** therefore can be included in distributions which do not support the
80 ** concept of "read only" software.
81 **
82 ** Although the intent is to replicate the SOFA API (other than
83 ** replacement of prefix names) and results (with the exception of
84 ** bugs; any that are discovered will be fixed), SOFA is not
85 ** responsible for any errors found in this version of the library.
86 **
87 ** If you wish to acknowledge the SOFA heritage, please acknowledge
88 ** that you are using a library derived from SOFA, rather than SOFA
89 ** itself.
90 **
91 **
92 ** TERMS AND CONDITIONS
93 **
94 ** Redistribution and use in source and binary forms, with or without
95 ** modification, are permitted provided that the following conditions
96 ** are met:
97 **
98 ** 1 Redistributions of source code must retain the above copyright
99 ** notice, this list of conditions and the following disclaimer.
100 **
101 ** 2 Redistributions in binary form must reproduce the above copyright
102 ** notice, this list of conditions and the following disclaimer in
103 ** the documentation and/or other materials provided with the
104 ** distribution.
105 **
106 ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
107 ** the International Astronomical Union nor the names of its
108 ** contributors may be used to endorse or promote products derived
109 ** from this software without specific prior written permission.
110 **
111 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
112 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
113 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
114 ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
115 ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
116 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
117 ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
118 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
119 ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
120 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
121 ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
122 ** POSSIBILITY OF SUCH DAMAGE.
123 **
124 */
void eraRx(double phi, double r[3][3])
Definition: rx.c:3
void eraIr(double r[3][3])
Definition: ir.c:3
void eraRy(double theta, double r[3][3])
Definition: ry.c:3
void eraRz(double psi, double r[3][3])
Definition: rz.c:3
void eraPom00(double xp, double yp, double sp, double rpom[3][3])
Definition: pom00.c:3