Астропия: получение значений времени, когда солнце находится в указанном азимутальном диапазоне
Я хотел бы получить диапазон времени, когда азимут Солнца составляет, скажем, от 132 до 150 градусов. Как я могу сделать это с астропией? (или любые другие астрономические модули на основе Python)
Пока что я написал это в своем коде, чтобы попытаться выполнить интерполяцию в качестве отправной точки:
import numpy as np
import matplotlib.pyplot as plt
from astropy import units as u
from astropy.time import Time
from astropy.coordinates import SkyCoord, EarthLocation, AltAz, get_sun
from scipy import interpolate
melbourne= EarthLocation(lat=-37.814*u.deg, lon=144.96332*u.deg, height=37*u.m)
utcoffset = +11*u.hour # AEDT
midnight = Time('2018-2-08 00:00:00') + utcoffset
time_range = np.linspace(0, 24, 1000)*u.hour
times = midnight + time_range
altazframe = AltAz(obstime=times, location=melbourne)
sunaltazs = get_sun(times).transform_to(altazframe)
x=times
y=sunaltazs.az
#interpolate values
f = interpolate.interp1d(sunaltazs.az, times, kind='cubic')
xnew=f(ynew)
Но я получаю ошибку во второй последней строке, утверждая: ValueError: setting an array element with a sequence.
Несмотря на эту ошибку, я хотел проверить, нахожусь ли я на правильном пути для интерполяции значений времени, когда солнце находится в диапазоне от>132 градусов до< 150 градусов. Если так, как я могу решить эту ошибку? Иначе, есть ли другие лучшие способы сделать это?