gusucode.com > DSISoft是由加拿大地质调查局发布的用于垂直地震剖面(VSP)数据处理的免费软件包 > dsisoftv3/dsisoftv3/dsisoftv3/qc_dsi/examples/select_h1az.m
%This script can be used to run qc_dsi with %many input vsp data files. This script isolate %all 15 traces from each depth position of the survey and %outputs H1 azimuth into header 11 of all data files. %You still need to rotate the data after using this script. %loading each individual VSP profil files and taking subsets %corresponding to the first breaks time interval cd ../n43; load n43sp1c_harm; load n43sp2e_harm; load n43sp3n_harm; load n43sp4s_harm; load n43sp5w_harm; max_picked_time=max([n43sp1c_harm.th{1}(15,:) n43sp2e_harm.th{1}(15,:) ... n43sp3n_harm.th{1}(15,:) n43sp4s_harm.th{1}(15,:) ... n43sp5w_harm.th{1}(15,:)]); % get next hundereth of msec from picked_time+15 msec maxt=ceil((max_picked_time+0.015)*10)/10; % Taking the subsets sp1c=subset(n43sp1c_harm,1,272,0,maxt,1,3); sp2e=subset(n43sp2e_harm,1,272,0,maxt,1,3); sp3n=subset(n43sp3n_harm,1,272,0,maxt,1,3); sp4s=subset(n43sp4s_harm,1,272,0,maxt,1,3); sp5w=subset(n43sp5w_harm,1,272,0,maxt,1,3); % go back to the qc_dsi directory cd ../qc_dsi; %creating a depth vector with the wireline depth information depthvec=sp1c.th{1}(56,:); %creating a char array with file names for i=1:sp1c.fh{13} j=depthvec(i); eval(['filestr{',num2str(i),'} = ''depth',num2str(j),''';']); end %taking subsets corresponding to each depth levels for COUNT=1:sp1c.fh{13} j=depthvec(COUNT); aa=subset(sp1c,COUNT,COUNT,0,maxt,1,3); bb=subset(sp2e,COUNT,COUNT,0,maxt,1,3); cc=subset(sp3n,COUNT,COUNT,0,maxt,1,3); dd=subset(sp4s,COUNT,COUNT,0,maxt,1,3); ee=subset(sp5w,COUNT,COUNT,0,maxt,1,3); %merging traces from each shot point m1=merge_files(aa,bb); clear aa bb m2=merge_files(m1,cc); clear m1 cc m3=merge_files(m2,dd); clear m2 dd m_final=merge_files(m3,ee); clear m3 ee temp=sortrec_new(m_final,4,26); toto=qc_dsi(temp,15,0.005,0.008,1,2); h1_azimuth(COUNT)=input('H1 azimuth?'); depth(COUNT)=j; % Put the H1 component azimuth into header 11 n43sp1c_harm.th{1}(11,COUNT)=h1_azimuth(COUNT); n43sp1c_harm.th{2}(11,COUNT)=h1_azimuth(COUNT); n43sp1c_harm.th{3}(11,COUNT)=h1_azimuth(COUNT); n43sp2e_harm.th{1}(11,COUNT)=h1_azimuth(COUNT); n43sp2e_harm.th{2}(11,COUNT)=h1_azimuth(COUNT); n43sp2e_harm.th{3}(11,COUNT)=h1_azimuth(COUNT); n43sp3n_harm.th{1}(11,COUNT)=h1_azimuth(COUNT); n43sp3n_harm.th{2}(11,COUNT)=h1_azimuth(COUNT); n43sp3n_harm.th{3}(11,COUNT)=h1_azimuth(COUNT); n43sp4s_harm.th{1}(11,COUNT)=h1_azimuth(COUNT); n43sp4s_harm.th{2}(11,COUNT)=h1_azimuth(COUNT); n43sp4s_harm.th{3}(11,COUNT)=h1_azimuth(COUNT); n43sp5w_harm.th{1}(11,COUNT)=h1_azimuth(COUNT); n43sp5w_harm.th{2}(11,COUNT)=h1_azimuth(COUNT); n43sp5w_harm.th{3}(11,COUNT)=h1_azimuth(COUNT); dywap=input('Do you want a ps plot?','s'); if (dywap=='y') figure(1) eval(['print -depsc ', num2str(depth(COUNT)),'.eps']); end; clear temp; close all; %orting with respect to component and s2r offset % eval(['pickdata' num2str(j) '=sortrec_new(m_final,4,26);']); %saving each file % eval(['save ',filestr{COUNT},' pickdata'num2str(j)]); %clearing the dataset % eval(['clear pickdata'num2str(j)]); end save h1_azimuth h1_azimuth depth; cd ../n43; save n43sp1c_harm n43sp1c_harm; save n43sp2e_harm n43sp2e_harm; save n43sp3n_harm n43sp3n_harm; save n43sp4s_harm n43sp4s_harm; save n43sp5w_harm n43sp5w_harm; %clearing all clear %%%%%%%%%%%%%%