2 years ago

#62437

test-img

Vikram Chandra

Buffer is too small for requested array-Astropy

I'm reading TESS data and as you might expect it can be really large, My Buffer is too small. Is there a way I can avoid this error? Like maybe skip the file that has a large file? Or is there a more permanent solution(not involving more memory)? My Code is below, along with the Full Error

from lightkurve import TessTargetPixelFile
import lightkurve as lk
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def func(tpf):
    tpf.plot(aperture_mask=tpf.pipeline_mask);
    lc = tpf.to_lightcurve()
    mask = (lc.time.value < 1464)
    masked_lc = lc[mask]
    clipped_lc = masked_lc.remove_outliers(sigma=5);
    flat_lc = clipped_lc.flatten()
    binned_lc = flat_lc.bin(binsize=5)
    periodogram = binned_lc.to_periodogram(method="bls", period=np.arange(1, 20, 0.001))
    print(periodogram.plot())
    planet_b_period = periodogram.period_at_max_power
    planet_b_t0 = periodogram.transit_time_at_max_power
    planet_b_dur = periodogram.duration_at_max_power
    ax = binned_lc.fold(period=planet_b_period, epoch_time=planet_b_t0).scatter()
    ax.set_xlim(-5, 5);
    best_fit_period = periodogram.period_at_max_power
    print('Best fit period: {:.3f}'.format(best_fit_period))
    bfc=best_fit_period
    print(bfc)
    folded_lc = binned_lc.fold(period=bfc)
    folded_lc.scatter(s=7);
    plt.show()
    planet_b_period
    planet_b_model = periodogram.get_transit_model(period=planet_b_period,
                                           transit_time=planet_b_t0,
                                           duration=planet_b_dur)
    ax = binned_lc.fold(planet_b_period, planet_b_t0).scatter(s=7)
    planet_b_model.fold(planet_b_period, planet_b_t0).plot(ax=ax, c='r', lw=2)
    ax.set_xlim(-5, 5);
dataset=pd.read_csv("all_targets_S001_v1.csv")
d=dataset["TICID"]
print(d)
IDs=[]
for i in range(len(d)):
    IDs.append("TIC"+str(d[i]))

for i in range(len(IDs)):
    tpf_file = lk.search_targetpixelfile(IDs[i], mission="TESS", sector=5).download(quality_bitmask='default')
    try:
        func(tpf_file)
        continue
    except:
        continue

Thanks

The Full Error

WARNING: File may have been truncated: actual file length (262144) is smaller than the expected size (46402560) [astropy.io.fits.file]
Traceback (most recent call last):
  File "lc.py", line 42, in <module>
    tpf_file = lk.search_targetpixelfile(IDs[i], mission="TESS", sector=5).download(quality_bitmask='default')
  File "C:\ProgramData\Anaconda3\lib\site-packages\lightkurve\utils.py", line 555, in wrapper
    return f(*args, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\lightkurve\search.py", line 355, in download
    return self._download_one(
  File "C:\ProgramData\Anaconda3\lib\site-packages\lightkurve\search.py", line 290, in _download_one
    return read(path, quality_bitmask=quality_bitmask, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\lightkurve\io\read.py", line 112, in read
    return getattr(__import__("lightkurve"), filetype)(path_or_url, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\lightkurve\targetpixelfile.py", line 2727, in __init__
    quality_array=self.hdu[1].data["QUALITY"], bitmask=quality_bitmask
  File "C:\ProgramData\Anaconda3\lib\site-packages\astropy\utils\decorators.py", line 758, in __get__
    val = self.fget(obj)
  File "C:\ProgramData\Anaconda3\lib\site-packages\astropy\io\fits\hdu\table.py", line 399, in data
    data = self._get_tbdata()
  File "C:\ProgramData\Anaconda3\lib\site-packages\astropy\io\fits\hdu\table.py", line 171, in _get_tbdata
    raw_data = self._get_raw_data(self._nrows, columns.dtype,
  File "C:\ProgramData\Anaconda3\lib\site-packages\astropy\io\fits\hdu\base.py", line 520, in _get_raw_data
    return self._file.readarray(offset=offset, dtype=code, shape=shape)
  File "C:\ProgramData\Anaconda3\lib\site-packages\astropy\io\fits\file.py", line 330, in readarray
    return np.ndarray(shape=shape, dtype=dtype, offset=offset,
TypeError: buffer is too small for requested array

python

bigdata

astropy

astronomy

fits

0 Answers

Your Answer

Accepted video resources