NAME
Perlsac::rwsac - a module to read and write SAC file.
DESCRIPTION
This is the module for reading and writing the sac file, defined at 'http://ds.iris.edu/files/sac-manual/manual/file_format.html'
AUTHOR
Hobin Lim
LICENSE
MIT
INSTALLATION
Using cpan
:
cpan install Perlsac::rwsac
Manual install:
perl Makefile.PL
make
make install
TUTORIALS
1. Printing out time and data.
#!/usr/bin/env perl
use strict ;
use warnings ;
use Perlsac::rwsac ;
my %h = Perlsac::rwsac::rsac("example.sac") ;
for (my $n=0; $n<$h{npts}; $n++){
print "$h{t}[$n] $h{d}[$n]\n" ;
}
2. Dividing data by 'depmax' in headers and writing a new sac file.
#!/usr/bin/env perl
use strict ;
use warnings ;
use Perlsac::rwsac ;
my %h = Perlsac::rwsac::rsac("example.sac") ;
for (my $n=0; $n<$h{npts}; $n++){
$h{d}[$n] /= $h{depmax} ;
}
&Perlsac::rwsac::wsac("example.sac.div",%h) ;
3. Making a synthetic triangle-shaped waveform.
#!/usr/bin/env perl
use strict ;
use warnings ;
use Perlsac::rwsac ;
my $b = 0.0 ;
my $npts = 20 ;
my $delta = 0.1 ;
my %h = Perlsac::rwsac::init($b, $npts, $delta) ; #b, npts, delta
#$h{d} are zero-padded.
my @ys = (
0,0,0,0,0,
1,2,3,4,5,
4,3,2,1,0,
0,0,0,0,0) ;
$h{d} = [@ys] ;
&Perlsac::rwsac::wsac('triangle.sac',%h) ;