From dba0d2e301286b23c4957bbd1d4e315126b3f6c1 Mon Sep 17 00:00:00 2001 From: Jan Thorbecke <janth@xs4all.nl> Date: Thu, 5 Jul 2018 16:26:40 +0200 Subject: [PATCH] added smoothing on 4x oversampled grid to reduce straircase effect in FD --- utils/makemod.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/utils/makemod.c b/utils/makemod.c index bc40a1a..909a060 100644 --- a/utils/makemod.c +++ b/utils/makemod.c @@ -661,7 +661,7 @@ int main(int argc, char **argv) nxout = (nx-1)/4+1; nzout = (nz-1)/4+1; - fprintf(stderr,"nxout=%d nzout=%d nx=%d nz=%d \n",nxout,nzout, nx, nz); + //fprintf(stderr,"nxout=%d nzout=%d nx=%d nz=%d \n",nxout,nzout, nx, nz); dataS = malloc(nxout*nzout*sizeof(float)); for(ix = 0; ix < nxout-1; ix++) { for(iz = 0; iz < nzout-1; iz++) { @@ -677,9 +677,11 @@ int main(int argc, char **argv) dataS[ix*nzout+iz] = dataS[ix*nzout+iz-1]; } ix = nxout-1; - for(iz = 0; iz < nzout; iz++) { - dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz-1]; + for(iz = 0; iz < nzout-1; iz++) { + dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz]; } + ix = nxout-1; iz = nzout-1; + dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz-1]; for(ix = 0; ix < nxout; ix++) { for(iz = 0; iz < nzout; iz++) { @@ -703,9 +705,12 @@ int main(int argc, char **argv) dataS[ix*nzout+iz] = dataS[ix*nzout+iz-1]; } ix = nxout-1; - for(iz = 0; iz < nzout; iz++) { - dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz-1]; + for(iz = 0; iz < nzout-1; iz++) { + dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz]; } + ix = nxout-1; iz = nzout-1; + dataS[ix*nzout+iz] = dataS[(ix-1)*nzout+iz-1]; + for(ix = 0; ix < nxout; ix++) { for(iz = 0; iz < nzout; iz++) { gridro[ix][iz] = dataS[ix*nzout+iz]; @@ -718,7 +723,7 @@ int main(int argc, char **argv) dz = dz*4; free(dataS); } - fprintf(stderr,"nx=%d nz=%d \n", nx, nz); + if (verbose) vmess("Writing data to disk."); hdrs = (segy *) calloc(nx,sizeof(segy)); -- GitLab