code: double[] getSunLongitude(double julian)
      {
          // See page 86 of "Practial Astronomy with your Calculator",
          // by Peter Duffet-Smith, for details on the algorithm.
  
          double day = julian - JD_EPOCH;       // Days since epoch
  
          // Find the angular distance the sun in a fictitious
          // circular orbit has travelled since the epoch.
          double epochAngle = norm2PI(PI2/TROPICAL_YEAR*day);
  
          // The epoch wasn't at the sun's perigee; find the angular distance
          // since perigee, which is called the "mean anomaly"
          double meanAnomaly = norm2PI(epochAngle + SUN_ETA_G - SUN_OMEGA_G);
  
          // Now find the "true anomaly", e.g. the real solar longitude
          // by solving Kepler's equation for an elliptical orbit
          // NOTE: The 3rd ed. of the book lists omega_g and eta_g in different
          // equations; omega_g is to be correct.
          return new double[] {
              norm2PI(trueAnomaly(meanAnomaly, SUN_E) + SUN_OMEGA_G),
              meanAnomaly
          };
      }
docs: /*public