The method of find the angular diameter of the Sun is essentially the same as that of finding the distance to the Sun. mybloggingplanet.com/2015/10/seo-trends-in-2016.html?showcomment0751445420782619
We need to find the true anomaly (v) and then using that we plug it into the formula
Angular Diameter = (angular Diameter at perigee) * ((1 + (eccentricy * cos(v)) / (1 – eccentricity2))
The resulting angular diameter is expressed in degrees, if the original angular diameter is also expressed in degrees.
public static double CalcSunAngDiam(DateTime dDate, DateTime dEpoch) { double fD; double fN; double fM; double fE; double fTanV2; double fV; double fAngDiam; double fSolarMEL; double fSolarPL; double fSunEarthEcc; double fAcc; double fOblique; double fAngDiam0; fAngDiam0 = 0.533128; fAcc = 0.0000001; fD = UraniaTime.GetDaysBetween(dDate, dEpoch); fSolarMEL = GetSolarMEL(dEpoch, true); fSolarPL = GetSolarPerigeeLong(dEpoch, true); fSunEarthEcc = GetSunEarthEcc(dEpoch, true); fOblique = GetEarthObliquity(dEpoch, true); fN = (360.0 / 365.242191) * fD; fN = Trig.PutIn360Deg(fN); fM = fN + fSolarMEL - fSolarPL; fM = Trig.PutIn360Deg(fM); fM = Trig.DegToRad(fM); fE = CalcEccentricAnomaly(fM, fM, fSunEarthEcc, fAcc); fTanV2 = Math.Sqrt((1.0 + fSunEarthEcc) / (1.0 - fSunEarthEcc)) * Math.Tan(fE / 2.0); fV = Math.Atan(fTanV2) * 2.0; fAngDiam = fAngDiam0 * ((1.0 + (fSunEarthEcc * Math.Cos(fV))) / (1.0 - (fSunEarthEcc * fSunEarthEcc))); return fAngDiam; }
Comments