In [1]:
file = '/Users/schriste/Downloads/go06940108.fits'
In [2]:
from matplotlib import pyplot as plt
In [3]:
%pylab inline
In [4]:
from numpy import nan
In [5]:
import pandas as pd
In [6]:
from astropy.io import fits as pyfits
In [7]:
from sunpy.time import parse_time
In [8]:
from datetime import timedelta
In [9]:
fits = pyfits.open(file)
In [10]:
fits[0].header
Out[10]:
In [11]:
fits[0].data
Out[11]:
In [12]:
seconds = fits[0].data[0]
In [13]:
header = fits[0].header
header['TIMEZERO']
Out[13]:
In [14]:
parse_time(fits[0].header['TIMEZERO'])
Out[14]:
In [15]:
start_time = parse_time(fits[0].header['TIMEZERO'])
In [16]:
(seconds[0] - np.floor(seconds[0])) * 1e6
Out[16]:
In [17]:
times = [start_time + timedelta(seconds = int(np.floor(s)), microseconds = int((s - np.floor(s))*1e6)) for s in seconds]
In [18]:
times[-1]
Out[18]:
In [19]:
xrsb = fits[0].data[1]
In [20]:
xrsa = fits[0].data[2]
In [21]:
xrsb[xrsb == -99999] = nan
In [22]:
xrsa[xrsa == -99999] = nan
In [23]:
newxrsa = xrsa.byteswap().newbyteorder()
newxrsb = xrsb.byteswap().newbyteorder()
In [24]:
d = {'xrsa': newxrsa, 'xrsb': newxrsb}
In [25]:
goes = pd.DataFrame(d, index=times)
In [26]:
plt.figure()
Out[26]:
In [27]:
goes.plot()
Out[27]:
In [28]:
file = '/Users/schriste/sunpy/data/go1020010303.fits'
In [29]:
fits = pyfits.open(file)
In [30]:
fits[0].header
Out[30]:
In [31]:
fits[0].data
In [32]:
fits[1].data
Out[32]:
In [33]:
fits[1].data[0]
Out[33]:
In [34]:
fits[2].data[0]
Out[34]:
In [35]:
file = '/Users/schriste/sunpy/data/go1220040303.fits'
In [36]:
fits = pyfits.open(file)
In [37]:
fits[0].header
Out[37]:
In [38]:
file = '/Users/schriste/sunpy/data/go1520130303.fits'
In [39]:
fits = pyfits.open(file)
In [40]:
fits[0].header
Out[40]:
In [41]:
fits[1].header
Out[41]:
In [42]:
fits[2].data[0][0]
Out[42]:
In [43]:
fits[1].data
Out[43]:
In [44]:
fits[2].header
Out[44]:
In [45]:
len(fits)
Out[45]:
In [46]:
start_time = datetime.datetime.strptime(fits[0].header['DATE-OBS'], '%d/%m/%Y')
In [47]:
seconds = fits[2].data[0][0]
In [48]:
data = fits[2].data
In [49]:
data.columns
Out[49]:
In [50]:
data['FLUX'][:,:,0]
Out[50]:
In [51]:
header
Out[51]:
In [52]:
datetime.datetime.strptime(fits[0].header['DATE-OBS'], '%d/%m/%Y')
Out[52]:
In [53]:
seconds_from_start = fits[2].data['TIME']
In [54]:
seconds_from_start[0]
Out[54]:
In [63]:
fits[2].data['FLUX'][:,:,1]
Out[63]:
In [89]:
xrsb = fits[2].data['FLUX'][:,:,0][0]
In [90]:
xrsa = fits[2].data['FLUX'][:,:,1][0]
In [91]:
xrsb[xrsb == -99999] = nan
In [92]:
print(len(xrsb))
In [93]:
xrsb[0]
Out[93]:
In [81]:
newxrsb = xrsb.byteswap().newbyteorder()
In [82]:
newxrsa.shape
Out[82]:
In [128]:
file = '/Users/schriste/sunpy/data/go1020080325.fits'
fits = pyfits.open(file)
In [129]:
fits[0].header
Out[129]:
In [130]:
fits[1].header
Out[130]:
In [131]:
fits[2].header
Out[131]:
In [132]:
fits[2].data['TIME'][0]
Out[132]:
In [140]:
fits[2].data['FLUX'][0][:,0]
Out[140]:
In [138]:
file = '/Users/schriste/sunpy/data/go09980303.fits'
fits = pyfits.open(file)
In [139]:
fits[2].data['FLUX'].shape
Out[139]:
In [ ]: