Finding GBM Data¶
A natural question may be: “Where do I find the data I need?” Well, you’re in luck, because this will show you how to find the data you seek. GBM Data is hosted publicly on the HEASARC FTP server via the Fermi Science Support Center, and the data are stored in a consistent directory structure. But instead of having to navigate a winding maze of FTP directories, we provide a couple of classes built to retrieve the data you want. First, you need to decide if you want trigger data (say from a GRB) or continuous data. Let’s start with trigger data, and assume you know the trigger number you’re interested in:
[1]:
# the datafinder class for triggers
from gbm.finder import TriggerFtp
# initialize the Trigger data finder with a trigger number
trig_finder = TriggerFtp('190114873')
trig_finder.num_files
[1]:
122
We don’t really care about the directory structure, we just want the data. So this quickly gets us to the directory we need. There are 122 files associated with this trigger. Say we want CSPEC data. is there CSPEC available?
[2]:
trig_finder.ls_cspec()
[2]:
['glg_cspec_b0_bn190114873_v00.pha',
'glg_cspec_b1_bn190114873_v00.pha',
'glg_cspec_n0_bn190114873_v00.pha',
'glg_cspec_n1_bn190114873_v00.pha',
'glg_cspec_n2_bn190114873_v00.pha',
'glg_cspec_n3_bn190114873_v00.pha',
'glg_cspec_n4_bn190114873_v00.pha',
'glg_cspec_n5_bn190114873_v00.pha',
'glg_cspec_n6_bn190114873_v00.pha',
'glg_cspec_n7_bn190114873_v00.pha',
'glg_cspec_n8_bn190114873_v00.pha',
'glg_cspec_n9_bn190114873_v00.pha',
'glg_cspec_na_bn190114873_v00.pha',
'glg_cspec_nb_bn190114873_v00.pha']
Great! There’s a full complement of CSPEC data. How about responses for the CSPEC data?
[3]:
trig_finder.ls_rsp(cspec=True, ctime=False)
[3]:
['glg_cspec_b0_bn190114873_v02.rsp',
'glg_cspec_b1_bn190114873_v02.rsp',
'glg_cspec_n0_bn190114873_v02.rsp',
'glg_cspec_n1_bn190114873_v02.rsp',
'glg_cspec_n2_bn190114873_v02.rsp',
'glg_cspec_n3_bn190114873_v02.rsp',
'glg_cspec_n4_bn190114873_v02.rsp',
'glg_cspec_n5_bn190114873_v02.rsp',
'glg_cspec_n6_bn190114873_v02.rsp',
'glg_cspec_n7_bn190114873_v02.rsp',
'glg_cspec_n8_bn190114873_v02.rsp',
'glg_cspec_n9_bn190114873_v02.rsp',
'glg_cspec_na_bn190114873_v02.rsp',
'glg_cspec_nb_bn190114873_v02.rsp']
Again, we can list all of the relevant files. Are there any quicklook lightcurve plots?
[4]:
trig_finder.ls_lightcurve()
[4]:
['glg_lc_chan12_bn190114873_v00.pdf',
'glg_lc_chan34_bn190114873_v00.pdf',
'glg_lc_chan567_bn190114873_v00.pdf',
'glg_lc_chantot_bn190114873_v00.pdf',
'glg_lc_tot_bn190114873_v00.pdf']
What if we want to move on to another trigger? You don’t have to create a new TriggerFTP
object, you can just set_trigger()
:
[5]:
# change trigger
trig_finder.set_trigger('170817529')
trig_finder.num_files
[5]:
128
Of course, you don’t want to just list the files in a directory, you want to download them. Let’s download all the catalog files for GRB 170817A:
[6]:
trig_finder.get_cat_files('./')
glg_bcat_all_bn170817529_v01.fit [==============================] 100.00%
glg_scat_all_bn170817529_flnc_band_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_flnc_comp_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_flnc_plaw_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_flnc_sbpl_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_pflx_band_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_pflx_comp_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_pflx_plaw_v00.fit [==============================] 100.00%
glg_scat_all_bn170817529_pflx_sbpl_v00.fit [==============================] 100.00%
glg_tcat_all_bn170817529_v03.fit [==============================] 100.00%
Now we want some continuous data. There aren’t any trigger numbers for continuous data. Continuous CTIME and CSPEC are available in files that cover a whole day (in UTC) and TTE are offered in hourly files. To find the data you need, instead of a trigger number, you need to specify a time
[7]:
# the datafinder class for continuous data
from gbm.finder import ContinuousFtp
# initialize the continuous data finder with a time (Fermi MET, UTC, or GPS)
cont_finder = ContinuousFtp(met=587683338.0)
cont_finder.num_files
[7]:
379
That’s a whole lotta files in this directory. Most of them are TTE; remember that each hour has a TTE file (since the end of 2012) for each detector. Let’s just list the CTIME that’s available:
[8]:
# list ctime data covering this time
cont_finder.ls_ctime()
[8]:
['glg_ctime_b0_190816_v00.pha',
'glg_ctime_b1_190816_v00.pha',
'glg_ctime_n0_190816_v00.pha',
'glg_ctime_n1_190816_v00.pha',
'glg_ctime_n2_190816_v00.pha',
'glg_ctime_n3_190816_v00.pha',
'glg_ctime_n4_190816_v00.pha',
'glg_ctime_n5_190816_v00.pha',
'glg_ctime_n6_190816_v00.pha',
'glg_ctime_n7_190816_v00.pha',
'glg_ctime_n8_190816_v00.pha',
'glg_ctime_n9_190816_v00.pha',
'glg_ctime_na_190816_v00.pha',
'glg_ctime_nb_190816_v00.pha']
Now let’s list the available TTE for this time. This will only list the TTE files in the directory that cover the relevant time:
[9]:
# list hourly TTE data covering this time
cont_finder.ls_tte()
[9]:
['glg_tte_b0_190816_21z_v00.fit.gz',
'glg_tte_b1_190816_21z_v00.fit.gz',
'glg_tte_n0_190816_21z_v00.fit.gz',
'glg_tte_n1_190816_21z_v00.fit.gz',
'glg_tte_n2_190816_21z_v00.fit.gz',
'glg_tte_n3_190816_21z_v00.fit.gz',
'glg_tte_n4_190816_21z_v00.fit.gz',
'glg_tte_n5_190816_21z_v00.fit.gz',
'glg_tte_n6_190816_21z_v00.fit.gz',
'glg_tte_n7_190816_21z_v00.fit.gz',
'glg_tte_n8_190816_21z_v00.fit.gz',
'glg_tte_n9_190816_21z_v00.fit.gz',
'glg_tte_na_190816_21z_v00.fit.gz',
'glg_tte_nb_190816_21z_v00.fit.gz']
Similar to the trigger finder, you can use the same object to search at different times.
[10]:
# change the time of interest
cont_finder.set_time(utc='2017-08-17T12:41:06.47')
Now how about downloading the position history file for this time:
[11]:
cont_finder.get_poshist('./')
glg_poshist_all_170817_v01.fit [==============================] 100.00%
Searching the GBM Catalogs¶
The HEASARC also hosts two catalogs that are of interest here: a Trigger Catalog that contains information about every GBM trigger, and a Burst Catalog that contains standard analysis of every triggered GRB. HEASARC provides a way to search these catalogs online through their Browse interface, but we offer a way to do it in Python through the Data Tools.
Let’s look at the trigger catalog first:
[12]:
from gbm.finder import TriggerCatalog
trigcat = TriggerCatalog()
trigcat.num_rows
Downloading Catalog from HEASARC via w3query.pl...
Finished in 8 s
[12]:
8283
Depending on your connection, initialization may take a few seconds. You can see what columns are available in the catalog:
[13]:
trigcat.columns
[13]:
array(['version', 'trigger_name', 'name', 'ra', 'dec', 'trigger_time',
'trigger_type', 'reliability', 'adc_high', 'adc_low', 'bii',
'channel_high', 'channel_low', 'dec_scx', 'dec_scz',
'detector_mask', 'end_time', 'error_radius', 'geo_lat', 'geo_long',
'lii', 'localization_source', 'phi', 'ra_scx', 'ra_scz', 'theta',
'time', 'trigger_algorithm', 'trigger_timescale'], dtype='<U19')
You can also return the range of values for a given column:
[14]:
# error_radius is the statistical localization radius in degrees
trigcat.column_range('error_radius')
[14]:
(0.0, 93.54)
If you only care about specific columns in the table, you can return a numpy record array with only those columns. Let’s return a table with the trigger name and time for every trigger:
[15]:
trigcat.get_table(columns=('trigger_name', 'trigger_time'))
[15]:
rec.array([('bn120403857', '2012-04-03 20:33:58.493'),
('bn140912846', '2014-09-12 20:18:03.669'),
('bn120227725', '2012-02-27 17:24:41.054'), ...,
('bn110201399', '2011-02-01 09:35:10.251'),
('bn150705660', '2015-07-05 15:50:18.845'),
('bn220403863', '2022-04-03 20:42:39.048')],
dtype=[('trigger_name', '<U23'), ('trigger_time', '<U23')])
Importantly, we can make slices of the catalog based on conditionals. Let’s only select triggers with localization radii between 1.1 and 10 degrees:
[16]:
sliced_trigcat = trigcat.slice('error_radius', lo=1.1, hi=10.0)
sliced_trigcat.num_rows
[16]:
2482
[17]:
sliced_trigcat.get_table(columns=('trigger_name', 'trigger_time'))
[17]:
rec.array([('bn120227725', '2012-02-27 17:24:41.054'),
('bn141205018', '2014-12-05 00:25:29.813'),
('bn170116238', '2017-01-16 05:43:15.259'), ...,
('bn210624041', '2021-06-24 00:58:23.248'),
('bn091012783', '2009-10-12 18:47:02.770'),
('bn180304259', '2018-03-04 06:12:47.267')],
dtype=[('trigger_name', '<U23'), ('trigger_time', '<U23')])
You can also slice on multiple conditionals, simultaneously. Select everything that has a localization radius between 1.1-10 degrees, and happened on or after January 1, 2019:
[18]:
# perform a row slice based on multiple conditionals that can span more than one column
sliced_trigcat2 = trigcat.slices([('error_radius', 1.1, 10.0), ('trigger_time', '2019-01-01 00:00:00', None)])
sliced_trigcat2.num_rows
[18]:
566
[19]:
sliced_trigcat2.get_table(columns=('trigger_name', 'trigger_time', 'error_radius'))
[19]:
rec.array([('bn150806478', '2019-01-02 06:11:31.125', 6.3833),
('bn130623790', '2019-01-17 08:50:43.596', 4.63 ),
('bn171213061', '2019-01-18 22:29:49.932', 7.39 ),
('bn160508290', '2019-01-19 05:59:03.575', 8.35 ),
('bn160804576', '2019-01-29 12:55:42.675', 5. ),
('bn210529996', '2019-01-31 02:36:33.938', 5.83 ),
('bn110124784', '2019-01-31 23:08:35.673', 9.14 ),
('bn110710507', '2019-02-01 06:03:28.818', 7.8667),
('bn150319498', '2019-02-02 05:36:55.718', 2.88 ),
('bn151222340', '2019-02-02 15:13:12.939', 2.89 ),
('bn090228976', '2019-02-03 23:24:11.710', 3.3 ),
('bn100405414', '2019-02-04 15:02:50.914', 7.4667),
('bn090726218', '2019-02-05 22:31:15.658', 7.06 ),
('bn120702891', '2019-02-15 18:31:22.475', 8.48 ),
('bn120217808', '2019-02-17 04:31:26.137', 3.23 ),
('bn150922462', '2019-02-18 07:54:33.343', 4.3167),
('bn210518889', '2019-02-22 07:29:35.526', 6.1 ),
('bn181119606', '2019-02-22 12:53:27.151', 1.75 ),
('bn091112928', '2019-02-26 12:21:45.676', 4.54 ),
('bn210324468', '2019-02-28 23:21:16.317', 3.11 ),
('bn100621452', '2019-03-03 05:45:22.235', 2.81 ),
('bn160818230', '2019-03-04 08:54:35.515', 7.76 ),
('bn190215772', '2019-03-04 19:37:23.342', 1.19 ),
('bn181121401', '2019-03-06 22:37:43.178', 8. ),
('bn210424694', '2019-03-07 03:37:16.537', 8.58 ),
('bn100219026', '2019-03-10 09:32:32.569', 2.93 ),
('bn170614255', '2019-03-12 10:42:10.794', 3.48 ),
('bn150712960', '2019-03-13 03:36:00.811', 10. ),
('bn191017391', '2019-03-15 12:17:42.138', 1.5 ),
('bn160805498', '2019-03-19 08:28:17.514', 2.86 ),
('bn200506404', '2019-03-19 09:00:37.980', 2.15 ),
('bn160628136', '2019-03-21 08:42:33.858', 8.52 ),
('bn200425701', '2019-03-23 04:17:14.965', 7.25 ),
('bn110130230', '2019-03-23 07:16:51.688', 6.75 ),
('bn200622092', '2019-03-25 23:58:57.211', 1.35 ),
('bn091209001', '2019-03-26 07:31:38.998', 2.93 ),
('bn160322552', '2019-03-26 23:24:41.342', 4.65 ),
('bn100517518', '2019-03-27 02:39:10.973', 7.75 ),
('bn140124527', '2019-03-30 16:39:32.274', 2.02 ),
('bn121125469', '2019-04-06 11:09:47.053', 5.24 ),
('bn200502574', '2019-04-06 17:52:33.155', 2.7 ),
('bn160807480', '2019-04-07 13:48:36.785', 5.8833),
('bn171202113', '2019-04-07 16:07:26.493', 2.68 ),
('bn160102936', '2019-04-07 18:54:41.578', 3.46 ),
('bn110920338', '2019-04-08 12:52:18.176', 5. ),
('bn140626843', '2019-04-11 09:45:48.597', 6.61 ),
('bn110524510', '2019-04-11 13:53:58.091', 6.95 ),
('bn210910456', '2019-04-19 09:55:37.770', 9.5333),
('bn171017823', '2019-04-20 23:32:24.966', 5.54 ),
('bn160206566', '2019-04-22 06:48:17.495', 6.25 ),
('bn091107635', '2019-04-22 16:05:04.521', 4.46 ),
('bn150211239', '2019-04-28 18:48:12.460', 9.08 ),
('bn150317580', '2019-04-29 17:49:50.579', 5.7167),
('bn210903077', '2019-05-02 04:01:30.415', 5.38 ),
('bn190129539', '2019-05-04 09:57:34.203', 6.2 ),
('bn161227498', '2019-05-04 16:16:28.313', 4.88 ),
('bn130924910', '2019-05-05 01:14:09.330', 5.86 ),
('bn151211672', '2019-05-07 06:28:23.301', 5.96 ),
('bn201008754', '2019-05-07 23:16:29.638', 4. ),
('bn140224788', '2019-05-08 19:22:50.400', 3.69 ),
('bn090428441', '2019-05-10 02:52:13.232', 4.2 ),
('bn110828435', '2019-05-10 10:19:16.044', 9.05 ),
('bn190504415', '2019-05-13 19:47:08.098', 7.85 ),
('bn100923844', '2019-05-17 19:30:10.172', 5.35 ),
('bn190808752', '2019-05-25 00:45:47.652', 1.38 ),
('bn220211047', '2019-05-31 07:29:11.825', 8.66 ),
('bn120105584', '2019-06-01 07:47:24.176', 2.8 ),
('bn140714268', '2019-06-03 19:04:25.984', 1.14 ),
('bn200313456', '2019-06-05 23:22:27.118', 5.27 ),
('bn190407672', '2019-06-06 01:55:07.776', 4.54 ),
('bn170829674', '2019-06-07 01:42:44.289', 3.56 ),
('bn170604603', '2019-06-08 00:12:18.394', 4.1 ),
('bn080802386', '2019-06-09 07:34:05.259', 4.1 ),
('bn130219775', '2019-06-10 17:59:49.908', 1.21 ),
('bn100614498', '2019-06-12 03:57:24.648', 2.99 ),
('bn190603795', '2019-06-15 15:16:27.372', 5.86 ),
('bn170815526', '2019-06-19 00:26:01.777', 5.32 ),
('bn130118482', '2019-06-19 14:16:25.891', 6.7 ),
('bn100525744', '2019-06-20 12:10:10.809', 3.55 ),
('bn170717952', '2019-06-23 11:03:27.095', 8.17 ),
('bn160804775', '2019-06-26 06:06:21.684', 1.92 ),
('bn120224282', '2019-06-28 12:30:55.320', 4.6 ),
('bn120605453', '2019-06-30 06:09:58.319', 2.62 ),
('bn170310883', '2019-07-07 06:50:05.127', 9.76 ),
('bn180722993', '2019-07-07 07:23:01.216', 3.5 ),
('bn220114168', '2019-07-08 08:45:11.798', 8.45 ),
('bn190720613', '2019-07-10 00:19:20.250', 1.16 ),
('bn170403707', '2019-07-12 00:25:20.655', 2.28 ),
('bn111010709', '2019-07-12 02:16:41.727', 1.67 ),
('bn180826356', '2019-07-14 13:44:39.039', 5.95 ),
('bn130204484', '2019-07-16 00:27:59.548', 7.07 ),
('bn220316476', '2019-07-16 22:00:08.119', 2.86 ),
('bn110107886', '2019-07-19 02:42:21.537', 3.28 ),
('bn220104167', '2019-07-19 11:57:51.264', 3.1 ),
('bn110903009', '2019-07-20 14:42:09.784', 1.18 ),
('bn190505051', '2019-07-20 23:08:38.764', 9.54 ),
('bn211223350', '2019-07-26 15:24:53.610', 8.06 ),
('bn200402403', '2019-07-26 20:14:30.561', 5.08 ),
('bn190804792', '2019-07-28 06:30:36.852', 4.44 ),
('bn091109895', '2019-08-04 19:00:37.518', 4.09 ),
('bn100902990', '2019-08-05 02:32:30.450', 7.2 ),
('bn171009138', '2019-08-05 04:46:00.970', 5.11 ),
('bn150623397', '2019-08-05 05:40:46.904', 6.2167),
('bn190610750', '2019-08-06 16:12:33.324', 1.21 ),
('bn080816503', '2019-08-08 18:03:17.432', 2. ),
('bn130517781', '2019-08-10 16:12:01.243', 1.5 ),
('bn201127147', '2019-08-28 14:44:26.448', 6.58 ),
('bn100609783', '2019-08-30 00:32:48.260', 2.53 ),
('bn200831462', '2019-08-30 06:20:46.350', 8.45 ),
('bn220401896', '2019-08-31 07:57:31.191', 5. ),
('bn110328520', '2019-08-31 16:38:37.978', 1.7 ),
('bn171106498', '2019-09-03 17:19:36.255', 3.12 ),
('bn140501497', '2019-09-05 23:38:28.489', 2.73 ),
('bn210924960', '2019-09-06 18:25:09.288', 9.94 ),
('bn100424876', '2019-09-10 00:39:37.860', 2.42 ),
('bn151118554', '2019-09-15 05:44:57.911', 3.59 ),
('bn180119210', '2019-09-19 18:20:02.656', 3.5333),
('bn191110587', '2019-09-21 16:45:55.125', 9.53 ),
('bn180126095', '2019-09-23 14:48:02.751', 1.2 ),
('bn161228553', '2019-09-30 09:36:06.502', 2.24 ),
('bn180522678', '2019-10-09 07:08:56.769', 1.91 ),
('bn110625474', '2019-10-15 07:50:43.992', 5.55 ),
('bn170606968', '2019-10-17 09:23:39.266', 3.12 ),
('bn111010237', '2019-10-19 11:15:15.469', 3.18 ),
('bn140831374', '2019-10-22 06:50:05.074', 9.9 ),
('bn130409960', '2019-10-22 08:11:06.253', 2.22 ),
('bn190202234', '2019-10-23 15:06:56.755', 2.11 ),
('bn130407800', '2019-10-25 22:13:42.213', 9.29 ),
('bn180913783', '2019-10-26 08:23:44.459', 6.73 ),
('bn120309402', '2019-10-27 15:19:07.590', 9.2333),
('bn180730018', '2019-10-28 04:10:01.398', 8.29 ),
('bn140218427', '2019-10-28 05:05:21.712', 3.62 ),
('bn111109873', '2019-10-28 14:08:04.442', 1.5 ),
('bn180626392', '2019-11-01 21:28:50.523', 8.21 ),
('bn101025267', '2019-11-04 12:38:38.563', 3.86 ),
('bn121117018', '2019-11-04 15:36:47.645', 4.32 ),
('bn090222179', '2019-11-08 00:04:37.596', 4.3 ),
('bn130716352', '2019-11-10 14:05:34.993', 6.27 ),
('bn081130212', '2019-11-11 08:19:09.572', 7.2 ),
('bn151107851', '2019-11-11 08:44:29.948', 1.67 ),
('bn210515623', '2019-11-11 13:07:10.792', 1.57 ),
('bn090814950', '2019-11-12 08:51:18.192', 2.12 ),
('bn101101744', '2019-11-13 13:52:44.522', 3.06 ),
('bn141031257', '2019-11-17 00:08:28.724', 9.01 ),
('bn090108020', '2019-11-18 22:12:01.821', 3.8 ),
('bn160216560', '2019-11-25 15:12:45.686', 5.2167),
('bn101220576', '2019-11-29 03:22:27.127', 1.25 ),
('bn220211657', '2019-11-30 06:04:41.797', 7.02 ),
('bn120703498', '2019-11-30 12:09:34.900', 5.15 ),
('bn170610689', '2019-12-11 06:03:47.840', 2.57 ),
('bn150703259', '2019-12-12 05:52:18.051', 2.02 ),
('bn180218635', '2019-12-13 06:05:33.022', 4.44 ),
('bn080806896', '2019-12-13 18:49:07.969', 2.9 ),
('bn171126235', '2019-12-20 14:08:29.264', 3.29 ),
('bn130314147', '2019-12-21 19:14:28.844', 1.41 ),
('bn181216551', '2019-12-25 07:25:16.497', 5.42 ),
('bn120504468', '2019-12-25 17:37:51.867', 4.06 ),
('bn100328141', '2019-12-27 17:21:44.144', 4.82 ),
('bn211120548', '2020-01-05 21:55:28.993', 1.93 ),
('bn160119072', '2020-01-10 12:26:08.356', 6.31 ),
('bn090403314', '2020-01-11 15:11:08.106', 9.7 ),
('bn110517902', '2020-01-12 12:36:31.101', 8.3 ),
('bn090529564', '2020-01-14 03:40:43.724', 1.5 ),
('bn160718975', '2020-01-17 12:24:06.532', 1.82 ),
('bn170614486', '2020-01-19 16:37:07.531', 1.86 ),
('bn110117364', '2020-01-27 18:11:18.671', 9.63 ),
('bn210620204', '2020-01-30 05:57:16.079', 8.5 ),
('bn140630505', '2020-01-30 09:59:56.672', 2.24 ),
('bn220424481', '2020-02-01 00:57:20.322', 1.88 ),
('bn120118898', '2020-02-03 03:44:03.546', 7.17 ),
('bn110806043', '2020-02-03 20:39:37.917', 8.4833),
('bn080805496', '2020-02-04 12:25:17.161', 5.6 ),
('bn101223834', '2020-02-05 20:17:23.328', 4.34 ),
('bn121220311', '2020-02-07 01:22:55.598', 8.3 ),
('bn211211909', '2020-02-08 01:14:17.086', 7.3 ),
('bn110710954', '2020-02-19 09:54:14.678', 3.87 ),
('bn131125689', '2020-02-21 03:52:58.711', 2.25 ),
('bn140928100', '2020-02-23 19:32:03.243', 7.07 ),
('bn130919352', '2020-02-24 05:05:49.279', 5.72 ),
('bn190411579', '2020-03-01 07:40:46.355', 3.18 ),
('bn120226871', '2020-03-13 10:57:12.130', 6.01 ),
('bn120309265', '2020-03-17 00:40:30.488', 6.7333),
('bn120309358', '2020-03-19 07:44:40.320', 6.7333),
('bn150707124', '2020-03-20 09:56:46.851', 2.53 ),
('bn130623396', '2020-03-23 18:46:32.956', 7.12 ),
('bn210504959', '2020-03-26 12:24:47.903', 3.91 ),
('bn110522296', '2020-03-27 20:56:48.165', 6.4 ),
('bn190615636', '2020-04-02 09:39:37.908', 2.32 ),
('bn120819048', '2020-04-02 16:30:29.655', 7.94 ),
('bn130206482', '2020-04-02 19:46:23.077', 2.4 ),
('bn140906175', '2020-04-03 22:04:03.419', 7.66 ),
('bn170724543', '2020-04-03 23:21:57.371', 5.25 ),
('bn130815420', '2020-04-04 16:57:02.830', 1.6 ),
('bn210518545', '2020-04-05 09:27:21.555', 1.77 ),
('bn150907794', '2020-04-07 06:22:01.482', 8.9333),
('bn160605921', '2020-04-07 09:18:33.475', 5.93 ),
('bn170908686', '2020-04-12 06:57:11.947', 6.4667),
('bn170831179', '2020-04-18 20:45:00.278', 1.61 ),
('bn090320801', '2020-04-21 20:45:59.726', 9.5 ),
('bn160518985', '2020-04-25 16:49:50.945', 4.04 ),
('bn140219319', '2020-05-01 10:25:44.847', 8.23 ),
('bn170817908', '2020-05-02 13:46:33.856', 3.69 ),
('bn170219002', '2020-05-03 17:18:33.570', 1.41 ),
('bn210101620', '2020-05-05 23:50:44.085', 4.56 ),
('bn140105065', '2020-05-06 00:28:41.053', 6.07 ),
('bn130722605', '2020-05-06 09:41:08.981', 8.85 ),
('bn160803373', '2020-05-07 15:52:58.839', 7.05 ),
('bn160804180', '2020-05-09 22:59:04.499', 6.69 ),
('bn100417166', '2020-05-10 10:41:16.959', 9.18 ),
('bn170119228', '2020-05-17 18:52:28.279', 4.41 ),
('bn110421757', '2020-05-22 15:36:39.467', 1.71 ),
('bn130208684', '2020-05-25 14:40:28.486', 4.67 ),
('bn090831317', '2020-05-29 12:05:34.896', 1.92 ),
('bn170718229', '2020-05-31 02:51:18.524', 7.9833),
('bn120625119', '2020-06-01 02:19:49.995', 1.17 ),
('bn100714672', '2020-06-04 18:39:45.859', 3.69 ),
('bn210125369', '2020-06-07 08:41:49.657', 6.51 ),
('bn090511684', '2020-06-09 09:06:59.309', 7. ),
('bn171207055', '2020-06-14 14:34:55.239', 9.54 ),
('bn090109332', '2020-06-15 06:00:05.083', 9.8 ),
('bn190408536', '2020-06-16 01:09:15.631', 9.0833),
('bn170506169', '2020-06-16 15:41:47.725', 9.69 ),
('bn080723339', '2020-06-19 02:36:11.670', 5.5667),
('bn161217128', '2020-06-19 06:03:22.367', 7.56 ),
('bn130112286', '2020-06-19 11:48:43.086', 4.93 ),
('bn120226447', '2020-06-22 02:11:48.116', 1.15 ),
('bn160206430', '2020-06-23 18:02:48.953', 4.17 ),
('bn150829183', '2020-06-25 12:45:49.143', 2.17 ),
('bn180201780', '2020-06-29 12:49:49.292', 9.21 ),
('bn150317798', '2020-06-30 23:31:21.894', 5. ),
('bn220401429', '2020-07-03 08:11:39.611', 4.55 ),
('bn120101354', '2020-07-03 23:16:41.839', 8.77 ),
('bn090815946', '2020-07-06 15:12:08.383', 2.35 ),
('bn150416773', '2020-07-07 01:44:02.537', 1.93 ),
('bn181127274', '2020-07-09 03:31:16.764', 9.3 ),
('bn150802512', '2020-07-13 22:02:40.092', 7.05 ),
('bn090902401', '2020-07-14 05:56:02.259', 3.8 ),
('bn160512536', '2020-07-14 08:15:25.914', 5.08 ),
('bn160211119', '2020-07-14 10:28:45.459', 4.97 ),
('bn090815438', '2020-07-16 07:34:28.480', 5.65 ),
('bn131126163', '2020-07-22 02:14:55.944', 2.28 ),
('bn200924284', '2020-07-23 16:35:24.787', 3.08 ),
('bn130304410', '2020-07-24 05:06:18.985', 1.2 ),
('bn140608713', '2020-08-01 15:35:46.754', 2.91 ),
('bn090909487', '2020-08-02 11:46:46.843', 8.05 ),
('bn150622892', '2020-08-03 16:52:43.637', 4.8833),
('bn090429530', '2020-08-08 11:15:57.405', 4.8 ),
('bn190601325', '2020-08-09 05:04:31.565', 8.28 ),
('bn091223511', '2020-08-09 06:07:22.164', 2.39 ),
('bn200802491', '2020-08-11 15:10:42.684', 2.12 ),
('bn180428102', '2020-08-16 11:39:31.527', 3.04 ),
('bn120522361', '2020-08-26 04:29:52.571', 2.02 ),
('bn201031744', '2020-08-30 09:54:18.490', 4. ),
('bn121211289', '2020-08-31 11:06:00.842', 8.8 ),
('bn120308588', '2020-09-03 02:42:40.872', 1.19 ),
('bn160101215', '2020-09-07 22:57:28.091', 1.37 ),
('bn200529504', '2020-09-08 21:15:41.430', 3.65 ),
('bn130925546', '2020-09-09 04:01:22.387', 4.12 ),
('bn200808469', '2020-09-14 12:48:30.034', 5.32 ),
('bn110522256', '2020-09-16 19:28:39.957', 5.56 ),
('bn170207906', '2020-09-19 09:35:23.295', 6.085 ),
('bn211204901', '2020-09-19 13:38:51.064', 1.72 ),
('bn140829880', '2020-09-19 23:08:22.645', 3.53 ),
('bn190712095', '2020-09-20 19:56:59.570', 7.59 ),
('bn170428136', '2020-09-22 17:13:53.618', 7.46 ),
('bn100722291', '2020-09-22 18:04:24.240', 8.06 ),
('bn120616630', '2020-09-24 05:38:29.540', 8.54 ),
('bn200830413', '2020-09-24 06:48:55.203', 7.19 ),
('bn170511477', '2020-09-24 09:15:20.824', 6.79 ),
('bn171212948', '2020-09-25 14:38:02.660', 9.95 ),
('bn150912117', '2020-09-28 13:14:39.150', 4.6833),
('bn200619108', '2020-10-04 02:16:01.088', 4.02 ),
('bn211102338', '2020-10-04 08:45:57.614', 4.1 ),
('bn081229187', '2020-10-07 02:56:38.168', 8.8 ),
('bn160303201', '2020-10-08 18:06:00.936', 9.05 ),
('bn140705539', '2020-10-11 15:06:24.659', 5.83 ),
('bn090306245', '2020-10-11 20:04:36.171', 4.1 ),
('bn140716306', '2020-10-12 05:35:38.502', 5.67 ),
('bn131112243', '2020-10-16 03:16:21.143', 4.7833),
('bn200714247', '2020-10-19 01:40:02.642', 6.67 ),
('bn150206407', '2020-10-19 11:36:22.276', 6.76 ),
('bn130818941', '2020-10-20 17:33:54.329', 2.23 ),
('bn160709370', '2020-10-21 02:39:55.415', 3.04 ),
('bn161115745', '2020-10-31 17:51:24.536', 8.44 ),
('bn200723691', '2020-11-04 19:23:25.206', 4.01 ),
('bn180426549', '2020-11-05 05:09:32.233', 1.65 ),
('bn151212064', '2020-11-08 15:28:23.267', 1.69 ),
('bn120926335', '2020-11-09 02:31:05.793', 1.51 ),
('bn120206949', '2020-11-18 09:43:48.444', 2.25 ),
('bn101202154', '2020-11-19 08:13:13.510', 6.13 ),
('bn100506653', '2020-11-21 01:29:49.006', 3.9 ),
('bn140824606', '2020-11-21 03:07:45.547', 1.49 ),
('bn110806050', '2020-11-21 10:02:44.050', 3.35 ),
('bn120715066', '2020-11-22 14:58:07.917', 3.73 ),
('bn090814368', '2020-11-22 16:49:15.973', 5.53 ),
('bn190326975', '2020-11-22 17:17:38.742', 4.59 ),
('bn170908071', '2020-11-23 17:15:03.337', 8.1 ),
('bn150512432', '2020-11-24 15:12:51.361', 3.64 ),
('bn090219074', '2020-11-27 03:31:44.755', 5.2 ),
('bn130601547', '2020-12-01 02:52:14.911', 6.2667),
('bn130215649', '2020-12-07 23:26:55.727', 2.1 ),
('bn120716577', '2020-12-13 03:53:30.699', 5.09 ),
('bn140912664', '2020-12-13 17:54:05.752', 8.21 ),
('bn130224370', '2020-12-17 02:35:03.511', 2.62 ),
('bn160118060', '2020-12-18 19:09:13.922', 1.49 ),
('bn121113544', '2020-12-21 14:11:43.014', 2.06 ),
('bn160317640', '2020-12-21 23:28:47.633', 3.84 ),
('bn211216556', '2020-12-22 11:03:25.686', 4.29 ),
('bn150919556', '2020-12-23 04:09:46.408', 7.7 ),
('bn091106762', '2020-12-26 13:16:26.600', 5.6 ),
('bn170315582', '2020-12-29 15:20:12.706', 9.18 ),
('bn100304004', '2020-12-31 10:44:19.747', 3.26 ),
('bn180618245', '2020-12-31 13:12:41.630', 6.2167),
('bn170127239', '2021-01-01 14:53:06.860', 6.95 ),
('bn181221565', '2021-01-01 20:39:23.613', 6.06 ),
('bn200614608', '2021-01-05 16:03:05.920', 6.46 ),
('bn160316573', '2021-01-06 00:10:45.287', 3.44 ),
('bn120602539', '2021-01-06 05:11:16.402', 7.1333),
('bn190513824', '2021-01-08 10:10:10.464', 8.2333),
('bn190222537', '2021-01-17 10:58:52.032', 1.5 ),
('bn090225009', '2021-01-23 07:19:03.067', 8.7 ),
('bn130831058', '2021-01-25 08:52:00.399', 8.06 ),
('bn210227115', '2021-01-26 10:00:05.890', 5.8 ),
('bn201004365', '2021-01-27 06:26:17.020', 4.29 ),
('bn120415958', '2021-02-01 13:36:22.493', 4.96 ),
('bn100714686', '2021-02-02 20:10:31.299', 9.69 ),
('bn100410740', '2021-02-04 06:29:25.656', 1.7 ),
('bn080809808', '2021-02-04 18:38:59.570', 7.1 ),
('bn171212040', '2021-02-07 14:27:58.984', 5. ),
('bn190406465', '2021-02-10 17:07:07.657', 7.09 ),
('bn090830775', '2021-02-13 17:47:14.165', 5.9833),
('bn220418661', '2021-02-25 05:13:35.722', 7.77 ),
('bn191019469', '2021-02-27 02:45:10.888', 3.28 ),
('bn190612165', '2021-02-28 01:22:53.968', 9.3 ),
('bn121019233', '2021-03-03 10:11:38.358', 7.52 ),
('bn210615982', '2021-03-08 20:06:00.143', 7.55 ),
('bn100811781', '2021-03-12 04:04:04.895', 3.57 ),
('bn150224127', '2021-03-15 17:10:51.604', 6.05 ),
('bn170808065', '2021-03-17 09:08:29.045', 2. ),
('bn140204547', '2021-03-24 11:14:28.212', 5.64 ),
('bn110722710', '2021-03-24 19:59:58.322', 4.66 ),
('bn160421137', '2021-03-28 20:45:16.970', 1.18 ),
('bn140311618', '2021-04-01 23:17:04.029', 3.32 ),
('bn220330520', '2021-04-06 22:46:05.228', 3.75 ),
('bn191130253', '2021-04-11 03:30:56.435', 2.27 ),
('bn150128624', '2021-04-11 13:32:44.633', 9.09 ),
('bn121118576', '2021-04-11 16:31:10.877', 2.4 ),
('bn161124636', '2021-04-16 23:56:59.561', 6.2333),
('bn130106995', '2021-04-17 11:51:27.471', 1.87 ),
('bn170521882', '2021-04-19 21:10:28.455', 9.7 ),
('bn081209981', '2021-04-22 13:44:40.169', 4.9 ),
('bn170111815', '2021-04-24 16:40:00.979', 6.71 ),
('bn200421865', '2021-04-25 04:21:31.259', 2.28 ),
('bn160301113', '2021-04-27 04:57:12.992', 6.6 ),
('bn170731751', '2021-04-29 15:47:23.416', 6.3 ),
('bn100610276', '2021-04-30 21:42:17.665', 7.9 ),
('bn200112525', '2021-05-02 07:05:17.885', 2. ),
('bn130725527', '2021-05-03 19:34:09.461', 2.27 ),
('bn161106499', '2021-05-04 23:00:47.171', 1.5 ),
('bn090325526', '2021-05-07 18:40:38.042', 7.7167),
('bn081115165', '2021-05-09 13:53:40.418', 3.2 ),
('bn160803157', '2021-05-12 13:15:42.991', 4.35 ),
('bn110503130', '2021-05-15 14:56:46.180', 5.8833),
('bn140110814', '2021-05-16 23:34:46.497', 3.19 ),
('bn161029357', '2021-05-18 00:46:54.636', 6.35 ),
('bn200507662', '2021-05-18 13:04:09.640', 2.2 ),
('bn150228213', '2021-05-18 21:20:17.915', 5.45 ),
('bn150911337', '2021-05-19 06:38:53.855', 4.9333),
('bn191009298', '2021-05-19 19:22:03.942', 1.41 ),
('bn150828333', '2021-05-24 04:59:59.092', 2.26 ),
('bn151227072', '2021-05-24 11:20:34.686', 1.53 ),
('bn131002326', '2021-05-27 03:21:49.149', 7.05 ),
('bn210503815', '2021-05-27 04:58:58.571', 5.1 ),
('bn110221244', '2021-05-28 14:03:46.163', 1.24 ),
('bn151212030', '2021-05-29 23:53:37.098', 3.6 ),
('bn111018595', '2021-06-02 20:46:02.339', 7.15 ),
('bn210416998', '2021-06-03 21:46:28.382', 7.2833),
('bn130408653', '2021-06-05 05:08:58.389', 3.93 ),
('bn200609380', '2021-06-06 22:40:25.321', 1.88 ),
('bn140725583', '2021-06-07 21:23:49.282', 5.28 ),
('bn170723116', '2021-06-15 21:23:51.505', 1.41 ),
('bn150908689', '2021-06-15 23:33:53.604', 6.2167),
('bn170205521', '2021-06-19 12:45:43.730', 4.99 ),
('bn170709848', '2021-06-20 04:54:14.284', 7.7 ),
('bn120423889', '2021-06-20 15:59:29.600', 5.9333),
('bn210820004', '2021-06-21 10:44:03.750', 5.01 ),
('bn111012811', '2021-06-22 10:33:01.760', 1.71 ),
('bn150817819', '2021-06-24 00:58:23.248', 6.35 ),
('bn160611244', '2021-06-25 21:23:21.140', 9.2667),
('bn120915000', '2021-06-26 23:46:24.876', 5.87 ),
('bn110831936', '2021-06-27 17:57:20.742', 9.1167),
('bn160812507', '2021-07-01 07:47:14.117', 6.4667),
('bn160322484', '2021-07-06 03:50:09.746', 6.55 ),
('bn150506630', '2021-07-06 13:41:34.000', 3.21 ),
('bn170127382', '2021-07-09 04:49:04.308', 9.55 ),
('bn121009292', '2021-07-15 20:46:30.607', 1.53 ),
('bn110529034', '2021-07-16 11:38:13.679', 1.5 ),
('bn110430375', '2021-07-19 03:55:47.030', 2.53 ),
('bn151110925', '2021-07-24 02:31:33.469', 6.0167),
('bn111012456', '2021-07-25 01:08:29.397', 2.08 ),
('bn090425377', '2021-07-26 02:32:56.804', 2.1 ),
('bn161212652', '2021-07-27 09:50:46.735', 8.5 ),
('bn120322979', '2021-07-31 02:12:43.477', 8.7 ),
('bn131215298', '2021-07-31 08:48:17.629', 1.38 ),
('bn190326314', '2021-08-01 13:57:18.595', 1.26 ),
('bn150412128', '2021-08-01 15:34:44.860', 3.9667),
('bn150817677', '2021-08-07 12:36:42.844', 5.4 ),
('bn160317385', '2021-08-07 16:29:19.536', 5.5 ),
('bn161004849', '2021-08-12 00:15:51.734', 6.5333),
('bn170908104', '2021-08-12 16:47:01.014', 4.8 ),
('bn160201883', '2021-08-13 00:54:23.674', 2.9 ),
('bn180618385', '2021-08-15 02:23:49.635', 4.4 ),
('bn150428305', '2021-08-18 22:00:41.009', 6.06 ),
('bn151106957', '2021-08-20 00:05:14.008', 9.3667),
('bn220310122', '2021-08-21 07:40:28.595', 5.65 ),
('bn210812699', '2021-08-22 06:32:44.581', 1.12 ),
('bn151206363', '2021-08-22 17:30:24.489', 5.1333),
('bn170124238', '2021-08-26 07:01:45.161', 2.61 ),
('bn130615398', '2021-08-27 10:10:16.144', 6.2 ),
('bn171205642', '2021-08-28 05:03:59.131', 4.65 ),
('bn180420612', '2021-09-03 01:50:17.389', 4.6167),
('bn110712566', '2021-09-03 17:26:58.653', 7.1333),
('bn191028589', '2021-09-04 20:47:39.631', 7.67 ),
('bn180910032', '2021-09-09 10:43:19.365', 2.12 ),
('bn151007630', '2021-09-10 10:56:08.397', 7.3167),
('bn210417494', '2021-09-11 02:28:08.403', 5.05 ),
('bn150417817', '2021-09-15 12:43:41.202', 8.1167),
('bn081207680', '2021-09-17 03:45:47.224', 1.2 ),
('bn181105904', '2021-09-19 15:39:51.957', 8.7667),
('bn171225119', '2021-09-23 02:59:03.493', 5.2 ),
('bn170716717', '2021-09-24 23:02:52.138', 5.2667),
('bn131118137', '2021-09-25 01:20:08.678', 4.3333),
('bn160615209', '2021-09-25 19:12:27.965', 5.4333),
('bn211118985', '2021-09-26 01:03:30.369', 2.68 ),
('bn150713951', '2021-09-26 20:51:18.648', 6.25 ),
('bn091115177', '2021-09-28 18:16:13.787', 7.94 ),
('bn220324110', '2021-10-02 06:08:13.109', 2.64 ),
('bn150919606', '2021-10-02 08:06:34.268', 2.57 ),
('bn150912260', '2021-10-02 17:45:21.634', 8.5333),
('bn220323507', '2021-10-11 19:23:39.819', 9.93 ),
('bn100827455', '2021-10-18 16:43:27.608', 5.68 ),
('bn091219462', '2021-10-21 11:02:54.311', 5.42 ),
('bn120527573', '2021-10-27 05:51:52.696', 5.8333),
('bn140809133', '2021-11-02 08:06:03.219', 4.11 ),
('bn120315732', '2021-11-02 14:05:35.140', 6.15 ),
('bn120630398', '2021-11-03 22:47:04.209', 1.1 ),
('bn140508629', '2021-11-04 12:57:41.643', 3.56 ),
('bn150608303', '2021-11-04 18:21:49.113', 5.1667),
('bn131209963', '2021-11-09 00:39:44.168', 6.14 ),
('bn150613619', '2021-11-09 02:42:47.336', 7.35 ),
('bn220115230', '2021-11-11 01:50:36.974', 2.42 ),
('bn151210329', '2021-11-12 14:34:22.373', 6.1167),
('bn140308710', '2021-11-13 10:49:38.698', 2.67 ),
('bn141229808', '2021-11-15 16:31:22.410', 5.4667),
('bn151216140', '2021-11-16 08:42:33.609', 5.05 ),
('bn220209959', '2021-11-16 11:40:59.976', 1.4 ),
('bn110605811', '2021-11-16 14:03:53.348', 9.4833),
('bn211116363', '2021-11-18 23:38:14.587', 5.1333),
('bn200403919', '2021-11-20 13:09:46.838', 4.19 ),
('bn150912600', '2021-11-24 02:29:53.557', 6.38 ),
('bn161030278', '2021-11-30 15:16:27.028', 5.6167),
('bn110619959', '2021-12-01 02:03:54.877', 9.1333),
('bn110711502', '2021-12-01 20:42:52.881', 7.3667),
('bn150910276', '2021-12-04 11:50:05.858', 5.3167),
('bn150529948', '2021-12-04 21:37:00.552', 8.35 ),
('bn100702531', '2021-12-07 09:59:09.093', 8.5167),
('bn120630963', '2021-12-10 22:29:51.290', 6.4333),
('bn160810523', '2021-12-11 21:48:42.842', 7.6667),
('bn160219747', '2021-12-12 09:28:03.511', 6.7167),
('bn130726509', '2021-12-12 12:46:26.439', 5.7167),
('bn140523985', '2021-12-16 06:45:52.056', 9.2 ),
('bn090305052', '2021-12-16 13:21:07.392', 5.4 ),
('bn110929345', '2021-12-17 07:04:30.327', 5.0667),
('bn161028295', '2021-12-19 14:55:22.567', 6.15 ),
('bn120618672', '2021-12-19 21:49:46.008', 7.3667),
('bn160815299', '2021-12-21 20:48:40.580', 8.08 ),
('bn161222118', '2021-12-23 08:23:22.258', 4.3167),
('bn180416924', '2021-12-25 00:20:28.067', 2.13 ),
('bn110808445', '2021-12-31 07:00:31.787', 8.6167),
('bn180407745', '2022-01-01 22:18:30.632', 9.7667),
('bn210516982', '2022-01-03 02:20:03.681', 9.52 ),
('bn120605953', '2022-01-03 21:03:12.889', 7.7 ),
('bn171226604', '2022-01-04 04:01:02.604', 7.65 ),
('bn160904462', '2022-01-05 06:01:31.434', 9.1167),
('bn190323179', '2022-01-05 07:06:40.737', 6.54 ),
('bn150818741', '2022-01-09 07:39:10.685', 7.5333),
('bn150808961', '2022-01-09 09:28:12.787', 6.6667),
('bn100725573', '2022-01-09 12:57:21.984', 5.1667),
('bn110621949', '2022-01-10 15:55:38.323', 6.75 ),
('bn120628973', '2022-01-11 06:30:49.104', 7.15 ),
('bn140525971', '2022-01-11 18:21:07.760', 8.2833),
('bn170915342', '2022-01-11 19:21:49.433', 5.2 ),
('bn111005398', '2022-01-12 01:03:46.833', 5.28 ),
('bn160101791', '2022-01-12 02:19:22.232', 8.6333),
('bn120618128', '2022-01-12 04:31:20.071', 2.59 ),
('bn170414551', '2022-01-12 05:42:51.541', 2.27 ),
('bn170128303', '2022-01-13 06:49:04.371', 5.2667),
('bn160510506', '2022-01-13 10:28:59.035', 6.5833),
('bn160804152', '2022-01-14 04:02:16.627', 6.8167),
('bn160729273', '2022-01-14 11:26:42.769', 6.6333),
('bn181225786', '2022-01-14 11:39:42.666', 6.61 ),
('bn091223191', '2022-01-14 13:23:05.832', 8.85 ),
('bn190203975', '2022-01-14 14:01:47.413', 9.0333),
('bn191117006', '2022-01-15 00:49:17.356', 9.1 ),
('bn201020732', '2022-01-15 05:30:29.953', 1.62 ),
('bn160807127', '2022-01-15 07:05:44.907', 7.4 ),
('bn140217043', '2022-01-15 08:16:31.270', 3.08 ),
('bn150911197', '2022-01-15 09:26:39.887', 9.85 ),
('bn151108942', '2022-01-15 12:39:25.292', 9.6833),
('bn170717639', '2022-01-15 14:20:00.880', 4.4833),
('bn180622578', '2022-01-15 17:00:27.581', 2.16 ),
('bn151226980', '2022-01-15 18:52:49.070', 9.1833),
('bn190118937', '2022-01-15 22:37:50.514', 3.42 ),
('bn091230712', '2022-01-17 01:27:12.742', 5.07 ),
('bn110527564', '2022-01-17 01:39:37.260', 7.6167),
('bn150815832', '2022-01-19 11:46:07.857', 5.7333),
('bn120315329', '2022-01-20 05:54:01.088', 6.6333),
('bn141124277', '2022-01-20 14:51:55.915', 4.98 ),
('bn100610417', '2022-01-24 01:47:00.032', 4.4833),
('bn181105315', '2022-01-25 19:01:21.666', 4.8833),
('bn151113830', '2022-01-30 23:14:35.949', 5.3333),
('bn210701324', '2022-01-31 05:40:28.513', 8.3833),
('bn120530121', '2022-02-03 15:22:40.041', 3.27 ),
('bn160122338', '2022-02-09 23:00:50.423', 6.1333),
('bn140404030', '2022-02-11 01:07:48.877', 4.88 ),
('bn141109447', '2022-02-11 15:46:28.962', 2.77 ),
('bn170202190', '2022-02-11 22:01:44.635', 5.2833),
('bn151014430', '2022-02-14 00:02:40.608', 6.55 ),
('bn160128807', '2022-02-22 02:21:17.836', 7.5 ),
('bn150915165', '2022-02-22 19:24:07.136', 4.6833),
('bn220125793', '2022-03-05 11:33:20.478', 5.6333),
('bn150623895', '2022-03-05 16:13:02.180', 4.6167),
('bn170823820', '2022-03-06 07:20:00.522', 5.3667),
('bn150716433', '2022-03-08 05:35:30.099', 8.25 ),
('bn151211252', '2022-03-10 02:55:07.867', 7.5333),
('bn161026312', '2022-03-13 18:50:51.769', 5.8333),
('bn211103949', '2022-03-14 21:32:57.716', 6.75 ),
('bn171012680', '2022-03-15 02:25:56.875', 7.1167),
('bn170917325', '2022-03-16 11:25:37.875', 6.8833),
('bn120822628', '2022-03-20 04:39:54.512', 7.7 ),
('bn110301817', '2022-03-21 06:46:22.002', 5.1333),
('bn150628787', '2022-03-23 12:10:11.567', 9.6667),
('bn150824125', '2022-03-24 02:39:04.314', 4.84 ),
('bn150908288', '2022-03-30 12:28:09.273', 5.7833),
('bn170923188', '2022-04-01 10:17:40.891', 5.03 ),
('bn111018785', '2022-04-01 21:29:49.486', 7.46 ),
('bn150715906', '2022-04-03 10:10:02.661', 6.3 ),
('bn180426005', '2022-04-03 22:16:46.499', 2.8 ),
('bn140319964', '2022-04-04 17:47:23.327', 3.64 ),
('bn181013796', '2022-04-05 06:11:39.121', 5.3167),
('bn180715741', '2022-04-07 04:00:42.152', 5.12 ),
('bn160518039', '2022-04-11 07:20:00.530', 2.18 ),
('bn080803772', '2022-04-13 04:01:04.779', 5.9 ),
('bn220313785', '2022-04-15 15:28:59.684', 7.1667),
('bn160307326', '2022-04-17 13:52:35.964', 6.8667),
('bn150816756', '2022-04-17 22:31:39.145', 5.6333),
('bn180128915', '2022-04-18 15:51:58.878', 3.62 ),
('bn180618314', '2022-04-21 08:17:54.527', 5.0667),
('bn210909447', '2022-04-23 08:30:02.748', 1.82 ),
('bn180330891', '2022-04-24 11:32:49.172', 3.7 ),
('bn160725306', '2022-04-26 07:10:36.182', 6.75 ),
('bn160317762', '2022-04-30 05:28:17.848', 7.65 ),
('bn180826785', '2022-04-30 21:35:59.799', 5.3167),
('bn210624041', '2022-05-01 04:49:36.246', 4.64 ),
('bn091012783', '2022-05-01 11:28:01.143', 2.45 ),
('bn180304259', '2022-05-04 00:15:42.682', 9.5 )],
dtype=[('trigger_name', '<U23'), ('trigger_time', '<U23'), ('error_radius', '<f8')])
You’ll notice in the table listing that there are multiple datatypes. This is an improvement over the scripts provided by HEASARC, because there is no metadata provided to tell you if a column is a specific datatype. Our catalog classes have automatic type-detection so you don’t have to worry about converting strings to ints or floats.
We can also connect to the burst catalog in the same way we connected to the trigger catalog:
[20]:
from gbm.finder import BurstCatalog
burstcat = BurstCatalog()
burstcat.num_rows
Downloading Catalog from HEASARC via w3query.pl...
Finished in 70 s
[20]:
3273
Again, this may take several seconds, largely because of how the HEASARC perl API works. One word about the Burst Catalog before you get overwhelmed: it has a lot of columns. Basically every parameter for every standard spectral model that is fit, for both a time-integrated spectrum and the spectrum at the peak flux. There is also T90, T50, flux, and fluence information on different timescales and energy ranges. All in all, there are 306 different columns. Gasp.
[21]:
burstcat.columns
[21]:
array(['name', 'ra', 'dec', 'trigger_time', 't90', 't90_error',
't90_start', 'fluence', 'fluence_error', 'flux_1024',
'flux_1024_error', 'flux_1024_time', 'flux_64', 'flux_64_error',
'flnc_band_ampl', 'flnc_band_ampl_pos_err',
'flnc_band_ampl_neg_err', 'flnc_band_epeak',
'flnc_band_epeak_pos_err', 'flnc_band_epeak_neg_err',
'flnc_band_alpha', 'flnc_band_alpha_pos_err',
'flnc_band_alpha_neg_err', 'flnc_band_beta',
'flnc_band_beta_pos_err', 'flnc_band_beta_neg_err',
'flnc_spectrum_start', 'flnc_spectrum_stop',
'pflx_best_fitting_model', 'pflx_best_model_redchisq',
'flnc_best_fitting_model', 'flnc_best_model_redchisq',
'actual_1024ms_interval', 'actual_256ms_interval',
'actual_64ms_interval', 'back_interval_high_start',
'back_interval_high_stop', 'back_interval_low_start',
'back_interval_low_stop', 'bcat_detector_mask', 'bcatalog', 'bii',
'duration_energy_high', 'duration_energy_low', 'error_radius',
'flnc_band_dof', 'flnc_band_ergflnc', 'flnc_band_ergflnc_error',
'flnc_band_ergflncb', 'flnc_band_ergflncb_error',
'flnc_band_ergflux', 'flnc_band_ergflux_error',
'flnc_band_phtflnc', 'flnc_band_phtflnc_error',
'flnc_band_phtflncb', 'flnc_band_phtflncb_error',
'flnc_band_phtflux', 'flnc_band_phtflux_error',
'flnc_band_phtfluxb', 'flnc_band_phtfluxb_error',
'flnc_band_redchisq', 'flnc_band_redfitstat',
'flnc_band_statistic', 'flnc_comp_ampl', 'flnc_comp_ampl_neg_err',
'flnc_comp_ampl_pos_err', 'flnc_comp_dof', 'flnc_comp_epeak',
'flnc_comp_epeak_neg_err', 'flnc_comp_epeak_pos_err',
'flnc_comp_ergflnc', 'flnc_comp_ergflnc_error',
'flnc_comp_ergflncb', 'flnc_comp_ergflncb_error',
'flnc_comp_ergflux', 'flnc_comp_ergflux_error', 'flnc_comp_index',
'flnc_comp_index_neg_err', 'flnc_comp_index_pos_err',
'flnc_comp_phtflnc', 'flnc_comp_phtflnc_error',
'flnc_comp_phtflncb', 'flnc_comp_phtflncb_error',
'flnc_comp_phtflux', 'flnc_comp_phtflux_error',
'flnc_comp_phtfluxb', 'flnc_comp_phtfluxb_error',
'flnc_comp_pivot', 'flnc_comp_pivot_neg_err',
'flnc_comp_pivot_pos_err', 'flnc_comp_redchisq',
'flnc_comp_redfitstat', 'flnc_comp_statistic', 'flnc_plaw_ampl',
'flnc_plaw_ampl_neg_err', 'flnc_plaw_ampl_pos_err',
'flnc_plaw_dof', 'flnc_plaw_ergflnc', 'flnc_plaw_ergflnc_error',
'flnc_plaw_ergflncb', 'flnc_plaw_ergflncb_error',
'flnc_plaw_ergflux', 'flnc_plaw_ergflux_error', 'flnc_plaw_index',
'flnc_plaw_index_neg_err', 'flnc_plaw_index_pos_err',
'flnc_plaw_phtflnc', 'flnc_plaw_phtflnc_error',
'flnc_plaw_phtflncb', 'flnc_plaw_phtflncb_error',
'flnc_plaw_phtflux', 'flnc_plaw_phtflux_error',
'flnc_plaw_phtfluxb', 'flnc_plaw_phtfluxb_error',
'flnc_plaw_pivot', 'flnc_plaw_pivot_neg_err',
'flnc_plaw_pivot_pos_err', 'flnc_plaw_redchisq',
'flnc_plaw_redfitstat', 'flnc_plaw_statistic', 'flnc_sbpl_ampl',
'flnc_sbpl_ampl_neg_err', 'flnc_sbpl_ampl_pos_err',
'flnc_sbpl_brken', 'flnc_sbpl_brken_neg_err',
'flnc_sbpl_brken_pos_err', 'flnc_sbpl_brksc',
'flnc_sbpl_brksc_neg_err', 'flnc_sbpl_brksc_pos_err',
'flnc_sbpl_dof', 'flnc_sbpl_ergflnc', 'flnc_sbpl_ergflnc_error',
'flnc_sbpl_ergflncb', 'flnc_sbpl_ergflncb_error',
'flnc_sbpl_ergflux', 'flnc_sbpl_ergflux_error', 'flnc_sbpl_indx1',
'flnc_sbpl_indx1_neg_err', 'flnc_sbpl_indx1_pos_err',
'flnc_sbpl_indx2', 'flnc_sbpl_indx2_neg_err',
'flnc_sbpl_indx2_pos_err', 'flnc_sbpl_phtflnc',
'flnc_sbpl_phtflnc_error', 'flnc_sbpl_phtflncb',
'flnc_sbpl_phtflncb_error', 'flnc_sbpl_phtflux',
'flnc_sbpl_phtflux_error', 'flnc_sbpl_phtfluxb',
'flnc_sbpl_phtfluxb_error', 'flnc_sbpl_pivot',
'flnc_sbpl_pivot_neg_err', 'flnc_sbpl_pivot_pos_err',
'flnc_sbpl_redchisq', 'flnc_sbpl_redfitstat',
'flnc_sbpl_statistic', 'flu_high', 'flu_low', 'fluence_batse',
'fluence_batse_error', 'flux_256', 'flux_256_error',
'flux_256_time', 'flux_64_time', 'flux_batse_1024',
'flux_batse_1024_error', 'flux_batse_1024_time', 'flux_batse_256',
'flux_batse_256_error', 'flux_batse_256_time', 'flux_batse_64',
'flux_batse_64_error', 'flux_batse_64_time', 'last_modified',
'lii', 'pflx_band_alpha', 'pflx_band_alpha_neg_err',
'pflx_band_alpha_pos_err', 'pflx_band_ampl',
'pflx_band_ampl_neg_err', 'pflx_band_ampl_pos_err',
'pflx_band_beta', 'pflx_band_beta_neg_err',
'pflx_band_beta_pos_err', 'pflx_band_dof', 'pflx_band_epeak',
'pflx_band_epeak_neg_err', 'pflx_band_epeak_pos_err',
'pflx_band_ergflnc', 'pflx_band_ergflnc_error',
'pflx_band_ergflncb', 'pflx_band_ergflncb_error',
'pflx_band_ergflux', 'pflx_band_ergflux_error',
'pflx_band_phtflnc', 'pflx_band_phtflnc_error',
'pflx_band_phtflncb', 'pflx_band_phtflncb_error',
'pflx_band_phtflux', 'pflx_band_phtflux_error',
'pflx_band_phtfluxb', 'pflx_band_phtfluxb_error',
'pflx_band_redchisq', 'pflx_band_redfitstat',
'pflx_band_statistic', 'pflx_comp_ampl', 'pflx_comp_ampl_neg_err',
'pflx_comp_ampl_pos_err', 'pflx_comp_dof', 'pflx_comp_epeak',
'pflx_comp_epeak_neg_err', 'pflx_comp_epeak_pos_err',
'pflx_comp_ergflnc', 'pflx_comp_ergflnc_error',
'pflx_comp_ergflncb', 'pflx_comp_ergflncb_error',
'pflx_comp_ergflux', 'pflx_comp_ergflux_error', 'pflx_comp_index',
'pflx_comp_index_neg_err', 'pflx_comp_index_pos_err',
'pflx_comp_phtflnc', 'pflx_comp_phtflnc_error',
'pflx_comp_phtflncb', 'pflx_comp_phtflncb_error',
'pflx_comp_phtflux', 'pflx_comp_phtflux_error',
'pflx_comp_phtfluxb', 'pflx_comp_phtfluxb_error',
'pflx_comp_pivot', 'pflx_comp_pivot_neg_err',
'pflx_comp_pivot_pos_err', 'pflx_comp_redchisq',
'pflx_comp_redfitstat', 'pflx_comp_statistic', 'pflx_plaw_ampl',
'pflx_plaw_ampl_neg_err', 'pflx_plaw_ampl_pos_err',
'pflx_plaw_dof', 'pflx_plaw_ergflnc', 'pflx_plaw_ergflnc_error',
'pflx_plaw_ergflncb', 'pflx_plaw_ergflncb_error',
'pflx_plaw_ergflux', 'pflx_plaw_ergflux_error', 'pflx_plaw_index',
'pflx_plaw_index_neg_err', 'pflx_plaw_index_pos_err',
'pflx_plaw_phtflnc', 'pflx_plaw_phtflnc_error',
'pflx_plaw_phtflncb', 'pflx_plaw_phtflncb_error',
'pflx_plaw_phtflux', 'pflx_plaw_phtflux_error',
'pflx_plaw_phtfluxb', 'pflx_plaw_phtfluxb_error',
'pflx_plaw_pivot', 'pflx_plaw_pivot_neg_err',
'pflx_plaw_pivot_pos_err', 'pflx_plaw_redchisq',
'pflx_plaw_redfitstat', 'pflx_plaw_statistic', 'pflx_sbpl_ampl',
'pflx_sbpl_ampl_neg_err', 'pflx_sbpl_ampl_pos_err',
'pflx_sbpl_brken', 'pflx_sbpl_brken_neg_err',
'pflx_sbpl_brken_pos_err', 'pflx_sbpl_brksc',
'pflx_sbpl_brksc_neg_err', 'pflx_sbpl_brksc_pos_err',
'pflx_sbpl_dof', 'pflx_sbpl_ergflnc', 'pflx_sbpl_ergflnc_error',
'pflx_sbpl_ergflncb', 'pflx_sbpl_ergflncb_error',
'pflx_sbpl_ergflux', 'pflx_sbpl_ergflux_error', 'pflx_sbpl_indx1',
'pflx_sbpl_indx1_neg_err', 'pflx_sbpl_indx1_pos_err',
'pflx_sbpl_indx2', 'pflx_sbpl_indx2_neg_err',
'pflx_sbpl_indx2_pos_err', 'pflx_sbpl_phtflnc',
'pflx_sbpl_phtflnc_error', 'pflx_sbpl_phtflncb',
'pflx_sbpl_phtflncb_error', 'pflx_sbpl_phtflux',
'pflx_sbpl_phtflux_error', 'pflx_sbpl_phtfluxb',
'pflx_sbpl_phtfluxb_error', 'pflx_sbpl_pivot',
'pflx_sbpl_pivot_neg_err', 'pflx_sbpl_pivot_pos_err',
'pflx_sbpl_redchisq', 'pflx_sbpl_redfitstat',
'pflx_sbpl_statistic', 'pflx_spectrum_start', 'pflx_spectrum_stop',
'scat_detector_mask', 'scatalog', 't50', 't50_error', 't50_start',
'trigger_name'], dtype='<U24')
Next, we will put together some of what we’ve learned to do reduce some GBM data and export it.