e function
Equation of time using VSOP87 Earth position.
jde is Julian ephemeris day, earth is a Planet object for Earth.
Returns the equation of time in radians (multiply by 180/π × 4 for minutes).
Implementation
double e(double jde, Planet earth) {
final tau = j2000Century(jde) * 0.1; // Julian millennia
final sun = solar.trueVSOP87(earth, jde);
final n = nut.nutation(jde);
final a = solar.aberration(sun.range);
final lambda = sun.lon + n.dPsi + a;
final eps = nut.meanObliquity(jde) + n.dEps;
final eq = eclToEq(lambda, sun.lat, math.sin(eps), math.cos(eps));
final meanLon = pMod(toRad(l0(tau)), 2 * math.pi);
// (28.1) p. 183.
var eot = meanLon - toRad(0.0057183) - eq.ra + n.dPsi * math.cos(eps);
eot = pMod(eot + math.pi, 2 * math.pi) - math.pi;
return eot;
}