pvlib.solarposition.sun_rise_set_transit_spa¶
-
pvlib.solarposition.
sun_rise_set_transit_spa
(times, latitude, longitude, how='numpy', delta_t=67.0, numthreads=4)[source]¶ Calculate the sunrise, sunset, and sun transit times using 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: - times (pandas.DatetimeIndex) – Must be localized to the timezone for
latitude
andlongitude
. - latitude (float) – Latitude in degrees, positive north of equator, negative to south
- longitude (float) – Longitude in degrees, positive east of prime meridian, negative to west
- delta_t (float, optional) – If delta_t is None, uses spa.calculate_deltat using times.year and times.month from pandas.DatetimeIndex. For most simulations specifing delta_t is sufficient. Difference between terrestrial time and UT1. delta_t = None will break code using nrel_numba, this will be fixed in a future version. By default, use USNO historical data and predictions
- 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: pandas.DataFrame – index is the same as input times argument columns are ‘sunrise’, ‘sunset’, and ‘transit’
References
[1] Reda, I., Andreas, A., 2003. Solar position algorithm for solar radiation applications. Technical report: NREL/TP-560- 34302. Golden, USA, http://www.nrel.gov. - times (pandas.DatetimeIndex) – Must be localized to the timezone for