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 = ([
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