pvlib.spa#

Calculate the solar position using the NREL SPA algorithm either using numpy arrays or compiling the code to machine language with numba.

Functions

aberration_correction(earth_radius_vector)

apparent_sidereal_time(mean_sidereal_time, ...)

apparent_sun_longitude(geocentric_longitude, ...)

atmospheric_refraction_correction(...)

calculate_deltat(year, month)

Calculate the difference between Terrestrial Dynamical Time (TD) and Universal Time (UT).

earthsun_distance(unixtime, delta_t, numthreads)

Calculates the distance from the earth to the sun using the NREL SPA algorithm described in [1].

equation_of_time(sun_mean_longitude, ...)

equatorial_horizontal_parallax(...)

geocentric_latitude(heliocentric_latitude)

geocentric_longitude(heliocentric_longitude)

geocentric_sun_declination(...)

geocentric_sun_right_ascension(...)

heliocentric_latitude(jme)

heliocentric_longitude(jme)

heliocentric_radius_vector(jme)

jcompile(*args, **kwargs)

julian_century(julian_day)

julian_day(unixtime)

julian_day_dt(year, month, day, hour, ...)

This is the original way to calculate the julian day from the NREL paper.

julian_ephemeris_century(julian_ephemeris_day)

julian_ephemeris_day(julian_day, delta_t)

julian_ephemeris_millennium(...)

local_hour_angle(apparent_sidereal_time, ...)

Measured westward from south

longitude_obliquity_nutation(...)

mean_anomaly_moon(julian_ephemeris_century)

mean_anomaly_sun(julian_ephemeris_century)

mean_ecliptic_obliquity(...)

mean_elongation(julian_ephemeris_century)

mean_sidereal_time(julian_day, julian_century)

moon_argument_latitude(julian_ephemeris_century)

moon_ascending_longitude(...)

nocompile(*args, **kwargs)

parallax_sun_right_ascension(xterm, ...)

solar_position(unixtime, lat, lon, elev, ...)

Calculate the solar position using the NREL SPA algorithm described in [1].

solar_position_loop(unixtime, loc_args, out)

Loop through the time array and calculate the solar position

solar_position_numba(unixtime, lat, lon, ...)

Calculate the solar position using the numba compiled functions and multiple threads.

solar_position_numpy(unixtime, lat, lon, ...)

Calculate the solar position assuming unixtime is a numpy array.

sum_mult_cos_add_mult(arr, x)

sun_mean_longitude(julian_ephemeris_millennium)

topocentric_astronomers_azimuth(...)

topocentric_azimuth_angle(...)

topocentric_elevation_angle(...)

topocentric_elevation_angle_without_atmosphere(...)

topocentric_local_hour_angle(...)

topocentric_sun_declination(...)

topocentric_sun_right_ascension(...)

topocentric_zenith_angle(...)

transit_sunrise_sunset(dates, lat, lon, ...)

Calculate the sun transit, sunrise, and sunset for a set of dates at a given location.

true_ecliptic_obliquity(...)

uterm(observer_latitude)

xterm(u, observer_latitude, observer_elevation)

yterm(u, observer_latitude, observer_elevation)