Exemplo n.º 1
0
        public static double CalcSunDeclin(double ObliqCorr, double SunAppLong)
        {
            double SunDeclin = Calc.degree(Math.Asin(Math.Sin(Calc.rad(ObliqCorr)) *
                                                     Math.Sin(Calc.rad(SunAppLong))));

            return(SunDeclin);
        }
Exemplo n.º 2
0
        public static double CalcSolarZenith(double RemoteLat, double SunDeclim, double HourAngle)
        {
            double SolarZenith = Calc.degree(Math.Acos(Math.Sin(rad(RemoteLat)) *
                                                       Math.Sin(rad(SunDeclim)) + Math.Cos(rad(RemoteLat)) *
                                                       Math.Cos(rad(SunDeclim)) * Math.Cos(rad(HourAngle))));

            return(SolarZenith);
        }
Exemplo n.º 3
0
        public static double CalcEqofTime(double varY, double GeomMeanLongSun, double GeomMeanAnomSun, double EccentEarthOrbit)
        {
            double EqofTime = 4 * Calc.degree(varY * Math.Sin(2 * Calc.rad(GeomMeanLongSun)) - 2 * EccentEarthOrbit
                                              * Math.Sin(Calc.rad(GeomMeanAnomSun)) + 4 * EccentEarthOrbit * varY * Math.Sin(Calc.rad(GeomMeanAnomSun))
                                              * Math.Cos(2 * Calc.rad(GeomMeanLongSun)) - 0.5 * varY * varY * Math.Sin(4 * Calc.rad(GeomMeanLongSun)) - 1.25
                                              * EccentEarthOrbit * EccentEarthOrbit * Math.Sin(2 * Calc.rad(GeomMeanAnomSun)));


            return(EqofTime);
        }