Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
all_postcards = []
for i in range(len(post_cens)):
name = postcard_fmt.format(post_cens['x'].data[i],
post_cens['y'].data[i])
all_postcards.append(name)
self.all_postcards = np.array(all_postcards)
if local == False:
postcard_obs = Observations.query_criteria(provenance_name="ELEANOR",
target_name=self.postcard,
obs_collection="HLSP")
if len(postcard_obs) > 0:
product_list = Observations.get_product_list(postcard_obs)
self.pointing = check_pointing(self.sector, self.camera, self.chip, self.pm_dir)
if self.pointing is None:
extension = ["pc.fits", "bkg.fits", "pm.txt"]
else:
extension = ["pc.fits", "bkg.fits"]
results = Observations.download_products(product_list, extension=extension,
download_dir=self.fn_dir)
postcard_path = results['Local Path'][0]
self.postcard_path = '/'.join(e for e in postcard_path.split('/')[:-1])
self.postcard = results['Local Path'][1].split('/')[-1]
self.postcard_bkg = results['Local Path'][0].split('/')[-1]
self.mast_results = results
self.cutout = None # Attribute for TessCut only
# only downloaded the pointing model if the search for it above failed, so only
print("Error on using juliet function `get_all_TESS_data`: astroquery.mast not found.")
obs_table = Observations.query_object(object_name,radius=radius)
out_dict = {}
times = {}
fluxes = {}
fluxes_errors = {}
for i in range(len(obs_table['dataURL'])):
if 's_lc.fits' in obs_table['dataURL'][i]:
fname = obs_table['dataURL'][i].split('/')[-1]
metadata = fname.split('-')
if len(metadata) == 5:
# Extract metadata:
sector = np.int(metadata[1].split('s')[-1])
ticid = np.int(metadata[2])
# Download files:
data_products = Observations.get_product_list(obs_table[i])
manifest = Observations.download_products(data_products)
# Read lightcurve file:
d,h = fits.getdata('mastDownload/TESS/'+fname[:-8]+'/'+fname,header=True)
t,fs,fserr,f,ferr = d['TIME']+h['BJDREFI'],d['SAP_FLUX'],d['SAP_FLUX_ERR'],\
d['PDCSAP_FLUX'],d['PDCSAP_FLUX_ERR']
idx_goodpdc = np.where((f != 0.)&(~np.isnan(f)))[0]
idx_goodsap = np.where((fs != 0.)&(~np.isnan(fs)))[0]
# Save to output dictionary:
if 'TIC' not in out_dict.keys():
out_dict['TIC'] = ticid
out_dict[sector] = {}
out_dict[sector]['TIME_PDCSAP_FLUX'] = t[idx_goodpdc]
out_dict[sector]['PDCSAP_FLUX'] = f[idx_goodpdc]
out_dict[sector]['PDCSAP_FLUX_ERR'] = ferr[idx_goodpdc]
out_dict[sector]['TIME_SAP_FLUX'] = t[idx_goodsap]
out_dict[sector]['SAP_FLUX'] = fs[idx_goodsap]
all_errors.append(lcerrors)
all_flags.append(lcflags)
sectors.append(sector)
if delete_fits == 'y':
os.system('rm -rf '+moonpydir+'/TESS_lcs/'+lcdownload_name)
except:
traceback.print_exc()
time.sleep(60)
obsTable = Observations.query_object(targID, radius='0.001 deg')
TESS_idxs = np.where(np.array(obsTable['obs_collection']) == 'TESS')[0]
minTESSidx, maxTESSidx = np.nanmin(TESS_idxs), np.nanmax(TESS_idxs)+1
dataproducts = Observations.get_product_list(obsTable[minTESSidx:maxTESSidx])
timeseries_idxs = np.where(np.array(dataproducts['dataproduct_type']) == 'timeseries')[0]
obsids = np.array(dataproducts)['obsID'][timeseries_idxs]
for obsid in np.unique(obsids):
print ("obsid = ", obsid)
dataproductsbyID = Observations.get_product_list(obsid)
manifest = Observations.download_products(dataproductsbyID, download_dir=moonpydir+'/TESS_lcs', dataproduct_type='timeseries', extension='lc.fits', mrp_only=True)
for nmanfile,manfile in enumerate(manifest):
manfilepath = manfile[0]
if "_lc.fits" in manfilepath:
print('found the light curve!')
### this is the only one you want to save!
lcpath = manfilepath
print("lcpath = ", lcpath)
except:
traceback.print_exc()
time.sleep(60)
obsTable = Observations.query_object(targID, radius='0.001 deg')
TESS_idxs = np.where(np.array(obsTable['obs_collection']) == 'TESS')[0]
minTESSidx, maxTESSidx = np.nanmin(TESS_idxs), np.nanmax(TESS_idxs)+1
dataproducts = Observations.get_product_list(obsTable[minTESSidx:maxTESSidx])
timeseries_idxs = np.where(np.array(dataproducts['dataproduct_type']) == 'timeseries')[0]
obsids = np.array(dataproducts)['obsID'][timeseries_idxs]
for obsid in np.unique(obsids):
print ("obsid = ", obsid)
dataproductsbyID = Observations.get_product_list(obsid)
manifest = Observations.download_products(dataproductsbyID, download_dir=moonpydir+'/TESS_lcs', dataproduct_type='timeseries', extension='lc.fits', mrp_only=True)
for nmanfile,manfile in enumerate(manifest):
manfilepath = manfile[0]
if "_lc.fits" in manfilepath:
print('found the light curve!')
### this is the only one you want to save!
lcpath = manfilepath
print("lcpath = ", lcpath)
### open the file, grab the data!
lcfile = pyfits.open(lcpath)
lcfiles.append(lcfile)
lcdata = lcfile[1].data
lctimes = np.array(lcdata['TIME'])
tasoc_flux_bkg : np.array
tasoc_pixel_quality : np.array
Quality flags for the data; use these not `tasoc_quality`.
tasoc_pos_corr1 : np.array
tasoc_pos_corr2 : np.array
tasoc_mom_centr1 : np.array
tasoc_mom_centr2 : np.array
"""
products = Observations.query_object(objectname="TIC"+str(self.tic))
column = np.where( (products['provenance_name'] == 'TASOC') &
(products['target_name'] == str(self.tic)) &
(products['sequence_number'] == self.sector) )[0]
if len(column) > 0:
download = Observations.get_product_list(products[column])
manifest = Observations.download_products(download, download_dir=self.download_dir)
self.tasoc_path = manifest["Local Path"].data[0]
hdu = fits.open(self.tasoc_path)
self.tasoc_header = hdu[0].header
self.tasoc_tpf = hdu[2].data
self.tasoc_aperture = hdu[3].data
self.tasoc_time = hdu[1].data['TIME']
self.tasoc_quality = hdu[1].data['QUALITY']
self.tasoc_timecorr = hdu[1].data['TIMECORR']
self.tasoc_cadenceno = hdu[1].data['CADENCENO']
self.tasoc_flux_raw = hdu[1].data['FLUX_RAW']
self.tasoc_flux_bkg = hdu[1].data['FLUX_BKG']
self.tasoc_flux_corr = hdu[1].data['FLUX_CORR']
self.tasoc_pos_corr1 = hdu[1].data['POS_CORR1']