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 |