#!/usr/bin/env tclshexe set ifo "H1" set nhours 7 #set ifo "L1" #set nhours 5 set transitions [list ] set gpsmin [exec tconvert Sep 14 2015 10:00:00 CDT] set gpsmax [exec tconvert Nov 26 2015 00:00:00 UTC] set fnamedump "dump_" append fnamedump $ifo ".txt" set fiddump [open $fnamedump w] set fnameseg "segments_" append fnameseg $ifo ".txt" set fidseg [open $fnameseg w] set fnamesegfull "segments_full_" append fnamesegfull $ifo ".txt" set fidsegfull [open $fnamesegfull w] set fnamelog "cat_psinject_logfiles_" append fnamelog $ifo ".txt" set fidlog [open $fnamelog] while { [gets $fidlog line] >= 0 } { if { [regexp {^\.\./\.\./bin/psinject \[PID=\d+\] (.*?): (.*)$} $line match date message] } { puts "date = /$date/ and message = /$message/" append date " UTC" set gpswrong [exec tconvert $date] if { [expr $gpswrong < 1130374817] } { set gps [expr $gpswrong + $nhours*3600] } else { set gps [expr $gpswrong + ($nhours+1)*3600] } if { $gps >= $gpsmin } { lappend transitions $gps puts "gps = $gps" } # lappend transitions $segstart $segstop } else { puts $fiddump "line /$line/ does not match pattern" } } #puts "transitions = $transitions" set ntransition [llength $transitions] puts "Found $ntransition raw transition lines" set unique "" foreach gps $transitions { set index [lsearch $unique $gps] puts "index = $index" if { $index > -1 } { puts "$gps already in unique" } else { puts "Adding $gps to unique" lappend unique $gps } } set nunique [llength $unique] puts "Found $nunique consolidated transition lines:" puts "unique = $unique" foreach transition $unique { set gpsstart [expr $transition-1] set gpsstop [expr $transition+2] set conversion [exec tconvert $gpsstart] set fnameroot "segs_" append fnameroot $ifo "_ANALYSIS_READY_O1_" $gpsstart "-" $gpsstop exec ligolw_segment_query_dqsegdb -t https://segments.ligo.org --query-segments -a $ifo:DMT-ANALYSIS_READY -s $gpsstart -e $gpsstop > $fnameroot.xml exec ligolw_print -t segment -c start_time -c end_time $fnameroot.xml -d " " > $fnameroot.txt set fileinfo [exec du -h $fnameroot.txt] # puts "fileinfo=/$fileinfo/" if { [regexp {^(\d+)[KMG \t].*$} $fileinfo match filesize] } { set filesize [expr $filesize*1] puts "filesize = /$filesize/" if { [expr $filesize > 0] } { puts $fidseg "$gpsstart $gpsstop" puts $fidsegfull "$gpsstart $gpsstop $conversion" puts "$gpsstart $gpsstop $conversion" } } else { puts "Error: no filesize" } }