@jcompile('<STR_LIT>', nopython=True,<EOL>nogil=True)<EOL>def solar_position_loop(unixtime, loc_args, out):
lat = loc_args[<NUM_LIT:0>]<EOL>lon = loc_args[<NUM_LIT:1>]<EOL>elev = loc_args[<NUM_LIT:2>]<EOL>pressure = loc_args[<NUM_LIT:3>]<EOL>temp = loc_args[<NUM_LIT:4>]<EOL>delta_t = loc_args[<NUM_LIT:5>]<EOL>atmos_refract = loc_args[<NUM_LIT:6>]<EOL>sst = loc_args[<NUM_LIT:7>]<EOL>esd = loc_args[<NUM_LIT:8>]<EOL>for i in range(unixtime.shape[<NUM_LIT:0>]):<EOL><INDENT>utime = unixtime[i]<EOL>jd = julian_day(utime)<EOL>jde = julian_ephemeris_day(jd, delta_t)<EOL>jc = julian_century(jd)<EOL>jce = julian_ephemeris_century(jde)<EOL>jme = julian_ephemeris_millennium(jce)<EOL>R = heliocentric_radius_vector(jme)<EOL>if esd:<EOL><INDENT>out[<NUM_LIT:0>, i] = R<EOL>continue<EOL><DEDENT>L = heliocentric_longitude(jme)<EOL>B = heliocentric_latitude(jme)<EOL>Theta = geocentric_longitude(L)<EOL>beta = geocentric_latitude(B)<EOL>x0 = mean_elongation(jce)<EOL>x1 = mean_anomaly_sun(jce)<EOL>x2 = mean_anomaly_moon(jce)<EOL>x3 = moon_argument_latitude(jce)<EOL>x4 = moon_ascending_longitude(jce)<EOL>delta_psi = longitude_nutation(jce, x0, x1, x2, x3, x4)<EOL>delta_epsilon = obliquity_nutation(jce, x0, x1, x2, x3, x4)<EOL>epsilon0 = mean_ecliptic_obliquity(jme)<EOL>epsilon = true_ecliptic_obliquity(epsilon0, delta_epsilon)<EOL>delta_tau = aberration_correction(R)<EOL>lamd = apparent_sun_longitude(Theta, delta_psi, delta_tau)<EOL>v0 = mean_sidereal_time(jd, jc)<EOL>v = apparent_sidereal_time(v0, delta_psi, epsilon)<EOL>alpha = geocentric_sun_right_ascension(lamd, epsilon, beta)<EOL>delta = geocentric_sun_declination(lamd, epsilon, beta)<EOL>if sst:<EOL><INDENT>out[<NUM_LIT:0>, i] = v<EOL>out[<NUM_LIT:1>, i] = alpha<EOL>out[<NUM_LIT:2>, i] = delta<EOL>continue<EOL><DEDENT>m = sun_mean_longitude(jme)<EOL>eot = equation_of_time(m, alpha, delta_psi, epsilon)<EOL>H = local_hour_angle(v, lon, alpha)<EOL>xi = equatorial_horizontal_parallax(R)<EOL>u = uterm(lat)<EOL>x = xterm(u, lat, elev)<EOL>y = yterm(u, lat, elev)<EOL>delta_alpha = parallax_sun_right_ascension(x, xi, H, delta)<EOL>delta_prime = topocentric_sun_declination(delta, x, y, xi, delta_alpha,<EOL>H)<EOL>H_prime = topocentric_local_hour_angle(H, delta_alpha)<EOL>e0 = topocentric_elevation_angle_without_atmosphere(lat, delta_prime,<EOL>H_prime)<EOL>delta_e = atmospheric_refraction_correction(pressure, temp, e0,<EOL>atmos_refract)<EOL>e = topocentric_elevation_angle(e0, delta_e)<EOL>theta = topocentric_zenith_angle(e)<EOL>theta0 = topocentric_zenith_angle(e0)<EOL>gamma = topocentric_astronomers_azimuth(H_prime, delta_prime, lat)<EOL>phi = topocentric_azimuth_angle(gamma)<EOL>out[<NUM_LIT:0>, i] = theta<EOL>out[<NUM_LIT:1>, i] = theta0<EOL>out[<NUM_LIT:2>, i] = e<EOL>out[<NUM_LIT:3>, i] = e0<EOL>out[<NUM_LIT:4>, i] = phi<EOL>out[<NUM_LIT:5>, i] = eot<EOL><DEDENT>
Loop through the time array and calculate the solar position