1 /*
2  *  - - - - - - - - - -
3  *   g a l _ p o m 0 0
4  *  - - - - - - - - - -
5  *
6  *  This routine is part of the General Astrodynamics Library
7  *
8  *  Description:
9  *
10  *  Form the matrix of polar motion for a given date, IAU 2000.
11  *
12  *  This routine is an independent translation of a FORTRAN routine
13  *  that is part of IAU's SOFA software collection.
14  *
15  *  Status:
16  *
17  *     support routine.
18  *
19  *  Given:
20  *
21  *     xp,yp               d        coordinates of the pole (radians, Note 1)
22  *     sp                  d        the TIO locator s' (radians, Note 2)
23  *
24  *  Returned:
25  *
26  *     rpom             d[3][3]     polar-motion matrix (Note 3)
27  *
28  *  Notes:
29  *
30  *  1) xp and yp are the "coordinates of the pole", in radians, which
31  *     position the Celestial Intermediate Pole in the International
32  *     Terrestrial Reference System (see IERS Conventions 2003).  In a
33  *     geocentric right-handed triad u,v,w, where the w-axis points at
34  *     the north geographic pole, the v-axis points towards the origin
35  *     of longitudes and the u axis completes the system, xp = +u and
36  *     yp = -v.
37  *
38  *  2) sp is the TIO locator s', in radians, which positions the
39  *     Terrestrial Intermediate Origin on the equator.  It is obtained
40  *     from polar motion observations by numerical integration, and so is
41  *     in essence unpredictable.  However, it is dominated by a secular
42  *     drift of about 47 microarcseconds per century, and so can be taken
43  *     into account by using s' = -47*t, where t is centuries since
44  *     J2000.  The routine gal_sp00 implements this approximation.
45  *
46  *  3) The matrix operates in the sense V(TRS) = rpom * V(CIP), meaning
47  *     that it is the final rotation when computing the pointing
48  *     direction to a celestial source.
49  *
50  *  Called:
51  *
52  *     gal_ir             initialize r-matrix to identity
53  *     gal_rz             rotate around Z-axis
54  *     gal_ry             rotate around Y-axis
55  *     gal_rx             rotate around X-axis
56  *
57  *  References:
58  *
59  *     McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
60  *     IERS Technical Note No. 32, BKG (2004)
61  *
62  *  This revision:
63  *
64  *     2006 October 10 ( c version 2008 February 4 )
65  *
66  *
67  *  Copyright (C) 2008 Paul C. L. Willmott. See notes at end.
68  *
69  *-----------------------------------------------------------------------
70  */
71 
72 #ifndef _GAL_POM00_H_
73 #define _GAL_POM00_H_ 1
74 
75 #undef __BEGIN_DECLS
76 #undef __END_DECLS
77 #ifdef __cplusplus
78 #define __BEGIN_DECLS extern "C" {
79 #define __END_DECLS }
80 #else
81 #define __BEGIN_DECLS /* empty */
82 #define __END_DECLS   /* empty */
83 #endif
84 
85 __BEGIN_DECLS
86 
87 void
88 gal_pom00
89  (
90     double xp,
91     double yp,
92     double sp,
93     double rpom[3][3]
94  ) ;
95 
96 __END_DECLS
97 
98 #endif /* !_GAL_POM00_H_ */
99 
100 /*
101  *  gal - General Astrodynamics Library
102  *  Copyright (C) 2008 Paul C. L. Willmott
103  *
104  *  This program is free software; you can redistribute it and/or modify
105  *  it under the terms of the GNU General Public License as published by
106  *  the Free Software Foundation; either version 2 of the License, or
107  *  (at your option) any later version.
108  *
109  *  This program is distributed in the hope that it will be useful,
110  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
111  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
112  *  GNU General Public License for more details.
113  *
114  *  You should have received a copy of the GNU General Public License along
115  *  with this program; if not, write to the Free Software Foundation, Inc.,
116  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
117  *
118  *  Contact:
119  *
120  *  Paul Willmott
121  *  vp9mu@amsat.org
122  */
123