diff --git a/gracedb/forms.py b/gracedb/forms.py
index 739b76442efdde1109c94925095b23a50826d423..2e36fe0b5567c7f66a62b6a7c98028b709d97fe0 100644
--- a/gracedb/forms.py
+++ b/gracedb/forms.py
@@ -21,6 +21,8 @@ class EventSearchForm(forms.Form):
     graceidEnd = forms.CharField(required=False)
     group = forms.ChoiceField(choices=groupChoices, required=False)
     type = forms.ChoiceField(choices=typeChoices, required=False)
+    gpsStart = forms.IntegerField(min_value=0, required=False)
+    gpsSlop = forms.IntegerField(min_value=0, required=False)
     submitter = forms.ChoiceField(choices=submitterChoices, required=False)
 
     ligoApproved = forms.BooleanField(initial=False, required=False, label="LIGO Approved Only")
diff --git a/gracedb/models.py b/gracedb/models.py
index 0d9c280caa502c9ce428c61df1494a24bd3c4ed1..0e278e6ce74ca510887bb69ea57db78a23a0e12a 100644
--- a/gracedb/models.py
+++ b/gracedb/models.py
@@ -41,6 +41,16 @@ class Event(models.Model):
     created = models.DateTimeField(auto_now_add=True)
     group = models.ForeignKey(Group)
     analysisType = models.CharField(max_length=20, choices=ANALYSIS_TYPE_CHOICES)
+    # From ligolw coinc_event table -- none are required.  yet.
+    instruments = models.CharField(max_length=20, default="")
+    nevents = models.PositiveIntegerField(null=True)
+    likelihood = models.FloatField(null=True)
+
+    # NOT from coinc_event, but so, so common.
+    #   Note that the semantics for this is different depending
+    #   on search type, so in some sense, querying on this may
+    #   be considered, umm, wrong?  But it is a starting point.
+    gpstime = models.PositiveIntegerField(null=True)
 
     # XXX Deprecated.  Only useful for old test data.
     # Remove this when it won't freak people out to lose
diff --git a/gracedb/translator.py b/gracedb/translator.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec87bcbab658df6db67ed8cfe7c3c8ea319cc01a
--- /dev/null
+++ b/gracedb/translator.py
@@ -0,0 +1,98 @@
+
+import os
+
+from models import EventLog
+
+import glue
+from glue.gracedb.utils import InspiralCoincIdBase, InspiralCoincDef
+from glue.gracedb.utils import BurstCoincIdBase, BurstCoincDef
+
+from glue.gracedb.utils import insp_event_id_dict
+from glue.gracedb.utils import coherent_event_id_dict
+
+from glue.gracedb.utils import populate_inspiral_tables, \
+                               populate_burst_tables,    \
+                               populate_coinc_tables,    \
+                               write_output_files
+
+def handle_uploaded_data(event, datafilename,
+                         log_filename='event.log',
+                         coinc_table_filename='coinc.xml'):
+
+    if event.analysisType == 'MBTA':
+        xmldoc, log_data, detectors = \
+                populate_inspiral_tables(datafilename, 0)
+                # XXX ligolw wants ints.
+                #populate_inspiral_tables(datafilename, #event.graceid())
+        xmldoc = populate_coinc_tables(xmldoc,
+                                       # XXX ligolw wants ints.
+                                       #event.graceid(),
+                                       0,
+                                       InspiralCoincIdBase,
+                                       insp_event_id_dict,
+                                       InspiralCoincDef,
+                                       detectors)
+
+        output_dir = os.path.dirname(datafilename)
+        write_output_files(output_dir, xmldoc, log_data,
+                           xml_fname=coinc_table_filename,
+                           log_fname=log_filename)
+
+        # Create EventLog entries about these files.
+        private_data_url = os.path.join(event.weburl(), 'private')
+
+        log = EventLog(event=event,
+                       filename=log_filename,
+                       issuer=event.submitter,
+                       comment="Log File Created" )
+        log.save()
+
+        log = EventLog(event=event,
+                       filename=coinc_table_filename,
+                       issuer=event.submitter,
+                       comment="Coinc Table Created")
+        log.save()
+
+        # Exctract relevant data from xmldoc.
+        coinc_table = glue.ligolw.table.getTablesByName(
+                            xmldoc,
+                            glue.ligolw.lsctables.CoincInspiralTable.tableName)
+        coinc_table = coinc_table[0]
+        event.gpstime = coinc_table[0].end_time
+
+        coinc_table = glue.ligolw.table.getTablesByName(
+                            xmldoc,
+                            glue.ligolw.lsctables.CoincTable.tableName)
+        coinc_table = coinc_table[0]
+        event.instruments = coinc_table[0].instruments
+        event.nevents = coinc_table[0].nevents
+        event.likelihood = coinc_table[0].likelihood
+        event.save()
+
+    elif event.analysisType == 'OM': # Omega
+        xmldoc, log_data, detectors = populate_burst_tables(datafilename, 0)
+        xmldoc = populate_coinc_tables(
+                        xmldoc, 0, BurstCoincIdBase, \
+                        coherent_event_id_dict, BurstCoincDef, \
+                        detectors)
+
+        output_dir = os.path.dirname(datafilename)
+        write_output_files(output_dir, xmldoc, log_data)
+
+        # Exctract relevant data from xmldoc.
+        coinc_table = glue.ligolw.table.getTablesByName(
+                            xmldoc,
+                            glue.ligolw.lsctables.MultiBurstTable.tableName)
+        coinc_table = coinc_table[0]
+        event.gpstime = coinc_table[0].start_time
+
+        coinc_table = glue.ligolw.table.getTablesByName(
+                            xmldoc,
+                            glue.ligolw.lsctables.CoincTable.tableName)
+        coinc_table = coinc_table[0]
+        event.instruments = coinc_table[0].instruments
+        event.nevents = coinc_table[0].nevents
+        event.likelihood = coinc_table[0].likelihood
+        event.save()
+    else:
+        pass
diff --git a/gracedb/views.py b/gracedb/views.py
index 34181af234cac44dc146f0b490db8bc42685bec3..78bb5aa331f498858a5911627a6941c6e08dcdd4 100644
--- a/gracedb/views.py
+++ b/gracedb/views.py
@@ -10,9 +10,7 @@ from django.views.generic.list_detail import object_detail, object_list
 from models import Event, Group, EventLog
 from forms import CreateEventForm, EventSearchForm
 from alert import issueAlert
-
-from glue.gracedb.utils import populate_inspiral_tables, populate_coinc_tables, write_output_files
-
+from translator import handle_uploaded_data
 
 import os
 
@@ -204,6 +202,8 @@ def search(request):
             submitter = form.cleaned_data['submitter']
             groupname = form.cleaned_data['group']
             typename = form.cleaned_data['type']
+            gpsStart =  form.cleaned_data['gpsStart']
+            slop =  form.cleaned_data['gpsSlop']
 
             if not groupname:
                 # don't show test events unless explicitly requested
@@ -229,6 +229,16 @@ def search(request):
                     objects = objects.filter(id__lte=int(end[1:]))
                     objects = objects.filter(uid="")
 
+            if gpsStart:
+                slop = slop or 0
+                if not slop:
+                    objects = objects.filter(gpstime=gpsStart)
+                else:
+                    gpsStart = int(gpsStart)
+                    slop = int(slop) / 2
+                    objects = objects.filter(gpstime__gte=gpsStart-slop)
+                    objects = objects.filter(gpstime__lte=gpsStart+slop)
+
             if submitter:
                 objects = objects.filter(submitter=submitter)
             if groupname:
@@ -302,34 +312,3 @@ Initial Entry for %s
     os.chmod(pname, 0644)
     os.chmod(rcsname, 0444)
 
-def handle_uploaded_data(event, datafilename,
-                         log_filename='event.log',
-                         coinc_table_filename='coinc.xml'):
-    from glue.gracedb.utils import InspiralCoincId, InspiralCoincDef
-    from glue.gracedb.utils import insp_event_id_dict
-
-    if event.analysisType == 'MBTA':
-        xmldoc, log_data = populate_inspiral_tables(datafilename)
-        populate_coinc_tables(xmldoc, InspiralCoincId, insp_event_id_dict, InspiralCoincDef)
-
-        output_dir = os.path.dirname(datafilename)
-        write_output_files(output_dir, xmldoc, log_data,
-                           xml_fname=coinc_table_filename,
-                           log_fname=log_filename)
-
-        # Create EventLog entries about these files.
-        private_data_url = os.path.join(event.weburl(), 'private')
-        log_comment = "Log File Created" 
-        log = EventLog(event=event,
-                       filename=log_filename,
-                       issuer=event.submitter,
-                       comment=log_comment)
-        log.save()
-        comment="Coinc Table Created"
-        #comment="Coinc Table: %s" % os.path.join(output_dir, coinc_table_filename)
-        log = EventLog(event=event,
-                       filename=coinc_table_filename,
-                       issuer=event.submitter,
-                       comment=comment)
-        log.save()
-
diff --git a/templates/gracedb/event_list.html b/templates/gracedb/event_list.html
index e4a10fad4d3d168073c534a3da8093d7bd349aba..f8792f12707f1f88101aab64c03a6a981a73173e 100644
--- a/templates/gracedb/event_list.html
+++ b/templates/gracedb/event_list.html
@@ -18,6 +18,7 @@
             <th>Submitter</th>
             <th>Group</th>
             <th>Type</th>
+            <th>GPS Time</th>
             <th>Web</th>
             <th>Wiki</th>
     </tr>
@@ -46,6 +47,7 @@
         <td>{{ obj.submitter }} </td>
         <td>{{ obj.group }} </td>
         <td>{{ obj.get_analysisType_display }} </td>
+        <td>{% if obj.gpstime%}{{ obj.gpstime }}{% endif %}</td>
         <td><a href="{{ obj.weburl }}">Web: {{ obj.graceid }}</a></td>
         <td><a href="{{ obj.wikiurl }}">Wiki: {{ obj.graceid }}</a></td>
     </tr>