265static void nut_iau1980(
double t,
const double* f,
double* dpsi,
double* deps) {
266 static const double nut[106][10] = {{0, 0, 0, 0, 1, -6798.4, -171996, -174.2, 92025, 8.9},
267 {0, 0, 2, -2, 2, 182.6, -13187, -1.6, 5736, -3.1},
268 {0, 0, 2, 0, 2, 13.7, -2274, -0.2, 977, -0.5},
269 {0, 0, 0, 0, 2, -3399.2, 2062, 0.2, -895, 0.5},
270 {0, -1, 0, 0, 0, -365.3, -1426, 3.4, 54, -0.1},
271 {1, 0, 0, 0, 0, 27.6, 712, 0.1, -7, 0.0},
272 {0, 1, 2, -2, 2, 121.7, -517, 1.2, 224, -0.6},
273 {0, 0, 2, 0, 1, 13.6, -386, -0.4, 200, 0.0},
274 {1, 0, 2, 0, 2, 9.1, -301, 0.0, 129, -0.1},
275 {0, -1, 2, -2, 2, 365.2, 217, -0.5, -95, 0.3},
276 {-1, 0, 0, 2, 0, 31.8, 158, 0.0, -1, 0.0},
277 {0, 0, 2, -2, 1, 177.8, 129, 0.1, -70, 0.0},
278 {-1, 0, 2, 0, 2, 27.1, 123, 0.0, -53, 0.0},
279 {1, 0, 0, 0, 1, 27.7, 63, 0.1, -33, 0.0},
280 {0, 0, 0, 2, 0, 14.8, 63, 0.0, -2, 0.0},
281 {-1, 0, 2, 2, 2, 9.6, -59, 0.0, 26, 0.0},
282 {-1, 0, 0, 0, 1, -27.4, -58, -0.1, 32, 0.0},
283 {1, 0, 2, 0, 1, 9.1, -51, 0.0, 27, 0.0},
284 {-2, 0, 0, 2, 0, -205.9, -48, 0.0, 1, 0.0},
285 {-2, 0, 2, 0, 1, 1305.5, 46, 0.0, -24, 0.0},
286 {0, 0, 2, 2, 2, 7.1, -38, 0.0, 16, 0.0},
287 {2, 0, 2, 0, 2, 6.9, -31, 0.0, 13, 0.0},
288 {2, 0, 0, 0, 0, 13.8, 29, 0.0, -1, 0.0},
289 {1, 0, 2, -2, 2, 23.9, 29, 0.0, -12, 0.0},
290 {0, 0, 2, 0, 0, 13.6, 26, 0.0, -1, 0.0},
291 {0, 0, 2, -2, 0, 173.3, -22, 0.0, 0, 0.0},
292 {-1, 0, 2, 0, 1, 27.0, 21, 0.0, -10, 0.0},
293 {0, 2, 0, 0, 0, 182.6, 17, -0.1, 0, 0.0},
294 {0, 2, 2, -2, 2, 91.3, -16, 0.1, 7, 0.0},
295 {-1, 0, 0, 2, 1, 32.0, 16, 0.0, -8, 0.0},
296 {0, 1, 0, 0, 1, 386.0, -15, 0.0, 9, 0.0},
297 {1, 0, 0, -2, 1, -31.7, -13, 0.0, 7, 0.0},
298 {0, -1, 0, 0, 1, -346.6, -12, 0.0, 6, 0.0},
299 {2, 0, -2, 0, 0, -1095.2, 11, 0.0, 0, 0.0},
300 {-1, 0, 2, 2, 1, 9.5, -10, 0.0, 5, 0.0},
301 {1, 0, 2, 2, 2, 5.6, -8, 0.0, 3, 0.0},
302 {0, -1, 2, 0, 2, 14.2, -7, 0.0, 3, 0.0},
303 {0, 0, 2, 2, 1, 7.1, -7, 0.0, 3, 0.0},
304 {1, 1, 0, -2, 0, -34.8, -7, 0.0, 0, 0.0},
305 {0, 1, 2, 0, 2, 13.2, 7, 0.0, -3, 0.0},
306 {-2, 0, 0, 2, 1, -199.8, -6, 0.0, 3, 0.0},
307 {0, 0, 0, 2, 1, 14.8, -6, 0.0, 3, 0.0},
308 {2, 0, 2, -2, 2, 12.8, 6, 0.0, -3, 0.0},
309 {1, 0, 0, 2, 0, 9.6, 6, 0.0, 0, 0.0},
310 {1, 0, 2, -2, 1, 23.9, 6, 0.0, -3, 0.0},
311 {0, 0, 0, -2, 1, -14.7, -5, 0.0, 3, 0.0},
312 {0, -1, 2, -2, 1, 346.6, -5, 0.0, 3, 0.0},
313 {2, 0, 2, 0, 1, 6.9, -5, 0.0, 3, 0.0},
314 {1, -1, 0, 0, 0, 29.8, 5, 0.0, 0, 0.0},
315 {1, 0, 0, -1, 0, 411.8, -4, 0.0, 0, 0.0},
316 {0, 0, 0, 1, 0, 29.5, -4, 0.0, 0, 0.0},
317 {0, 1, 0, -2, 0, -15.4, -4, 0.0, 0, 0.0},
318 {1, 0, -2, 0, 0, -26.9, 4, 0.0, 0, 0.0},
319 {2, 0, 0, -2, 1, 212.3, 4, 0.0, -2, 0.0},
320 {0, 1, 2, -2, 1, 119.6, 4, 0.0, -2, 0.0},
321 {1, 1, 0, 0, 0, 25.6, -3, 0.0, 0, 0.0},
322 {1, -1, 0, -1, 0, -3232.9, -3, 0.0, 0, 0.0},
323 {-1, -1, 2, 2, 2, 9.8, -3, 0.0, 1, 0.0},
324 {0, -1, 2, 2, 2, 7.2, -3, 0.0, 1, 0.0},
325 {1, -1, 2, 0, 2, 9.4, -3, 0.0, 1, 0.0},
326 {3, 0, 2, 0, 2, 5.5, -3, 0.0, 1, 0.0},
327 {-2, 0, 2, 0, 2, 1615.7, -3, 0.0, 1, 0.0},
328 {1, 0, 2, 0, 0, 9.1, 3, 0.0, 0, 0.0},
329 {-1, 0, 2, 4, 2, 5.8, -2, 0.0, 1, 0.0},
330 {1, 0, 0, 0, 2, 27.8, -2, 0.0, 1, 0.0},
331 {-1, 0, 2, -2, 1, -32.6, -2, 0.0, 1, 0.0},
332 {0, -2, 2, -2, 1, 6786.3, -2, 0.0, 1, 0.0},
333 {-2, 0, 0, 0, 1, -13.7, -2, 0.0, 1, 0.0},
334 {2, 0, 0, 0, 1, 13.8, 2, 0.0, -1, 0.0},
335 {3, 0, 0, 0, 0, 9.2, 2, 0.0, 0, 0.0},
336 {1, 1, 2, 0, 2, 8.9, 2, 0.0, -1, 0.0},
337 {0, 0, 2, 1, 2, 9.3, 2, 0.0, -1, 0.0},
338 {1, 0, 0, 2, 1, 9.6, -1, 0.0, 0, 0.0},
339 {1, 0, 2, 2, 1, 5.6, -1, 0.0, 1, 0.0},
340 {1, 1, 0, -2, 1, -34.7, -1, 0.0, 0, 0.0},
341 {0, 1, 0, 2, 0, 14.2, -1, 0.0, 0, 0.0},
342 {0, 1, 2, -2, 0, 117.5, -1, 0.0, 0, 0.0},
343 {0, 1, -2, 2, 0, -329.8, -1, 0.0, 0, 0.0},
344 {1, 0, -2, 2, 0, 23.8, -1, 0.0, 0, 0.0},
345 {1, 0, -2, -2, 0, -9.5, -1, 0.0, 0, 0.0},
346 {1, 0, 2, -2, 0, 32.8, -1, 0.0, 0, 0.0},
347 {1, 0, 0, -4, 0, -10.1, -1, 0.0, 0, 0.0},
348 {2, 0, 0, -4, 0, -15.9, -1, 0.0, 0, 0.0},
349 {0, 0, 2, 4, 2, 4.8, -1, 0.0, 0, 0.0},
350 {0, 0, 2, -1, 2, 25.4, -1, 0.0, 0, 0.0},
351 {-2, 0, 2, 4, 2, 7.3, -1, 0.0, 1, 0.0},
352 {2, 0, 2, 2, 2, 4.7, -1, 0.0, 0, 0.0},
353 {0, -1, 2, 0, 1, 14.2, -1, 0.0, 0, 0.0},
354 {0, 0, -2, 0, 1, -13.6, -1, 0.0, 0, 0.0},
355 {0, 0, 4, -2, 2, 12.7, 1, 0.0, 0, 0.0},
356 {0, 1, 0, 0, 2, 409.2, 1, 0.0, 0, 0.0},
357 {1, 1, 2, -2, 2, 22.5, 1, 0.0, -1, 0.0},
358 {3, 0, 2, -2, 2, 8.7, 1, 0.0, 0, 0.0},
359 {-2, 0, 2, 2, 2, 14.6, 1, 0.0, -1, 0.0},
360 {-1, 0, 0, 0, 2, -27.3, 1, 0.0, -1, 0.0},
361 {0, 0, -2, 2, 1, -169.0, 1, 0.0, 0, 0.0},
362 {0, 1, 2, 0, 1, 13.1, 1, 0.0, 0, 0.0},
363 {-1, 0, 4, 0, 2, 9.1, 1, 0.0, 0, 0.0},
364 {2, 1, 0, -2, 0, 131.7, 1, 0.0, 0, 0.0},
365 {2, 0, 0, 2, 0, 7.1, 1, 0.0, 0, 0.0},
366 {2, 0, 2, -2, 1, 12.8, 1, 0.0, -1, 0.0},
367 {2, 0, -2, 0, 1, -943.2, 1, 0.0, 0, 0.0},
368 {1, -1, 0, -2, 0, -29.3, 1, 0.0, 0, 0.0},
369 {-1, 0, 0, 1, 1, -388.3, 1, 0.0, 0, 0.0},
370 {-1, -1, 0, 2, 1, 35.0, 1, 0.0, 0, 0.0},
371 {0, 1, 0, 1, 0, 27.3, 1, 0.0, 0, 0.0}};
377 for (i = 0; i < 106; i++) {
379 for (j = 0; j < 5; j++) {
380 ang += nut[i][j] * f[j];
382 *dpsi += (nut[i][6] + nut[i][7] * t) * sin(ang);
383 *deps += (nut[i][8] + nut[i][9] * t) * cos(ang);
385 *dpsi *= 1E-4 *
AS2R;
386 *deps *= 1E-4 *
AS2R;