Solar Position
The amount of solar irradiance incident on a solar surface at any moment and location depends fundamentally on the Solar Incidence angle. This angle governs how much sunlight actually reaches the surface and, consequently, the generated photovoltaic power.
Tip
PVGIS CLI offers a primer on the solar position parameters.
Inform yourself using the pvgis position introduction command.
See pvgis position introduction
To calculate the critical solar incidence angle, PVGIS requires the relative Latitude and Longitude coordinates of the surface in question, its Surface Tilt and Surface Orientation angles, as well as the Solar Declination and the Solar Hour angles both of which are derived from the timestamp of interest.
What is Solar Position?
Practically speaking, Solar Position consists of a series of angular measurements between the position of the sun in the sky and a location on the surface of the earth for a moment or a series of moments in time.
%%{init: {"themeCSS": ".label, .nodeLabel, .edgeLabel, .label text, .nodeLabel text, .edgeLabel text, text, tspan, foreignObject, foreignObject div, foreignObject span { fill: #000 !important; color: #000 !important; } .edgePath .path, .flowchart-link, path.path, .path, .edge-thickness-normal, .edge-thickness-thick, .edge-pattern-solid, .edge-pattern-dotted, .edge-pattern-dashed { stroke: #000 !important; } marker path, .arrowheadPath, .arrowhead path, .marker { fill: #000 !important; stroke: #000 !important; }"}}%%
flowchart RL
FY["<img src='../../icons/fractional-year.svg' width='18' height='18'/><br/>Fractional Year"] --> EOT
EOT["<img src='../../icons/noun-clock.svg' width='18' height='18'/><br/>Equation of Time"] --> TO
TO["<img src='../../icons/map-clock.svg' width='18' height='18'/><br/>Time Offset"] --> TST
TST["<img src='../../icons/solar-time.svg' width='18' height='18'/><br/>True Solar Time"] --> SHA
SD["<img src='../../icons/earth_to_sun_angle.svg' width='18' height='18'/><br/>Solar Declination"]
SZ["<img src='../../icons/solar-zenith.svg' width='18' height='18'/><br/>Solar Zenith"]
SA["<img src='../../icons/sun-angle-outline.svg' width='18' height='18'/><br/>Solar Altitude"]
SAZ["<img src='../../icons/sun-compass.svg' width='18' height='18'/><br/>Solar Azimuth"]
SI["<img src='../../icons/noun_global_horizontal_irradiance_new.svg' width='18' height='18'/><br/>Solar Incidence"]
SHA["<img src='../../icons/solar-hour-angle.svg' width='18' height='18'/><br/>Solar Hour Angle"]
FY --> SD
SHA --> SZ
SD --> SZ
SZ --> SA
SZ --> SAZ
SD --> SAZ
SZ --> SI
SAZ --> SI
classDef noBox fill:transparent,stroke:transparent,color:#000000;
class FY,EOT,TO,TST,SHA,SD,SZ,SA,SAZ,SI noBox;
In order to calculate the solar incidence angle, we go through a series of solar position angles in the following order:
- Fractional year
- Equation of Time
- Time Offset
- True Solar Time
- Solar declination
- Solar zenith
- Solar altitude
- Solar azimuth
- Solar incidence
Mathematical sets
- Fractional year ⊂ Equation of time ⊂ Time offset ⊂ True solar time ⊂ Solar hour angle
- Solar declination ⊂ Solar zenith ⊂ Solar altitude ⊂ Solar azimuth
Fractional Year¶
The position of the Earth in its orbit around the sun is expressed through the Fractional Year angle, measured in radians based solely on a moment in time (timestamp).
Notes
- The function that calculates the fractional year considers leap years and converts timestamps into fractional values.
- Other solar-positioning algorithms call this variable the "day angle".
Equation of Time¶
The Equation of Time, measured in minutes, corrects for the eccentricity (or else non-circularity) of the Earth's orbit and axial tilt. This correction helps align civil time with actual solar position.
Time Offset¶
The Time Offset measured in minutes, incorporates the Equation of Time and accounts for the variation of the Local Solar Time (LST) within a given time zone due to longitude variations.
True Solar Time¶
Next is the True solar time, also known as apparent solar time, on which the calculation of the Solar hour angle depends.
Solar Hour Angle¶
The Solar Hour angle measures the Earth's rotation and indicates the time of the day relative to the position of the sun. It is based on longitude and timestamp, and by definition the solar hour angle is:
- 0° at solar noon
- negative in the morning
- positive in the afternoon
Useful to know
Since the Earth rotates 15° per hour (or pi/12 radians), each hour away from solar noon corresponds to an angular motion of the sun in the sky of 15°. In practice, the calculation converts a timestamp into solar time.
Order of dependent calculations
- Fractional year ⊂ Equation of time ⊂ Time offset ⊂ True solar time ⊂ Solar hour angle
- Solar declination ⊂ Solar zenith ⊂ Solar altitude ⊂ Solar azimuth
Solar Declination¶
The Solar Declination angle, depending on the algorithm, requires only the Fractional Year or in addition the Eccentricity correction factor and the Perigee offset.
Alternative algorithm and Order of dependency
NOAA and Jenčo/Hofierka define variants -- see algorithm notes for details.
- Fractional year ⊂ Solar declination NOAA or
- (Fractional year, Eccentricity correction, Perigee offset) ⊂ Solar declination Jenčo/Hofierka
Solar Zenith¶
The Solar Zenith angle links time, position, and solar geometry and is used for both direct and indirect irradiance models.
Solar Altitude¶
The Solar Altitude is the complement of the solar zenith angle. It defines how high the sun is above the horizon.
Solar Azimuth¶
The Solar Azimuth specifies the compass direction toward the sun. It combines the hour angle, latitude, and declination.
Solar Incidence¶
The solar incidence angle comprises all previous angles and defines the projection of sunlight onto the plane of the solar surface.
Default algoriths¶
The default algorithms for solar timing, positioning and the definition of the incidence angle are:
-
solar_time_modelis set to Milne1921 (seepvgisprototype.constants:SOLAR_TIME_ALGORITHM_DEFAULT).- Calculates apparent solar time based on the Equation of Time by Milne (1921).
-
solar_position_modelis set to NOAA's equation for solar position (seeSOLAR_POSITION_ALGORITHM_DEFAULT). solar_incidence_modelis set to Iqbal (seeSolarIncidenceModel.iqbal).
Atmospheric refraction¶
Following the NOAA solar geometry equations, the calculation of the solar incidence angle requires all of the following angular quantities:
- altitude, which in turn requires the hour angle and the zenith angle
- zenith, which in turn requires the solar declination angle (sun-Earth)
- azimuth
- surface tilt
- latitude
- hour angle
- relative longitude
Mathematically speaking, the point where refraction plays a role is the solar zenith angle. The zenith angle is adjusted based on some method of atmospheric refraction and the solar altitude angle (high altitude above horizon, low altitude above horizon and altitude below horizon). While the adjustment isn't large in absolute terms, it is part of the solar geometry system and may impact the analysis, especially when it comes to the amount of irradiance close to sunrise and sunset.