diff --git a/FFTlib/cc1fft.c b/FFTlib/cc1fft.c index 2fc4e633f144e30aed7a3a0587508d8f668d96a6..dadadc531ae3fc6319dec0a2733ee1ae05cb9d2f 100644 --- a/FFTlib/cc1fft.c +++ b/FFTlib/cc1fft.c @@ -64,9 +64,8 @@ void cc1fft(complex *data, int n, int sign) static DFTI_DESCRIPTOR_HANDLE handle[MAX_NUMTHREADS]; static int nprev[MAX_NUMTHREADS]; MKL_LONG Status; - int id; #endif - + int id; #ifdef _OPENMP id = omp_get_thread_num(); #else diff --git a/FFTlib/ccmfft.c b/FFTlib/ccmfft.c index fbbfde3def9a4410946719f3c8f674255d598fc0..c566f67865ae09048645bac374cc1bc48e87bd7b 100644 --- a/FFTlib/ccmfft.c +++ b/FFTlib/ccmfft.c @@ -67,8 +67,9 @@ void ccmfft(complex *data, int n1, int n2, int ld1, int sign) static DFTI_DESCRIPTOR_HANDLE handle[MAX_NUMTHREADS]; static int nprev[MAX_NUMTHREADS]; MKL_LONG Status; - int j, id; + int j; #endif + int id; #ifdef _OPENMP id = omp_get_thread_num(); diff --git a/FFTlib/cr1fft.c b/FFTlib/cr1fft.c index 4831beb973ecf00c440a0d706d33041287dee20f..9f20a51c2c025bef5f94491f9db72d77bed260ce 100644 --- a/FFTlib/cr1fft.c +++ b/FFTlib/cr1fft.c @@ -61,8 +61,9 @@ void cr1fft(complex *cdata, REAL *rdata, int n, int sign) static int nprev[MAX_NUMTHREADS]; REAL *tmp; MKL_LONG Status; - int i, id; + int i; #endif + int id; #ifdef _OPENMP id = omp_get_thread_num(); diff --git a/FFTlib/crmfft.c b/FFTlib/crmfft.c index e4dad54fd2b6237ed69c098e7827436e34ae1381..10ee07b4e0f4c29f0c95e5e5a67e866c180d5794 100644 --- a/FFTlib/crmfft.c +++ b/FFTlib/crmfft.c @@ -75,8 +75,9 @@ void crmfft(complex *cdata, REAL *rdata, int n1, int n2, int ldc, int ldr, int s static int nprev[MAX_NUMTHREADS]; REAL *tmp; MKL_LONG Status; - int i, j, id; + int i, j; #endif + int id; #ifdef _OPENMP id = omp_get_thread_num(); diff --git a/FFTlib/rc1fft.c b/FFTlib/rc1fft.c index 99684424ebece107a1c71236b51dcc5fe2e86952..733786cae3926344349b3d010e02df4f235ca872 100644 --- a/FFTlib/rc1fft.c +++ b/FFTlib/rc1fft.c @@ -60,8 +60,9 @@ void rc1fft(REAL *rdata, complex *cdata, int n, int sign) static DFTI_DESCRIPTOR_HANDLE handle[MAX_NUMTHREADS]; static int nprev[MAX_NUMTHREADS]; MKL_LONG Status; - int i, id; + int i; #endif + int id; #ifdef _OPENMP id = omp_get_thread_num(); diff --git a/FFTlib/rcmfft.c b/FFTlib/rcmfft.c index 574de3031c1087725a6b40470b4d760065f6cb82..da085ca848abdd80271b114bb7597f52817ebe82 100644 --- a/FFTlib/rcmfft.c +++ b/FFTlib/rcmfft.c @@ -72,8 +72,9 @@ void rcmfft(REAL *rdata, complex *cdata, int n1, int n2, int ldr, int ldc, int s static DFTI_DESCRIPTOR_HANDLE handle[MAX_NUMTHREADS]; static int nprev[MAX_NUMTHREADS]; MKL_LONG Status; - int i, j, id; + int i, j; #endif + int id; #ifdef _OPENMP id = omp_get_thread_num(); diff --git a/marchenko3D/getFileInfo3D.c b/marchenko3D/getFileInfo3D.c index cdf000077ef7ab7bb5fac24fe6b72c8ea0e28104..fd00ceebcb474bf41b2c12acae7c7882ee487878 100644 --- a/marchenko3D/getFileInfo3D.c +++ b/marchenko3D/getFileInfo3D.c @@ -176,7 +176,7 @@ long getFileInfo3D(char *filename, long *n1, long *n2, long *n3, long *ngath, fl itrace++; } if (itrace>1) { - *n2 = itrace/igy; + *n2 = MAX(itrace/igy,*n2); *n3 = igy; if (*n2>1) { dxrcv = (float)(gx_end - gx_start)/(float)(*n2-1); @@ -194,7 +194,7 @@ long getFileInfo3D(char *filename, long *n1, long *n2, long *n3, long *ngath, fl dysrc = (float)(hdr.sy - sy_shot)*scl; } else { - *n2 = MAX(hdr.trwf, 1); + *n2 = MAX(MAX(hdr.trwf, 1),*n2); *n3 = 1; *d2 = hdr.d2; *d3 = 1.0; diff --git a/marchenko3D/makeWindow3D.c b/marchenko3D/makeWindow3D.c index bd5ba82b5dbc34204ec762823880b5b0605e0da5..2d2d55383221039a42f48d4d0b7ca4b83668e588 100644 --- a/marchenko3D/makeWindow3D.c +++ b/marchenko3D/makeWindow3D.c @@ -59,7 +59,7 @@ void makeWindow3D(char *file_ray, char *file_amp, char *file_wav, float dt, floa wavtmp = (float *)calloc(ntwav,sizeof(float)); readData3D(fp, wavtmp, &hdr, ntwav); //Fit the wavelet into the same time-axis as the Marchenko scheme - for (i=0; i<ntwav; i++) { + for (i=0; i<(ntfft/2); i++) { wavelet[i] = wavtmp[i]; wavelet[ntfft-1-i] = wavtmp[ntwav-1-i]; } diff --git a/marchenko3D/marchenko3D.c b/marchenko3D/marchenko3D.c index 856969118d0408689398c937d76a5648f789bd72..037f24782f3f91cea31f3e33b00c7e18b5eeb817 100644 --- a/marchenko3D/marchenko3D.c +++ b/marchenko3D/marchenko3D.c @@ -282,7 +282,7 @@ int main (int argc, char **argv) /* G_d = p_0^+ = G_d (-t) ~ Tinv */ if (file_ray!=NULL) { makeWindow3D(file_ray, file_amp, file_wav, dt, xrcvsyn, yrcvsyn, xsyn, ysyn, zsyn, - xnxsyn, Nfoc, nx, ny, ntfft, muteW, G_d, verbose); + xnxsyn, Nfoc, nxs, nys, ntfft, muteW, G_d, verbose); } else { mode=-1; /* apply complex conjugate to read in data */ @@ -330,8 +330,7 @@ int main (int argc, char **argv) if (yrcvsyn[0] != 0 || yrcvsyn[nys*nxs-1] != 0 ) fysb = yrcvsyn[0]; if (nxs>1) { fxse = fxsb + (float)(nxs-1)*dxs; - dxf = (xrcvsyn[nys*nxs-1] - xrcvsyn[0])/(float)(nxs-1); - vmess("fxsb%.3f fxse:%.3f dxf:%.3f",fxsb,fxse,dxf); + dxf = (fxse - fxsb)/(float)(nxs-1); } else { fxse = fxsb; @@ -342,7 +341,7 @@ int main (int argc, char **argv) } if (nys>1) { fyse = fysb + (float)(nys-1)*dys; - dyf = (yrcvsyn[nys*nxs-1] - yrcvsyn[0])/(float)(nys-1); + dyf = (fyse - fysb)/(float)(nys-1); } else { fyse = fysb;