Calculation of sunrise and sunset: Difference between revisions

From WickyWiki
Created page with "Category:Other Category:201903 Source: * https://www.esrl.noaa.gov/gmd/grad/solcalc/ * https://www.esrl.noaa.gov/gmd/grad/solcalc/solareqns.PDF Input example * Europ..."
 
mNo edit summary
Line 6: Line 6:
* https://www.esrl.noaa.gov/gmd/grad/solcalc/solareqns.PDF
* https://www.esrl.noaa.gov/gmd/grad/solcalc/solareqns.PDF


Input example
Input example:
* Europe/Amsterdam UTC -> UTC+1
* Date --> vDayOfYear
* Date DST -> vTimezone=+1 or +2
* Date --> vLeapyear
* Date --> vDayOfYear, vLeapyear


Fractional year (radians)
Fractional year (radians)
Line 39: Line 38:
   vUtcMinsSunset = 360 * 2 - 4 * (vLon - vHa) - vEqtime
   vUtcMinsSunset = 360 * 2 - 4 * (vLon - vHa) - vEqtime


Sunrise local time (fractional day)
Sunrise local time (fractional day). For Europe/Amsterdam --> vTimezone=+1 or +2 (DST)


   (vUtcMinsSunrise / 60 + vTimezone) / 24
   (vUtcMinsSunrise / 60 + vTimezone) / 24

Revision as of 12:34, 3 March 2019


Source:

Input example:

  • Date --> vDayOfYear
  • Date --> vLeapyear

Fractional year (radians)

 vY = 2 * PI() / (365 + vLeapYear) * (vDayOfYear - 1 )

Equation of time (minutes)

 vEqtime = 229.18 * (0.000075 + 0.001868 * COS( vY ) - 0.032077 * SIN( vY ) - 0.014615 * COS(2 *  vY ) - 0.040849 * SIN(2 *  vY )

Solar declination angle (radians).

 vDecl = 0.006918 - 0.399912 * COS(vY) + 0.070257 * SIN(vY) - 0.006758 * COS(2 * vY) + 0.000907 * SIN(2 * vY) - 0.002697 * COS(3 * vY) + 0.00148 * SIN (3 * vY)

For sunrise or sunset, the zenith is set to 90.833 degrees (the approximate correction for atmospheric refraction at sunrise and sunset, and the size of the solar disk). Hours angle:

 vHa = ACOS( COS( RADIANS(90.833) ) / COS(vLat) * COS(vDecl) - TAN(vLat) * TAN(vDecl) )

Sunrise UTC minutes

 vUtcMinsSunrise = 360 * 2 - 4 * (vLon + vHa) - vEqtime

Noon UTC minutes

 vUtcMinsNoon = 360 * 2 - 4 * vLon - vEqtime

Sunset UTC minutes

 vUtcMinsSunset = 360 * 2 - 4 * (vLon - vHa) - vEqtime

Sunrise local time (fractional day). For Europe/Amsterdam --> vTimezone=+1 or +2 (DST)

 (vUtcMinsSunrise / 60 + vTimezone) / 24