1 /*
2  *  - - - - - - - - -
3  *   g a l _ p r 0 0
4  *  - - - - - - - - -
5  *
6  *  This routine is part of the General Astrodynamics Library
7  *
8  *  Description:
9  *
10  *  Precession-rate part of the IAU 2000 precession-nutation models
11  *  (part of MHB2000).
12  *
13  *  This routine is an independent translation of a FORTRAN routine
14  *  that is part of IAU's SOFA software collection.
15  *
16  *  Status:
17  *
18  *     canonical model.
19  *
20  *  Given:
21  *
22  *     date1,date2         d        TT as a 2-part Julian Date (Note 1)
23  *
24  *  Returned:
25  *
26  *     *dpsipr,*deps       d        precession corrections (Notes 2,3)
27  *
28  *  Notes
29  *
30  *  1) The TT date date1+date2 is a Julian Date, apportioned in any
31  *     convenient way between the two arguments.  For example,
32  *     JD(TT)=2450123.7 could be expressed in any of these ways,
33  *     among others:
34  *
35  *            date1         date2
36  *
37  *         2450123.7          0.0        (JD method)
38  *         2451545.0      -1421.3        (J2000 method)
39  *         2400000.5      50123.2        (MJD method)
40  *         2450123.5          0.2        (date & time method)
41  *
42  *     The JD method is the most natural and convenient to use in
43  *     cases where the loss of several decimal digits of resolution
44  *     is acceptable.  The J2000 method is best matched to the way
45  *     the argument is handled internally and will deliver the
46  *     optimum resolution.  The MJD method and the date & time methods
47  *     are both good compromises between resolution and convenience.
48  *
49  *  2) The precession adjustments are expressed as "nutation components",
50  *     corrections in longitude and obliquity with respect to the J2000
51  *     equinox and ecliptic.
52  *
53  *  3) Although the precession adjustments are stated to be with respect
54  *     to Lieske et al. (1977), the MHB2000 model does not specify which
55  *     set of Euler angles are to be used and how the adjustments are to
56  *     be applied.  The most literal and straightforward procedure is to
57  *     adopt the 4-rotation epsilon_0, psi_A, omega_A, xi_A option, and
58  *     to add dpsipr to psi_A and depspr to both omega_A and eps_A
59  *     (Wallace 2002).
60  *
61  *  4) This is an implementation of one aspect of the IAU 2000A nutation
62  *     model, formally adopted by the IAU General Assembly in 2000,
63  *     namely MHB2000 (Mathews et al. 2002).
64  *
65  *  References
66  *
67  *     Lieske, J.H., Lederle, T., Fricke, W. & Morando, B., "Expressions
68  *     for the precession quantities based upon the IAU (1976) System of
69  *     Astronomical Constants", Astron.Astrophys., 58, 1-16 (1977)
70  *
71  *     Mathews, P.M., Herring, T.A., Buffet, B.A., "Modeling of nutation
72  *     and precession   New nutation series for nonrigid Earth and
73  *     insights into the Earth's interior", J.Geophys.Res., 107, B4,
74  *     2002.  The MHB2000 code itself was obtained on 9th September 2002
75  *     from ftp://maia.usno.navy.mil/conv2000/chapter5/IAU2000A.
76  *
77  *     Wallace, P.T., "Software for Implementing the IAU 2000
78  *     Resolutions", in IERS Workshop 5.1 (2002)
79  *
80  *  This revision:
81  *
82  *     2005 August 24 ( c version 2008 January 19 )
83  *
84  *
85  *  Copyright (C) 2008 Paul C. L. Willmott. See notes at end.
86  *
87  *-----------------------------------------------------------------------
88  */
89 
90 #ifndef _GAL_PR00_H_
91 #define _GAL_PR00_H_ 1
92 
93 #undef __BEGIN_DECLS
94 #undef __END_DECLS
95 #ifdef __cplusplus
96 #define __BEGIN_DECLS extern "C" {
97 #define __END_DECLS }
98 #else
99 #define __BEGIN_DECLS /* empty */
100 #define __END_DECLS   /* empty */
101 #endif
102 
103 __BEGIN_DECLS
104 
105 void
106 gal_pr00
107  (
108     double date1,
109     double date2,
110     double *dpsipr,
111     double *depspr
112  ) ;
113 
114 __END_DECLS
115 
116 #endif /* !_GAL_PR00_H_ */
117 
118 /*
119  *  gal - General Astrodynamics Library
120  *  Copyright (C) 2008 Paul C. L. Willmott
121  *
122  *  This program is free software; you can redistribute it and/or modify
123  *  it under the terms of the GNU General Public License as published by
124  *  the Free Software Foundation; either version 2 of the License, or
125  *  (at your option) any later version.
126  *
127  *  This program is distributed in the hope that it will be useful,
128  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
129  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
130  *  GNU General Public License for more details.
131  *
132  *  You should have received a copy of the GNU General Public License along
133  *  with this program; if not, write to the Free Software Foundation, Inc.,
134  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
135  *
136  *  Contact:
137  *
138  *  Paul Willmott
139  *  vp9mu@amsat.org
140  */
141