Class Grena3

java.lang.Object
net.e175.klaus.solarpositioning.Grena3

public final class Grena3 extends Object
Calculate topocentric solar position, i.e. the location of the sun on the sky for a certain point in time on a certain point of the Earth's surface.

This follows the no. 3 algorithm described in Grena, 'Five new algorithms for the computation of sun position from 2010 to 2110', Solar Energy 86 (2012) pp. 1323-1337.

This is not a port of the C code, but a re-implementation based on the published procedure.

Author:
Klaus Brunner
  • Method Details

    • calculateSolarPosition

      public static AzimuthZenithAngle calculateSolarPosition(ZonedDateTime date, double latitude, double longitude, double deltaT)
      Calculate topocentric solar position, i.e. the location of the sun on the sky for a certain point in time on a certain point of the Earth's surface.

      This follows the no. 3 algorithm described in Grena, 'Five new algorithms for the computation of sun position from 2010 to 2110', Solar Energy 86 (2012) pp. 1323-1337.

      The algorithm is supposed to work for the years 2010 to 2110, with a maximum error of 0.01 degrees.

      This method does not perform refraction correction.

      Parameters:
      date - Observer's local date and time.
      latitude - Observer's latitude, in degrees (negative south of equator).
      longitude - Observer's longitude, in degrees (negative west of Greenwich).
      deltaT - Difference between earth rotation time and terrestrial time (or Universal Time and Terrestrial Time), in seconds. See http://asa.usno.navy.mil/SecK/DeltaT.html. For the year 2015, a reasonably accurate default would be 68.
      Returns:
      Topocentric solar position (azimuth measured eastward from north)
      See Also:
    • calculateSolarPosition

      public static AzimuthZenithAngle calculateSolarPosition(ZonedDateTime date, double latitude, double longitude, double deltaT, double pressure, double temperature)
      Calculate topocentric solar position, i.e. the location of the sun on the sky for a certain point in time on a certain point of the Earth's surface.

      This follows the no. 3 algorithm described in Grena, 'Five new algorithms for the computation of sun position from 2010 to 2110', Solar Energy 86 (2012) pp. 1323-1337.

      The algorithm is supposed to work for the years 2010 to 2110, with a maximum error of 0.01 degrees.

      Parameters:
      date - Observer's local date and time.
      latitude - Observer's latitude, in degrees (negative south of equator).
      longitude - Observer's longitude, in degrees (negative west of Greenwich).
      deltaT - Difference between earth rotation time and terrestrial time (or Universal Time and Terrestrial Time), in seconds. See http://asa.usno.navy.mil/SecK/DeltaT.html. For the year 2015, a reasonably accurate default would be 68.
      pressure - Annual average local pressure, in millibars (or hectopascals). Used for refraction correction of zenith angle. If unsure, 1000 is a reasonable default.
      temperature - Annual average local temperature, in degrees Celsius. Used for refraction correction of zenith angle.
      Returns:
      Topocentric solar position (azimuth measured eastward from north)
      See Also: