diff --git a/OP1.select b/OP1.select
index 0b52032d016440dbde73b64ee33ad3e83e39a87e..5cf4f7c398969612f60be5c43f1fb33300080737 100644
--- a/OP1.select
+++ b/OP1.select
@@ -1,6 +1,8 @@
 2016-10-17:12:44:00,2016-10-17:12:47:00
 2016-10-18:11:33:00,2016-10-18:11:37:00
 2016-10-24:13:05:00,2016-10-24:13:10:00
-2016-11-01:12:43:00,2016-11-01:12:58:00
+2016-11-01:12:43:30,2016-11-01:12:48:30
+2016-11-01:12:48:30,2016-11-01:12:53:30
+2016-11-01:12:53:30,2016-11-01:12:58:20
 2016-11-28:12:17:30,2016-11-28:12:21:00
 2016-11-30:11:12:00,2016-11-30:11:17:00
diff --git a/OP3.select b/OP3.select
index 2aeab9d66aa1455f40024850e05e2305d13020e2..40895e9bf997cbb24baf1d12fd633b923f0caf40 100644
--- a/OP3.select
+++ b/OP3.select
@@ -1,6 +1,8 @@
 2016-10-17:12:31:00,2016-10-17:12:35:00
 2016-10-18:11:18:00,2016-10-18:11:23:00
 2016-10-24:12:26:00,2016-10-24:12:42:00
-2016-11-01:12:27:00,2016-11-01:12:42:00
+2016-11-01:12:28:00,2016-11-01:12:32:00
+2016-11-01:12:32:00,2016-11-01:12:37:00
+2016-11-01:12:37:00,2016-11-01:12:42:00
 2016-11-28:12:09:00,2016-11-28:12:13:30
 2016-11-30:10:56:30,2016-11-30:11:03:00
diff --git a/OP5.select b/OP5.select
index 4a068460daf7747fb3ce555e11c92633097e5c52..a65903d864d8894e510f098ef25daad1156f0b85 100644
--- a/OP5.select
+++ b/OP5.select
@@ -1,6 +1,8 @@
 2016-10-17:12:19:00,2016-10-17:12:20:00
 2016-10-18:11:03:00,2016-10-18:11:09:00
 2016-10-24:11:56:00,2016-10-24:12:10:00
-2016-11-01:12:09:00,2016-11-01:12:24:00
+2016-11-01:12:10:20,2016-11-01:12:15:00
+2016-11-01:12:15:00,2016-11-01:12:20:00
+2016-11-01:12:20:00,2016-11-01:12:24:00
 2016-11-28:11:58:00,2016-11-28:12:03:00
 2016-11-30:10:43:00,2016-11-30:10:48:00
diff --git a/OP6.select b/OP6.select
index c96d35a285890c75be4a05b7b019f2e2ba086bdb..82b0c349ea39b8c5eb6f29a7f276a9873f037a5f 100644
--- a/OP6.select
+++ b/OP6.select
@@ -1,5 +1,7 @@
 2016-10-18:10:48:00,2016-10-18:10:55:00
 2016-10-24:11:34:00,2016-10-24:11:43:00
-2016-11-01:11:51:00,2016-11-01:12:07:00
+2016-11-01:11:51:20,2016-11-01:11:57:20
+2016-11-01:11:57:20,2016-11-01:12:02:00
+2016-11-01:12:02:00,2016-11-01:12:07:00
 2016-11-28:11:47:00,2016-11-28:11:53:00
 2016-11-30:10:32:30,2016-11-30:10:39:00
diff --git a/OP7.select b/OP7.select
index e8de51dc85fce30ac1ae01926b4c316a7232c36e..078b0998375ce3d77ec27f2d8bf02d344e27e9f0 100644
--- a/OP7.select
+++ b/OP7.select
@@ -1,6 +1,8 @@
 2016-10-17:11:57:00,2016-10-17:12:04:00
 2016-10-18:10:29:00,2016-10-18:10:30:00
 2016-10-24:11:18:00,2016-10-24:11:26:00
-2016-11-01:11:31:00,2016-11-01:11:48:00
+2016-11-01:11:32:00,2016-11-01:11:38:30
+2016-11-01:11:38:30,2016-11-01:11:44:00
+2016-11-01:11:44:00,2016-11-01:11:48:00
 2016-11-28:11:39:00,2016-11-28:11:44:00
 2016-11-30:10:20:50,2016-11-30:10:26:00
diff --git a/data_select.py b/data_select.py
index 1a916b2cb31a59f2d5d25e91dd4fc9d2506c882c..729adf805afa34d97b96438710f34a93df7848b6 100755
--- a/data_select.py
+++ b/data_select.py
@@ -8,7 +8,7 @@ import calendar
 if __name__ == '__main__':
     op = os.path.basename(sys.argv[1]).split('.')[0]
     Y2K = time.mktime(time.gmtime(calendar.timegm([2000, 1, 1, 0, 0, 0])))
-    data = {}
+    segment = []
     for l in open(sys.argv[1]):
         # print(l)
         t1,t2 = l.strip().split(',')
@@ -16,55 +16,53 @@ if __name__ == '__main__':
         # Get selection interval
         s1 = time.mktime(time.strptime(t1, '%Y-%m-%d:%H:%M:%S')) - Y2K
         s2 = time.mktime(time.strptime(t2, '%Y-%m-%d:%H:%M:%S')) - Y2K
+        # Select interval from data files
+        interval = {}
         for filename in sys.argv[2:]:
-            # Select interval from data files
             for l2 in open(filename):
+                # Match on field with seconds from Y2K
                 s3 = int(l2.strip().split(',')[1])
                 if s1 <= s3 and s3 <= s2:
-                    data[s3] = l2.strip().split(',')
+                    interval[s3] = l2.strip().split(',')
                     pass
                 pass
             pass
+        if len(interval) == 0:
+            print('No data in %s - %s' % (t1, t2))
+            pass
+        else:
+            segment.append([ [k] + interval[k] for k in
+                             sorted(interval.keys()) ])
         pass
 
-    # Find number of segments and total data timespan
-    t_first = 0
-    t_last = 0
+    # Find total data timespan
     t_total = 0
-    segments = 0
-    for t in sorted(data.keys()):
-        if t > t_last + 120:
-            # New segment
-            segments += 1
-            t_total += t_last - t_first
-            t_first = t
-        t_last = t
+    for s in segment:
+        t_total += s[-1][0] - s[0][0]
+    time_jump = int(t_total * 0.2 / len(segment))
 
-    print(segments, t_total)
-    time_jump = t_total * 0.2 / segments
-    
+    # Output selection
     outfile = open('selected/%s' % op, 'w')
-    t_last = 0
+
+    # Empty space at start of plot
+    print("*,%d,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan" % 0,
+          file=outfile)
+    t_last = time_jump
     t_offset = 0
-    for t in sorted(data.keys()):
-        if t > t_last + 120:
-            # New segment
-#            print("*,%s,0,0,0,0,0,0,0,0,300,300,0,1013" %
-            print("*,%s,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan" %
-                  (t_last - t_offset + 1),
-                  file=outfile)
-            last_valid = t_last - t_offset 
-            t_offset = t - last_valid - time_jump
-#            print("*,%s,0,0,0,0,0,0,0,0,300,300,0,1013" %
-            print("*,%s,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan" %
-                  (t - t_offset -1),
+    for s in segment:
+        t_offset = s[0][0] - t_last
+        print("*,%d,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan" %
+              (s[0][0] - t_offset - 1),
+              file=outfile)  
+        for row in s:
+            t_new = row[0] - t_offset
+            print("%s,%s,%s" % (row[1], t_new , ",".join(row[3:])),
                   file=outfile)
             pass
-        t_last = t
-        t_new = t_last - t_offset
-        print("%s,%s,%s" % (data[t][0], t_new ,
-                            ",".join(data[t][2:])),
-              file=outfile)
+        print("*,%d,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan" %
+              (s[-1][0] - t_offset + 1),
+              file=outfile)  
+        t_last = s[-1][0] - t_offset + time_jump
         pass
     pass