利用rdseed解压seed文件,删除一定震中距以外的sac文件,进行滤波,去仪器响应后重命名保存

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/zsh
SAC_DISPLAY_COPYRIGHT=0

#数据路径,按照需要自己修改
sacfolder=~

#outype为输出数据类型: none->位移,vel->速度,acc->加速度
outype=none  


#滤波参数
f1=0.004 
f2=0.007 
f3=0.2 
f4=0.4

cd $sacfolder
for file in *.SEED;
do
echo $file
suffix=${file%%.*}
mkdir $suffix  
cp $file $suffix 
cd $suffix
mkdir SAC
rdseed -Rdf $file #提取波形数据和 RESP 仪器响应文件
rm -rf $file  
saclst dist f *.SAC > dist.txt                #震中距文件
rm -rf `saclst dist f *.SAC | gawk '$2>100'`  #震中距>100文件删除 
  
for sacfile in *.SAC;  #去仪器响应
do 
awk $sacfile -F. '{printf "mv %s %s.%s.%s.%s\n", $0, $7, $8, $9, $10}' | sh
sac <<EOF
read $sacfile
rmean
rtrend
lp co 1.0 p 2 n 4
trans from evalresp to $outype freq $f1 $f2 $f3 $f4
write ${sacfile}.filtered   
quit
EOF
done

mv *.SAC.filtered SAC
mv *.txt SAC
cd SAC
ls *.SAC.filtered | awk -F. '{printf "mv %s %s.%s.%s.%s.%s.%s.%s.%s\n",$0,$7,$8,$1,$2,$3,$4,$10,$12}' | sh #文件重命名
cd ..
rm *.*
cd $sacfolder
done