public static double ExtraTerrestrialRadiation(ILocation position, DateTime date) { double latitude = Astronomy.BoundedLatitude(position); double dayAngle = Astronomy.DayAngle(date); int dayOfYear = Astronomy.DayOfYear(date); double solarDistanceCorrection = Astronomy.SolarDistanceCorrection(dayAngle); double solarDeclination = Astronomy.SolarDeclination(dayOfYear); double daylightTimeFactor = Astronomy.DaylightTimeFactor(latitude, solarDeclination); return(Astronomy.ExtraTerrestrialRadiation(latitude, solarDistanceCorrection, solarDeclination, daylightTimeFactor)); }
public static double DayLength(ILocation position, DateTime date) { return(Astronomy.DayLength(Astronomy.DaylightTimeFactor(position, date))); }
public static double DaylightTimeFactor(ILocation position, DateTime date) { return(Astronomy.DaylightTimeFactor(Astronomy.BoundedLatitude(position), Astronomy.SolarDeclination(date))); }
public static double SolarDistanceCorrection(DateTime date) { return(Astronomy.SolarDistanceCorrection(Astronomy.DayAngle(date))); }
public static double SolarElevation(ILocation position, DateTime date, double hour) { return(Astronomy.SolarElevation(Astronomy.BoundedLatitude(position), hour, Astronomy.SolarDeclination(Astronomy.DayOfYear(date)))); }
private static double SolarDeclination(DateTime date) { return(Astronomy.SolarDeclination(Astronomy.DayOfYear(date))); }
public static double DayAngle(DateTime date) { return((double)(Astronomy.DayOfYear(date) * 2) * Math.PI / 365.0); }
public static double RelativeSunshineFraction(ILocation position, DateTime date) { return(Astronomy.RelativeSunshineFraction(Astronomy.DaylightTimeFactor(position, date))); }
public static double ShortestDayLength(ILocation location) { DateTime date = location.Latitude < 0.0 ? new DateTime(1999, 6, 21) : new DateTime(1999, 12, 21); return(Astronomy.DayLength(location, date)); }