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