pvlib.solarposition.spa_python

pvlib.solarposition.spa_python(time, latitude, longitude, altitude=0, pressure=101325, temperature=12, delta_t=67.0, atmos_refract=None, how='numpy', numthreads=4, **kwargs)[source]

Calculate the solar position using a python implementation of the NREL SPA algorithm described in [1].

If numba is installed, the functions can be compiled to machine code and the function can be multithreaded. Without numba, the function evaluates via numpy with a slight performance hit.

Parameters:
time : pandas.DatetimeIndex

Localized or UTC.

latitude : float
longitude : float
altitude : float, default 0
pressure : int or float, optional, default 101325

avg. yearly air pressure in Pascals.

temperature : int or float, optional, default 12

avg. yearly air temperature in degrees C.

delta_t : float, optional, default 67.0

If delta_t is None, uses spa.calculate_deltat using time.year and time.month from pandas.DatetimeIndex. For most simulations specifing delta_t is sufficient. Difference between terrestrial time and UT1. Note: delta_t = None will break code using nrel_numba, this will be fixed in a future version. The USNO has historical and forecasted delta_t [3].

atmos_refrac : None or float, optional, default None

The approximate atmospheric refraction (in degrees) at sunrise and sunset.

how : str, optional, default ‘numpy’

Options are ‘numpy’ or ‘numba’. If numba >= 0.17.0 is installed, how=’numba’ will compile the spa functions to machine code and run them multithreaded.

numthreads : int, optional, default 4

Number of threads to use if how == ‘numba’.

Returns:
DataFrame

The DataFrame will have the following columns: apparent_zenith (degrees), zenith (degrees), apparent_elevation (degrees), elevation (degrees), azimuth (degrees), equation_of_time (minutes).

See also

pyephem, spa_c, ephemeris

References

[1] I. Reda and A. Andreas, Solar position algorithm for solar radiation applications. Solar Energy, vol. 76, no. 5, pp. 577-589, 2004.

[2] I. Reda and A. Andreas, Corrigendum to Solar position algorithm for solar radiation applications. Solar Energy, vol. 81, no. 6, p. 838, 2007.

[3] USNO delta T: http://www.usno.navy.mil/USNO/earth-orientation/eo-products/long-term