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 [ ]:
Content source: ehsteve/ipython-notebooks
Similar notebooks: