IERS1996NutationData.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
40 
42 static const struct
43 {
44  int nl, nlp, nf, nd, nom;
45  // units 0.1mas and 0.1mas/JulianCentury
46  double sp, spt;
47  double ce, cet;
48 } coeff[] = {
49 
50  // index+1 = 1-10
51  {0, 0, 0, 0, 1, -171996.0, -174.2, 92025.0, 8.9},
52  {0, 0, 0, 0, 2, 2062.0, 0.2, -895.0, 0.5},
53  {-2, 0, 2, 0, 1, 46.0, 0.0, -24.0, 0.0},
54  {2, 0, -2, 0, 0, 11.0, 0.0, 0.0, 0.0},
55  {-2, 0, 2, 0, 2, -3.0, 0.0, 1.0, 0.0},
56  {1, -1, 0, -1, 0, -3.0, 0.0, 0.0, 0.0},
57  {0, -2, 2, -2, 1, -2.0, 0.0, 1.0, 0.0},
58  {2, 0, -2, 0, 1, 1.0, 0.0, 0.0, 0.0},
59  {0, 0, 2, -2, 2, -13187.0, -1.6, 5736.0, -3.1},
60  {0, 1, 0, 0, 0, 1426.0, -3.4, 54.0, -0.1},
61  // index+1 = 11-20
62  {0, 1, 2, -2, 2, -517.0, 1.2, 224.0, -0.6},
63  {0, -1, 2, -2, 2, 217.0, -0.5, -95.0, 0.3},
64  {0, 0, 2, -2, 1, 129.0, 0.1, -70.0, 0.0},
65  {2, 0, 0, -2, 0, 48.0, 0.0, 1.0, 0.0},
66  {0, 0, 2, -2, 0, -22.0, 0.0, 0.0, 0.0},
67  {0, 2, 0, 0, 0, 17.0, -0.1, 0.0, 0.0},
68  {0, 1, 0, 0, 1, -15.0, 0.0, 9.0, 0.0},
69  {0, 2, 2, -2, 2, -16.0, 0.1, 7.0, 0.0},
70  {0, -1, 0, 0, 1, -12.0, 0.0, 6.0, 0.0},
71  {-2, 0, 0, 2, 1, -6.0, 0.0, 3.0, 0.0},
72  // index+1 = 21-30
73  {0, -1, 2, -2, 1, -5.0, 0.0, 3.0, 0.0},
74  {2, 0, 0, -2, 1, 4.0, 0.0, -2.0, 0.0},
75  {0, 1, 2, -2, 1, 4.0, 0.0, -2.0, 0.0},
76  {1, 0, 0, -1, 0, -4.0, 0.0, 0.0, 0.0},
77  {2, 1, 0, -2, 0, 1.0, 0.0, 0.0, 0.0},
78  {0, 0, -2, 2, 1, 1.0, 0.0, 0.0, 0.0},
79  {0, 1, -2, 2, 0, -1.0, 0.0, 0.0, 0.0},
80  {0, 1, 0, 0, 2, 1.0, 0.0, 0.0, 0.0},
81  {-1, 0, 0, 1, 1, 1.0, 0.0, 0.0, 0.0},
82  {0, 1, 2, -2, 0, -1.0, 0.0, 0.0, 0.0},
83  // index+1 = 31-40
84  {0, 0, 2, 0, 2, -2274.0, -0.2, 977.0, -0.5},
85  {1, 0, 0, 0, 0, 712.0, 0.1, -7.0, 0.0},
86  {0, 0, 2, 0, 1, -386.0, -0.4, 200.0, 0.0},
87  {1, 0, 2, 0, 2, -301.0, 0.0, 129.0, -0.1},
88  {1, 0, 0, -2, 0, -158.0, 0.0, -1.0, 0.0},
89  {-1, 0, 2, 0, 2, 123.0, 0.0, -53.0, 0.0},
90  {0, 0, 0, 2, 0, 63.0, 0.0, -2.0, 0.0},
91  {1, 0, 0, 0, 1, 63.0, 0.1, -33.0, 0.0},
92  {-1, 0, 0, 0, 1, -58.0, -0.1, 32.0, 0.0},
93  {-1, 0, 2, 2, 2, -59.0, 0.0, 26.0, 0.0},
94  // index+1 = 41-50
95  {1, 0, 2, 0, 1, -51.0, 0.0, 27.0, 0.0},
96  {0, 0, 2, 2, 2, -38.0, 0.0, 16.0, 0.0},
97  {2, 0, 0, 0, 0, 29.0, 0.0, -1.0, 0.0},
98  {1, 0, 2, -2, 2, 29.0, 0.0, -12.0, 0.0},
99  {2, 0, 2, 0, 2, -31.0, 0.0, 13.0, 0.0},
100  {0, 0, 2, 0, 0, 26.0, 0.0, -1.0, 0.0},
101  {-1, 0, 2, 0, 1, 21.0, 0.0, -10.0, 0.0},
102  {-1, 0, 0, 2, 1, 16.0, 0.0, -8.0, 0.0},
103  {1, 0, 0, -2, 1, -13.0, 0.0, 7.0, 0.0},
104  {-1, 0, 2, 2, 1, -10.0, 0.0, 5.0, 0.0},
105  // index+1 = 51-60
106  {1, 1, 0, -2, 0, -7.0, 0.0, 0.0, 0.0},
107  {0, 1, 2, 0, 2, 7.0, 0.0, -3.0, 0.0},
108  {0, -1, 2, 0, 2, -7.0, 0.0, 3.0, 0.0},
109  {1, 0, 2, 2, 2, -8.0, 0.0, 3.0, 0.0},
110  {1, 0, 0, 2, 0, 6.0, 0.0, 0.0, 0.0},
111  {2, 0, 2, -2, 2, 6.0, 0.0, -3.0, 0.0},
112  {0, 0, 0, 2, 1, -6.0, 0.0, 3.0, 0.0},
113  {0, 0, 2, 2, 1, -7.0, 0.0, 3.0, 0.0},
114  {1, 0, 2, -2, 1, 6.0, 0.0, -3.0, 0.0},
115  {0, 0, 0, -2, 1, -5.0, 0.0, 3.0, 0.0},
116  // index+1 = 61-70
117  {1, -1, 0, 0, 0, 5.0, 0.0, 0.0, 0.0},
118  {2, 0, 2, 0, 1, -5.0, 0.0, 3.0, 0.0},
119  {0, 1, 0, -2, 0, -4.0, 0.0, 0.0, 0.0},
120  {1, 0, -2, 0, 0, 4.0, 0.0, 0.0, 0.0},
121  {0, 0, 0, 1, 0, -4.0, 0.0, 0.0, 0.0},
122  {1, 1, 0, 0, 0, -3.0, 0.0, 0.0, 0.0},
123  {1, 0, 2, 0, 0, 3.0, 0.0, 0.0, 0.0},
124  {1, -1, 2, 0, 2, -3.0, 0.0, 1.0, 0.0},
125  {-1, -1, 2, 2, 2, -3.0, 0.0, 1.0, 0.0},
126  {-2, 0, 0, 0, 1, -2.0, 0.0, 1.0, 0.0},
127  // index+1 = 71-80
128  {3, 0, 2, 0, 2, -3.0, 0.0, 1.0, 0.0},
129  {0, -1, 2, 2, 2, -3.0, 0.0, 1.0, 0.0},
130  {1, 1, 2, 0, 2, 2.0, 0.0, -1.0, 0.0},
131  {-1, 0, 2, -2, 1, -2.0, 0.0, 1.0, 0.0},
132  {2, 0, 0, 0, 1, 2.0, 0.0, -1.0, 0.0},
133  {1, 0, 0, 0, 2, -2.0, 0.0, 1.0, 0.0},
134  {3, 0, 0, 0, 0, 2.0, 0.0, 0.0, 0.0},
135  {0, 0, 2, 1, 2, 2.0, 0.0, -1.0, 0.0},
136  {-1, 0, 0, 0, 2, 1.0, 0.0, -1.0, 0.0},
137  {1, 0, 0, -4, 0, -1.0, 0.0, 0.0, 0.0},
138  // index+1 = 81-90
139  {-2, 0, 2, 2, 2, 1.0, 0.0, -1.0, 0.0},
140  {-1, 0, 2, 4, 2, -2.0, 0.0, 1.0, 0.0},
141  {2, 0, 0, -4, 0, -1.0, 0.0, 0.0, 0.0},
142  {1, 1, 2, -2, 2, 1.0, 0.0, -1.0, 0.0},
143  {1, 0, 2, 2, 1, -1.0, 0.0, 1.0, 0.0},
144  {-2, 0, 2, 4, 2, -1.0, 0.0, 1.0, 0.0},
145  {-1, 0, 4, 0, 2, 1.0, 0.0, 0.0, 0.0},
146  {1, -1, 0, -2, 0, 1.0, 0.0, 0.0, 0.0},
147  {2, 0, 2, -2, 1, 1.0, 0.0, -1.0, 0.0},
148  {2, 0, 2, 2, 2, -1.0, 0.0, 0.0, 0.0},
149  // index+1 = 91-100
150  {1, 0, 0, 2, 1, -1.0, 0.0, 0.0, 0.0},
151  {0, 0, 4, -2, 2, 1.0, 0.0, 0.0, 0.0},
152  {3, 0, 2, -2, 2, 1.0, 0.0, 0.0, 0.0},
153  {1, 0, 2, -2, 0, -1.0, 0.0, 0.0, 0.0},
154  {0, 1, 2, 0, 1, 1.0, 0.0, 0.0, 0.0},
155  {-1, -1, 0, 2, 1, 1.0, 0.0, 0.0, 0.0},
156  {0, 0, -2, 0, 1, -1.0, 0.0, 0.0, 0.0},
157  {0, 0, 2, -1, 2, -1.0, 0.0, 0.0, 0.0},
158  {0, 1, 0, 2, 0, -1.0, 0.0, 0.0, 0.0},
159  {1, 0, -2, -2, 0, -1.0, 0.0, 0.0, 0.0},
160  // index+1 = 101-106
161  {0, -1, 2, 0, 1, -1.0, 0.0, 0.0, 0.0},
162  {1, 1, 0, -2, 1, -1.0, 0.0, 0.0, 0.0},
163  {1, 0, -2, 2, 0, -1.0, 0.0, 0.0, 0.0},
164  {2, 0, 0, 2, 0, 1.0, 0.0, 0.0, 0.0},
165  {0, 0, 2, 4, 2, -1.0, 0.0, 0.0, 0.0},
166  {0, 1, 0, 1, 0, 1.0, 0.0, 0.0, 0.0}};
167 
169 const int Ncoeff = (int)(sizeof coeff / sizeof coeff[0]);
Ncoeff
const int Ncoeff
Number of terms in the series.
Definition: IERS1996NutationData.hpp:169
nf
int nf
Definition: IERS1996NutationData.hpp:44
coeff
static const struct @1 coeff[]
Constants used in the nutation models, adapted from SOFA nut80.c.
nlp
int nlp
Definition: IERS1996NutationData.hpp:44
nd
int nd
Definition: IERS1996NutationData.hpp:44
spt
double spt
longitude sine and rate coefficients
Definition: IERS1996NutationData.hpp:46
nl
int nl
Definition: IERS1996NutationData.hpp:44
ce
double ce
Definition: IERS1996NutationData.hpp:47
nom
int nom
coefficients of l,l',F,D,Om
Definition: IERS1996NutationData.hpp:44
cet
double cet
obliquity cosine and rate coefficients
Definition: IERS1996NutationData.hpp:47
sp
double sp
Definition: IERS1996NutationData.hpp:46


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39