In seismology, we usually have to deal with the sac data format (binary data format). This data format can be dealt easily and efficiently with the SAC software provided by IRIS. But if we want to use this data in other software for instance MATLAB, then we may need to convert the data in alphanumeric format or to install additional functions.
Here, we show how can we deal with the sac data file format.
- If you have sac installed on your system, then you can make use of the sac’s “convert” command to convert the data from alphanumeric format to sac format, back and forth.
- There are several other functions and libraries available online to deal with the sac data file format directly in MATLAB. For example, Mike Thorne’s Software, Frederik J. Simons Repository
- Here we give some useful utilities:
prem is a simple program to return the PREM velocities and density for an input depth. Using this you don’t need to check manually what is the PREM velocity at a particular depths.
This can be compiled using the following steps:
g95 -c getprem_mod.f90
g95 prem.f90 -o prem ./getprem_mod.o
mkdir -p ~/bin
mv prem ~/bin
sachead returns the value of specified sac header. So, you don’t need to read the data with sac to get its header information. If you have sac already installed in your computer then you don’t need this utility as there is a utility “saclst” which does the same job.
usage: >> sachead sacfile headervariable
To compile this utility,
g95 -c mod_sac_io.f90
g95 sachead.f90 -o sachead mod_sac_io.o
mkdir -p ~/bin
mv sachead ~/bin
sac2xy converts the sac file from binary to alphanumeric format
usage: >> sac2xy sacfile outputfile
For compilation,
g95 -c mod_sac_io.f90
g95 sac2xy.f90 -o sac2xy mod_sac_io.o
mkdir -p ~/bin
mv sac2xy ~/bin
To add these programs into the path of your system,
open “~/.bashrc” file using your favourite text editor
add the following line to it
export PATH=$PATH:~/bin
close the .bashrc file and restart your terminal window or run “. ~/.bashrc” command
Or directly from the terminal,
type
echo “export PATH=$PATH:~/bin” >> ~/.bashrc
Mac users can add the following lines to the file ~/.bash_profile
C-shell users can edit the ~/.cshrc file.
echo “setenv PATH $PATH\:/~/bin” >> ~/.cshrc
We list some MATLAB functions which can be used directly to import sac data in MATLAB:
- load_sac : To read header and sac data
- rmean : To remove mean from the read sac data
- rtrend : To remove linear trend from the data
- cos_taper : Applies a 10% cosine taper
- bp_bu_co : Bandpass filter using butterworth filter implementation
Continue reading Some utilities to deal with sac data format