File Coverage

erfasrc/src/eqeq94.c
Criterion Covered Total %
statement 0 9 0.0
branch n/a
condition n/a
subroutine n/a
pod n/a
total 0 9 0.0


line stmt bran cond sub pod time code
1             #include "erfa.h"
2              
3 0           double eraEqeq94(double date1, double date2)
4             /*
5             ** - - - - - - - - - -
6             ** e r a E q e q 9 4
7             ** - - - - - - - - - -
8             **
9             ** Equation of the equinoxes, IAU 1994 model.
10             **
11             ** Given:
12             ** date1,date2 double TDB date (Note 1)
13             **
14             ** Returned (function value):
15             ** double equation of the equinoxes (Note 2)
16             **
17             ** Notes:
18             **
19             ** 1) The date date1+date2 is a Julian Date, apportioned in any
20             ** convenient way between the two arguments. For example,
21             ** JD(TT)=2450123.7 could be expressed in any of these ways,
22             ** among others:
23             **
24             ** date1 date2
25             **
26             ** 2450123.7 0.0 (JD method)
27             ** 2451545.0 -1421.3 (J2000 method)
28             ** 2400000.5 50123.2 (MJD method)
29             ** 2450123.5 0.2 (date & time method)
30             **
31             ** The JD method is the most natural and convenient to use in
32             ** cases where the loss of several decimal digits of resolution
33             ** is acceptable. The J2000 method is best matched to the way
34             ** the argument is handled internally and will deliver the
35             ** optimum resolution. The MJD method and the date & time methods
36             ** are both good compromises between resolution and convenience.
37             **
38             ** 2) The result, which is in radians, operates in the following sense:
39             **
40             ** Greenwich apparent ST = GMST + equation of the equinoxes
41             **
42             ** Called:
43             ** eraAnpm normalize angle into range +/- pi
44             ** eraNut80 nutation, IAU 1980
45             ** eraObl80 mean obliquity, IAU 1980
46             **
47             ** References:
48             **
49             ** IAU Resolution C7, Recommendation 3 (1994).
50             **
51             ** Capitaine, N. & Gontier, A.-M., 1993, Astron.Astrophys., 275,
52             ** 645-650.
53             **
54             ** Copyright (C) 2013-2019, NumFOCUS Foundation.
55             ** Derived, with permission, from the SOFA library. See notes at end of file.
56             */
57             {
58             double t, om, dpsi, deps, eps0, ee;
59              
60              
61             /* Interval between fundamental epoch J2000.0 and given date (JC). */
62 0           t = ((date1 - ERFA_DJ00) + date2) / ERFA_DJC;
63              
64             /* Longitude of the mean ascending node of the lunar orbit on the */
65             /* ecliptic, measured from the mean equinox of date. */
66 0           om = eraAnpm((450160.280 + (-482890.539
67 0           + (7.455 + 0.008 * t) * t) * t) * ERFA_DAS2R
68 0           + fmod(-5.0 * t, 1.0) * ERFA_D2PI);
69              
70             /* Nutation components and mean obliquity. */
71 0           eraNut80(date1, date2, &dpsi, &deps);
72 0           eps0 = eraObl80(date1, date2);
73              
74             /* Equation of the equinoxes. */
75 0           ee = dpsi*cos(eps0) + ERFA_DAS2R*(0.00264*sin(om) + 0.000063*sin(om+om));
76              
77 0           return ee;
78              
79             }
80             /*----------------------------------------------------------------------
81             **
82             **
83             ** Copyright (C) 2013-2019, NumFOCUS Foundation.
84             ** All rights reserved.
85             **
86             ** This library is derived, with permission, from the International
87             ** Astronomical Union's "Standards of Fundamental Astronomy" library,
88             ** available from http://www.iausofa.org.
89             **
90             ** The ERFA version is intended to retain identical functionality to
91             ** the SOFA library, but made distinct through different function and
92             ** file names, as set out in the SOFA license conditions. The SOFA
93             ** original has a role as a reference standard for the IAU and IERS,
94             ** and consequently redistribution is permitted only in its unaltered
95             ** state. The ERFA version is not subject to this restriction and
96             ** therefore can be included in distributions which do not support the
97             ** concept of "read only" software.
98             **
99             ** Although the intent is to replicate the SOFA API (other than
100             ** replacement of prefix names) and results (with the exception of
101             ** bugs; any that are discovered will be fixed), SOFA is not
102             ** responsible for any errors found in this version of the library.
103             **
104             ** If you wish to acknowledge the SOFA heritage, please acknowledge
105             ** that you are using a library derived from SOFA, rather than SOFA
106             ** itself.
107             **
108             **
109             ** TERMS AND CONDITIONS
110             **
111             ** Redistribution and use in source and binary forms, with or without
112             ** modification, are permitted provided that the following conditions
113             ** are met:
114             **
115             ** 1 Redistributions of source code must retain the above copyright
116             ** notice, this list of conditions and the following disclaimer.
117             **
118             ** 2 Redistributions in binary form must reproduce the above copyright
119             ** notice, this list of conditions and the following disclaimer in
120             ** the documentation and/or other materials provided with the
121             ** distribution.
122             **
123             ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
124             ** the International Astronomical Union nor the names of its
125             ** contributors may be used to endorse or promote products derived
126             ** from this software without specific prior written permission.
127             **
128             ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
129             ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
130             ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
131             ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
132             ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
133             ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
134             ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
135             ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
136             ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
137             ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
138             ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
139             ** POSSIBILITY OF SUCH DAMAGE.
140             **
141             */