Пример #1
0
        target_coord = SkyCoord(ra=r*u.deg, dec=d*u.deg)
        target = FixedTarget(coord=target_coord, name="source")
        
        
        #Airmasses at observatory 1
        
        airmass_obs1=obs1.altaz(times, target).secz          #calculate airmass for observatory 1
        masked_airmass_obs1 = np.ma.array(airmass_obs1, mask=airmass_obs1 < 1)#mask airmasses for observatory 1

        
        #Airmasses at observatory2
        
        airmass_obs2=obs2.altaz(times,target).secz   #calculate airmass for observatory 2
        masked_airmass_obs2 = np.ma.array(airmass_obs2, mask=airmass_obs2 < 1)#mask airmasses for observatory 2
        
        xc=obs1.is_night(times,horizon= -12*u.deg)  #Times that it is night time at observatory 1 from time list 
        cc=obs2.is_night(times,horizon= -12*u.deg)  #Times that it is night time at observatory 2 from time list 
        
        
        
        
        # For the case night only observation for observatory 1 and 2 
        if night_only_obs1=='y'and night_only_obs2=='y':
            print(f'Night only observation for BOTH Observatory {obs1.name.upper()} and {obs2.name.upper()}')

            dk={'datetimes':times,'night_obs1':xc,'night_obs2':cc,
                'obs1_airmass':masked_airmass_obs1,'obs2_airmass':masked_airmass_obs2} #Create dictionary of values 

            df1=pd.DataFrame(data=dk)

            df=df1.round(3 )# Rounding up values 
def astroplan_test():
    '''
    '''

    currentDate = time.strftime("%Y-%m-%d")
    currentTime = time.strftime("%H:%M:%S")
    print('\n  Today is ', currentDate, ' time is ', currentTime, '\n')

    longitude = '36d56m29.000s'
    latitude = '+49d38m10.000s'
    elevation = 156 * u.m
    location = EarthLocation.from_geodetic(longitude, latitude, elevation)

    observer = Observer(
        name='UTR-2 radio telescope',
        location=location,
        pressure=0.615 * u.bar,
        relative_humidity=0.11,
        temperature=0 * u.deg_C,
        timezone=timezone('Europe/Kiev'),
        description=
        "UTR-2 radio telescope, Volokhiv Yar village Kharkiv region Ukraine")

    print(' Observer:', observer.name)

    coordinates = SkyCoord('20h41m25.9s', '+45d16m49.3s', frame='icrs')
    deneb = FixedTarget(name='Deneb', coord=coordinates)

    obs_time = Time('2019-08-06 23:00:00')

    #utr2 = Observer.at_site(observer)

    #obs_time = Time(currentDate +' '+ currentTime)   # Pay attention, not UTC, local time!

    print(' At', obs_time, ' Night is: ', observer.is_night(obs_time))
    print(' Is Deneb on the sky: ', observer.target_is_up(obs_time, deneb))

    sunset_tonight = observer.sun_set_time(obs_time, which='nearest')
    sunrise_tonight = observer.sun_rise_time(obs_time, which='nearest')

    print(' Sunset:', sunset_tonight.iso, ' Sunrise: ', sunrise_tonight.iso)

    # Plotting
    deneb_rise = observer.target_rise_time(obs_time, deneb) + 5 * u.minute
    deneb_set = observer.target_set_time(obs_time, deneb) - 5 * u.minute
    print(' Deneb is up from ', deneb_rise, 'till', deneb_set)

    deneb_style = {'color': 'r'}
    '''
    start = Time('2019-08-06 12:00:00')
    end = Time('2019-08-07 12:00:00')

    time_window = start + (end - start) * np.linspace(0, 1, 20)

    plot_sky(deneb, observer, time_window, style_kwargs=deneb_style)
    plt.legend(loc='center left', bbox_to_anchor=(1.25, 0.5))
    plt.show()
    '''

    start_time = Time('2019-08-06 18:00:00')
    end_time = Time('2019-08-07 09:00:00')
    delta_t = end_time - start_time
    observe_time = start_time + delta_t * np.linspace(0, 1, 75)
    plot_altitude(deneb, observer, observe_time)

    plt.grid(b=True, which='both', color='silver', linestyle='-')
    plt.show()

    return
masked_airmass_obs2 = np.ma.array(airmass_obs2, mask=airmass_obs2 < 1)

#Creating a dictionary for the dataframe
dk = {
    'datetimes': dt,
    'obs1_airmass': masked_airmass_obs1,
    'obs2_airmass': masked_airmass_obs2
}
#dk

##################################################################################################

#######################################################################################################

#Extracting the night times at obseratory 1
night_index = np.where(obs1.is_night(dt, horizon=-12 * u.deg) == True)
night_ams_obs1 = masked_airmass_obs1[night_index]
times_x = np.array(dt)
night_times_obs1 = times_x[night_index]
#print('night times obs1:',night_times_obs1)

dt_nobs1 = ([
    datetime.strptime(x, '%Y-%m-%d %H:%M:%S') for x in night_times_obs1
])

#Extracting the night times at obseratory 2
night_index_obs2 = np.where(obs2.is_night(dt, horizon=-12 * u.deg) == True)
night_ams_obs2 = masked_airmass_obs2[night_index_obs2]

night_times_obs2 = times_x[night_index_obs2]
dt_nobs2 = ([
Пример #4
0
if here.altitude is None:
    altitude = 0
else:
    altitude = here.altitude

print(f"Detected location using {location_source}.")
print(f"You're near {here.city} (coords: {here.longitude} {here.latitude}.")
print(f"Estimated elevation: {altitude}m.")

location = Observer(longitude=here.longitude * u.deg,
                    latitude=here.latitude * u.deg,
                    elevation=altitude * u.m,
                    timezone='Europe/Lisbon')

print("Is it night at your observatory?", location.is_night(time))

# star_names = ['NGC' + str(i) for i in range(1, 7000)]
star_names = ['M' + str(i) for i in range(1, 111)]


def get_star_info(obj):
    star = FixedTarget.from_name(obj)
    is_up = location.target_is_up(time, star)

    if not is_up:
        return None, None, None, is_up

    rise_time = location.target_rise_time(time, star)
    set_time = location.target_set_time(time, star)
    altitude_at_rise = location.altaz(rise_time, star).alt