In [1]:
file = '/Users/schriste/Downloads/go06940108.fits'

In [2]:
from matplotlib import pyplot as plt

In [3]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [4]:
from numpy import nan

In [5]:
import pandas as pd


/Users/schriste/anaconda/lib/python2.7/site-packages/pytz/__init__.py:29: UserWarning: Module _imaging was already imported from /Users/schriste/anaconda/lib/python2.7/site-packages/PIL/_imaging.so, but /Users/schriste/.local/lib/python2.7/site-packages is being added to sys.path
  from pkg_resources import resource_stream

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]:
SIMPLE  =                    T / Written by IDL:   9-Jan-1994 02:01:38.00       
EXTEND  =                    T / FITS file contains extensions                  
NUMEXT  =                    2 / no. of extensions in file                      
BITPIX  =                  -32 / IEEE single precision floating point           
NAXIS   =                    2 / no. of dimensions in array                     
NAXIS1  =                28236 / no. of time intervals                          
NAXIS2  =                    3 / time, X-ray long, X-ray short                  
DATE-OBS= '08/01/94 '          / UT date of first observation (DD/MM/YY)        
TIME-OBS= '0000:01 '           / time of first observation (HHMM:SS)            
TIMEZERO=          473990400.0 / DATE-OBS in seconds from 79/1/1,0              
DATE-END= '08/01/94 '          / UT date of last observation (DD/MM/YY)         
TIME-OBS= '2359:58 '           / time of last observation (HHMM:SS)             
TELESCOP= 'GOES 6   '          / spacecraft                                     
INSTRUME= 'X-ray Detector'                                                      
OBJECT  = 'Sun'                                                                 
ORIGIN  = 'SDAC/GSFC '         / written by Solar DAC at GSFC                   
DATE    = '09/01/94'           / file creation date (DD/MM/YY)                  
                                                                                
CTYPE1  = 'seconds '     / seconds into DATE-OBS of 3s interval (see comments)  
CTYPE2  = 'watts / m^2'  / in 1. - 8. Angstrom band                             
CTYPE3  = 'watts / m^2'  / in .5 - 4. Angstrom band                             
COMMENT = 'Energy band information given in extension 1'                        
COMMENT = 'Status word information given in extension 2'                        
COMMENT = 'Times given are usually 2-3 seconds after start time of interval.'   
COMMENT = 'Can't be more exact due to analog filtering of data with time '      
COMMENT = 'constant of 6-10 seconds.'                                           
COMMENT = 'Flux value of -99999.0 means no data.'                               
COMMENT = 'Reference: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;'  
COMMENT = 'Information for Data Users.  Donnelly et al,  June 1977.'            
COMMENT = 'NOAA TM ERL SEL-48'                                                  
COMMENT = 'Reference: SMS GOES Space Environment Monitor Subsystem,'            
COMMENT = 'Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.'               
COMMENT = 'Reference: Expresions to Determine Temperatures and Emission'        
COMMENT = 'Measures for Solar X-ray events from GOES Measurements.'             
COMMENT = 'Thomas et al, 1985, Solar Physics 95, pp 323-329.'                   

In [11]:
fits[0].data


Out[11]:
array([[  1.41406250e+00,   4.47656250e+00,   7.53125000e+00, ...,
          8.63920625e+04,   8.63951250e+04,   8.63981797e+04],
       [  6.19950015e-07,   6.16847046e-07,   6.23053040e-07, ...,
          4.33770026e-07,   4.30667029e-07,   4.24461007e-07],
       [  5.13070031e-09,   5.41100009e-09,   5.41100009e-09, ...,
          3.16860005e-09,   3.16860005e-09,   1.76710002e-09]], dtype=float32)

In [12]:
seconds = fits[0].data[0]

In [13]:
header = fits[0].header
header['TIMEZERO']


Out[13]:
473990400.0

In [14]:
parse_time(fits[0].header['TIMEZERO'])


Out[14]:
datetime.datetime(1994, 1, 8, 0, 0)

In [15]:
start_time = parse_time(fits[0].header['TIMEZERO'])

In [16]:
(seconds[0] - np.floor(seconds[0])) * 1e6


Out[16]:
414062.5

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]:
datetime.datetime(1994, 1, 8, 23, 59, 58, 179687)

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]:
<matplotlib.figure.Figure at 0x107da1b90>
<matplotlib.figure.Figure at 0x107da1b90>

In [27]:
goes.plot()


Out[27]:
<matplotlib.axes.AxesSubplot at 0x107a86650>

In [28]:
file = '/Users/schriste/sunpy/data/go1020010303.fits'

In [29]:
fits = pyfits.open(file)

In [30]:
fits[0].header


Out[30]:
SIMPLE  =                    T /Written by IDL:  Sun Mar  4 02:01:17 2001       
BITPIX  =                    8 /                                                
NAXIS   =                    0 /                                                
EXTEND  =                    T /File contains extensions                        
DATE    = '04/03/2001'         /file creation date                              
NUMEXT  =                    3 /no. of extensions in file                       
TELESCOP= 'GOES 10 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
DATE-OBS= '03/03/2001'         /date of first obs.(DD/MM/YYYY)                  
TIME-OBS= '00:00:00.000'       /UT time of first obs.(HH:MM:SS.XXX)             
DATE-END= '03/03/2001'         /date of last obs.(DD/MM/YYYY)                   
TIME-END= '23:59:57.000'       /UT time of last obs.(HH:MM:SS.XXX)              
COMMENT Energy band information given in extension 1                            
COMMENT Fluxes information given in extension 2                                 
COMMENT Status word information given in extension 3                            
COMMENT Ref.: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;           
COMMENT Information for Data Users. Donnelly et al,  June 1977.                 
COMMENT NOAA TM ERL SEL-48                                                      
COMMENT Ref.: SMS GOES Space Environment Monitor Subsystem,                     
COMMENT Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.                   
COMMENT Ref.:Expresions to Determine Temperatures and Emission                  
COMMENT Measures for Solar X-ray events from GOES Measurements.                 
COMMENT Thomas et al, 1985, Solar Physics 95, pp 323-329.                       

In [31]:
fits[0].data

In [32]:
fits[1].data


Out[32]:
FITS_rec([(array([[ 1. ,  8. ],
       [ 0.5,  4. ]], dtype=float32))], 
      dtype=[('EDGES', '>f4', (4,))])

In [33]:
fits[1].data[0]


Out[33]:
(array([[ 1. ,  8. ],
       [ 0.5,  4. ]], dtype=float32))

In [34]:
fits[2].data[0]


Out[34]:
(array([  0.00000000e+00,   3.00000000e+00,   6.00000000e+00, ...,
         8.63910000e+04,   8.63940000e+04,   8.63970000e+04]), array([[  4.48046450e-07,   7.11692794e-09],
       [  4.48046450e-07,   7.11692838e-09],
       [  4.48048951e-07,   7.11701320e-09],
       ..., 
       [  6.33750631e-07,   1.65856786e-08],
       [  6.33743582e-07,   1.65854406e-08],
       [  6.33743582e-07,   1.65854406e-08]], dtype=float32))

In [35]:
file = '/Users/schriste/sunpy/data/go1220040303.fits'

In [36]:
fits = pyfits.open(file)

In [37]:
fits[0].header


Out[37]:
SIMPLE  =                    T /Written by IDL:  Mon Aug  2 12:11:13 2004       
BITPIX  =                    8 /                                                
NAXIS   =                    0 /                                                
EXTEND  =                    T /File contains extensions                        
DATE    = '02/08/2004'         /file creation date                              
NUMEXT  =                    3 /no. of extensions in file                       
TELESCOP= 'GOES 12 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
DATE-OBS= '03/03/2004'         /date of first obs.(DD/MM/YYYY)                  
TIME-OBS= '00:00:00.000'       /UT time of first obs.(HH:MM:SS.XXX)             
DATE-END= '03/03/2004'         /date of last obs.(DD/MM/YYYY)                   
TIME-END= '23:59:57.000'       /UT time of last obs.(HH:MM:SS.XXX)              
COMMENT Energy band information given in extension 1                            
COMMENT Fluxes information given in extension 2                                 
COMMENT Status word information given in extension 3                            
COMMENT Ref.: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;           
COMMENT Information for Data Users. Donnelly et al,  June 1977.                 
COMMENT NOAA TM ERL SEL-48                                                      
COMMENT Ref.: SMS GOES Space Environment Monitor Subsystem,                     
COMMENT Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.                   
COMMENT Ref.:Expresions to Determine Temperatures and Emission                  
COMMENT Measures for Solar X-ray events from GOES Measurements.                 
COMMENT Thomas et al, 1985, Solar Physics 95, pp 323-329.                       

In [38]:
file = '/Users/schriste/sunpy/data/go1520130303.fits'

In [39]:
fits = pyfits.open(file)

In [40]:
fits[0].header


Out[40]:
SIMPLE  =                    T /Written by IDL:  Fri Mar  8 15:15:17 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    0 /                                                
EXTEND  =                    T /File contains extensions                        
DATE    = '08/03/2013'         /file creation date                              
NUMEXT  =                    3 /no. of extensions in file                       
TELESCOP= 'GOES 15 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
DATE-OBS= '03/03/2013'         /date of first obs.(DD/MM/YYYY)                  
TIME-OBS= '00:00:00.000'       /UT time of first obs.(HH:MM:SS.XXX)             
DATE-END= '03/03/2013'         /date of last obs.(DD/MM/YYYY)                   
TIME-END= '23:59:56.329'       /UT time of last obs.(HH:MM:SS.XXX)              
COMMENT Energy band information given in extension 1                            
COMMENT Fluxes information given in extension 2                                 
COMMENT Status word information given in extension 3                            
COMMENT Ref.: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;           
COMMENT Information for Data Users. Donnelly et al,  June 1977.                 
COMMENT NOAA TM ERL SEL-48                                                      
COMMENT Ref.: SMS GOES Space Environment Monitor Subsystem,                     
COMMENT Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.                   
COMMENT Ref.:Expresions to Determine Temperatures and Emission                  
COMMENT Measures for Solar X-ray events from GOES Measurements.                 
COMMENT Thomas et al, 1985, Solar Physics 95, pp 323-329.                       

In [41]:
fits[1].header


Out[41]:
XTENSION= 'BINTABLE'           /Written by IDL:  Fri Mar  8 15:15:17 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                   16 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    1 /Number of columns                               
EXTNAME = 'EDGES   '           /name of this binary extension                   
DATE    = '08/03/2013'         /file creation date                              
TELESCOP= 'GOES 15 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
TFORM1  = '4E      '           /Real*4 (floating point)                         
TTYPE1  = 'EDGES   '           /Label for column 1                              
TDIM1   = '(2,2)   '           /Array dimensions for column 1                   
TUNIT1  = 'angstrom'           /Units of column 1                               

In [42]:
fits[2].data[0][0]


Out[42]:
array([ -1.57100010e+00,   4.74999905e-01,   2.52499986e+00, ...,
         8.63922350e+04,   8.63942820e+04,   8.63963290e+04])

In [43]:
fits[1].data


Out[43]:
FITS_rec([(array([[ 1. ,  8. ],
       [ 0.5,  4. ]], dtype=float32))], 
      dtype=[('EDGES', '>f4', (4,))])

In [44]:
fits[2].header


Out[44]:
XTENSION= 'BINTABLE'           /Written by IDL:  Fri Mar  8 15:15:17 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =               670112 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    2 /Number of columns                               
MJDREF  =                43874 /MJD for reference file                          
TIMESYS = 'MJD     '           /The time system is MJD                          
TIMEUNIT= 's       '           /Unit for TSTART and TSTOP                       
TIMEZERO=                56354 /Time zero off-set                               
TSTART  =       -1.57100009918 /Observation start time                          
TSTOP   =        86396.3290000 /Observation stop time                           
EXTNAME = 'FLUXES  '           /name of this binary extension                   
DATE    = '08/03/2013'         /file creation date                              
TELESCOP= 'GOES 15 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
TFORM1  = '41882D  '           /Real*8 (double precision)                       
TTYPE1  = 'TIME    '           /Label for column 1                              
TUNIT1  = 's       '           /Units of column 1                               
TFORM2  = '83764E  '           /Real*4 (floating point)                         
TTYPE2  = 'FLUX    '           /Label for column 2                              
TDIM2   = '(2,41882)'          /Array dimensions for column 2                   
TUNIT2  = 'W /m**2 '           /Units of column 2                               
COMMENT Times given for GOES < 13 are usually 2-3 seconds after start time of.  
COMMENT interval.  Can not be more exact due to analog filtering of data with ti
COMMENT constant of 6-10 seconds.                                               
COMMENT GOES 13,14,15 times are the center of the 2.048s exposure interval      
COMMENT Flux value of -99999.0 means no data.                                   

In [45]:
len(fits)


Out[45]:
4

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]:
ColDefs(
    name = 'TIME'; format = '41882D'; unit = 's'
    name = 'FLUX'; format = '83764E'; unit = 'W /m**2'; dim = '(2,41882)'
)

In [50]:
data['FLUX'][:,:,0]


Out[50]:
array([[  3.67089996e-07,   3.74959995e-07,   3.69709994e-07, ...,
          2.96259998e-07,   2.96259998e-07,   2.98890001e-07]], dtype=float32)

In [51]:
header


Out[51]:
SIMPLE  =                    T / Written by IDL:   9-Jan-1994 02:01:38.00       
EXTEND  =                    T / FITS file contains extensions                  
NUMEXT  =                    2 / no. of extensions in file                      
BITPIX  =                  -32 / IEEE single precision floating point           
NAXIS   =                    2 / no. of dimensions in array                     
NAXIS1  =                28236 / no. of time intervals                          
NAXIS2  =                    3 / time, X-ray long, X-ray short                  
DATE-OBS= '08/01/94 '          / UT date of first observation (DD/MM/YY)        
TIME-OBS= '0000:01 '           / time of first observation (HHMM:SS)            
TIMEZERO=          473990400.0 / DATE-OBS in seconds from 79/1/1,0              
DATE-END= '08/01/94 '          / UT date of last observation (DD/MM/YY)         
TIME-OBS= '2359:58 '           / time of last observation (HHMM:SS)             
TELESCOP= 'GOES 6   '          / spacecraft                                     
INSTRUME= 'X-ray Detector'                                                      
OBJECT  = 'Sun'                                                                 
ORIGIN  = 'SDAC/GSFC '         / written by Solar DAC at GSFC                   
DATE    = '09/01/94'           / file creation date (DD/MM/YY)                  
                                                                                
CTYPE1  = 'seconds '     / seconds into DATE-OBS of 3s interval (see comments)  
CTYPE2  = 'watts / m^2'  / in 1. - 8. Angstrom band                             
CTYPE3  = 'watts / m^2'  / in .5 - 4. Angstrom band                             
COMMENT = 'Energy band information given in extension 1'                        
COMMENT = 'Status word information given in extension 2'                        
COMMENT = 'Times given are usually 2-3 seconds after start time of interval.'   
COMMENT = 'Can't be more exact due to analog filtering of data with time '      
COMMENT = 'constant of 6-10 seconds.'                                           
COMMENT = 'Flux value of -99999.0 means no data.'                               
COMMENT = 'Reference: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;'  
COMMENT = 'Information for Data Users.  Donnelly et al,  June 1977.'            
COMMENT = 'NOAA TM ERL SEL-48'                                                  
COMMENT = 'Reference: SMS GOES Space Environment Monitor Subsystem,'            
COMMENT = 'Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.'               
COMMENT = 'Reference: Expresions to Determine Temperatures and Emission'        
COMMENT = 'Measures for Solar X-ray events from GOES Measurements.'             
COMMENT = 'Thomas et al, 1985, Solar Physics 95, pp 323-329.'                   

In [52]:
datetime.datetime.strptime(fits[0].header['DATE-OBS'], '%d/%m/%Y')


Out[52]:
datetime.datetime(2013, 3, 3, 0, 0)

In [53]:
seconds_from_start = fits[2].data['TIME']

In [54]:
seconds_from_start[0]


Out[54]:
array([ -1.57100010e+00,   4.74999905e-01,   2.52499986e+00, ...,
         8.63922350e+04,   8.63942820e+04,   8.63963290e+04])

In [63]:
fits[2].data['FLUX'][:,:,1]


Out[63]:
array([[  3.83099996e-09,   2.71649991e-09,   2.71649991e-09, ...,
          6.05990014e-09,   6.05990014e-09,   6.05990014e-09]], dtype=float32)

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))


41882

In [93]:
xrsb[0]


Out[93]:
3.6709e-07

In [81]:
newxrsb = xrsb.byteswap().newbyteorder()

In [82]:
newxrsa.shape


Out[82]:
(1, 41882)

In [128]:
file = '/Users/schriste/sunpy/data/go1020080325.fits'
fits = pyfits.open(file)

In [129]:
fits[0].header


Out[129]:
SIMPLE  =                    T /Written by IDL:  Wed Mar 26 01:01:49 2008       
BITPIX  =                    8 /                                                
NAXIS   =                    0 /                                                
EXTEND  =                    T /File contains extensions                        
DATE    = '26/03/2008'         /file creation date                              
NUMEXT  =                    3 /no. of extensions in file                       
TELESCOP= 'GOES 10 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
DATE-OBS= '25/03/2008'         /date of first obs.(DD/MM/YYYY)                  
TIME-OBS= '00:00:00.000'       /UT time of first obs.(HH:MM:SS.XXX)             
DATE-END= '25/03/2008'         /date of last obs.(DD/MM/YYYY)                   
TIME-END= '23:59:57.000'       /UT time of last obs.(HH:MM:SS.XXX)              
COMMENT Energy band information given in extension 1                            
COMMENT Fluxes information given in extension 2                                 
COMMENT Status word information given in extension 3                            
COMMENT Ref.: Solar X-Ray Measurements from SMS-1, SMS-2, and GOES-1;           
COMMENT Information for Data Users. Donnelly et al,  June 1977.                 
COMMENT NOAA TM ERL SEL-48                                                      
COMMENT Ref.: SMS GOES Space Environment Monitor Subsystem,                     
COMMENT Grubb, Dec 75, NOAA, Technical Memorandum ERL SEL-42.                   
COMMENT Ref.:Expresions to Determine Temperatures and Emission                  
COMMENT Measures for Solar X-ray events from GOES Measurements.                 
COMMENT Thomas et al, 1985, Solar Physics 95, pp 323-329.                       

In [130]:
fits[1].header


Out[130]:
XTENSION= 'BINTABLE'           /Written by IDL:  Wed Mar 26 01:01:50 2008       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                   16 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    1 /Number of columns                               
EXTNAME = 'EDGES   '           /name of this binary extension                   
DATE    = '26/03/2008'         /file creation date                              
TELESCOP= 'GOES 10 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
TFORM1  = '4E      '           /Real*4 (floating point)                         
TTYPE1  = 'EDGES   '           /Label for column 1                              
TDIM1   = '(2,2)   '           /Array dimensions for column 1                   
TUNIT1  = 'angstrom'           /Units of column 1                               

In [131]:
fits[2].header


Out[131]:
XTENSION= 'BINTABLE'           /Written by IDL:  Wed Mar 26 01:01:50 2008       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =               459808 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    2 /Number of columns                               
MJDREF  =                43874 /MJD for reference file                          
TIMESYS = 'MJD     '           /The time system is MJD                          
TIMEUNIT= 's       '           /Unit for TSTART and TSTOP                       
TIMEZERO=                54550 /Time zero off-set                               
TSTART  =            0.0000000 /Observation start time                          
TSTOP   =            86397.000 /Observation stop time                           
EXTNAME = 'FLUXES  '           /name of this binary extension                   
DATE    = '26/03/2008'         /file creation date                              
TELESCOP= 'GOES 10 '           /spacecraft                                      
INSTRUME= 'X-ray Detector'     /                                                
OBJECT  = 'Sun     '           /                                                
ORIGIN  = 'SDAC/GSFC'          /written by Solar DAC at GSFC                    
TFORM1  = '28738D  '           /Real*8 (double precision)                       
TTYPE1  = 'TIME    '           /Label for column 1                              
TUNIT1  = 's       '           /Units of column 1                               
TFORM2  = '57476E  '           /Real*4 (floating point)                         
TTYPE2  = 'FLUX    '           /Label for column 2                              
TDIM2   = '(2,28738)'          /Array dimensions for column 2                   
TUNIT2  = 'W /m**2 '           /Units of column 2                               
COMMENT Times given are usually 2-3 seconds after start time of interval.       
COMMENT Can not be more exact due to analog filtering of data with time         
COMMENT constant of 6-10 seconds.                                               
COMMENT Flux value of -99999.0 means no data.                                   

In [132]:
fits[2].data['TIME'][0]


Out[132]:
array([  0.00000000e+00,   3.00000000e+00,   6.00000000e+00, ...,
         8.63910000e+04,   8.63940000e+04,   8.63970000e+04])

In [140]:
fits[2].data['FLUX'][0][:,0]


Out[140]:
array([  1.50519008e-06,   1.51598488e-06,  -9.99990000e+04, ...,
         3.53115695e-07,   3.53455249e-07,   3.53506607e-07], dtype=float32)

In [138]:
file = '/Users/schriste/sunpy/data/go09980303.fits'
fits = pyfits.open(file)

In [139]:
fits[2].data['FLUX'].shape


Out[139]:
(1, 28800, 2)

In [ ]: