Commit 49991586 authored by niklas.thiel's avatar niklas.thiel

changed filtering during stf inversion that wavelet and seismogramms are better compareable

parent 67cca6e4
......@@ -1332,9 +1332,12 @@ int main(int argc, char **argv){
if (WAVETYPE==1 || WAVETYPE==3) {
catseis(sectionvx, fulldata_vx, recswitch, ntr_glob, MPI_COMM_WORLD);
catseis(sectionvy, fulldata_vy, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_vx,F_LOW_PASS,ORDER,ntr_glob,ns,1);
timedomain_filt(fulldata_vy,F_LOW_PASS,ORDER,ntr_glob,ns,1);
}
if (WAVETYPE==2 || WAVETYPE==3) {
catseis(sectionvz, fulldata_vz, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_vz,F_LOW_PASS,ORDER,ntr_glob,ns,1);
}
if(LNORM==8){
calc_envelope(fulldata_vy,fulldata_vy,ns,ntr_glob);
......@@ -1344,6 +1347,7 @@ int main(int argc, char **argv){
case 2 : /* pressure only */
catseis(sectionp, fulldata_p, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_p,F_LOW_PASS,ORDER,ntr_glob,ns,1);
// if (MYID==0) saveseis_glob(FP,fulldata_vx,fulldata_vy,fulldata_vz,fulldata_p,fulldata_curl,fulldata_div,recpos,recpos_loc,ntr_glob,srcpos,ishot,ns,iter,1);
break;
......@@ -1371,11 +1375,15 @@ int main(int argc, char **argv){
if (WAVETYPE==1 || WAVETYPE==3) {
catseis(sectionvx, fulldata_vx, recswitch, ntr_glob, MPI_COMM_WORLD);
catseis(sectionvy, fulldata_vy, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_vx,F_LOW_PASS,ORDER,ntr_glob,ns,1);
timedomain_filt(fulldata_vy,F_LOW_PASS,ORDER,ntr_glob,ns,1);
}
if (WAVETYPE==2 || WAVETYPE==3) {
catseis(sectionvz, fulldata_vz, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_vz,F_LOW_PASS,ORDER,ntr_glob,ns,1);
}
catseis(sectionp, fulldata_p, recswitch, ntr_glob, MPI_COMM_WORLD);
timedomain_filt(fulldata_p,F_LOW_PASS,ORDER,ntr_glob,ns,1);
// if (MYID==0) saveseis_glob(FP,fulldata_vx,fulldata_vy,fulldata_vz,fulldata_p,fulldata_curl,fulldata_div,recpos,recpos_loc,ntr_glob,srcpos,ishot,ns,iter,1);
break;
......
......@@ -61,7 +61,7 @@ void stf(FILE *fp, float **sectionvy, float ** sectionvy_obs, float ** sectionvy
/* variables for wavelet */
int nt, nts = 0;
float tshift, amp=0.0, fc, tau, t, ts, ag;
float tshift, amp=0.0, a, fc, tau, t, ts, ag;
float * wavelet, * stf_conv_wavelet, *psource=NULL;
wavelet=vector(1,ns);
......@@ -231,6 +231,7 @@ void stf(FILE *fp, float **sectionvy, float ** sectionvy_obs, float ** sectionvy
/* calculating wavelet SIN**3 for convoling with STF */
tshift=srcpos[4][ishot];
fc=srcpos[5][ishot];
a=srcpos[6][ishot];
ts=1.0/fc;
for (nt=1;nt<=ns;nt++){
t=(float)nt*DT;
......@@ -287,13 +288,18 @@ void stf(FILE *fp, float **sectionvy, float ** sectionvy_obs, float ** sectionvy
}/* end of switch (SOURCE_SHAPE) */
wavelet[nt]=amp;
wavelet[nt]=amp*DT;
}/* end of for (nt=1;nt<=ns;nt++) */
/* filtering the input wavelet */
if((TIME_FILT==1)||(TIME_FILT==2))
timedomain_filt_vector(wavelet,F_LOW_PASS,ORDER,ns,1);
/* convolving wavelet with STF */
conv_FD(wavelet,source_time_function,stf_conv_wavelet,ns);
/* tapering the stf wavelet*/
if(TAPER_STF)
taper(stf_conv_wavelet, ns, fc);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment