1 /*
2 * - - - - - - - - - - -
3 * g a l _ n u m 0 0 b
4 * - - - - - - - - - - -
5 *
6 * This routine is part of the General Astrodynamics Library
7 *
8 * Description:
9 *
10 * Form the matrix of nutation for a given date, IAU 2000B model.
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 * date1,date2 d TT as a 2-part Julian Date (Note 1)
22 *
23 * Returned:
24 *
25 * rmatn d[3][3] nutation matrix
26 *
27 * Notes:
28 *
29 * 1) The TT date date1+date2 is a Julian Date, apportioned in any
30 * convenient way between the two arguments. For example,
31 * JD(TT)=2450123.7 could be expressed in any of these ways,
32 * among others:
33 *
34 * date1 date2
35 *
36 * 2450123.7 0.0 (JD method)
37 * 2451545.0 -1421.3 (J2000 method)
38 * 2400000.5 50123.2 (MJD method)
39 * 2450123.5 0.2 (date & time method)
40 *
41 * The JD method is the most natural and convenient to use in
42 * cases where the loss of several decimal digits of resolution
43 * is acceptable. The J2000 method is best matched to the way
44 * the argument is handled internally and will deliver the
45 * optimum resolution. The MJD method and the date & time methods
46 * are both good compromises between resolution and convenience.
47 *
48 * 2) The matrix operates in the sense V(true) = rmatn * V(mean),
49 * where the p-vector V(true) is with respect to the true
50 * equatorial triad of date and the p-vector V(mean) is with
51 * respect to the mean equatorial triad of date.
52 *
53 * 3) The present routine is faster, but slightly less accurate (about
54 * 1 mas), than the gal_num00a routine.
55 *
56 * Called:
57 *
58 * gal_pn00b bias/precession/nutation, IAU 2000B
59 *
60 * References:
61 *
62 * Explanatory Supplement to the Astronomical Almanac,
63 * P. Kenneth Seidelmann (ed), University Science Books (1992),
64 * Section 3.222-3 (p114).
65 *
66 * This revision:
67 *
68 * 2006 November 13 ( c version 2008 February 4 )
69 *
70 *
71 * Copyright (C) 2008 Paul C. L. Willmott. See notes at end.
72 *
73 *-----------------------------------------------------------------------
74 */
75
76 #include "gal_num00b.h"
77 #include "gal_pn00b.h"
78
79 void
gal_num00b(double date1,double date2,double rmatn[3][3])80 gal_num00b
81 (
82 double date1,
83 double date2,
84 double rmatn[3][3]
85 )
86 {
87
88 double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rbpn[3][3] ;
89
90 /*
91 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
92 */
93
94 /*
95 * Obtain the required matrix (discarding other results).
96 */
97
98 gal_pn00b ( date1, date2, &dpsi, &deps, &epsa, rb, rp, rbp, rmatn, rbpn ) ;
99
100 /*
101 * Finished.
102 */
103
104 }
105
106 /*
107 * gal - General Astrodynamics Library
108 * Copyright (C) 2008 Paul C. L. Willmott
109 *
110 * This program is free software; you can redistribute it and/or modify
111 * it under the terms of the GNU General Public License as published by
112 * the Free Software Foundation; either version 2 of the License, or
113 * (at your option) any later version.
114 *
115 * This program is distributed in the hope that it will be useful,
116 * but WITHOUT ANY WARRANTY; without even the implied warranty of
117 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
118 * GNU General Public License for more details.
119 *
120 * You should have received a copy of the GNU General Public License along
121 * with this program; if not, write to the Free Software Foundation, Inc.,
122 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
123 *
124 * Contact:
125 *
126 * Paul Willmott
127 * vp9mu@amsat.org
128 */
129