In [87]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['datetime']
`%matplotlib` prevents importing * from pylab and numpy

In [6]:
from astropy.io import fits as pyfits

In [4]:
file = '/Users/schriste/Downloads/hsi_obssumm_20131217_012.fits'

In [3]:
fits = pyfits.open(fpyfits)

In [4]:
fits[0].header


Out[4]:
SIMPLE  =                    T /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    0 /                                                
EXTEND  =                    T /File contains extensions                        
DATE    = '2013-12-17'         /                                                
ORIGIN  = 'sundog  '           /Usually the CPU used to generate the file       
OBSERVER= 'hessiops'           /Usually the name of the user who generated the f
TELESCOP= 'HESSI   '           /The High Energy Solar Spectroscopic Imager      
OBJECT  = 'Sun     '           /                                                
DATE_OBS= '2013-12-17T00:00:00.000' /                                           
DATE_END= '2013-12-17T11:37:40.000' /                                           

In [5]:
fits[1].header


Out[5]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                   84 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    3 /Number of columns                               
EXTNAME = 'HESSI OBS SUMMARY ID TABLE' /Extension name                          
TFORM1  = '1I      '           /Integer*2 (short integer)                       
TTYPE1  = 'VERSION NUMBER'     /Label for column 1                              
TFORM2  = '80A     '           /Character string                                
TTYPE2  = 'OBS SUMMARY ID'     /Label for column 2                              
TFORM3  = '1I      '           /Integer*2 (short integer)                       
TTYPE3  = 'INFO VERSION NUMBER' /Label for column 3                             

In [6]:
fits[2].header


Out[6]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                  164 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    4 /Number of columns                               
EXTNAME = 'HSI_OBSSUMMINFO'    /Extension name                                  
TFORM1  = '80A     '           /Character string                                
TTYPE1  = 'SUMMARY_START_TIME' /Label for column 1                              
TFORM2  = '80A     '           /Character string                                
TTYPE2  = 'SUMMARY_END_TIME'   /Label for column 2                              
TFORM3  = '1I      '           /Integer*2 (short integer)                       
TTYPE3  = 'SIMULATED_DATA'     /Label for column 3                              
TFORM4  = '1I      '           /Integer*2 (short integer)                       
TTYPE4  = 'CONCAT_FLAG'        /Label for column 4                              

In [7]:
fits[3].header


Out[7]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                  200 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                   11 /Number of columns                               
EXTNAME = 'HSI_FILEDB'         /Extension name                                  
TFORM1  = '1I      '           /Integer*2 (short integer)                       
TTYPE1  = 'VERSION '           /Label for column 1                              
TFORM2  = '80A     '           /Character string                                
TTYPE2  = 'FILE_ID '           /Label for column 2                              
TFORM3  = '1J      '           /Integer*4 (long integer)                        
TTYPE3  = 'ORBIT_START'        /Label for column 3                              
TFORM4  = '1J      '           /Integer*4 (long integer)                        
TTYPE4  = 'ORBIT_END'          /Label for column 4                              
TFORM5  = '1D      '           /Real*8 (double precision)                       
TTYPE5  = 'START_TIME'         /Label for column 5                              
TFORM6  = '1D      '           /Real*8 (double precision)                       
TTYPE6  = 'END_TIME'           /Label for column 6                              
TFORM7  = '1I      '           /Integer*2 (short integer)                       
TTYPE7  = 'STATUS_FLAG'        /Label for column 7                              
TFORM8  = '1J      '           /Integer*4 (long integer)                        
TTYPE8  = 'NPACKETS'           /Label for column 8                              
TFORM9  = '1E      '           /Real*4 (floating point)                         
TTYPE9  = 'CLOCK_DRIFT_START'  /Label for column 9                              
TFORM10 = '1E      '           /Real*4 (floating point)                         
TTYPE10 = 'CLOCK_DRIFT_END'    /Label for column 10                             
TFORM11 = '80A     '           /Character string                                
TTYPE11 = 'DATA_SOURCE'        /Label for column 11                             

In [58]:
parse_time(fits[3].data['START_TIME'][0])


Out[58]:
datetime.datetime(2013, 12, 17, 0, 0)

In [59]:
parse_time(fits[3].data['END_TIME'][0])


Out[59]:
datetime.datetime(2013, 12, 17, 11, 37, 40)

In [8]:
fits[4].header


Out[8]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                   86 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    4 /Number of columns                               
EXTNAME = 'HESSI OBS SUMMARY RATE ID TABLE' /Extension name                     
TFORM1  = '1I      '           /Integer*2 (short integer)                       
TTYPE1  = 'VERSION NUMBER'     /Label for column 1                              
TFORM2  = '80A     '           /Character string                                
TTYPE2  = 'ID STRING'          /Label for column 2                              
TFORM3  = '1I      '           /Integer*2 (short integer)                       
TTYPE3  = 'INFO VERSION NUMBER' /Label for column 3                             
TFORM4  = '1I      '           /Integer*2 (short integer)                       
TTYPE4  = 'DATA VERSION NUMBER' /Label for column 4                             

In [93]:
fits[4].data['ID STRING']


Out[93]:
chararray(['HSI_OBS_SUMM_RATE: 2013-12-17T00:00:00.000 TO 2013-12-17T11:37:40.000'], 
      dtype='|S80')

In [9]:
fits[5].header


Out[9]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:40 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                  876 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    8 /Number of columns                               
EXTNAME = 'HSI_OBSSUMMRATEINFO' /Extension name                                 
TFORM1  = '1D      '           /Real*8 (double precision)                       
TTYPE1  = 'UT_REF  '           /Label for column 1                              
TFORM2  = '18B     '           /Integer*1 (byte)                                
TTYPE2  = 'SEG_INDEX_MASK'     /Label for column 2                              
TFORM3  = '1J      '           /Integer*4 (long integer)                        
TTYPE3  = 'N_TIME_INTV'        /Label for column 3                              
TFORM4  = '1E      '           /Real*4 (floating point)                         
TTYPE4  = 'TIME_INTV'          /Label for column 4                              
TFORM5  = '1I      '           /Integer*2 (short integer)                       
TTYPE5  = 'N_ENERGY_BANDS'     /Label for column 5                              
TFORM6  = '10E     '           /Real*4 (floating point)                         
TTYPE6  = 'ENERGY_EDGES'       /Label for column 6                              
TFORM7  = '80A     '           /Character string                                
TTYPE7  = 'DIM1_UNIT'          /Label for column 7                              
TFORM8  = '720A    '           /Character string                                
TTYPE8  = 'DIM1_IDS'           /Label for column 8                              
TDIM8   = '(80,9)  '           /Array dimensions for column 8                   

In [10]:
fits[5].data.columns


Out[10]:
ColDefs(
    name = 'UT_REF'; format = '1D'
    name = 'SEG_INDEX_MASK'; format = '18B'
    name = 'N_TIME_INTV'; format = '1J'
    name = 'TIME_INTV'; format = '1E'
    name = 'N_ENERGY_BANDS'; format = '1I'
    name = 'ENERGY_EDGES'; format = '10E'
    name = 'DIM1_UNIT'; format = '80A'
    name = 'DIM1_IDS'; format = '720A'; dim = '(80,9)'
)

In [52]:
fits[5].data['UT_REF'][0]


Out[52]:
1103241600.0

In [53]:
fits[5].data['TIME_INTV'][0]


Out[53]:
4.0

In [55]:
fits[5].data['N_TIME_INTV'][0]


Out[55]:
10465

In [12]:
file


Out[12]:
'/Users/schriste/Downloads/hsi_obssumm_20131217_012.fits'

In [13]:
from sunpy.time import parse_time

In [50]:
fits[5].data['UT_REF'][0]


Out[50]:
1103241600.0

start time


In [51]:
parse_time(fits[5].data['UT_REF'][0])


Out[51]:
datetime.datetime(2013, 12, 17, 0, 0)

end time (calculated)


In [56]:
parse_time(fits[5].data['UT_REF'][0] + fits[5].data['TIME_INTV'][0] * fits[5].data['N_TIME_INTV'][0])


Out[56]:
datetime.datetime(2013, 12, 17, 11, 37, 40)

end time (as declared)


In [60]:
parse_time(fits[3].data['END_TIME'][0])


Out[60]:
datetime.datetime(2013, 12, 17, 11, 37, 40)

In [15]:
fits[3].data['START_TIME']


Out[15]:
array([  1.10324160e+09])

In [46]:
fits[2].data['SUMMARY_START_TIME']
''.join(fits[2].data['SUMMARY_START_TIME'])


Out[46]:
'2013-12-17T00:00:00.000'

In [47]:
parse_time(''.join(fits[2].data['SUMMARY_START_TIME']))


Out[47]:
datetime.datetime(2013, 12, 17, 0, 0)

In [61]:
from pandas import date_range

In [63]:
start_time = parse_time(fits[5].data['UT_REF'][0])
end_time = parse_time(fits[3].data['END_TIME'][0])
n = fits[5].data['N_TIME_INTV'][0]

In [76]:
time_array = date_range(start=start_time, periods=n, freq='4s')

In [77]:
time_array.shape


Out[77]:
(10465,)

In [78]:
fits[6].data.columns


Out[78]:
ColDefs(
    name = 'COUNTRATE'; format = '9B'
)

In [79]:
fits[6].data['COUNTRATE']


Out[79]:
array([[24, 17, 10, ..., 30, 26,  1],
       [26, 17, 12, ..., 29, 26,  1],
       [24, 16,  9, ..., 30, 25,  0],
       ..., 
       [ 5, 11,  8, ..., 31, 28,  0],
       [ 6, 10,  8, ..., 31, 27,  1],
       [ 4, 11,  8, ..., 31, 28,  1]], dtype=uint8)

In [80]:
fits[6].data['COUNTRATE'].shape


Out[80]:
(10465, 9)

In [81]:
import pandas as pd

In [82]:
fits[6].data['COUNTRATE'][:,0].shape


Out[82]:
(10465,)

In [40]:
det0 = fits[6].data['COUNTRATE'][:,0]

In [94]:
data = pd.DataFrame(fits[6].data['COUNTRATE'], index=time_array, columns=['Det1', 'Det2', 'Det3', 'Det4', 'Det5', 'Det6', 'Det7', 'Det8', 'Det9'])

In [95]:
data


Out[95]:
Det1 Det2 Det3 Det4 Det5 Det6 Det7 Det8 Det9
2013-12-17 00:00:00 24 17 10 11 13 23 30 26 1
2013-12-17 00:00:04 26 17 12 12 13 25 29 26 1
2013-12-17 00:00:08 24 16 9 9 12 23 30 25 0
2013-12-17 00:00:12 24 16 10 12 11 23 29 25 1
2013-12-17 00:00:16 25 16 11 11 12 24 30 25 1
2013-12-17 00:00:20 26 17 10 10 13 24 30 26 1
2013-12-17 00:00:24 23 16 9 10 12 22 30 25 1
2013-12-17 00:00:28 24 16 9 10 12 22 29 26 1
2013-12-17 00:00:32 25 16 9 10 11 23 30 25 0
2013-12-17 00:00:36 24 17 10 10 12 25 28 25 1
2013-12-17 00:00:40 25 16 9 11 12 23 29 25 1
2013-12-17 00:00:44 23 16 8 10 12 23 30 25 1
2013-12-17 00:00:48 23 16 9 9 11 22 29 24 1
2013-12-17 00:00:52 24 16 11 10 13 24 29 24 1
2013-12-17 00:00:56 25 17 11 9 12 23 30 25 1
2013-12-17 00:01:00 24 16 10 11 11 23 29 26 0
2013-12-17 00:01:04 25 17 10 10 12 23 28 25 1
2013-12-17 00:01:08 24 16 9 10 12 22 29 25 1
2013-12-17 00:01:12 25 17 10 10 12 23 28 25 1
2013-12-17 00:01:16 23 16 11 10 13 22 28 25 1
2013-12-17 00:01:20 25 16 10 10 13 22 29 25 1
2013-12-17 00:01:24 23 16 10 11 13 22 30 25 1
2013-12-17 00:01:28 26 17 9 11 13 24 30 25 1
2013-12-17 00:01:32 26 17 9 10 13 23 29 25 0
2013-12-17 00:01:36 24 16 8 10 10 23 29 25 1
2013-12-17 00:01:40 24 16 9 10 12 23 30 26 1
2013-12-17 00:01:44 22 16 9 8 11 22 27 25 1
2013-12-17 00:01:48 24 16 9 11 12 22 28 25 1
2013-12-17 00:01:52 24 17 10 11 12 23 28 26 1
2013-12-17 00:01:56 23 16 9 10 12 23 29 26 1
2013-12-17 00:02:00 24 16 8 9 11 23 29 25 1
2013-12-17 00:02:04 24 16 9 11 11 22 29 25 0
2013-12-17 00:02:08 24 15 10 10 12 23 30 24 1
2013-12-17 00:02:12 25 16 9 10 12 23 29 25 1
2013-12-17 00:02:16 24 16 9 10 12 23 29 25 1
2013-12-17 00:02:20 24 15 9 10 12 23 28 25 1
2013-12-17 00:02:24 25 16 9 9 12 22 29 25 1
2013-12-17 00:02:28 24 15 10 11 11 23 28 25 1
2013-12-17 00:02:32 23 16 8 9 12 23 29 25 1
2013-12-17 00:02:36 25 17 10 11 12 23 29 25 1
2013-12-17 00:02:40 24 15 9 11 12 23 28 24 1
2013-12-17 00:02:44 25 17 10 10 12 23 29 25 1
2013-12-17 00:02:48 25 17 9 10 11 23 29 25 0
2013-12-17 00:02:52 24 15 10 8 11 22 28 25 1
2013-12-17 00:02:56 24 16 9 10 12 22 30 24 0
2013-12-17 00:03:00 23 16 11 9 11 23 28 25 1
2013-12-17 00:03:04 25 16 9 10 12 22 29 25 1
2013-12-17 00:03:08 24 16 9 9 11 22 27 25 1
2013-12-17 00:03:12 24 16 9 11 12 22 29 24 1
2013-12-17 00:03:16 25 17 9 11 12 23 29 25 1
2013-12-17 00:03:20 26 17 10 9 11 23 29 25 1
2013-12-17 00:03:24 23 16 10 10 12 24 28 26 1
2013-12-17 00:03:28 24 16 9 9 12 23 28 25 0
2013-12-17 00:03:32 23 16 9 9 11 22 27 25 1
2013-12-17 00:03:36 24 17 11 9 12 22 28 25 0
2013-12-17 00:03:40 23 15 8 9 12 22 28 25 1
2013-12-17 00:03:44 25 16 9 10 12 22 30 24 1
2013-12-17 00:03:48 24 16 9 11 11 22 28 24 1
2013-12-17 00:03:52 25 16 8 10 11 22 27 25 1
2013-12-17 00:03:56 25 16 9 10 11 22 29 25 1
... ... ... ... ... ... ... ... ...

10465 rows × 9 columns


In [96]:
data.plot()


Out[96]:
<matplotlib.axes.AxesSubplot at 0x1083cae10>

In [41]:
fits[7].header


Out[41]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:41 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                   86 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    4 /Number of columns                               
EXTNAME = 'HESSI MOD VARIANCE ID TABLE' /Extension name                         
TFORM1  = '1I      '           /Integer*2 (short integer)                       
TTYPE1  = 'VERSION NUMBER'     /Label for column 1                              
TFORM2  = '80A     '           /Character string                                
TTYPE2  = 'ID STRING'          /Label for column 2                              
TFORM3  = '1I      '           /Integer*2 (short integer)                       
TTYPE3  = 'INFO VERSION NUMBER' /Label for column 3                             
TFORM4  = '1I      '           /Integer*2 (short integer)                       
TTYPE4  = 'DATA VERSION NUMBER' /Label for column 4                             

In [42]:
fits[8].header


Out[42]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:41 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                  266 /Number of bytes per row                         
NAXIS2  =                    1 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    7 /Number of columns                               
EXTNAME = 'HSI_MODVARIANCEINFO' /Extension name                                 
TFORM1  = '1D      '           /Real*8 (double precision)                       
TTYPE1  = 'UT_REF  '           /Label for column 1                              
TFORM2  = '1J      '           /Integer*4 (long integer)                        
TTYPE2  = 'N_TIME_INTV'        /Label for column 2                              
TFORM3  = '1E      '           /Real*4 (floating point)                         
TTYPE3  = 'TIME_INTV'          /Label for column 3                              
TFORM4  = '1I      '           /Integer*2 (short integer)                       
TTYPE4  = 'VARIANCE_NBIN'      /Label for column 4                              
TFORM5  = '2E      '           /Real*4 (floating point)                         
TTYPE5  = 'ENERGY_EDGES'       /Label for column 5                              
TFORM6  = '80A     '           /Character string                                
TTYPE6  = 'DIM1_UNIT'          /Label for column 6                              
TFORM7  = '160A    '           /Character string                                
TTYPE7  = 'DIM1_IDS'           /Label for column 7                              
TDIM7   = '(80,2)  '           /Array dimensions for column 7                   

In [43]:
fits[9].header


Out[43]:
XTENSION= 'BINTABLE'           /Written by IDL:  Tue Dec 17 10:28:41 2013       
BITPIX  =                    8 /                                                
NAXIS   =                    2 /Binary table                                    
NAXIS1  =                    2 /Number of bytes per row                         
NAXIS2  =                10465 /Number of rows                                  
PCOUNT  =                    0 /Random parameter count                          
GCOUNT  =                    1 /Group count                                     
TFIELDS =                    1 /Number of columns                               
EXTNAME = 'HSI_MODVARIANCEDATA' /Extension name                                 
TFORM1  = '2B      '           /Integer*1 (byte)                                
TTYPE1  = 'MOD_VARIANCE'       /Label for column 1                              

In [1]:
from sunpy.instr import rhessi

In [2]:
from sunpy.time import TimeRange
f = rhessi.get_obssum_filename(TimeRange('2003/03/02', '2003/03/03'))


Downloading file: http://hesperia.gsfc.nasa.gov/hessidata/dbase/hsi_obssumm_filedb_200303.txt

In [3]:
f


Out[3]:
'http://hesperia.gsfc.nasa.gov/hessidata/hsi_obssumm_20030302_146.fit'

In [5]:
r = rhessi.parse_obssumm_file(file)

In [6]:
r


Out[6]:
{'data': array([[24, 17, 10, ..., 30, 26,  1],
        [26, 17, 12, ..., 29, 26,  1],
        [24, 16,  9, ..., 30, 25,  0],
        ..., 
        [ 5, 11,  8, ..., 31, 28,  0],
        [ 6, 10,  8, ..., 31, 27,  1],
        [ 4, 11,  8, ..., 31, 28,  1]], dtype=uint8),
 'labels': ['3 - 6 keV',
  '6 - 12 keV',
  '12 - 25 keV',
  '25 - 50 keV',
  '50 - 100 keV',
  '100 - 300 keV',
  '300 - 800 keV',
  '800 - 7000 keV',
  '7000 - 20000 keV'],
 'time': [datetime.datetime(2013, 12, 17, 0, 0),
  datetime.datetime(2013, 12, 17, 0, 0, 4),
  datetime.datetime(2013, 12, 17, 0, 0, 8),
  datetime.datetime(2013, 12, 17, 0, 0, 12),
  datetime.datetime(2013, 12, 17, 0, 0, 16),
  datetime.datetime(2013, 12, 17, 0, 0, 20),
  datetime.datetime(2013, 12, 17, 0, 0, 24),
  datetime.datetime(2013, 12, 17, 0, 0, 28),
  datetime.datetime(2013, 12, 17, 0, 0, 32),
  datetime.datetime(2013, 12, 17, 0, 0, 36),
  datetime.datetime(2013, 12, 17, 0, 0, 40),
  datetime.datetime(2013, 12, 17, 0, 0, 44),
  datetime.datetime(2013, 12, 17, 0, 0, 48),
  datetime.datetime(2013, 12, 17, 0, 0, 52),
  datetime.datetime(2013, 12, 17, 0, 0, 56),
  datetime.datetime(2013, 12, 17, 0, 1),
  datetime.datetime(2013, 12, 17, 0, 1, 4),
  datetime.datetime(2013, 12, 17, 0, 1, 8),
  datetime.datetime(2013, 12, 17, 0, 1, 12),
  datetime.datetime(2013, 12, 17, 0, 1, 16),
  datetime.datetime(2013, 12, 17, 0, 1, 20),
  datetime.datetime(2013, 12, 17, 0, 1, 24),
  datetime.datetime(2013, 12, 17, 0, 1, 28),
  datetime.datetime(2013, 12, 17, 0, 1, 32),
  datetime.datetime(2013, 12, 17, 0, 1, 36),
  datetime.datetime(2013, 12, 17, 0, 1, 40),
  datetime.datetime(2013, 12, 17, 0, 1, 44),
  datetime.datetime(2013, 12, 17, 0, 1, 48),
  datetime.datetime(2013, 12, 17, 0, 1, 52),
  datetime.datetime(2013, 12, 17, 0, 1, 56),
  datetime.datetime(2013, 12, 17, 0, 2),
  datetime.datetime(2013, 12, 17, 0, 2, 4),
  datetime.datetime(2013, 12, 17, 0, 2, 8),
  datetime.datetime(2013, 12, 17, 0, 2, 12),
  datetime.datetime(2013, 12, 17, 0, 2, 16),
  datetime.datetime(2013, 12, 17, 0, 2, 20),
  datetime.datetime(2013, 12, 17, 0, 2, 24),
  datetime.datetime(2013, 12, 17, 0, 2, 28),
  datetime.datetime(2013, 12, 17, 0, 2, 32),
  datetime.datetime(2013, 12, 17, 0, 2, 36),
  datetime.datetime(2013, 12, 17, 0, 2, 40),
  datetime.datetime(2013, 12, 17, 0, 2, 44),
  datetime.datetime(2013, 12, 17, 0, 2, 48),
  datetime.datetime(2013, 12, 17, 0, 2, 52),
  datetime.datetime(2013, 12, 17, 0, 2, 56),
  datetime.datetime(2013, 12, 17, 0, 3),
  datetime.datetime(2013, 12, 17, 0, 3, 4),
  datetime.datetime(2013, 12, 17, 0, 3, 8),
  datetime.datetime(2013, 12, 17, 0, 3, 12),
  datetime.datetime(2013, 12, 17, 0, 3, 16),
  datetime.datetime(2013, 12, 17, 0, 3, 20),
  datetime.datetime(2013, 12, 17, 0, 3, 24),
  datetime.datetime(2013, 12, 17, 0, 3, 28),
  datetime.datetime(2013, 12, 17, 0, 3, 32),
  datetime.datetime(2013, 12, 17, 0, 3, 36),
  datetime.datetime(2013, 12, 17, 0, 3, 40),
  datetime.datetime(2013, 12, 17, 0, 3, 44),
  datetime.datetime(2013, 12, 17, 0, 3, 48),
  datetime.datetime(2013, 12, 17, 0, 3, 52),
  datetime.datetime(2013, 12, 17, 0, 3, 56),
  datetime.datetime(2013, 12, 17, 0, 4),
  datetime.datetime(2013, 12, 17, 0, 4, 4),
  datetime.datetime(2013, 12, 17, 0, 4, 8),
  datetime.datetime(2013, 12, 17, 0, 4, 12),
  datetime.datetime(2013, 12, 17, 0, 4, 16),
  datetime.datetime(2013, 12, 17, 0, 4, 20),
  datetime.datetime(2013, 12, 17, 0, 4, 24),
  datetime.datetime(2013, 12, 17, 0, 4, 28),
  datetime.datetime(2013, 12, 17, 0, 4, 32),
  datetime.datetime(2013, 12, 17, 0, 4, 36),
  datetime.datetime(2013, 12, 17, 0, 4, 40),
  datetime.datetime(2013, 12, 17, 0, 4, 44),
  datetime.datetime(2013, 12, 17, 0, 4, 48),
  datetime.datetime(2013, 12, 17, 0, 4, 52),
  datetime.datetime(2013, 12, 17, 0, 4, 56),
  datetime.datetime(2013, 12, 17, 0, 5),
  datetime.datetime(2013, 12, 17, 0, 5, 4),
  datetime.datetime(2013, 12, 17, 0, 5, 8),
  datetime.datetime(2013, 12, 17, 0, 5, 12),
  datetime.datetime(2013, 12, 17, 0, 5, 16),
  datetime.datetime(2013, 12, 17, 0, 5, 20),
  datetime.datetime(2013, 12, 17, 0, 5, 24),
  datetime.datetime(2013, 12, 17, 0, 5, 28),
  datetime.datetime(2013, 12, 17, 0, 5, 32),
  datetime.datetime(2013, 12, 17, 0, 5, 36),
  datetime.datetime(2013, 12, 17, 0, 5, 40),
  datetime.datetime(2013, 12, 17, 0, 5, 44),
  datetime.datetime(2013, 12, 17, 0, 5, 48),
  datetime.datetime(2013, 12, 17, 0, 5, 52),
  datetime.datetime(2013, 12, 17, 0, 5, 56),
  datetime.datetime(2013, 12, 17, 0, 6),
  datetime.datetime(2013, 12, 17, 0, 6, 4),
  datetime.datetime(2013, 12, 17, 0, 6, 8),
  datetime.datetime(2013, 12, 17, 0, 6, 12),
  datetime.datetime(2013, 12, 17, 0, 6, 16),
  datetime.datetime(2013, 12, 17, 0, 6, 20),
  datetime.datetime(2013, 12, 17, 0, 6, 24),
  datetime.datetime(2013, 12, 17, 0, 6, 28),
  datetime.datetime(2013, 12, 17, 0, 6, 32),
  datetime.datetime(2013, 12, 17, 0, 6, 36),
  datetime.datetime(2013, 12, 17, 0, 6, 40),
  datetime.datetime(2013, 12, 17, 0, 6, 44),
  datetime.datetime(2013, 12, 17, 0, 6, 48),
  datetime.datetime(2013, 12, 17, 0, 6, 52),
  datetime.datetime(2013, 12, 17, 0, 6, 56),
  datetime.datetime(2013, 12, 17, 0, 7),
  datetime.datetime(2013, 12, 17, 0, 7, 4),
  datetime.datetime(2013, 12, 17, 0, 7, 8),
  datetime.datetime(2013, 12, 17, 0, 7, 12),
  datetime.datetime(2013, 12, 17, 0, 7, 16),
  datetime.datetime(2013, 12, 17, 0, 7, 20),
  datetime.datetime(2013, 12, 17, 0, 7, 24),
  datetime.datetime(2013, 12, 17, 0, 7, 28),
  datetime.datetime(2013, 12, 17, 0, 7, 32),
  datetime.datetime(2013, 12, 17, 0, 7, 36),
  datetime.datetime(2013, 12, 17, 0, 7, 40),
  datetime.datetime(2013, 12, 17, 0, 7, 44),
  datetime.datetime(2013, 12, 17, 0, 7, 48),
  datetime.datetime(2013, 12, 17, 0, 7, 52),
  datetime.datetime(2013, 12, 17, 0, 7, 56),
  datetime.datetime(2013, 12, 17, 0, 8),
  datetime.datetime(2013, 12, 17, 0, 8, 4),
  datetime.datetime(2013, 12, 17, 0, 8, 8),
  datetime.datetime(2013, 12, 17, 0, 8, 12),
  datetime.datetime(2013, 12, 17, 0, 8, 16),
  datetime.datetime(2013, 12, 17, 0, 8, 20),
  datetime.datetime(2013, 12, 17, 0, 8, 24),
  datetime.datetime(2013, 12, 17, 0, 8, 28),
  datetime.datetime(2013, 12, 17, 0, 8, 32),
  datetime.datetime(2013, 12, 17, 0, 8, 36),
  datetime.datetime(2013, 12, 17, 0, 8, 40),
  datetime.datetime(2013, 12, 17, 0, 8, 44),
  datetime.datetime(2013, 12, 17, 0, 8, 48),
  datetime.datetime(2013, 12, 17, 0, 8, 52),
  datetime.datetime(2013, 12, 17, 0, 8, 56),
  datetime.datetime(2013, 12, 17, 0, 9),
  datetime.datetime(2013, 12, 17, 0, 9, 4),
  datetime.datetime(2013, 12, 17, 0, 9, 8),
  datetime.datetime(2013, 12, 17, 0, 9, 12),
  datetime.datetime(2013, 12, 17, 0, 9, 16),
  datetime.datetime(2013, 12, 17, 0, 9, 20),
  datetime.datetime(2013, 12, 17, 0, 9, 24),
  datetime.datetime(2013, 12, 17, 0, 9, 28),
  datetime.datetime(2013, 12, 17, 0, 9, 32),
  datetime.datetime(2013, 12, 17, 0, 9, 36),
  datetime.datetime(2013, 12, 17, 0, 9, 40),
  datetime.datetime(2013, 12, 17, 0, 9, 44),
  datetime.datetime(2013, 12, 17, 0, 9, 48),
  datetime.datetime(2013, 12, 17, 0, 9, 52),
  datetime.datetime(2013, 12, 17, 0, 9, 56),
  datetime.datetime(2013, 12, 17, 0, 10),
  datetime.datetime(2013, 12, 17, 0, 10, 4),
  datetime.datetime(2013, 12, 17, 0, 10, 8),
  datetime.datetime(2013, 12, 17, 0, 10, 12),
  datetime.datetime(2013, 12, 17, 0, 10, 16),
  datetime.datetime(2013, 12, 17, 0, 10, 20),
  datetime.datetime(2013, 12, 17, 0, 10, 24),
  datetime.datetime(2013, 12, 17, 0, 10, 28),
  datetime.datetime(2013, 12, 17, 0, 10, 32),
  datetime.datetime(2013, 12, 17, 0, 10, 36),
  datetime.datetime(2013, 12, 17, 0, 10, 40),
  datetime.datetime(2013, 12, 17, 0, 10, 44),
  datetime.datetime(2013, 12, 17, 0, 10, 48),
  datetime.datetime(2013, 12, 17, 0, 10, 52),
  datetime.datetime(2013, 12, 17, 0, 10, 56),
  datetime.datetime(2013, 12, 17, 0, 11),
  datetime.datetime(2013, 12, 17, 0, 11, 4),
  datetime.datetime(2013, 12, 17, 0, 11, 8),
  datetime.datetime(2013, 12, 17, 0, 11, 12),
  datetime.datetime(2013, 12, 17, 0, 11, 16),
  datetime.datetime(2013, 12, 17, 0, 11, 20),
  datetime.datetime(2013, 12, 17, 0, 11, 24),
  datetime.datetime(2013, 12, 17, 0, 11, 28),
  datetime.datetime(2013, 12, 17, 0, 11, 32),
  datetime.datetime(2013, 12, 17, 0, 11, 36),
  datetime.datetime(2013, 12, 17, 0, 11, 40),
  datetime.datetime(2013, 12, 17, 0, 11, 44),
  datetime.datetime(2013, 12, 17, 0, 11, 48),
  datetime.datetime(2013, 12, 17, 0, 11, 52),
  datetime.datetime(2013, 12, 17, 0, 11, 56),
  datetime.datetime(2013, 12, 17, 0, 12),
  datetime.datetime(2013, 12, 17, 0, 12, 4),
  datetime.datetime(2013, 12, 17, 0, 12, 8),
  datetime.datetime(2013, 12, 17, 0, 12, 12),
  datetime.datetime(2013, 12, 17, 0, 12, 16),
  datetime.datetime(2013, 12, 17, 0, 12, 20),
  datetime.datetime(2013, 12, 17, 0, 12, 24),
  datetime.datetime(2013, 12, 17, 0, 12, 28),
  datetime.datetime(2013, 12, 17, 0, 12, 32),
  datetime.datetime(2013, 12, 17, 0, 12, 36),
  datetime.datetime(2013, 12, 17, 0, 12, 40),
  datetime.datetime(2013, 12, 17, 0, 12, 44),
  datetime.datetime(2013, 12, 17, 0, 12, 48),
  datetime.datetime(2013, 12, 17, 0, 12, 52),
  datetime.datetime(2013, 12, 17, 0, 12, 56),
  datetime.datetime(2013, 12, 17, 0, 13),
  datetime.datetime(2013, 12, 17, 0, 13, 4),
  datetime.datetime(2013, 12, 17, 0, 13, 8),
  datetime.datetime(2013, 12, 17, 0, 13, 12),
  datetime.datetime(2013, 12, 17, 0, 13, 16),
  datetime.datetime(2013, 12, 17, 0, 13, 20),
  datetime.datetime(2013, 12, 17, 0, 13, 24),
  datetime.datetime(2013, 12, 17, 0, 13, 28),
  datetime.datetime(2013, 12, 17, 0, 13, 32),
  datetime.datetime(2013, 12, 17, 0, 13, 36),
  datetime.datetime(2013, 12, 17, 0, 13, 40),
  datetime.datetime(2013, 12, 17, 0, 13, 44),
  datetime.datetime(2013, 12, 17, 0, 13, 48),
  datetime.datetime(2013, 12, 17, 0, 13, 52),
  datetime.datetime(2013, 12, 17, 0, 13, 56),
  datetime.datetime(2013, 12, 17, 0, 14),
  datetime.datetime(2013, 12, 17, 0, 14, 4),
  datetime.datetime(2013, 12, 17, 0, 14, 8),
  datetime.datetime(2013, 12, 17, 0, 14, 12),
  datetime.datetime(2013, 12, 17, 0, 14, 16),
  datetime.datetime(2013, 12, 17, 0, 14, 20),
  datetime.datetime(2013, 12, 17, 0, 14, 24),
  datetime.datetime(2013, 12, 17, 0, 14, 28),
  datetime.datetime(2013, 12, 17, 0, 14, 32),
  datetime.datetime(2013, 12, 17, 0, 14, 36),
  datetime.datetime(2013, 12, 17, 0, 14, 40),
  datetime.datetime(2013, 12, 17, 0, 14, 44),
  datetime.datetime(2013, 12, 17, 0, 14, 48),
  datetime.datetime(2013, 12, 17, 0, 14, 52),
  datetime.datetime(2013, 12, 17, 0, 14, 56),
  datetime.datetime(2013, 12, 17, 0, 15),
  datetime.datetime(2013, 12, 17, 0, 15, 4),
  datetime.datetime(2013, 12, 17, 0, 15, 8),
  datetime.datetime(2013, 12, 17, 0, 15, 12),
  datetime.datetime(2013, 12, 17, 0, 15, 16),
  datetime.datetime(2013, 12, 17, 0, 15, 20),
  datetime.datetime(2013, 12, 17, 0, 15, 24),
  datetime.datetime(2013, 12, 17, 0, 15, 28),
  datetime.datetime(2013, 12, 17, 0, 15, 32),
  datetime.datetime(2013, 12, 17, 0, 15, 36),
  datetime.datetime(2013, 12, 17, 0, 15, 40),
  datetime.datetime(2013, 12, 17, 0, 15, 44),
  datetime.datetime(2013, 12, 17, 0, 15, 48),
  datetime.datetime(2013, 12, 17, 0, 15, 52),
  datetime.datetime(2013, 12, 17, 0, 15, 56),
  datetime.datetime(2013, 12, 17, 0, 16),
  datetime.datetime(2013, 12, 17, 0, 16, 4),
  datetime.datetime(2013, 12, 17, 0, 16, 8),
  datetime.datetime(2013, 12, 17, 0, 16, 12),
  datetime.datetime(2013, 12, 17, 0, 16, 16),
  datetime.datetime(2013, 12, 17, 0, 16, 20),
  datetime.datetime(2013, 12, 17, 0, 16, 24),
  datetime.datetime(2013, 12, 17, 0, 16, 28),
  datetime.datetime(2013, 12, 17, 0, 16, 32),
  datetime.datetime(2013, 12, 17, 0, 16, 36),
  datetime.datetime(2013, 12, 17, 0, 16, 40),
  datetime.datetime(2013, 12, 17, 0, 16, 44),
  datetime.datetime(2013, 12, 17, 0, 16, 48),
  datetime.datetime(2013, 12, 17, 0, 16, 52),
  datetime.datetime(2013, 12, 17, 0, 16, 56),
  datetime.datetime(2013, 12, 17, 0, 17),
  datetime.datetime(2013, 12, 17, 0, 17, 4),
  datetime.datetime(2013, 12, 17, 0, 17, 8),
  datetime.datetime(2013, 12, 17, 0, 17, 12),
  datetime.datetime(2013, 12, 17, 0, 17, 16),
  datetime.datetime(2013, 12, 17, 0, 17, 20),
  datetime.datetime(2013, 12, 17, 0, 17, 24),
  datetime.datetime(2013, 12, 17, 0, 17, 28),
  datetime.datetime(2013, 12, 17, 0, 17, 32),
  datetime.datetime(2013, 12, 17, 0, 17, 36),
  datetime.datetime(2013, 12, 17, 0, 17, 40),
  datetime.datetime(2013, 12, 17, 0, 17, 44),
  datetime.datetime(2013, 12, 17, 0, 17, 48),
  datetime.datetime(2013, 12, 17, 0, 17, 52),
  datetime.datetime(2013, 12, 17, 0, 17, 56),
  datetime.datetime(2013, 12, 17, 0, 18),
  datetime.datetime(2013, 12, 17, 0, 18, 4),
  datetime.datetime(2013, 12, 17, 0, 18, 8),
  datetime.datetime(2013, 12, 17, 0, 18, 12),
  datetime.datetime(2013, 12, 17, 0, 18, 16),
  datetime.datetime(2013, 12, 17, 0, 18, 20),
  datetime.datetime(2013, 12, 17, 0, 18, 24),
  datetime.datetime(2013, 12, 17, 0, 18, 28),
  datetime.datetime(2013, 12, 17, 0, 18, 32),
  datetime.datetime(2013, 12, 17, 0, 18, 36),
  datetime.datetime(2013, 12, 17, 0, 18, 40),
  datetime.datetime(2013, 12, 17, 0, 18, 44),
  datetime.datetime(2013, 12, 17, 0, 18, 48),
  datetime.datetime(2013, 12, 17, 0, 18, 52),
  datetime.datetime(2013, 12, 17, 0, 18, 56),
  datetime.datetime(2013, 12, 17, 0, 19),
  datetime.datetime(2013, 12, 17, 0, 19, 4),
  datetime.datetime(2013, 12, 17, 0, 19, 8),
  datetime.datetime(2013, 12, 17, 0, 19, 12),
  datetime.datetime(2013, 12, 17, 0, 19, 16),
  datetime.datetime(2013, 12, 17, 0, 19, 20),
  datetime.datetime(2013, 12, 17, 0, 19, 24),
  datetime.datetime(2013, 12, 17, 0, 19, 28),
  datetime.datetime(2013, 12, 17, 0, 19, 32),
  datetime.datetime(2013, 12, 17, 0, 19, 36),
  datetime.datetime(2013, 12, 17, 0, 19, 40),
  datetime.datetime(2013, 12, 17, 0, 19, 44),
  datetime.datetime(2013, 12, 17, 0, 19, 48),
  datetime.datetime(2013, 12, 17, 0, 19, 52),
  datetime.datetime(2013, 12, 17, 0, 19, 56),
  datetime.datetime(2013, 12, 17, 0, 20),
  datetime.datetime(2013, 12, 17, 0, 20, 4),
  datetime.datetime(2013, 12, 17, 0, 20, 8),
  datetime.datetime(2013, 12, 17, 0, 20, 12),
  datetime.datetime(2013, 12, 17, 0, 20, 16),
  datetime.datetime(2013, 12, 17, 0, 20, 20),
  datetime.datetime(2013, 12, 17, 0, 20, 24),
  datetime.datetime(2013, 12, 17, 0, 20, 28),
  datetime.datetime(2013, 12, 17, 0, 20, 32),
  datetime.datetime(2013, 12, 17, 0, 20, 36),
  datetime.datetime(2013, 12, 17, 0, 20, 40),
  datetime.datetime(2013, 12, 17, 0, 20, 44),
  datetime.datetime(2013, 12, 17, 0, 20, 48),
  datetime.datetime(2013, 12, 17, 0, 20, 52),
  datetime.datetime(2013, 12, 17, 0, 20, 56),
  datetime.datetime(2013, 12, 17, 0, 21),
  datetime.datetime(2013, 12, 17, 0, 21, 4),
  datetime.datetime(2013, 12, 17, 0, 21, 8),
  datetime.datetime(2013, 12, 17, 0, 21, 12),
  datetime.datetime(2013, 12, 17, 0, 21, 16),
  datetime.datetime(2013, 12, 17, 0, 21, 20),
  datetime.datetime(2013, 12, 17, 0, 21, 24),
  datetime.datetime(2013, 12, 17, 0, 21, 28),
  datetime.datetime(2013, 12, 17, 0, 21, 32),
  datetime.datetime(2013, 12, 17, 0, 21, 36),
  datetime.datetime(2013, 12, 17, 0, 21, 40),
  datetime.datetime(2013, 12, 17, 0, 21, 44),
  datetime.datetime(2013, 12, 17, 0, 21, 48),
  datetime.datetime(2013, 12, 17, 0, 21, 52),
  datetime.datetime(2013, 12, 17, 0, 21, 56),
  datetime.datetime(2013, 12, 17, 0, 22),
  datetime.datetime(2013, 12, 17, 0, 22, 4),
  datetime.datetime(2013, 12, 17, 0, 22, 8),
  datetime.datetime(2013, 12, 17, 0, 22, 12),
  datetime.datetime(2013, 12, 17, 0, 22, 16),
  datetime.datetime(2013, 12, 17, 0, 22, 20),
  datetime.datetime(2013, 12, 17, 0, 22, 24),
  datetime.datetime(2013, 12, 17, 0, 22, 28),
  datetime.datetime(2013, 12, 17, 0, 22, 32),
  datetime.datetime(2013, 12, 17, 0, 22, 36),
  datetime.datetime(2013, 12, 17, 0, 22, 40),
  datetime.datetime(2013, 12, 17, 0, 22, 44),
  datetime.datetime(2013, 12, 17, 0, 22, 48),
  datetime.datetime(2013, 12, 17, 0, 22, 52),
  datetime.datetime(2013, 12, 17, 0, 22, 56),
  datetime.datetime(2013, 12, 17, 0, 23),
  datetime.datetime(2013, 12, 17, 0, 23, 4),
  datetime.datetime(2013, 12, 17, 0, 23, 8),
  datetime.datetime(2013, 12, 17, 0, 23, 12),
  datetime.datetime(2013, 12, 17, 0, 23, 16),
  datetime.datetime(2013, 12, 17, 0, 23, 20),
  datetime.datetime(2013, 12, 17, 0, 23, 24),
  datetime.datetime(2013, 12, 17, 0, 23, 28),
  datetime.datetime(2013, 12, 17, 0, 23, 32),
  datetime.datetime(2013, 12, 17, 0, 23, 36),
  datetime.datetime(2013, 12, 17, 0, 23, 40),
  datetime.datetime(2013, 12, 17, 0, 23, 44),
  datetime.datetime(2013, 12, 17, 0, 23, 48),
  datetime.datetime(2013, 12, 17, 0, 23, 52),
  datetime.datetime(2013, 12, 17, 0, 23, 56),
  datetime.datetime(2013, 12, 17, 0, 24),
  datetime.datetime(2013, 12, 17, 0, 24, 4),
  datetime.datetime(2013, 12, 17, 0, 24, 8),
  datetime.datetime(2013, 12, 17, 0, 24, 12),
  datetime.datetime(2013, 12, 17, 0, 24, 16),
  datetime.datetime(2013, 12, 17, 0, 24, 20),
  datetime.datetime(2013, 12, 17, 0, 24, 24),
  datetime.datetime(2013, 12, 17, 0, 24, 28),
  datetime.datetime(2013, 12, 17, 0, 24, 32),
  datetime.datetime(2013, 12, 17, 0, 24, 36),
  datetime.datetime(2013, 12, 17, 0, 24, 40),
  datetime.datetime(2013, 12, 17, 0, 24, 44),
  datetime.datetime(2013, 12, 17, 0, 24, 48),
  datetime.datetime(2013, 12, 17, 0, 24, 52),
  datetime.datetime(2013, 12, 17, 0, 24, 56),
  datetime.datetime(2013, 12, 17, 0, 25),
  datetime.datetime(2013, 12, 17, 0, 25, 4),
  datetime.datetime(2013, 12, 17, 0, 25, 8),
  datetime.datetime(2013, 12, 17, 0, 25, 12),
  datetime.datetime(2013, 12, 17, 0, 25, 16),
  datetime.datetime(2013, 12, 17, 0, 25, 20),
  datetime.datetime(2013, 12, 17, 0, 25, 24),
  datetime.datetime(2013, 12, 17, 0, 25, 28),
  datetime.datetime(2013, 12, 17, 0, 25, 32),
  datetime.datetime(2013, 12, 17, 0, 25, 36),
  datetime.datetime(2013, 12, 17, 0, 25, 40),
  datetime.datetime(2013, 12, 17, 0, 25, 44),
  datetime.datetime(2013, 12, 17, 0, 25, 48),
  datetime.datetime(2013, 12, 17, 0, 25, 52),
  datetime.datetime(2013, 12, 17, 0, 25, 56),
  datetime.datetime(2013, 12, 17, 0, 26),
  datetime.datetime(2013, 12, 17, 0, 26, 4),
  datetime.datetime(2013, 12, 17, 0, 26, 8),
  datetime.datetime(2013, 12, 17, 0, 26, 12),
  datetime.datetime(2013, 12, 17, 0, 26, 16),
  datetime.datetime(2013, 12, 17, 0, 26, 20),
  datetime.datetime(2013, 12, 17, 0, 26, 24),
  datetime.datetime(2013, 12, 17, 0, 26, 28),
  datetime.datetime(2013, 12, 17, 0, 26, 32),
  datetime.datetime(2013, 12, 17, 0, 26, 36),
  datetime.datetime(2013, 12, 17, 0, 26, 40),
  datetime.datetime(2013, 12, 17, 0, 26, 44),
  datetime.datetime(2013, 12, 17, 0, 26, 48),
  datetime.datetime(2013, 12, 17, 0, 26, 52),
  datetime.datetime(2013, 12, 17, 0, 26, 56),
  datetime.datetime(2013, 12, 17, 0, 27),
  datetime.datetime(2013, 12, 17, 0, 27, 4),
  datetime.datetime(2013, 12, 17, 0, 27, 8),
  datetime.datetime(2013, 12, 17, 0, 27, 12),
  datetime.datetime(2013, 12, 17, 0, 27, 16),
  datetime.datetime(2013, 12, 17, 0, 27, 20),
  datetime.datetime(2013, 12, 17, 0, 27, 24),
  datetime.datetime(2013, 12, 17, 0, 27, 28),
  datetime.datetime(2013, 12, 17, 0, 27, 32),
  datetime.datetime(2013, 12, 17, 0, 27, 36),
  datetime.datetime(2013, 12, 17, 0, 27, 40),
  datetime.datetime(2013, 12, 17, 0, 27, 44),
  datetime.datetime(2013, 12, 17, 0, 27, 48),
  datetime.datetime(2013, 12, 17, 0, 27, 52),
  datetime.datetime(2013, 12, 17, 0, 27, 56),
  datetime.datetime(2013, 12, 17, 0, 28),
  datetime.datetime(2013, 12, 17, 0, 28, 4),
  datetime.datetime(2013, 12, 17, 0, 28, 8),
  datetime.datetime(2013, 12, 17, 0, 28, 12),
  datetime.datetime(2013, 12, 17, 0, 28, 16),
  datetime.datetime(2013, 12, 17, 0, 28, 20),
  datetime.datetime(2013, 12, 17, 0, 28, 24),
  datetime.datetime(2013, 12, 17, 0, 28, 28),
  datetime.datetime(2013, 12, 17, 0, 28, 32),
  datetime.datetime(2013, 12, 17, 0, 28, 36),
  datetime.datetime(2013, 12, 17, 0, 28, 40),
  datetime.datetime(2013, 12, 17, 0, 28, 44),
  datetime.datetime(2013, 12, 17, 0, 28, 48),
  datetime.datetime(2013, 12, 17, 0, 28, 52),
  datetime.datetime(2013, 12, 17, 0, 28, 56),
  datetime.datetime(2013, 12, 17, 0, 29),
  datetime.datetime(2013, 12, 17, 0, 29, 4),
  datetime.datetime(2013, 12, 17, 0, 29, 8),
  datetime.datetime(2013, 12, 17, 0, 29, 12),
  datetime.datetime(2013, 12, 17, 0, 29, 16),
  datetime.datetime(2013, 12, 17, 0, 29, 20),
  datetime.datetime(2013, 12, 17, 0, 29, 24),
  datetime.datetime(2013, 12, 17, 0, 29, 28),
  datetime.datetime(2013, 12, 17, 0, 29, 32),
  datetime.datetime(2013, 12, 17, 0, 29, 36),
  datetime.datetime(2013, 12, 17, 0, 29, 40),
  datetime.datetime(2013, 12, 17, 0, 29, 44),
  datetime.datetime(2013, 12, 17, 0, 29, 48),
  datetime.datetime(2013, 12, 17, 0, 29, 52),
  datetime.datetime(2013, 12, 17, 0, 29, 56),
  datetime.datetime(2013, 12, 17, 0, 30),
  datetime.datetime(2013, 12, 17, 0, 30, 4),
  datetime.datetime(2013, 12, 17, 0, 30, 8),
  datetime.datetime(2013, 12, 17, 0, 30, 12),
  datetime.datetime(2013, 12, 17, 0, 30, 16),
  datetime.datetime(2013, 12, 17, 0, 30, 20),
  datetime.datetime(2013, 12, 17, 0, 30, 24),
  datetime.datetime(2013, 12, 17, 0, 30, 28),
  datetime.datetime(2013, 12, 17, 0, 30, 32),
  datetime.datetime(2013, 12, 17, 0, 30, 36),
  datetime.datetime(2013, 12, 17, 0, 30, 40),
  datetime.datetime(2013, 12, 17, 0, 30, 44),
  datetime.datetime(2013, 12, 17, 0, 30, 48),
  datetime.datetime(2013, 12, 17, 0, 30, 52),
  datetime.datetime(2013, 12, 17, 0, 30, 56),
  datetime.datetime(2013, 12, 17, 0, 31),
  datetime.datetime(2013, 12, 17, 0, 31, 4),
  datetime.datetime(2013, 12, 17, 0, 31, 8),
  datetime.datetime(2013, 12, 17, 0, 31, 12),
  datetime.datetime(2013, 12, 17, 0, 31, 16),
  datetime.datetime(2013, 12, 17, 0, 31, 20),
  datetime.datetime(2013, 12, 17, 0, 31, 24),
  datetime.datetime(2013, 12, 17, 0, 31, 28),
  datetime.datetime(2013, 12, 17, 0, 31, 32),
  datetime.datetime(2013, 12, 17, 0, 31, 36),
  datetime.datetime(2013, 12, 17, 0, 31, 40),
  datetime.datetime(2013, 12, 17, 0, 31, 44),
  datetime.datetime(2013, 12, 17, 0, 31, 48),
  datetime.datetime(2013, 12, 17, 0, 31, 52),
  datetime.datetime(2013, 12, 17, 0, 31, 56),
  datetime.datetime(2013, 12, 17, 0, 32),
  datetime.datetime(2013, 12, 17, 0, 32, 4),
  datetime.datetime(2013, 12, 17, 0, 32, 8),
  datetime.datetime(2013, 12, 17, 0, 32, 12),
  datetime.datetime(2013, 12, 17, 0, 32, 16),
  datetime.datetime(2013, 12, 17, 0, 32, 20),
  datetime.datetime(2013, 12, 17, 0, 32, 24),
  datetime.datetime(2013, 12, 17, 0, 32, 28),
  datetime.datetime(2013, 12, 17, 0, 32, 32),
  datetime.datetime(2013, 12, 17, 0, 32, 36),
  datetime.datetime(2013, 12, 17, 0, 32, 40),
  datetime.datetime(2013, 12, 17, 0, 32, 44),
  datetime.datetime(2013, 12, 17, 0, 32, 48),
  datetime.datetime(2013, 12, 17, 0, 32, 52),
  datetime.datetime(2013, 12, 17, 0, 32, 56),
  datetime.datetime(2013, 12, 17, 0, 33),
  datetime.datetime(2013, 12, 17, 0, 33, 4),
  datetime.datetime(2013, 12, 17, 0, 33, 8),
  datetime.datetime(2013, 12, 17, 0, 33, 12),
  datetime.datetime(2013, 12, 17, 0, 33, 16),
  datetime.datetime(2013, 12, 17, 0, 33, 20),
  datetime.datetime(2013, 12, 17, 0, 33, 24),
  datetime.datetime(2013, 12, 17, 0, 33, 28),
  datetime.datetime(2013, 12, 17, 0, 33, 32),
  datetime.datetime(2013, 12, 17, 0, 33, 36),
  datetime.datetime(2013, 12, 17, 0, 33, 40),
  datetime.datetime(2013, 12, 17, 0, 33, 44),
  datetime.datetime(2013, 12, 17, 0, 33, 48),
  datetime.datetime(2013, 12, 17, 0, 33, 52),
  datetime.datetime(2013, 12, 17, 0, 33, 56),
  datetime.datetime(2013, 12, 17, 0, 34),
  datetime.datetime(2013, 12, 17, 0, 34, 4),
  datetime.datetime(2013, 12, 17, 0, 34, 8),
  datetime.datetime(2013, 12, 17, 0, 34, 12),
  datetime.datetime(2013, 12, 17, 0, 34, 16),
  datetime.datetime(2013, 12, 17, 0, 34, 20),
  datetime.datetime(2013, 12, 17, 0, 34, 24),
  datetime.datetime(2013, 12, 17, 0, 34, 28),
  datetime.datetime(2013, 12, 17, 0, 34, 32),
  datetime.datetime(2013, 12, 17, 0, 34, 36),
  datetime.datetime(2013, 12, 17, 0, 34, 40),
  datetime.datetime(2013, 12, 17, 0, 34, 44),
  datetime.datetime(2013, 12, 17, 0, 34, 48),
  datetime.datetime(2013, 12, 17, 0, 34, 52),
  datetime.datetime(2013, 12, 17, 0, 34, 56),
  datetime.datetime(2013, 12, 17, 0, 35),
  datetime.datetime(2013, 12, 17, 0, 35, 4),
  datetime.datetime(2013, 12, 17, 0, 35, 8),
  datetime.datetime(2013, 12, 17, 0, 35, 12),
  datetime.datetime(2013, 12, 17, 0, 35, 16),
  datetime.datetime(2013, 12, 17, 0, 35, 20),
  datetime.datetime(2013, 12, 17, 0, 35, 24),
  datetime.datetime(2013, 12, 17, 0, 35, 28),
  datetime.datetime(2013, 12, 17, 0, 35, 32),
  datetime.datetime(2013, 12, 17, 0, 35, 36),
  datetime.datetime(2013, 12, 17, 0, 35, 40),
  datetime.datetime(2013, 12, 17, 0, 35, 44),
  datetime.datetime(2013, 12, 17, 0, 35, 48),
  datetime.datetime(2013, 12, 17, 0, 35, 52),
  datetime.datetime(2013, 12, 17, 0, 35, 56),
  datetime.datetime(2013, 12, 17, 0, 36),
  datetime.datetime(2013, 12, 17, 0, 36, 4),
  datetime.datetime(2013, 12, 17, 0, 36, 8),
  datetime.datetime(2013, 12, 17, 0, 36, 12),
  datetime.datetime(2013, 12, 17, 0, 36, 16),
  datetime.datetime(2013, 12, 17, 0, 36, 20),
  datetime.datetime(2013, 12, 17, 0, 36, 24),
  datetime.datetime(2013, 12, 17, 0, 36, 28),
  datetime.datetime(2013, 12, 17, 0, 36, 32),
  datetime.datetime(2013, 12, 17, 0, 36, 36),
  datetime.datetime(2013, 12, 17, 0, 36, 40),
  datetime.datetime(2013, 12, 17, 0, 36, 44),
  datetime.datetime(2013, 12, 17, 0, 36, 48),
  datetime.datetime(2013, 12, 17, 0, 36, 52),
  datetime.datetime(2013, 12, 17, 0, 36, 56),
  datetime.datetime(2013, 12, 17, 0, 37),
  datetime.datetime(2013, 12, 17, 0, 37, 4),
  datetime.datetime(2013, 12, 17, 0, 37, 8),
  datetime.datetime(2013, 12, 17, 0, 37, 12),
  datetime.datetime(2013, 12, 17, 0, 37, 16),
  datetime.datetime(2013, 12, 17, 0, 37, 20),
  datetime.datetime(2013, 12, 17, 0, 37, 24),
  datetime.datetime(2013, 12, 17, 0, 37, 28),
  datetime.datetime(2013, 12, 17, 0, 37, 32),
  datetime.datetime(2013, 12, 17, 0, 37, 36),
  datetime.datetime(2013, 12, 17, 0, 37, 40),
  datetime.datetime(2013, 12, 17, 0, 37, 44),
  datetime.datetime(2013, 12, 17, 0, 37, 48),
  datetime.datetime(2013, 12, 17, 0, 37, 52),
  datetime.datetime(2013, 12, 17, 0, 37, 56),
  datetime.datetime(2013, 12, 17, 0, 38),
  datetime.datetime(2013, 12, 17, 0, 38, 4),
  datetime.datetime(2013, 12, 17, 0, 38, 8),
  datetime.datetime(2013, 12, 17, 0, 38, 12),
  datetime.datetime(2013, 12, 17, 0, 38, 16),
  datetime.datetime(2013, 12, 17, 0, 38, 20),
  datetime.datetime(2013, 12, 17, 0, 38, 24),
  datetime.datetime(2013, 12, 17, 0, 38, 28),
  datetime.datetime(2013, 12, 17, 0, 38, 32),
  datetime.datetime(2013, 12, 17, 0, 38, 36),
  datetime.datetime(2013, 12, 17, 0, 38, 40),
  datetime.datetime(2013, 12, 17, 0, 38, 44),
  datetime.datetime(2013, 12, 17, 0, 38, 48),
  datetime.datetime(2013, 12, 17, 0, 38, 52),
  datetime.datetime(2013, 12, 17, 0, 38, 56),
  datetime.datetime(2013, 12, 17, 0, 39),
  datetime.datetime(2013, 12, 17, 0, 39, 4),
  datetime.datetime(2013, 12, 17, 0, 39, 8),
  datetime.datetime(2013, 12, 17, 0, 39, 12),
  datetime.datetime(2013, 12, 17, 0, 39, 16),
  datetime.datetime(2013, 12, 17, 0, 39, 20),
  datetime.datetime(2013, 12, 17, 0, 39, 24),
  datetime.datetime(2013, 12, 17, 0, 39, 28),
  datetime.datetime(2013, 12, 17, 0, 39, 32),
  datetime.datetime(2013, 12, 17, 0, 39, 36),
  datetime.datetime(2013, 12, 17, 0, 39, 40),
  datetime.datetime(2013, 12, 17, 0, 39, 44),
  datetime.datetime(2013, 12, 17, 0, 39, 48),
  datetime.datetime(2013, 12, 17, 0, 39, 52),
  datetime.datetime(2013, 12, 17, 0, 39, 56),
  datetime.datetime(2013, 12, 17, 0, 40),
  datetime.datetime(2013, 12, 17, 0, 40, 4),
  datetime.datetime(2013, 12, 17, 0, 40, 8),
  datetime.datetime(2013, 12, 17, 0, 40, 12),
  datetime.datetime(2013, 12, 17, 0, 40, 16),
  datetime.datetime(2013, 12, 17, 0, 40, 20),
  datetime.datetime(2013, 12, 17, 0, 40, 24),
  datetime.datetime(2013, 12, 17, 0, 40, 28),
  datetime.datetime(2013, 12, 17, 0, 40, 32),
  datetime.datetime(2013, 12, 17, 0, 40, 36),
  datetime.datetime(2013, 12, 17, 0, 40, 40),
  datetime.datetime(2013, 12, 17, 0, 40, 44),
  datetime.datetime(2013, 12, 17, 0, 40, 48),
  datetime.datetime(2013, 12, 17, 0, 40, 52),
  datetime.datetime(2013, 12, 17, 0, 40, 56),
  datetime.datetime(2013, 12, 17, 0, 41),
  datetime.datetime(2013, 12, 17, 0, 41, 4),
  datetime.datetime(2013, 12, 17, 0, 41, 8),
  datetime.datetime(2013, 12, 17, 0, 41, 12),
  datetime.datetime(2013, 12, 17, 0, 41, 16),
  datetime.datetime(2013, 12, 17, 0, 41, 20),
  datetime.datetime(2013, 12, 17, 0, 41, 24),
  datetime.datetime(2013, 12, 17, 0, 41, 28),
  datetime.datetime(2013, 12, 17, 0, 41, 32),
  datetime.datetime(2013, 12, 17, 0, 41, 36),
  datetime.datetime(2013, 12, 17, 0, 41, 40),
  datetime.datetime(2013, 12, 17, 0, 41, 44),
  datetime.datetime(2013, 12, 17, 0, 41, 48),
  datetime.datetime(2013, 12, 17, 0, 41, 52),
  datetime.datetime(2013, 12, 17, 0, 41, 56),
  datetime.datetime(2013, 12, 17, 0, 42),
  datetime.datetime(2013, 12, 17, 0, 42, 4),
  datetime.datetime(2013, 12, 17, 0, 42, 8),
  datetime.datetime(2013, 12, 17, 0, 42, 12),
  datetime.datetime(2013, 12, 17, 0, 42, 16),
  datetime.datetime(2013, 12, 17, 0, 42, 20),
  datetime.datetime(2013, 12, 17, 0, 42, 24),
  datetime.datetime(2013, 12, 17, 0, 42, 28),
  datetime.datetime(2013, 12, 17, 0, 42, 32),
  datetime.datetime(2013, 12, 17, 0, 42, 36),
  datetime.datetime(2013, 12, 17, 0, 42, 40),
  datetime.datetime(2013, 12, 17, 0, 42, 44),
  datetime.datetime(2013, 12, 17, 0, 42, 48),
  datetime.datetime(2013, 12, 17, 0, 42, 52),
  datetime.datetime(2013, 12, 17, 0, 42, 56),
  datetime.datetime(2013, 12, 17, 0, 43),
  datetime.datetime(2013, 12, 17, 0, 43, 4),
  datetime.datetime(2013, 12, 17, 0, 43, 8),
  datetime.datetime(2013, 12, 17, 0, 43, 12),
  datetime.datetime(2013, 12, 17, 0, 43, 16),
  datetime.datetime(2013, 12, 17, 0, 43, 20),
  datetime.datetime(2013, 12, 17, 0, 43, 24),
  datetime.datetime(2013, 12, 17, 0, 43, 28),
  datetime.datetime(2013, 12, 17, 0, 43, 32),
  datetime.datetime(2013, 12, 17, 0, 43, 36),
  datetime.datetime(2013, 12, 17, 0, 43, 40),
  datetime.datetime(2013, 12, 17, 0, 43, 44),
  datetime.datetime(2013, 12, 17, 0, 43, 48),
  datetime.datetime(2013, 12, 17, 0, 43, 52),
  datetime.datetime(2013, 12, 17, 0, 43, 56),
  datetime.datetime(2013, 12, 17, 0, 44),
  datetime.datetime(2013, 12, 17, 0, 44, 4),
  datetime.datetime(2013, 12, 17, 0, 44, 8),
  datetime.datetime(2013, 12, 17, 0, 44, 12),
  datetime.datetime(2013, 12, 17, 0, 44, 16),
  datetime.datetime(2013, 12, 17, 0, 44, 20),
  datetime.datetime(2013, 12, 17, 0, 44, 24),
  datetime.datetime(2013, 12, 17, 0, 44, 28),
  datetime.datetime(2013, 12, 17, 0, 44, 32),
  datetime.datetime(2013, 12, 17, 0, 44, 36),
  datetime.datetime(2013, 12, 17, 0, 44, 40),
  datetime.datetime(2013, 12, 17, 0, 44, 44),
  datetime.datetime(2013, 12, 17, 0, 44, 48),
  datetime.datetime(2013, 12, 17, 0, 44, 52),
  datetime.datetime(2013, 12, 17, 0, 44, 56),
  datetime.datetime(2013, 12, 17, 0, 45),
  datetime.datetime(2013, 12, 17, 0, 45, 4),
  datetime.datetime(2013, 12, 17, 0, 45, 8),
  datetime.datetime(2013, 12, 17, 0, 45, 12),
  datetime.datetime(2013, 12, 17, 0, 45, 16),
  datetime.datetime(2013, 12, 17, 0, 45, 20),
  datetime.datetime(2013, 12, 17, 0, 45, 24),
  datetime.datetime(2013, 12, 17, 0, 45, 28),
  datetime.datetime(2013, 12, 17, 0, 45, 32),
  datetime.datetime(2013, 12, 17, 0, 45, 36),
  datetime.datetime(2013, 12, 17, 0, 45, 40),
  datetime.datetime(2013, 12, 17, 0, 45, 44),
  datetime.datetime(2013, 12, 17, 0, 45, 48),
  datetime.datetime(2013, 12, 17, 0, 45, 52),
  datetime.datetime(2013, 12, 17, 0, 45, 56),
  datetime.datetime(2013, 12, 17, 0, 46),
  datetime.datetime(2013, 12, 17, 0, 46, 4),
  datetime.datetime(2013, 12, 17, 0, 46, 8),
  datetime.datetime(2013, 12, 17, 0, 46, 12),
  datetime.datetime(2013, 12, 17, 0, 46, 16),
  datetime.datetime(2013, 12, 17, 0, 46, 20),
  datetime.datetime(2013, 12, 17, 0, 46, 24),
  datetime.datetime(2013, 12, 17, 0, 46, 28),
  datetime.datetime(2013, 12, 17, 0, 46, 32),
  datetime.datetime(2013, 12, 17, 0, 46, 36),
  datetime.datetime(2013, 12, 17, 0, 46, 40),
  datetime.datetime(2013, 12, 17, 0, 46, 44),
  datetime.datetime(2013, 12, 17, 0, 46, 48),
  datetime.datetime(2013, 12, 17, 0, 46, 52),
  datetime.datetime(2013, 12, 17, 0, 46, 56),
  datetime.datetime(2013, 12, 17, 0, 47),
  datetime.datetime(2013, 12, 17, 0, 47, 4),
  datetime.datetime(2013, 12, 17, 0, 47, 8),
  datetime.datetime(2013, 12, 17, 0, 47, 12),
  datetime.datetime(2013, 12, 17, 0, 47, 16),
  datetime.datetime(2013, 12, 17, 0, 47, 20),
  datetime.datetime(2013, 12, 17, 0, 47, 24),
  datetime.datetime(2013, 12, 17, 0, 47, 28),
  datetime.datetime(2013, 12, 17, 0, 47, 32),
  datetime.datetime(2013, 12, 17, 0, 47, 36),
  datetime.datetime(2013, 12, 17, 0, 47, 40),
  datetime.datetime(2013, 12, 17, 0, 47, 44),
  datetime.datetime(2013, 12, 17, 0, 47, 48),
  datetime.datetime(2013, 12, 17, 0, 47, 52),
  datetime.datetime(2013, 12, 17, 0, 47, 56),
  datetime.datetime(2013, 12, 17, 0, 48),
  datetime.datetime(2013, 12, 17, 0, 48, 4),
  datetime.datetime(2013, 12, 17, 0, 48, 8),
  datetime.datetime(2013, 12, 17, 0, 48, 12),
  datetime.datetime(2013, 12, 17, 0, 48, 16),
  datetime.datetime(2013, 12, 17, 0, 48, 20),
  datetime.datetime(2013, 12, 17, 0, 48, 24),
  datetime.datetime(2013, 12, 17, 0, 48, 28),
  datetime.datetime(2013, 12, 17, 0, 48, 32),
  datetime.datetime(2013, 12, 17, 0, 48, 36),
  datetime.datetime(2013, 12, 17, 0, 48, 40),
  datetime.datetime(2013, 12, 17, 0, 48, 44),
  datetime.datetime(2013, 12, 17, 0, 48, 48),
  datetime.datetime(2013, 12, 17, 0, 48, 52),
  datetime.datetime(2013, 12, 17, 0, 48, 56),
  datetime.datetime(2013, 12, 17, 0, 49),
  datetime.datetime(2013, 12, 17, 0, 49, 4),
  datetime.datetime(2013, 12, 17, 0, 49, 8),
  datetime.datetime(2013, 12, 17, 0, 49, 12),
  datetime.datetime(2013, 12, 17, 0, 49, 16),
  datetime.datetime(2013, 12, 17, 0, 49, 20),
  datetime.datetime(2013, 12, 17, 0, 49, 24),
  datetime.datetime(2013, 12, 17, 0, 49, 28),
  datetime.datetime(2013, 12, 17, 0, 49, 32),
  datetime.datetime(2013, 12, 17, 0, 49, 36),
  datetime.datetime(2013, 12, 17, 0, 49, 40),
  datetime.datetime(2013, 12, 17, 0, 49, 44),
  datetime.datetime(2013, 12, 17, 0, 49, 48),
  datetime.datetime(2013, 12, 17, 0, 49, 52),
  datetime.datetime(2013, 12, 17, 0, 49, 56),
  datetime.datetime(2013, 12, 17, 0, 50),
  datetime.datetime(2013, 12, 17, 0, 50, 4),
  datetime.datetime(2013, 12, 17, 0, 50, 8),
  datetime.datetime(2013, 12, 17, 0, 50, 12),
  datetime.datetime(2013, 12, 17, 0, 50, 16),
  datetime.datetime(2013, 12, 17, 0, 50, 20),
  datetime.datetime(2013, 12, 17, 0, 50, 24),
  datetime.datetime(2013, 12, 17, 0, 50, 28),
  datetime.datetime(2013, 12, 17, 0, 50, 32),
  datetime.datetime(2013, 12, 17, 0, 50, 36),
  datetime.datetime(2013, 12, 17, 0, 50, 40),
  datetime.datetime(2013, 12, 17, 0, 50, 44),
  datetime.datetime(2013, 12, 17, 0, 50, 48),
  datetime.datetime(2013, 12, 17, 0, 50, 52),
  datetime.datetime(2013, 12, 17, 0, 50, 56),
  datetime.datetime(2013, 12, 17, 0, 51),
  datetime.datetime(2013, 12, 17, 0, 51, 4),
  datetime.datetime(2013, 12, 17, 0, 51, 8),
  datetime.datetime(2013, 12, 17, 0, 51, 12),
  datetime.datetime(2013, 12, 17, 0, 51, 16),
  datetime.datetime(2013, 12, 17, 0, 51, 20),
  datetime.datetime(2013, 12, 17, 0, 51, 24),
  datetime.datetime(2013, 12, 17, 0, 51, 28),
  datetime.datetime(2013, 12, 17, 0, 51, 32),
  datetime.datetime(2013, 12, 17, 0, 51, 36),
  datetime.datetime(2013, 12, 17, 0, 51, 40),
  datetime.datetime(2013, 12, 17, 0, 51, 44),
  datetime.datetime(2013, 12, 17, 0, 51, 48),
  datetime.datetime(2013, 12, 17, 0, 51, 52),
  datetime.datetime(2013, 12, 17, 0, 51, 56),
  datetime.datetime(2013, 12, 17, 0, 52),
  datetime.datetime(2013, 12, 17, 0, 52, 4),
  datetime.datetime(2013, 12, 17, 0, 52, 8),
  datetime.datetime(2013, 12, 17, 0, 52, 12),
  datetime.datetime(2013, 12, 17, 0, 52, 16),
  datetime.datetime(2013, 12, 17, 0, 52, 20),
  datetime.datetime(2013, 12, 17, 0, 52, 24),
  datetime.datetime(2013, 12, 17, 0, 52, 28),
  datetime.datetime(2013, 12, 17, 0, 52, 32),
  datetime.datetime(2013, 12, 17, 0, 52, 36),
  datetime.datetime(2013, 12, 17, 0, 52, 40),
  datetime.datetime(2013, 12, 17, 0, 52, 44),
  datetime.datetime(2013, 12, 17, 0, 52, 48),
  datetime.datetime(2013, 12, 17, 0, 52, 52),
  datetime.datetime(2013, 12, 17, 0, 52, 56),
  datetime.datetime(2013, 12, 17, 0, 53),
  datetime.datetime(2013, 12, 17, 0, 53, 4),
  datetime.datetime(2013, 12, 17, 0, 53, 8),
  datetime.datetime(2013, 12, 17, 0, 53, 12),
  datetime.datetime(2013, 12, 17, 0, 53, 16),
  datetime.datetime(2013, 12, 17, 0, 53, 20),
  datetime.datetime(2013, 12, 17, 0, 53, 24),
  datetime.datetime(2013, 12, 17, 0, 53, 28),
  datetime.datetime(2013, 12, 17, 0, 53, 32),
  datetime.datetime(2013, 12, 17, 0, 53, 36),
  datetime.datetime(2013, 12, 17, 0, 53, 40),
  datetime.datetime(2013, 12, 17, 0, 53, 44),
  datetime.datetime(2013, 12, 17, 0, 53, 48),
  datetime.datetime(2013, 12, 17, 0, 53, 52),
  datetime.datetime(2013, 12, 17, 0, 53, 56),
  datetime.datetime(2013, 12, 17, 0, 54),
  datetime.datetime(2013, 12, 17, 0, 54, 4),
  datetime.datetime(2013, 12, 17, 0, 54, 8),
  datetime.datetime(2013, 12, 17, 0, 54, 12),
  datetime.datetime(2013, 12, 17, 0, 54, 16),
  datetime.datetime(2013, 12, 17, 0, 54, 20),
  datetime.datetime(2013, 12, 17, 0, 54, 24),
  datetime.datetime(2013, 12, 17, 0, 54, 28),
  datetime.datetime(2013, 12, 17, 0, 54, 32),
  datetime.datetime(2013, 12, 17, 0, 54, 36),
  datetime.datetime(2013, 12, 17, 0, 54, 40),
  datetime.datetime(2013, 12, 17, 0, 54, 44),
  datetime.datetime(2013, 12, 17, 0, 54, 48),
  datetime.datetime(2013, 12, 17, 0, 54, 52),
  datetime.datetime(2013, 12, 17, 0, 54, 56),
  datetime.datetime(2013, 12, 17, 0, 55),
  datetime.datetime(2013, 12, 17, 0, 55, 4),
  datetime.datetime(2013, 12, 17, 0, 55, 8),
  datetime.datetime(2013, 12, 17, 0, 55, 12),
  datetime.datetime(2013, 12, 17, 0, 55, 16),
  datetime.datetime(2013, 12, 17, 0, 55, 20),
  datetime.datetime(2013, 12, 17, 0, 55, 24),
  datetime.datetime(2013, 12, 17, 0, 55, 28),
  datetime.datetime(2013, 12, 17, 0, 55, 32),
  datetime.datetime(2013, 12, 17, 0, 55, 36),
  datetime.datetime(2013, 12, 17, 0, 55, 40),
  datetime.datetime(2013, 12, 17, 0, 55, 44),
  datetime.datetime(2013, 12, 17, 0, 55, 48),
  datetime.datetime(2013, 12, 17, 0, 55, 52),
  datetime.datetime(2013, 12, 17, 0, 55, 56),
  datetime.datetime(2013, 12, 17, 0, 56),
  datetime.datetime(2013, 12, 17, 0, 56, 4),
  datetime.datetime(2013, 12, 17, 0, 56, 8),
  datetime.datetime(2013, 12, 17, 0, 56, 12),
  datetime.datetime(2013, 12, 17, 0, 56, 16),
  datetime.datetime(2013, 12, 17, 0, 56, 20),
  datetime.datetime(2013, 12, 17, 0, 56, 24),
  datetime.datetime(2013, 12, 17, 0, 56, 28),
  datetime.datetime(2013, 12, 17, 0, 56, 32),
  datetime.datetime(2013, 12, 17, 0, 56, 36),
  datetime.datetime(2013, 12, 17, 0, 56, 40),
  datetime.datetime(2013, 12, 17, 0, 56, 44),
  datetime.datetime(2013, 12, 17, 0, 56, 48),
  datetime.datetime(2013, 12, 17, 0, 56, 52),
  datetime.datetime(2013, 12, 17, 0, 56, 56),
  datetime.datetime(2013, 12, 17, 0, 57),
  datetime.datetime(2013, 12, 17, 0, 57, 4),
  datetime.datetime(2013, 12, 17, 0, 57, 8),
  datetime.datetime(2013, 12, 17, 0, 57, 12),
  datetime.datetime(2013, 12, 17, 0, 57, 16),
  datetime.datetime(2013, 12, 17, 0, 57, 20),
  datetime.datetime(2013, 12, 17, 0, 57, 24),
  datetime.datetime(2013, 12, 17, 0, 57, 28),
  datetime.datetime(2013, 12, 17, 0, 57, 32),
  datetime.datetime(2013, 12, 17, 0, 57, 36),
  datetime.datetime(2013, 12, 17, 0, 57, 40),
  datetime.datetime(2013, 12, 17, 0, 57, 44),
  datetime.datetime(2013, 12, 17, 0, 57, 48),
  datetime.datetime(2013, 12, 17, 0, 57, 52),
  datetime.datetime(2013, 12, 17, 0, 57, 56),
  datetime.datetime(2013, 12, 17, 0, 58),
  datetime.datetime(2013, 12, 17, 0, 58, 4),
  datetime.datetime(2013, 12, 17, 0, 58, 8),
  datetime.datetime(2013, 12, 17, 0, 58, 12),
  datetime.datetime(2013, 12, 17, 0, 58, 16),
  datetime.datetime(2013, 12, 17, 0, 58, 20),
  datetime.datetime(2013, 12, 17, 0, 58, 24),
  datetime.datetime(2013, 12, 17, 0, 58, 28),
  datetime.datetime(2013, 12, 17, 0, 58, 32),
  datetime.datetime(2013, 12, 17, 0, 58, 36),
  datetime.datetime(2013, 12, 17, 0, 58, 40),
  datetime.datetime(2013, 12, 17, 0, 58, 44),
  datetime.datetime(2013, 12, 17, 0, 58, 48),
  datetime.datetime(2013, 12, 17, 0, 58, 52),
  datetime.datetime(2013, 12, 17, 0, 58, 56),
  datetime.datetime(2013, 12, 17, 0, 59),
  datetime.datetime(2013, 12, 17, 0, 59, 4),
  datetime.datetime(2013, 12, 17, 0, 59, 8),
  datetime.datetime(2013, 12, 17, 0, 59, 12),
  datetime.datetime(2013, 12, 17, 0, 59, 16),
  datetime.datetime(2013, 12, 17, 0, 59, 20),
  datetime.datetime(2013, 12, 17, 0, 59, 24),
  datetime.datetime(2013, 12, 17, 0, 59, 28),
  datetime.datetime(2013, 12, 17, 0, 59, 32),
  datetime.datetime(2013, 12, 17, 0, 59, 36),
  datetime.datetime(2013, 12, 17, 0, 59, 40),
  datetime.datetime(2013, 12, 17, 0, 59, 44),
  datetime.datetime(2013, 12, 17, 0, 59, 48),
  datetime.datetime(2013, 12, 17, 0, 59, 52),
  datetime.datetime(2013, 12, 17, 0, 59, 56),
  datetime.datetime(2013, 12, 17, 1, 0),
  datetime.datetime(2013, 12, 17, 1, 0, 4),
  datetime.datetime(2013, 12, 17, 1, 0, 8),
  datetime.datetime(2013, 12, 17, 1, 0, 12),
  datetime.datetime(2013, 12, 17, 1, 0, 16),
  datetime.datetime(2013, 12, 17, 1, 0, 20),
  datetime.datetime(2013, 12, 17, 1, 0, 24),
  datetime.datetime(2013, 12, 17, 1, 0, 28),
  datetime.datetime(2013, 12, 17, 1, 0, 32),
  datetime.datetime(2013, 12, 17, 1, 0, 36),
  datetime.datetime(2013, 12, 17, 1, 0, 40),
  datetime.datetime(2013, 12, 17, 1, 0, 44),
  datetime.datetime(2013, 12, 17, 1, 0, 48),
  datetime.datetime(2013, 12, 17, 1, 0, 52),
  datetime.datetime(2013, 12, 17, 1, 0, 56),
  datetime.datetime(2013, 12, 17, 1, 1),
  datetime.datetime(2013, 12, 17, 1, 1, 4),
  datetime.datetime(2013, 12, 17, 1, 1, 8),
  datetime.datetime(2013, 12, 17, 1, 1, 12),
  datetime.datetime(2013, 12, 17, 1, 1, 16),
  datetime.datetime(2013, 12, 17, 1, 1, 20),
  datetime.datetime(2013, 12, 17, 1, 1, 24),
  datetime.datetime(2013, 12, 17, 1, 1, 28),
  datetime.datetime(2013, 12, 17, 1, 1, 32),
  datetime.datetime(2013, 12, 17, 1, 1, 36),
  datetime.datetime(2013, 12, 17, 1, 1, 40),
  datetime.datetime(2013, 12, 17, 1, 1, 44),
  datetime.datetime(2013, 12, 17, 1, 1, 48),
  datetime.datetime(2013, 12, 17, 1, 1, 52),
  datetime.datetime(2013, 12, 17, 1, 1, 56),
  datetime.datetime(2013, 12, 17, 1, 2),
  datetime.datetime(2013, 12, 17, 1, 2, 4),
  datetime.datetime(2013, 12, 17, 1, 2, 8),
  datetime.datetime(2013, 12, 17, 1, 2, 12),
  datetime.datetime(2013, 12, 17, 1, 2, 16),
  datetime.datetime(2013, 12, 17, 1, 2, 20),
  datetime.datetime(2013, 12, 17, 1, 2, 24),
  datetime.datetime(2013, 12, 17, 1, 2, 28),
  datetime.datetime(2013, 12, 17, 1, 2, 32),
  datetime.datetime(2013, 12, 17, 1, 2, 36),
  datetime.datetime(2013, 12, 17, 1, 2, 40),
  datetime.datetime(2013, 12, 17, 1, 2, 44),
  datetime.datetime(2013, 12, 17, 1, 2, 48),
  datetime.datetime(2013, 12, 17, 1, 2, 52),
  datetime.datetime(2013, 12, 17, 1, 2, 56),
  datetime.datetime(2013, 12, 17, 1, 3),
  datetime.datetime(2013, 12, 17, 1, 3, 4),
  datetime.datetime(2013, 12, 17, 1, 3, 8),
  datetime.datetime(2013, 12, 17, 1, 3, 12),
  datetime.datetime(2013, 12, 17, 1, 3, 16),
  datetime.datetime(2013, 12, 17, 1, 3, 20),
  datetime.datetime(2013, 12, 17, 1, 3, 24),
  datetime.datetime(2013, 12, 17, 1, 3, 28),
  datetime.datetime(2013, 12, 17, 1, 3, 32),
  datetime.datetime(2013, 12, 17, 1, 3, 36),
  datetime.datetime(2013, 12, 17, 1, 3, 40),
  datetime.datetime(2013, 12, 17, 1, 3, 44),
  datetime.datetime(2013, 12, 17, 1, 3, 48),
  datetime.datetime(2013, 12, 17, 1, 3, 52),
  datetime.datetime(2013, 12, 17, 1, 3, 56),
  datetime.datetime(2013, 12, 17, 1, 4),
  datetime.datetime(2013, 12, 17, 1, 4, 4),
  datetime.datetime(2013, 12, 17, 1, 4, 8),
  datetime.datetime(2013, 12, 17, 1, 4, 12),
  datetime.datetime(2013, 12, 17, 1, 4, 16),
  datetime.datetime(2013, 12, 17, 1, 4, 20),
  datetime.datetime(2013, 12, 17, 1, 4, 24),
  datetime.datetime(2013, 12, 17, 1, 4, 28),
  datetime.datetime(2013, 12, 17, 1, 4, 32),
  datetime.datetime(2013, 12, 17, 1, 4, 36),
  datetime.datetime(2013, 12, 17, 1, 4, 40),
  datetime.datetime(2013, 12, 17, 1, 4, 44),
  datetime.datetime(2013, 12, 17, 1, 4, 48),
  datetime.datetime(2013, 12, 17, 1, 4, 52),
  datetime.datetime(2013, 12, 17, 1, 4, 56),
  datetime.datetime(2013, 12, 17, 1, 5),
  datetime.datetime(2013, 12, 17, 1, 5, 4),
  datetime.datetime(2013, 12, 17, 1, 5, 8),
  datetime.datetime(2013, 12, 17, 1, 5, 12),
  datetime.datetime(2013, 12, 17, 1, 5, 16),
  datetime.datetime(2013, 12, 17, 1, 5, 20),
  datetime.datetime(2013, 12, 17, 1, 5, 24),
  datetime.datetime(2013, 12, 17, 1, 5, 28),
  datetime.datetime(2013, 12, 17, 1, 5, 32),
  datetime.datetime(2013, 12, 17, 1, 5, 36),
  datetime.datetime(2013, 12, 17, 1, 5, 40),
  datetime.datetime(2013, 12, 17, 1, 5, 44),
  datetime.datetime(2013, 12, 17, 1, 5, 48),
  datetime.datetime(2013, 12, 17, 1, 5, 52),
  datetime.datetime(2013, 12, 17, 1, 5, 56),
  datetime.datetime(2013, 12, 17, 1, 6),
  datetime.datetime(2013, 12, 17, 1, 6, 4),
  datetime.datetime(2013, 12, 17, 1, 6, 8),
  datetime.datetime(2013, 12, 17, 1, 6, 12),
  datetime.datetime(2013, 12, 17, 1, 6, 16),
  datetime.datetime(2013, 12, 17, 1, 6, 20),
  datetime.datetime(2013, 12, 17, 1, 6, 24),
  datetime.datetime(2013, 12, 17, 1, 6, 28),
  datetime.datetime(2013, 12, 17, 1, 6, 32),
  datetime.datetime(2013, 12, 17, 1, 6, 36),
  ...]}

In [7]:
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 [11]:
pd.DataFrame(r['data'], columns=r['labels'], index = r['time'])


Out[11]:
3 - 6 keV 6 - 12 keV 12 - 25 keV 25 - 50 keV 50 - 100 keV 100 - 300 keV 300 - 800 keV 800 - 7000 keV 7000 - 20000 keV
2013-12-17 00:00:00 24 17 10 11 13 23 30 26 1
2013-12-17 00:00:04 26 17 12 12 13 25 29 26 1
2013-12-17 00:00:08 24 16 9 9 12 23 30 25 0
2013-12-17 00:00:12 24 16 10 12 11 23 29 25 1
2013-12-17 00:00:16 25 16 11 11 12 24 30 25 1
2013-12-17 00:00:20 26 17 10 10 13 24 30 26 1
2013-12-17 00:00:24 23 16 9 10 12 22 30 25 1
2013-12-17 00:00:28 24 16 9 10 12 22 29 26 1
2013-12-17 00:00:32 25 16 9 10 11 23 30 25 0
2013-12-17 00:00:36 24 17 10 10 12 25 28 25 1
2013-12-17 00:00:40 25 16 9 11 12 23 29 25 1
2013-12-17 00:00:44 23 16 8 10 12 23 30 25 1
2013-12-17 00:00:48 23 16 9 9 11 22 29 24 1
2013-12-17 00:00:52 24 16 11 10 13 24 29 24 1
2013-12-17 00:00:56 25 17 11 9 12 23 30 25 1
2013-12-17 00:01:00 24 16 10 11 11 23 29 26 0
2013-12-17 00:01:04 25 17 10 10 12 23 28 25 1
2013-12-17 00:01:08 24 16 9 10 12 22 29 25 1
2013-12-17 00:01:12 25 17 10 10 12 23 28 25 1
2013-12-17 00:01:16 23 16 11 10 13 22 28 25 1
2013-12-17 00:01:20 25 16 10 10 13 22 29 25 1
2013-12-17 00:01:24 23 16 10 11 13 22 30 25 1
2013-12-17 00:01:28 26 17 9 11 13 24 30 25 1
2013-12-17 00:01:32 26 17 9 10 13 23 29 25 0
2013-12-17 00:01:36 24 16 8 10 10 23 29 25 1
2013-12-17 00:01:40 24 16 9 10 12 23 30 26 1
2013-12-17 00:01:44 22 16 9 8 11 22 27 25 1
2013-12-17 00:01:48 24 16 9 11 12 22 28 25 1
2013-12-17 00:01:52 24 17 10 11 12 23 28 26 1
2013-12-17 00:01:56 23 16 9 10 12 23 29 26 1
2013-12-17 00:02:00 24 16 8 9 11 23 29 25 1
2013-12-17 00:02:04 24 16 9 11 11 22 29 25 0
2013-12-17 00:02:08 24 15 10 10 12 23 30 24 1
2013-12-17 00:02:12 25 16 9 10 12 23 29 25 1
2013-12-17 00:02:16 24 16 9 10 12 23 29 25 1
2013-12-17 00:02:20 24 15 9 10 12 23 28 25 1
2013-12-17 00:02:24 25 16 9 9 12 22 29 25 1
2013-12-17 00:02:28 24 15 10 11 11 23 28 25 1
2013-12-17 00:02:32 23 16 8 9 12 23 29 25 1
2013-12-17 00:02:36 25 17 10 11 12 23 29 25 1
2013-12-17 00:02:40 24 15 9 11 12 23 28 24 1
2013-12-17 00:02:44 25 17 10 10 12 23 29 25 1
2013-12-17 00:02:48 25 17 9 10 11 23 29 25 0
2013-12-17 00:02:52 24 15 10 8 11 22 28 25 1
2013-12-17 00:02:56 24 16 9 10 12 22 30 24 0
2013-12-17 00:03:00 23 16 11 9 11 23 28 25 1
2013-12-17 00:03:04 25 16 9 10 12 22 29 25 1
2013-12-17 00:03:08 24 16 9 9 11 22 27 25 1
2013-12-17 00:03:12 24 16 9 11 12 22 29 24 1
2013-12-17 00:03:16 25 17 9 11 12 23 29 25 1
2013-12-17 00:03:20 26 17 10 9 11 23 29 25 1
2013-12-17 00:03:24 23 16 10 10 12 24 28 26 1
2013-12-17 00:03:28 24 16 9 9 12 23 28 25 0
2013-12-17 00:03:32 23 16 9 9 11 22 27 25 1
2013-12-17 00:03:36 24 17 11 9 12 22 28 25 0
2013-12-17 00:03:40 23 15 8 9 12 22 28 25 1
2013-12-17 00:03:44 25 16 9 10 12 22 30 24 1
2013-12-17 00:03:48 24 16 9 11 11 22 28 24 1
2013-12-17 00:03:52 25 16 8 10 11 22 27 25 1
2013-12-17 00:03:56 25 16 9 10 11 22 29 25 1
... ... ... ... ... ... ... ... ...

10465 rows × 9 columns


In [1]:
from sunpy.lightcurve import RHESSISummaryLightCurve
from sunpy.time import TimeRange


/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 [2]:
from sunpy.instr import rhessi

In [3]:
lc = RHESSISummaryLightCurve.create(TimeRange('2003/03/02', '2003/03/03'))


http://hesperia.gsfc.nasa.gov/hessidata/metadata/catalog/hsi_obssumm_20030302_146.fits
/Users/schriste/Dropbox/Developer/python/sunpy/sunpy/lightcurve/lightcurve.py:228: RuntimeWarning: Using existing file rather than downloading, use overwrite=True to override.
  warnings.warn("Using existing file rather than downloading, use overwrite=True to override.", RuntimeWarning)

In [3]:


In [4]:
from matplotlib import pyplot as plt
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [5]:
plt.figure()
lc.data.plot()
plt.show()


<matplotlib.figure.Figure at 0x10799e250>

In [6]:
lc.peek()


/Users/schriste/anaconda/lib/python2.7/site-packages/matplotlib/figure.py:371: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure
  "matplotlib is currently using a non-GUI backend, "

In [20]:
for item, frame in lc.data.iteritems():
    print(frame.values)


[ 97  97 100 ...,  22  21  20]
[115 116 119 ...,  20  19  20]
[38 39 42 ...,  9  9  9]
[24 25 26 ..., 26 25 25]
[37 37 38 ..., 38 38 39]
[45 46 45 ..., 48 46 48]
[39 40 39 ..., 42 41 41]
[38 38 38 ..., 40 41 39]
[4 5 4 ..., 4 4 4]

In [7]:
lc.meta


Out[7]:
OrderedDict([('SIMPLE', True), ('BITPIX', 8), ('NAXIS', 0), ('EXTEND', True), ('DATE', '2014-04-14'), ('ORIGIN', 'shade'), ('OBSERVER', 'hessiops'), ('TELESCOP', 'HESSI'), ('OBJECT', 'Sun'), ('DATE_OBS', '2003-03-02T00:00:00.000'), ('DATE_END', '2003-03-03T00:00:00.000')])

In [8]:
timerange_a = TimeRange('2008/06/01', '2008/06/02')
timerange_b = TimeRange('2004/06/03', '2004/06/04')

In [9]:
lc._get_url_for_date_range(timerange_a)


http://hesperia.gsfc.nasa.gov/hessidata/metadata/catalog/hsi_obssumm_20080601_068.fits
Out[9]:
'http://hesperia.gsfc.nasa.gov/hessidata/metadata/catalog/hsi_obssumm_20080601_068.fits'

In [10]:
lc._get_url_for_date_range(timerange_b)


http://hesperia.gsfc.nasa.gov/hessidata/metadata/catalog/hsi_obssumm_20040603_110.fits
Out[10]:
'http://hesperia.gsfc.nasa.gov/hessidata/metadata/catalog/hsi_obssumm_20040603_110.fits'

In [ ]: