Version 2 - contributed by Alistair Harding: # usage: ts2sio tsfile # e.g. ts2sio /data/processed/0008/ts.n255 > sioseis_nav_file # 2000+255:01:08:36.112 017382 N 32 13.2870 W 075 29.1645 test # while (<>) { my ($timestamp,$shotno,$ns,$latdeg,$latmin,$ew,$longdeg,$longmin) = split /\s+/; my ($year,$jday,$hour,$minute,$second) = split /\+|-|:/, $timestamp; $latdeg = -$latdeg if ($ns eq "S"); $longdeg = -$longdeg if ($ew eq "W"); $, = " "; # separate output with a space $\ = "\n"; # append newline print($year,$jday,$hour,$minute,$second, $latdeg,$latmin,$longdeg,$longmin,$shotno); } Version 1 - contributed by Paul Henkart #!/usr/bin/perl # usage: ts2sio tsfile # e.g. ts2sio /data/processed/0008/ts.n255 > sioseis_nav_file # 2000+255:01:08:36.112 017382 N 32 13.2870 W 075 29.1645 test # @lines = <>; foreach $_ (@lines) { # put each line into $_ split(' '); # parse into array @_ $year = substr(@_[0],0,4); $jday = substr(@_[0],5,3); # A negative day means there's something wrong with the fix # Use the following if you want to ignore the LDEO bad quality flag $jday = substr(@_[0],5,3); # Use the following if you want to flag bad fixes as negative day, # which as of 10 October 2000 is not honored by SIOSEIS. # $jday = substr(@_[0],4,4); $hour = substr(@_[0],9,2); $minute = substr(@_[0],12,2); $second = substr(@_[0],15,6); $latdeg = @_[3]; $shotno = @_[1]; if (@_[2] eq "S") { $latdeg = -$latdeg;} $latmin = @_[4]; $longdeg = @_[6]; if (@_[5] eq "W") { $longdeg = -$longdeg;} $longmin = @_[7]; print $year," ",$jday," ",$hour," ",$minute," ",$second," ", $latdeg," ", $latmin," ", $longdeg," ", $longmin," ", $shotno,"\n"; }Return to EW0008 example. Go to SIOSEIS examples.
Go to the list of seismic processes. Go to SIOSEIS introduction.