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;
		}

Share