t = mjd/36525.;
t2 = t*t;
a = 100.0021359*t;
b = 360.*(a-(long)a);
ls = 279.69668+.0003025*t2+b;
a = 99.99736042000039*t;
b = 360*(a-(long)a);
ms = 358.47583-(.00015+.0000033*t)*t2+b;
s = .016751-.0000418*t-1.26e-07*t2;
anomaly (degrad(ms), s, &nu, &ea);
a = 62.55209472000015*t;
b = 360*(a-(long)a);
a1 = degrad(153.23+b);
a = 125.1041894*t;
b = 360*(a-(long)a);
b1 = degrad(216.57+b);
a = 91.56766028*t;
b = 360*(a-(long)a);
c1 = degrad(312.69+b);
a = 1236.853095*t;
b = 360*(a-(long)a);
d1 = degrad(350.74-.00144*t2+b);
e1 = degrad(231.19+20.2*t);
// a = 183.1353208*t;
// b = 360*(a-(long)a);
dl = .00134*cos(a1)+.00154*cos(b1)+.002*cos(c1)+.00179*sin(d1)+
.00178*sin(e1);
lsn = nu+degrad(ls-ms+dl);
range(lsn,2*PI);
return lsn;
}