Algorithm For Computing the Nutation in Obliquity (Delta Epsilon) of the Ecliptic

ALGORITHM GUIDE FOR CREATING AN INDEPENDENT FUNCTION TO COMPUTE THE
NUTATION IN OBLIQUITY OF THE ECLIPTIC ACCORDING TO IAU SERIES 2000B

THERE ARE 77 TERMS IN THE SERIES

AUTHOR: Jay Tanner - 2011



A typical call to such a function might resemble:

dEpsDeg = Delta_Eps (JD)

The function would return the value of the nutation in obliquity
in decimal degrees for the time indicated by the JD argument.


******************************************************************************
DATA TABLE FOR NUTATION IN OBLIQUITY - IAU SERIES 2000B (77 TERMS)

The i column is NOT part of the actual data.  It is simply the reference index
number of the series term to which the subsequent 8 data elements apply.

   ARGUMENT MULTIPLIERS        OBLIQUITY COMPONENTS
    L   Lp  F   D   Om          ARC SEC * 10000000
i   m1  m2  m3  m4  m5         DD        EE      FF
1    0   0   0   0   1      92052331    9086   15377
2    0   0   2  -2   2       5730336   -3015   -4587
3    0   0   2   0   2        978459    -485    1374
4    0   0   0   0   2       -897492     470    -291
5    0   1   0   0   0         73871    -184   -1924
6    0   1   2  -2   2        224386    -677    -174
7    1   0   0   0   0         -6750       0     358
8    0   0   2   0   1        200728      18     318
9    1   0   2   0   2        129025     -63     367
10   0  -1   2  -2   2        -95929     299     132
11   0   0   2  -2   1        -68982      -9      39
12  -1   0   2   0   2        -53311      32      -4
13  -1   0   0   2   0         -1235       0      82
14   1   0   0   0   1        -33228       0      -9
15  -1   0   0   0   1         31429       0     -75
16  -1   0   2   2   2         25543     -11      66
17   1   0   2   0   1         26366       0      78
18  -2   0   2   0   1        -24236     -10      20
19   0   0   0   2   0         -1220       0      29
20   0   0   2   2   2         16452     -11      68
21   0  -2   2  -2   2        -13870       0       0
22  -2   0   0   2   0           477       0     -25
23   2   0   2   0   2         13238     -11      59
24   1   0   2  -2   2        -12338      10      -3
25  -1   0   2   0   1        -10758       0      -3
26   2   0   0   0   0          -609       0      13
27   0   0   2   0   0          -550       0      11
28   0   1   0   0   1          8551      -2     -45
29  -1   0   0   2   1         -8001       0      -1
30   0   2   2  -2   2          6850     -42      -5
31   0   0  -2   2   0          -167       0      13
32   1   0   0  -2   1          6953       0     -14
33   0  -1   0   0   1          6415       0      26
34  -1   0   2   2   1          5222       0      15
35   0   2   0   0   0           168      -1      10
36   1   0   2   2   2          3268       0      19
37  -2   0   2   0   0           104       0       2
38   0   1   2   0   2         -3250       0      -5
39   0   0   2   2   1          3353       0      14
40   0  -1   2   0   2          3070       0       4
41   0   0   0   2   1          3272       0       4
42   1   0   2  -2   1         -3045       0      -1
43   2   0   2  -2   2         -2768       0      -4
44  -2   0   0   2   1          3041       0      -5
45   2   0   2   0   1          2695       0      12
46   0  -1   2  -2   1          2719       0      -3
47   0   0   0  -2   1          2720       0      -9
48  -1  -1   0   2   0           -51       0       4
49   2   0   0  -2   1         -2206       0       1
50   1   0   0   2   0          -199       0       2
51   0   1   2  -2   1         -1900       0       1
52   1  -1   0   0   0           -41       0       3
53  -2   0   2   0   2          1313       0      -1
54   3   0   2   0   2          1233       0       7
55   0  -1   0   2   0           -81       0       2
56   1  -1   2   0   2          1232       0       4
57   0   0   0   1   0           -20       0      -2
58  -1  -1   2   2   2          1207       0       3
59  -1   0   2   0   0            40       0      -2
60   0  -1   2   2   2          1129       0       5
61  -2   0   0   0   1          1266       0      -4
62   1   1   2   0   2         -1062       0      -3
63   2   0   0   0   1         -1129       0      -2
64  -1   1   0   1   0            -9       0       0
65   1   1   0   0   0            35       0      -2
66   1   0   2   0   0          -107       0       1
67  -1   0   2  -2   1          1073       0      -2
68   1   0   0   0   2           854       0       0
69  -1   0   0   1   0          -553       0    -139
70   0   0   2   1   2          -710       0      -2
71  -1   0   2   4   2           647       0       4
72  -1   1   0   1   1          -700       0       0
73   0  -2   2  -2   1           672       0       0
74   1   0   2   2   1           663       0       4
75  -2   0   2   2   2          -594       0      -2
76  -1   0   0   0   2          -610       0       2
77   1   1   2  -2   2          -556       0       0
*****************************************************


===========================================================================
===========================================================================
GIVEN THE JULIAN DAY (JD) ARGUMENT COORESPONDING TO THE DATE AND TIME:


--------------------------------------------
Define factor to convert degrees to radians.

DegToRad = 3.141592653589793 / 180.0

------------------------------------------------------
Compute time in Julian centuries reckoned from J2000.0
and corresponding to the JD argument.

T = (JD - 2451545.0) / 36525.0

-------------------
Compute powers of T

T2 = T * T
T3 = T * T2
T4 = T * T3

--------------------------------------------------------
COMPUTE FUNDAMENTAL DELAUNAY ARGUMENTS (L, Lp, F, D, Om)

-----------------------------------
Mean anomaly of the Moon in radians

L  = DegToRad*((485868.249036 + 1717915923.2178*T + 31.8792*T2
   + 0.051635*T3 - 0.00024470*T4) / 3600.0)


----------------------------------
Mean anomaly of the Sun in radians

Lp = DegToRad*((1287104.79305 + 129596581.0481*T
   - 0.5532*T2  + 0.000136*T3 - 0.00001149*T4) / 3600.0)


----------------------------------------------------
Mean argument of the latitude of the Moon in radians

F  = DegToRad*((335779.526232 + 1739527262.8478*T
   - 12.7512*T2 - 0.001037*T3 + 0.00000417*T4) / 3600.0)


---------------------------------------------------
Mean elongation of the Moon from the Sun in radians

D  = DegToRad*((1072260.70369 + 1602961601.2090*T
   - 6.3706*T2  + 0.006593*T3 - 0.00003169*T4) / 3600.0)


-----------------------------------------------------------
Mean longitude of the ascending node of the Moon in radians

Om = DegToRad*((450160.398036 - 6962890.5431*T
   + 7.4722*T2  + 0.007702*T3 - 0.00005939*T4) / 3600.0)

-------------------------------------------------------------------
EVALUATE THE SERIES FOR NUTATION IN LONGITUDE IN ARC SEC * 10000000

--------------------------------------------------------
Using the table data, the terms take the following form:

dEpsTerm = (DD + EE*T)*cos(arg) + FF*sin(arg)

Where:
arg = (m1*L + m2*Lp + m3*F + m4*D + m5*Om)

The angles are assumed to be in radians.

-----------------------------------------------------------------
Using the data table above, the following raw terms can be built.
Notice there are numerous elements that equate to zero.  Those
elements may subsequently be removed and the remaining terms
algebraically simplified.

Each data line represents the elements of a term in the nutation series.

Compare the data table values to the numbers used in raw series below.

The variable s is used to hold the accumulating sum (s) of the terms
as they are sequentially evaluated.  This value is converted into
decimal degrees at the end of the summation.

s = 0
s = s + (92052331 + 9086*T)*cos(0*L + 0*Lp + 0*F + 0*D + 1*Om) + 15377*sin(0*L + 0*Lp + 0*F + 0*D + 1*Om)
s = s + (5730336 - 3015*T)*cos(0*L + 0*Lp + 2*F - 2*D + 2*Om) - 4587*sin(0*L + 0*Lp + 2*F - 2*D + 2*Om)
s = s + (978459 - 485*T)*cos(0*L + 0*Lp + 2*F + 0*D + 2*Om) + 1374*sin(0*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (-897492 + 470*T)*cos(0*L + 0*Lp + 0*F + 0*D + 2*Om) - 291*sin(0*L + 0*Lp + 0*F + 0*D + 2*Om)
s = s + (73871 - 184*T)*cos(0*L + 1*Lp + 0*F + 0*D + 0*Om) - 1924*sin(0*L + 1*Lp + 0*F + 0*D + 0*Om)
s = s + (224386 - 677*T)*cos(0*L + 1*Lp + 2*F - 2*D + 2*Om) - 174*sin(0*L + 1*Lp + 2*F - 2*D + 2*Om)
s = s + (-6750 + 0*T)*cos(1*L + 0*Lp + 0*F + 0*D + 0*Om) + 358*sin(1*L + 0*Lp + 0*F + 0*D + 0*Om)
s = s + (200728 + 18*T)*cos(0*L + 0*Lp + 2*F + 0*D + 1*Om) + 318*sin(0*L + 0*Lp + 2*F + 0*D + 1*Om)
s = s + (129025 - 63*T)*cos(1*L + 0*Lp + 2*F + 0*D + 2*Om) + 367*sin(1*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (-95929 + 299*T)*cos(0*L - 1*Lp + 2*F - 2*D + 2*Om) + 132*sin(0*L - 1*Lp + 2*F - 2*D + 2*Om)
s = s + (-68982 - 9*T)*cos(0*L + 0*Lp + 2*F - 2*D + 1*Om) + 39*sin(0*L + 0*Lp + 2*F - 2*D + 1*Om)
s = s + (-53311 + 32*T)*cos(-1*L + 0*Lp + 2*F + 0*D + 2*Om) - 4*sin(-1*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (-1235 + 0*T)*cos(-1*L + 0*Lp + 0*F + 2*D + 0*Om) + 82*sin(-1*L + 0*Lp + 0*F + 2*D + 0*Om)
s = s + (-33228 + 0*T)*cos(1*L + 0*Lp + 0*F + 0*D + 1*Om) - 9*sin(1*L + 0*Lp + 0*F + 0*D + 1*Om)
s = s + (31429 + 0*T)*cos(-1*L + 0*Lp + 0*F + 0*D + 1*Om) - 75*sin(-1*L + 0*Lp + 0*F + 0*D + 1*Om)
s = s + (25543 - 11*T)*cos(-1*L + 0*Lp + 2*F + 2*D + 2*Om) + 66*sin(-1*L + 0*Lp + 2*F + 2*D + 2*Om)
s = s + (26366 + 0*T)*cos(1*L + 0*Lp + 2*F + 0*D + 1*Om) + 78*sin(1*L + 0*Lp + 2*F + 0*D + 1*Om)
s = s + (-24236 - 10*T)*cos(-2*L + 0*Lp + 2*F + 0*D + 1*Om) + 20*sin(-2*L + 0*Lp + 2*F + 0*D + 1*Om)
s = s + (-1220 + 0*T)*cos(0*L + 0*Lp + 0*F + 2*D + 0*Om) + 29*sin(0*L + 0*Lp + 0*F + 2*D + 0*Om)
s = s + (16452 - 11*T)*cos(0*L + 0*Lp + 2*F + 2*D + 2*Om) + 68*sin(0*L + 0*Lp + 2*F + 2*D + 2*Om)
s = s + (-13870 + 0*T)*cos(0*L - 2*Lp + 2*F - 2*D + 2*Om) + 0*sin(0*L - 2*Lp + 2*F - 2*D + 2*Om)
s = s + (477 + 0*T)*cos(-2*L + 0*Lp + 0*F + 2*D + 0*Om) - 25*sin(-2*L + 0*Lp + 0*F + 2*D + 0*Om)
s = s + (13238 - 11*T)*cos(2*L + 0*Lp + 2*F + 0*D + 2*Om) + 59*sin(2*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (-12338 + 10*T)*cos(1*L + 0*Lp + 2*F - 2*D + 2*Om) - 3*sin(1*L + 0*Lp + 2*F - 2*D + 2*Om)
s = s + (-10758 + 0*T)*cos(-1*L + 0*Lp + 2*F + 0*D + 1*Om) - 3*sin(-1*L + 0*Lp + 2*F + 0*D + 1*Om)
s = s + (-609 + 0*T)*cos(2*L + 0*Lp + 0*F + 0*D + 0*Om) + 13*sin(2*L + 0*Lp + 0*F + 0*D + 0*Om)
s = s + (-550 + 0*T)*cos(0*L + 0*Lp + 2*F + 0*D + 0*Om) + 11*sin(0*L + 0*Lp + 2*F + 0*D + 0*Om)
s = s + (8551 - 2*T)*cos(0*L + 1*Lp + 0*F + 0*D + 1*Om) - 45*sin(0*L + 1*Lp + 0*F + 0*D + 1*Om)
s = s + (-8001 + 0*T)*cos(-1*L + 0*Lp + 0*F + 2*D + 1*Om) - 1*sin(-1*L + 0*Lp + 0*F + 2*D + 1*Om)
s = s + (6850 - 42*T)*cos(0*L + 2*Lp + 2*F - 2*D + 2*Om) - 5*sin(0*L + 2*Lp + 2*F - 2*D + 2*Om)
s = s + (-167 + 0*T)*cos(0*L + 0*Lp - 2*F + 2*D + 0*Om) + 13*sin(0*L + 0*Lp - 2*F + 2*D + 0*Om)
s = s + (6953 + 0*T)*cos(1*L + 0*Lp + 0*F - 2*D + 1*Om) - 14*sin(1*L + 0*Lp + 0*F - 2*D + 1*Om)
s = s + (6415 + 0*T)*cos(0*L - 1*Lp + 0*F + 0*D + 1*Om) + 26*sin(0*L - 1*Lp + 0*F + 0*D + 1*Om)
s = s + (5222 + 0*T)*cos(-1*L + 0*Lp + 2*F + 2*D + 1*Om) + 15*sin(-1*L + 0*Lp + 2*F + 2*D + 1*Om)
s = s + (168 - 1*T)*cos(0*L + 2*Lp + 0*F + 0*D + 0*Om) + 10*sin(0*L + 2*Lp + 0*F + 0*D + 0*Om)
s = s + (3268 + 0*T)*cos(1*L + 0*Lp + 2*F + 2*D + 2*Om) + 19*sin(1*L + 0*Lp + 2*F + 2*D + 2*Om)
s = s + (104 + 0*T)*cos(-2*L + 0*Lp + 2*F + 0*D + 0*Om) + 2*sin(-2*L + 0*Lp + 2*F + 0*D + 0*Om)
s = s + (-3250 + 0*T)*cos(0*L + 1*Lp + 2*F + 0*D + 2*Om) - 5*sin(0*L + 1*Lp + 2*F + 0*D + 2*Om)
s = s + (3353 + 0*T)*cos(0*L + 0*Lp + 2*F + 2*D + 1*Om) + 14*sin(0*L + 0*Lp + 2*F + 2*D + 1*Om)
s = s + (3070 + 0*T)*cos(0*L - 1*Lp + 2*F + 0*D + 2*Om) + 4*sin(0*L - 1*Lp + 2*F + 0*D + 2*Om)
s = s + (3272 + 0*T)*cos(0*L + 0*Lp + 0*F + 2*D + 1*Om) + 4*sin(0*L + 0*Lp + 0*F + 2*D + 1*Om)
s = s + (-3045 + 0*T)*cos(1*L + 0*Lp + 2*F - 2*D + 1*Om) - 1*sin(1*L + 0*Lp + 2*F - 2*D + 1*Om)
s = s + (-2768 + 0*T)*cos(2*L + 0*Lp + 2*F - 2*D + 2*Om) - 4*sin(2*L + 0*Lp + 2*F - 2*D + 2*Om)
s = s + (3041 + 0*T)*cos(-2*L + 0*Lp + 0*F + 2*D + 1*Om) - 5*sin(-2*L + 0*Lp + 0*F + 2*D + 1*Om)
s = s + (2695 + 0*T)*cos(2*L + 0*Lp + 2*F + 0*D + 1*Om) + 12*sin(2*L + 0*Lp + 2*F + 0*D + 1*Om)
s = s + (2719 + 0*T)*cos(0*L - 1*Lp + 2*F - 2*D + 1*Om) - 3*sin(0*L - 1*Lp + 2*F - 2*D + 1*Om)
s = s + (2720 + 0*T)*cos(0*L + 0*Lp + 0*F - 2*D + 1*Om) - 9*sin(0*L + 0*Lp + 0*F - 2*D + 1*Om)
s = s + (-51 + 0*T)*cos(-1*L - 1*Lp + 0*F + 2*D + 0*Om) + 4*sin(-1*L - 1*Lp + 0*F + 2*D + 0*Om)
s = s + (-2206 + 0*T)*cos(2*L + 0*Lp + 0*F - 2*D + 1*Om) + 1*sin(2*L + 0*Lp + 0*F - 2*D + 1*Om)
s = s + (-199 + 0*T)*cos(1*L + 0*Lp + 0*F + 2*D + 0*Om) + 2*sin(1*L + 0*Lp + 0*F + 2*D + 0*Om)
s = s + (-1900 + 0*T)*cos(0*L + 1*Lp + 2*F - 2*D + 1*Om) + 1*sin(0*L + 1*Lp + 2*F - 2*D + 1*Om)
s = s + (-41 + 0*T)*cos(1*L - 1*Lp + 0*F + 0*D + 0*Om) + 3*sin(1*L - 1*Lp + 0*F + 0*D + 0*Om)
s = s + (1313 + 0*T)*cos(-2*L + 0*Lp + 2*F + 0*D + 2*Om) - 1*sin(-2*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (1233 + 0*T)*cos(3*L + 0*Lp + 2*F + 0*D + 2*Om) + 7*sin(3*L + 0*Lp + 2*F + 0*D + 2*Om)
s = s + (-81 + 0*T)*cos(0*L - 1*Lp + 0*F + 2*D + 0*Om) + 2*sin(0*L - 1*Lp + 0*F + 2*D + 0*Om)
s = s + (1232 + 0*T)*cos(1*L - 1*Lp + 2*F + 0*D + 2*Om) + 4*sin(1*L - 1*Lp + 2*F + 0*D + 2*Om)
s = s + (-20 + 0*T)*cos(0*L + 0*Lp + 0*F + 1*D + 0*Om) - 2*sin(0*L + 0*Lp + 0*F + 1*D + 0*Om)
s = s + (1207 + 0*T)*cos(-1*L - 1*Lp + 2*F + 2*D + 2*Om) + 3*sin(-1*L - 1*Lp + 2*F + 2*D + 2*Om)
s = s + (40 + 0*T)*cos(-1*L + 0*Lp + 2*F + 0*D + 0*Om) - 2*sin(-1*L + 0*Lp + 2*F + 0*D + 0*Om)
s = s + (1129 + 0*T)*cos(0*L - 1*Lp + 2*F + 2*D + 2*Om) + 5*sin(0*L - 1*Lp + 2*F + 2*D + 2*Om)
s = s + (1266 + 0*T)*cos(-2*L + 0*Lp + 0*F + 0*D + 1*Om) - 4*sin(-2*L + 0*Lp + 0*F + 0*D + 1*Om)
s = s + (-1062 + 0*T)*cos(1*L + 1*Lp + 2*F + 0*D + 2*Om) - 3*sin(1*L + 1*Lp + 2*F + 0*D + 2*Om)
s = s + (-1129 + 0*T)*cos(2*L + 0*Lp + 0*F + 0*D + 1*Om) - 2*sin(2*L + 0*Lp + 0*F + 0*D + 1*Om)
s = s + (-9 + 0*T)*cos(-1*L + 1*Lp + 0*F + 1*D + 0*Om) + 0*sin(-1*L + 1*Lp + 0*F + 1*D + 0*Om)
s = s + (35 + 0*T)*cos(1*L + 1*Lp + 0*F + 0*D + 0*Om) - 2*sin(1*L + 1*Lp + 0*F + 0*D + 0*Om)
s = s + (-107 + 0*T)*cos(1*L + 0*Lp + 2*F + 0*D + 0*Om) + 1*sin(1*L + 0*Lp + 2*F + 0*D + 0*Om)
s = s + (1073 + 0*T)*cos(-1*L + 0*Lp + 2*F - 2*D + 1*Om) - 2*sin(-1*L + 0*Lp + 2*F - 2*D + 1*Om)
s = s + (854 + 0*T)*cos(1*L + 0*Lp + 0*F + 0*D + 2*Om) + 0*sin(1*L + 0*Lp + 0*F + 0*D + 2*Om)
s = s + (-553 + 0*T)*cos(-1*L + 0*Lp + 0*F + 1*D + 0*Om) - 139*sin(-1*L + 0*Lp + 0*F + 1*D + 0*Om)
s = s + (-710 + 0*T)*cos(0*L + 0*Lp + 2*F + 1*D + 2*Om) - 2*sin(0*L + 0*Lp + 2*F + 1*D + 2*Om)
s = s + (647 + 0*T)*cos(-1*L + 0*Lp + 2*F + 4*D + 2*Om) + 4*sin(-1*L + 0*Lp + 2*F + 4*D + 2*Om)
s = s + (-700 + 0*T)*cos(-1*L + 1*Lp + 0*F + 1*D + 1*Om) + 0*sin(-1*L + 1*Lp + 0*F + 1*D + 1*Om)
s = s + (672 + 0*T)*cos(0*L - 2*Lp + 2*F - 2*D + 1*Om) + 0*sin(0*L - 2*Lp + 2*F - 2*D + 1*Om)
s = s + (663 + 0*T)*cos(1*L + 0*Lp + 2*F + 2*D + 1*Om) + 4*sin(1*L + 0*Lp + 2*F + 2*D + 1*Om)
s = s + (-594 + 0*T)*cos(-2*L + 0*Lp + 2*F + 2*D + 2*Om) - 2*sin(-2*L + 0*Lp + 2*F + 2*D + 2*Om)
s = s + (-610 + 0*T)*cos(-1*L + 0*Lp + 0*F + 0*D + 2*Om) + 2*sin(-1*L + 0*Lp + 0*F + 0*D + 2*Om)
s = s + (-556 + 0*T)*cos(1*L + 1*Lp + 2*F - 2*D + 2*Om) + 0*sin(1*L + 1*Lp + 2*F - 2*D + 2*Om)

-----------------------------------------------------
Convert nutation in obliquity from arc sec * 10000000
into decimal degrees. This is the value returned by
the function.

dEpsDeg = s / 36000000000.0





===========================================================================
Algebraic reduction of the above yields the following simplified terms in a
format suitable for conversion into the BASIC programming language.  Other
languages may also be able to use terms expressed in this format. Keep in
mind that the BASIC language is generally NOT case sensitive.

All variables used in the terms are double-precision floating point.

s = 0
s = s + (92052331 + 9086*T)*cos(Om) + 15377*sin(Om)
s = s + (5730336 - 3015*T)*cos(2*(F - D + Om)) - 4587*sin(2*(F - D + Om))
s = s + (978459 - 485*T)*cos(2*(F + Om)) + 1374*sin(2*(F + Om))
s = s + (-897492 + 470*T)*cos(2*Om) - 291*sin(2*Om)
s = s + (73871 - 184*T)*cos(Lp) - 1924*sin(Lp)
s = s + (224386 - 677*T)*cos(Lp + 2*(F - D + Om)) - 174*sin(Lp + 2*(F - D + Om))
s = s - 6750*cos(L) - 358*sin(L)
s = s + (200728 + 18*T)*cos(2*F + Om) + 318*sin(2*F + Om)
s = s + (129025 - 63*T)*cos(L + 2*(F + Om)) + 367*sin(L + 2*(F + Om))
s = s + (-95929 + 299*T)*cos(2*(F - D + Om) - Lp) + 132*sin(2*(F - D + Om) - Lp)
s = s + (-68982 - 9*T)*cos(2*(F - D) + Om) + 39*sin(2*(F - D) + Om)
s = s + (-53311 + 32*T)*cos(2*(F + Om) - L) - 4*sin(2*(F + Om) - L)
s = s - 1235*cos(2*D - L) - 82*sin(2*D - L)
s = s - 33228*cos(L + Om) + 9*sin(L + Om)
s = s + 31429*cos(Om - L) - 75*sin(Om - L)
s = s + (25543 - 11*T)*cos(2*(F + D + Om) - L) + 66*sin(2*(F + D + Om) - L)
s = s + 26366*cos(L + 2*F + Om) + 78*sin(L + 2*F + Om)
s = s + (-24236 - 10*T)*cos(2*(F - L) + Om) + 20*sin(2*(F - L) + Om)
s = s - 1220*cos(2*D) - 29*sin(2*D)
s = s + (16452 - 11*T)*cos(2*(F + D + Om)) + 68*sin(2*(F + D + Om))
s = s - 13870*cos(2*(F - Lp - D + Om))
s = s + 477*cos(2*(D - L)) - 25*sin(2*(D - L))
s = s + (13238 - 11*T)*cos(2*(L + F + Om)) + 59*sin(2*(L + F + Om))
s = s + (-12338 + 10*T)*cos(L + 2*(F - D + Om)) - 3*sin(L + 2*(F - D + Om))
s = s - 10758*cos(2*F + Om - L) + 3*sin(2*F + Om - L)
s = s - 609*cos(2*L) - 13*sin(2*L)
s = s - 550*cos(2*F) - 11*sin(2*F)
s = s + (8551 - 2*T)*cos(Lp + Om) - 45*sin(Lp + Om)
s = s - 8001*cos(2*D - L + Om) + sin(2*D - L + Om)
s = s + (6850 - 42*T)*cos(2*(Lp + F - D + Om)) - 5*sin(2*(Lp + F - D + Om))
s = s - 167*cos(2*(D - F)) - 13*sin(2*(D - F))
s = s + 6953*cos(L - 2*D + Om) - 14*sin(L - 2*D + Om)
s = s + 6415*cos(Om - Lp) + 26*sin(Om - Lp)
s = s + 5222*cos(2*(F + D) + Om - L) + 15*sin(2*(F + D) + Om - L)
s = s + (168 - T)*cos(2*Lp) + 10*sin(2*Lp)
s = s + 3268*cos(L + 2*(F + D + Om)) + 19*sin(L + 2*(F + D + Om))
s = s + 104*cos(2*(F - L)) + 2*sin(2*(F - L))
s = s - 3250*cos(Lp + 2*(F + Om)) + 5*sin(Lp + 2*(F + Om))
s = s + 3353*cos(2*(F + D) + Om) + 14*sin(2*(F + D) + Om)
s = s + 3070*cos(2*(F + Om) - Lp) + 4*sin(2*(F + Om) - Lp)
s = s + 3272*cos(2*D + Om) + 4*sin(2*D + Om)
s = s - 3045*cos(L + 2*(F - D) + Om) + sin(L + 2*(F - D) + Om)
s = s - 2768*cos(2*(L + F - D + Om)) + 4*sin(2*(L + F - D + Om))
s = s + 3041*cos(2*(D - L) + Om) - 5*sin(2*(D - L) + Om)
s = s + 2695*cos(2*(L + F) + Om) + 12*sin(2*(L + F) + Om)
s = s + 2719*cos(2*(F - D) + Om - Lp) - 3*sin(2*(F - D) + Om - Lp)
s = s + 2720*cos(Om - 2*D) - 9*sin(Om - 2*D)
s = s - 51*cos(2*D - L - Lp) - 4*sin(2*D - L - Lp)
s = s - 2206*cos(2*(L - D) + Om) - sin(2*(L - D) + Om)
s = s - 199*cos(L + 2*D) - 2*sin(L + 2*D)
s = s - 1900*cos(Lp + 2*(F - D) + Om) - sin(Lp + 2*(F - D) + Om)
s = s - 41*cos(L - Lp) - 3*sin(L - Lp)
s = s + 1313*cos(2*(F - L + Om)) - sin(2*(F - L + Om))
s = s + 1233*cos(3*L + 2*(F + Om)) + 7*sin(3*L + 2*(F + Om))
s = s - 81*cos(-Lp + 2*D) - 2*sin(-Lp + 2*D)
s = s + 1232*cos(L - Lp + 2*(F + Om)) + 4*sin(L - Lp + 2*(F + Om))
s = s - 20*cos(D) + 2*sin(D)
s = s + 1207*cos(2*(F + D + Om) - L - Lp) + 3*sin(2*(F + D + Om) - L - Lp)
s = s + 40*cos(2*F - L) - 2*sin(2*F - L)
s = s + 1129*cos(2*(F + D + Om) - Lp) + 5*sin(2*(F + D + Om) - Lp)
s = s + 1266*cos(Om - 2*L) - 4*sin(Om - 2*L)
s = s - 1062*cos(L + Lp + 2*(F + Om)) + 3*sin(L + Lp + 2*(F + Om))
s = s - 1129*cos(2*L + Om) + 2*sin(2*L + Om)
s = s - 9*cos(Lp + D - L)
s = s + 35*cos(L + Lp) - 2*sin(L + Lp)
s = s - 107*cos(L + 2*F) - sin(L + 2*F)
s = s + 1073*cos(2*(F - D) + Om - L) - 2*sin(2*(F - D) + Om - L)
s = s + 854*cos(L + 2*Om)
s = s - 553*cos(D - L) + 139*sin(D - L)
s = s - 710*cos(2*(F + Om) + D) + 2*sin(2*(F + Om) + D)
s = s + 647*cos(2*(F + 2*D + Om) - L) + 4*sin(2*(F + 2*D + Om) - L)
s = s - 700*cos(Lp + D + Om - L)
s = s + 672*cos(2*(F - Lp - D) + Om)
s = s + 663*cos(L + 2*(F + D) + Om) + 4*sin(L + 2*(F + D) + Om)
s = s - 594*cos(2*(F - L + D + Om)) + 2*sin(2*(F - L + D + Om))
s = s - 610*cos(2*Om - L) - 2*sin(2*Om - L)
s = s - 556*cos(L + Lp + 2*(F - D + Om))

dEpsDeg = s / 36000000000.0

===========================================================================

For conversion into Java, CPP or PHP the following term structures may
prove to be more convenient for translation.

All variables used in the terms are double-precision floating point.

In some languages, it may be necessary to replace sin(x) with Math.sin(x)
and cos(x) with Math.cos(x) instead.

===========================================================================

s = 0;
s += (92052331 + 9086*T)*cos(Om) + 15377*sin(Om);
s += (5730336 - 3015*T)*cos(2*(F - D + Om)) - 4587*sin(2*(F - D + Om));
s += (978459 - 485*T)*cos(2*(F + Om)) + 1374*sin(2*(F + Om));
s += (-897492 + 470*T)*cos(2*Om) - 291*sin(2*Om);
s += (73871 - 184*T)*cos(Lp) - 1924*sin(Lp);
s += (224386 - 677*T)*cos(Lp + 2*(F - D + Om)) - 174*sin(Lp + 2*(F - D + Om));
s -= 6750*cos(L) - 358*sin(L);
s += (200728 + 18*T)*cos(2*F + Om) + 318*sin(2*F + Om);
s += (129025 - 63*T)*cos(L + 2*(F + Om)) + 367*sin(L + 2*(F + Om));
s += (-95929 + 299*T)*cos(2*(F - D + Om) - Lp) + 132*sin(2*(F - D + Om) - Lp);
s += (-68982 - 9*T)*cos(2*(F - D) + Om) + 39*sin(2*(F - D) + Om);
s += (-53311 + 32*T)*cos(2*(F + Om) - L) - 4*sin(2*(F + Om) - L);
s -= 1235*cos(2*D - L) - 82*sin(2*D - L);
s -= 33228*cos(L + Om) + 9*sin(L + Om);
s += 31429*cos(Om - L) - 75*sin(Om - L);
s += (25543 - 11*T)*cos(2*(F + D + Om) - L) + 66*sin(2*(F + D + Om) - L);
s += 26366*cos(L + 2*F + Om) + 78*sin(L + 2*F + Om);
s += (-24236 - 10*T)*cos(2*(F - L) + Om) + 20*sin(2*(F - L) + Om);
s -= 1220*cos(2*D) - 29*sin(2*D);
s += (16452 - 11*T)*cos(2*(F + D + Om)) + 68*sin(2*(F + D + Om));
s -= 13870*cos(2*(F - Lp - D + Om));
s += 477*cos(2*(D - L)) - 25*sin(2*(D - L));
s += (13238 - 11*T)*cos(2*(L + F + Om)) + 59*sin(2*(L + F + Om));
s += (-12338 + 10*T)*cos(L + 2*(F - D + Om)) - 3*sin(L + 2*(F - D + Om));
s -= 10758*cos(2*F + Om - L) + 3*sin(2*F + Om - L);
s -= 609*cos(2*L) - 13*sin(2*L);
s -= 550*cos(2*F) - 11*sin(2*F);
s += (8551 - 2*T)*cos(Lp + Om) - 45*sin(Lp + Om);
s -= 8001*cos(2*D + Om - L) + sin(2*D + Om - L);
s += (6850 - 42*T)*cos(2*(Lp + F - D + Om)) - 5*sin(2*(Lp + F - D + Om));
s -= 167*cos(2*(D - F)) - 13*sin(2*(D - F));
s += 6953*cos(L - 2*D + Om) - 14*sin(L - 2*D + Om);
s += 6415*cos(Om - Lp) + 26*sin(Om - Lp);
s += 5222*cos(2*(F + D) + Om - L) + 15*sin(2*(F + D) + Om - L);
s += (168 - T)*cos(2*Lp) + 10*sin(2*Lp);
s += 3268*cos(L + 2*(F + D + Om)) + 19*sin(L + 2*(F + D + Om));
s += 104*cos(2*(F - L)) + 2*sin(2*(F - L));
s -= 3250*cos(Lp + 2*(F + Om)) + 5*sin(Lp + 2*(F + Om));
s += 3353*cos(2*(F + D) + Om) + 14*sin(2*(F + D) + Om);
s += 3070*cos(2*(F + Om) - Lp) + 4*sin(2*(F + Om) - Lp);
s += 3272*cos(2*D + Om) + 4*sin(2*D + Om);
s -= 3045*cos(L + 2*(F - D) + Om) + sin(L + 2*(F - D) + Om);
s -= 2768*cos(2*(L + F - D + Om)) + 4*sin(2*(L + F - D + Om));
s += 3041*cos(2*(D - L) + Om) - 5*sin(2*(D - L) + Om);
s += 2695*cos(2*(L + F) + Om) + 12*sin(2*(L + F) + Om);
s += 2719*cos(2*(F - D) + Om - Lp) - 3*sin(2*(F - D) + Om - Lp);
s += 2720*cos(Om - 2*D) - 9*sin(Om - 2*D);
s -= 51*cos(2*D - L - Lp) - 4*sin(2*D - L - Lp);
s -= 2206*cos(2*(L - D) + Om) - sin(2*(L - D) + Om);
s -= 199*cos(L + 2*D) - 2*sin(L + 2*D);
s -= 1900*cos(Lp + 2*(F - D) + Om) - sin(Lp + 2*(F - D) + Om);
s -= 41*cos(L - Lp) - 3*sin(L - Lp);
s += 1313*cos(2*(F - L + Om)) - sin(2*(F - L + Om));
s += 1233*cos(3*L + 2*(F + Om)) + 7*sin(3*L + 2*(F + Om));
s -= 81*cos(2*D - Lp) - 2*sin(2*D - Lp);
s += 1232*cos(L - Lp + 2*(F + Om)) + 4*sin(L - Lp + 2*(F + Om));
s -= 20*cos(D) + 2*sin(D);
s += 1207*cos(2*(F + D + Om) - L - Lp) + 3*sin(2*(F + D + Om) - L - Lp);
s += 40*cos(2*F - L) - 2*sin(2*F - L);
s += 1129*cos(2*(F + D + Om) - Lp) + 5*sin(2*(F + D + Om) - Lp);
s += 1266*cos(Om - 2*L) - 4*sin(Om - 2*L);
s -= 1062*cos(L + Lp + 2*(F + Om)) + 3*sin(L + Lp + 2*(F + Om));
s -= 1129*cos(2*L + Om) + 2*sin(2*L + Om);
s -= 9*cos(Lp + D - L);
s += 35*cos(L + Lp) - 2*sin(L + Lp);
s -= 107*cos(L + 2*F) - sin(L + 2*F);
s += 1073*cos(2*(F - D) + Om - L) - 2*sin(2*(F - D) + Om - L);
s += 854*cos(L + 2*Om);
s -= 553*cos(D - L) + 139*sin(D - L);
s -= 710*cos(2*(F + Om) + D) + 2*sin(2*(F + Om) + D);
s += 647*cos(2*(F + 2*D + Om) - L) + 4*sin(2*(F + 2*D + Om) - L);
s -= 700*cos(Lp + D + Om - L);
s += 672*cos(2*(F - Lp - D) + Om);
s += 663*cos(L + 2*(F + D) + Om) + 4*sin(L + 2*(F + D) + Om);
s -= 594*cos(2*(F - L + D + Om)) + 2*sin(2*(F - L + D + Om));
s -= 610*cos(2*Om - L) - 2*sin(2*Om - L);
s -= 556*cos(L + Lp + 2*(F - D + Om));

dEpsDeg = s / 36000000000.0;



Jay Tanner - 2011
Contact: Jay at PHPScienceLabs dot US
NO SPAM