#NEWLINE# def solar_position_numpy( unixtime , lat , lon , elev , pressure , temp , delta_t , atmos_refract , numthreads , sst = False ) : #NEWLINE# #INDENT# 'Calculate the solar position assuming unixtime is a numpy array. Note\n    this function will not work if the solar position functions were\n    compiled with numba.\n    ' #NEWLINE# jd = julian_day ( unixtime ) #NEWLINE# jde = julian_ephemeris_day ( jd , delta_t ) #NEWLINE# jc = julian_century ( jd ) #NEWLINE# jce = julian_ephemeris_century ( jde ) #NEWLINE# jme = julian_ephemeris_millennium ( jce ) #NEWLINE# L = heliocentric_longitude ( jme ) #NEWLINE# B = heliocentric_latitude ( jme ) #NEWLINE# R = heliocentric_radius_vector ( jme ) #NEWLINE# Theta = geocentric_longitude ( L ) #NEWLINE# beta = geocentric_latitude ( B ) #NEWLINE# x0 = mean_elongation ( jce ) #NEWLINE# x1 = mean_anomaly_sun ( jce ) #NEWLINE# x2 = mean_anomaly_moon ( jce ) #NEWLINE# x3 = moon_argument_latitude ( jce ) #NEWLINE# x4 = moon_ascending_longitude ( jce ) #NEWLINE# delta_psi = longitude_nutation ( jce , x0 , x1 , x2 , x3 , x4 ) #NEWLINE# delta_epsilon = obliquity_nutation ( jce , x0 , x1 , jc , x3 , x4 ) #NEWLINE# epsilon0 = mean_ecliptic_obliquity ( jme ) #NEWLINE# epsilon = true_ecliptic_obliquity ( epsilon0 , delta_epsilon ) #NEWLINE# delta_tau = aberration_correction ( R ) #NEWLINE# lamd = apparent_sun_longitude ( Theta , delta_psi , delta_tau ) #NEWLINE# v0 = mean_sidereal_time ( jd , jc ) #NEWLINE# v = apparent_sidereal_time ( v0 , delta_psi , epsilon ) #NEWLINE# alpha = geocentric_sun_right_ascension ( lamd , epsilon , beta ) #NEWLINE# delta = geocentric_sun_declination ( lamd , epsilon , beta ) #NEWLINE# if sst : #NEWLINE# #INDENT# return ( v , alpha , delta ) #NEWLINE# #UNINDENT# m = sun_mean_longitude ( jme ) #NEWLINE# eot = equation_of_time ( m , alpha , delta_psi , epsilon ) #NEWLINE# H = local_hour_angle ( v , lon , alpha ) #NEWLINE# xi = equatorial_horizontal_parallax ( R ) #NEWLINE# u = uterm ( lat ) #NEWLINE# x = xterm ( u , lat , elev ) #NEWLINE# y = yterm ( u , lat , elev ) #NEWLINE# delta_alpha = parallax_sun_right_ascension ( x , xi , H , delta ) #NEWLINE# alpha_prime = topocentric_sun_right_ascension ( alpha , delta_alpha ) #NEWLINE# delta_prime = topocentric_sun_declination ( delta , x , y , xi , delta_alpha , H ) #NEWLINE# H_prime = topocentric_local_hour_angle ( H , delta_alpha ) #NEWLINE# e0 = topocentric_elevation_angle_without_atmosphere ( lat , delta_prime , H_prime ) #NEWLINE# delta_e = atmospheric_refraction_correction ( pressure , temp , e0 , atmos_refract ) #NEWLINE# e = topocentric_elevation_angle ( e0 , delta_e ) #NEWLINE# theta = topocentric_zenith_angle ( e ) #NEWLINE# theta0 = topocentric_zenith_angle ( e0 ) #NEWLINE# gamma = topocentric_astronomers_azimuth ( H_prime , delta_prime , lat ) #NEWLINE# phi = topocentric_azimuth_angle ( gamma ) #NEWLINE# return ( theta , theta0 , e , e0 , phi , eot )