solposx.solarposition.noaa#
- solposx.solarposition.noaa(times, latitude, longitude, *, delta_t=67.0)#
Calculate solar position using the NOAA algorithm.
NOAA’s algorithm [1] has a stated accuracy of 0.0167 degrees from years -2000 to +3000 for latitudes within +/- 72 degrees. For latitudes outside this the accuracy is 0.167 degrees.
The NOAA algorithm uses the Hughes refraction model, see
hughes(). Note, that the implementation deviates slightly from Hughes in that refraction is set to 0 for solar elevation angles above 85 degrees.- Parameters:
times (pandas.DatetimeIndex) – Timestamps - must be localized. Prior to 1970 and far in the future UTC and UT1 may deviate significantly. For such use cases, UT1 times should be provided.
latitude (float) – Latitude in decimal degrees. Positive north of equator, negative to south. [degrees]
longitude (float) – Longitude in decimal degrees. Positive east of prime meridian, negative to west. [degrees]
delta_t (numeric, default 67.0) – Difference between terrestrial time and UT1. If
delta_tis None, usespvlib.spa.calculate_deltat()usingtimes.yearandtimes.monthfrom pandas.DatetimeIndex. For most simulations the defaultdelta_tis sufficient. The USNO has historical and forecasteddelta_t[3]. [seconds]
- Returns:
DataFrame with the following columns (all values in degrees):
elevation : actual sun elevation (not accounting for refraction).
apparent_elevation : sun elevation, accounting for atmospheric refraction.
zenith : actual sun zenith (not accounting for refraction).
apparent_zenith : sun zenith, accounting for atmospheric refraction.
azimuth : sun azimuth, east of north.
- Return type:
Notes
The algorithm is from Astronomical Algorithms by Jean Meeus [2].
References