From 4e9f1e991305cd4277e89f3dca011ff89d67b8ac Mon Sep 17 00:00:00 2001
From: Jan Thorbecke <janth@xs4all.nl>
Date: Thu, 2 Nov 2017 15:08:44 +0100
Subject: [PATCH] cleaning up raytime

---
 extrap/demo/model.scr        |    8 +
 extrap/demo/syncline.makemod |   46 +
 fdelmodc/applySource.c.old   |  309 -------
 fdelmodc/boundaries.c.botok  | 1430 -----------------------------
 fdelmodc/boundaries.c.ok     | 1364 ----------------------------
 fdelmodc/boundaries.c.ok2    | 1057 ----------------------
 fdelmodc/boundaries.c.ok3    | 1057 ----------------------
 fdelmodc/boundaries.c.ok4    | 1075 ----------------------
 fdelmodc/boundaries.c.try    | 1654 ---------------------------------
 fdelmodc/boundaries.c.try2   | 1658 ----------------------------------
 fdelmodc/fdelmodc            |  Bin 586080 -> 0 bytes
 raytime/JespersRayTracer.c   |    3 -
 raytime/Makefile             |    2 +-
 raytime/getParameters.c      |  187 +---
 raytime/raytime.c            |   28 +-
 raytime/readModel.c          |    8 +-
 16 files changed, 70 insertions(+), 9816 deletions(-)
 create mode 100755 extrap/demo/model.scr
 create mode 100644 extrap/demo/syncline.makemod
 delete mode 100644 fdelmodc/applySource.c.old
 delete mode 100644 fdelmodc/boundaries.c.botok
 delete mode 100644 fdelmodc/boundaries.c.ok
 delete mode 100644 fdelmodc/boundaries.c.ok2
 delete mode 100644 fdelmodc/boundaries.c.ok3
 delete mode 100644 fdelmodc/boundaries.c.ok4
 delete mode 100644 fdelmodc/boundaries.c.try
 delete mode 100644 fdelmodc/boundaries.c.try2
 delete mode 100755 fdelmodc/fdelmodc

diff --git a/extrap/demo/model.scr b/extrap/demo/model.scr
new file mode 100755
index 0000000..692e646
--- /dev/null
+++ b/extrap/demo/model.scr
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+makemod par=syncline.makemod
+
+makewave \
+	fmax=60 db=-30 shift=1 \
+	dt=0.004 nt=512 file_out=ricker.su
+
diff --git a/extrap/demo/syncline.makemod b/extrap/demo/syncline.makemod
new file mode 100644
index 0000000..a915da5
--- /dev/null
+++ b/extrap/demo/syncline.makemod
@@ -0,0 +1,46 @@
+#
+file_base=syncline.su
+cp0=2000
+ro0=1500
+sizex=3000
+sizez=2000
+dx=2.5
+dz=2.5
+orig=0,0
+writeint=1
+
+intt=def
+poly=0
+cp=2200
+ro=2200
+x=0,3000
+z=300,300
+
+intt=def
+poly=2
+cp=2700
+ro=2800
+x=0,500,1000,1100,1500,1900,3000
+z=700,700,750,800,950,800,500
+
+intt=def
+poly=0
+cp=2400
+ro=2200
+x=1500,3000
+z=1200,1200
+
+intt=def
+poly=0
+cp=3000
+ro=3200
+x=0,1500,3000
+z=1200,1200,1400
+
+#intt=diffr
+#cp=0
+#ro=2200
+#x=750
+#z=1000
+
+
diff --git a/fdelmodc/applySource.c.old b/fdelmodc/applySource.c.old
deleted file mode 100644
index b8ecf49..0000000
--- a/fdelmodc/applySource.c.old
+++ /dev/null
@@ -1,309 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-void vmess(char *fmt, ...);
-
-/*********************************************************************
- * 
- * Add's the source amplitude(s) to the grid.
- * 
- * For the acoustic schemes, the source-type must not be txx tzz or txz.
- *
- *   AUTHOR:
- *           Jan Thorbecke (janth@xs4all.nl)
- *           The Netherlands 
- *
- **********************************************************************/
-
-int applySource(modPar mod, srcPar src, wavPar wav, bndPar bnd, int itime, int ixsrc, int izsrc, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float **src_nwav, int verbose)
-{
-	int is0, ibndz, ibndx;
-	int isrc, ix, iz, n1;
-	int id1, id2;
-	float src_ampl, time, scl, dt, sdx;
-	static int first=1;
-
-	if (src.type==6) {
-    	ibndz = mod.ioXz;
-    	ibndx = mod.ioXx;
-	}
-	else if (src.type==7) {
-    	ibndz = mod.ioZz;
-    	ibndx = mod.ioZx;
-	}
-	else if (src.type==2) {
-    	ibndz = mod.ioTz;
-    	ibndx = mod.ioTx;
-	}
-	else {	
-    	ibndz = mod.ioPz;
-    	ibndx = mod.ioPx;
-	}
-	n1   = mod.naz;
-	dt   = mod.dt;
-	sdx  = 1.0/mod.dx;
-
-	/* special txz source activated? */
-
-	if ((bnd.top==1) && (src.type==2)) {
-		iz = izsrc + ibndz;
-		if (iz==ibndz) {
-            if (src.orient != 1) {
-				if (first) {
-					vmess("Only monopole Txz source allowed at surface. Reset to monopole");
-					first = 0;
-				}
-				src.orient=1;
-			}
-		}
-	}
-             
-/*
-* for plane wave sources the sources are placed 
-* around the central shot position 
-* the first source position has an offset in x of is0
-*
-* itime = 0 corresponds with time=0
-* itime = 1 corresponds with time=dt
-* src[0] (the first sample) corresponds with time = 0
-*/
-
-	is0 = -1*floor((src.n-1)/2);
-#pragma omp	for private (isrc, src_ampl, ix, iz, time, id1, id2, scl) 
-	for (isrc=0; isrc<src.n; isrc++) {
-		src_ampl=0.0;
-		/* calculate the source position */
-		if (src.random) {
-			ix = src.x[isrc] + ibndx;
-			iz = src.z[isrc] + ibndz;
-		}
-		else { /* plane wave and point sources */
-            ix = ixsrc + ibndx + is0 + isrc;
-            iz = izsrc + ibndz;
-		}
-		time = itime*dt - src.tbeg[isrc];
-		id1 = floor(time/dt);
-		id2 = id1+1;
-        
-		/* delay not reached or no samples left in source wavelet? */
-		if ( (time < 0.0) || ( (itime*dt) >= src.tend[isrc]) ) continue;
-
-//		fprintf(stderr,"isrc=%d ix=%d iz=%d src.x=%d src.z=%d\n", isrc, ix, iz, src.x[isrc], src.z[isrc]);
-
-		if (!src.multiwav) { /* only one wavelet for all sources */
-			src_ampl = src_nwav[0][id1]*(id2-time/dt) + src_nwav[0][id2]*(time/dt-id1);
-		}
-		else { /* multi-wavelet sources */
-			src_ampl = src_nwav[isrc][id1]*(id2-time/dt) + src_nwav[isrc][id2]*(time/dt-id1);
-		}
-
-		if (src_ampl==0.0) continue;
-		if ( ((ix-ibndx)<0) || ((ix-ibndx)>mod.nx) ) continue; /* source outside grid */
-
-		if (verbose>4) {
-			fprintf(stderr,"Source %d at grid [ix=%d,iz=%d] at itime %d has value %e\n",isrc, ix,iz, itime, src_ampl);
-		}
-
-		/* cosine squared windowing to reduce edge effects on shot arrays */
-		if ( (src.n>1) && src.window) {
-			if (isrc < src.window) {
-				scl = cos(0.5*M_PI*(src.window - isrc)/src.window);
-			}
-			else if (isrc > src.n-src.window+1) {
-				scl = cos(0.5*M_PI*(src.window - (src.n-isrc+1))/src.window);
-			}
-			src_ampl *= scl*scl;
-		}
-
-		/* source scaling factor to compensate for discretisation */
-
-		/* old amplitude setting does not obey reciprocity */
-		// src_ampl *= rox[ix*n1+iz]*l2m[ix*n1+iz]/(dt);
-
-		src_ampl *= (1.0/mod.dx)*l2m[ix*n1+iz];
-
-		/* Force source */
-
-		if (src.type == 6) {
-//			vx[ix*n1+iz] += src_ampl*(dt/mod.dx)/(l2m[ix*n1+iz]);
-			vx[ix*n1+iz] += src_ampl*rox[ix*n1+iz]/(l2m[ix*n1+iz]);
-		}
-		else if (src.type == 7) {
-//			fprintf(stderr,"l2m=%e rox=%e rho=%e dt=%e dx=%e\n", l2m[ix*n1+iz], roz[ix*n1+iz], dt/(mod.dx*roz[ix*n1+iz]), dt, mod.dx);
-		/* old amplitude setting does not obey reciprocity */
-//			vz[ix*n1+iz] += src_ampl*(dt/mod.dx)/(l2m[ix*n1+iz]);
-			vz[ix*n1+iz] += src_ampl*roz[ix*n1+iz]/(l2m[ix*n1+iz]);
-        } /* src.type */
-
-        
-		/* Stress source */
-
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			/* Compressional source */
-			if (src.type == 1) {
-				if (src.orient != 1) src_ampl=src_ampl/mod.dx;
-
-				if (src.orient==1) { /* monopole */
-					tzz[ix*n1+iz] += src_ampl;
-				}
-				else if (src.orient==2) { /* dipole +/- */
-					tzz[ix*n1+iz] += src_ampl;
-					tzz[ix*n1+iz+1] -= src_ampl;
-				}
-				else if (src.orient==3) { /* dipole - + */
-					tzz[ix*n1+iz] += src_ampl;
-					tzz[(ix-1)*n1+iz] -= src_ampl;
-				}
-				else if (src.orient==4) { /* dipole +/0/- */
-					if (iz > ibndz) 
-						tzz[ix*n1+iz-1]+= 0.5*src_ampl;
-					if (iz < mod.nz+ibndz-1) 
-						tzz[ix*n1+iz+1] -= 0.5*src_ampl;
-				}
-				else if (src.orient==5) { /* dipole + - */
-					tzz[ix*n1+iz] += src_ampl;
-					tzz[(ix+1)*n1+iz] -= src_ampl;
-				}
-			}
-		}
-		else { /* Elastic scheme */
-			/* Compressional source */
-			if (src.type == 1) {
-				if (src.orient==1) { /* monopole */
-					txx[ix*n1+iz] += src_ampl;
-					tzz[ix*n1+iz] += src_ampl;
-				}
-				else if (src.orient==2) { /* dipole +/- */
-					txx[ix*n1+iz] += src_ampl;
-					tzz[ix*n1+iz] += src_ampl;
-					txx[ix*n1+iz+1] -= src_ampl;
-					tzz[ix*n1+iz+1] -= src_ampl;
-				}
-				else if (src.orient==3) { /* dipole - + */
-					txx[ix*n1+iz] += src_ampl;
-					tzz[ix*n1+iz] += src_ampl;
-					txx[(ix-1)*n1+iz] -= src_ampl;
-					tzz[(ix-1)*n1+iz] -= src_ampl;
-				}
-				else if (src.orient==4) { /* dipole +/0/- */
-					if (iz > ibndz) {
-						txx[ix*n1+iz-1]+= 0.5*src_ampl;
-						tzz[ix*n1+iz-1]+= 0.5*src_ampl;
-					}
-					if (iz < mod.nz+ibndz-1) {
-						txx[ix*n1+iz+1] -= 0.5*src_ampl;
-						tzz[ix*n1+iz+1] -= 0.5*src_ampl;
-					}
-				}
-				else if (src.orient==5) { /* dipole + - */
-					txx[ix*n1+iz] += src_ampl;
-					tzz[ix*n1+iz] += src_ampl;
-					txx[(ix+1)*n1+iz] -= src_ampl;
-					tzz[(ix+1)*n1+iz] -= src_ampl;
-				}
-			}
-			else if (src.type == 2) {
-				/* Txz source */
-				if ((iz == ibndz) && bnd.top==1) {
-					txz[(ix-1)*n1+iz-1] += src_ampl;
-					txz[ix*n1+iz-1] += src_ampl;
-				}
-				else {
-					txz[ix*n1+iz] += src_ampl;
-				}
-				/* possible dipole orientations for a txz source */
-				if (src.orient == 2) { /* dipole +/- */
-					txz[ix*n1+iz+1] -= src_ampl;
-				}
-				else if (src.orient == 3) { /* dipole - + */
-					txz[(ix-1)*n1+iz] -= src_ampl;
-				}
-				else if (src.orient == 4) { /*  dipole +/O/- */
-					/* correction: subtrace previous value to prevent z-1 values. */
-					txz[ix*n1+iz] -= 2.0*src_ampl;
-					txz[ix*n1+iz+1] += src_ampl;
-				}
-				else if (src.orient == 5) { /* dipole + - */
-					txz[(ix+1)*n1+iz] -= src_ampl;
-				}
-			}
-			/* Tzz source */
-			else if(src.type == 3) {
-				tzz[ix*n1+iz] += src_ampl;
-			} 
-			/* Txx source */
-			else if(src.type == 4) {
-				txx[ix*n1+iz] += src_ampl;
-			} 
-
-/***********************************************************************
-* pure potential shear S source (experimental)
-***********************************************************************/
-			else if(src.type == 5) {
-				src_ampl = src_ampl*rox[ix*n1+iz]/(l2m[ix*n1+iz]);
-				if (src.orient == 3 || src.orient == 4) src_ampl = -src_ampl;
-				vx[ix*n1+iz]     += src_ampl*sdx;
-				vx[ix*n1+iz-1]   -= src_ampl*sdx;
-				vz[ix*n1+iz]     -= src_ampl*sdx;
-				vz[(ix-1)*n1+iz] += src_ampl*sdx;
-				/* determine second position of dipole */
-				if (src.orient == 2) { /* dipole +/- */
-					iz += 1;
-				}
-				else if (src.orient == 3) { /* dipole - + */
-					ix += 1;
-				}
-				else if (src.orient == 4) { /* dipole +/0/- */
-					iz += 1;
-				}
-				else if (src.orient == 5) { /* dipole + - */
-					ix += 1;
-				}
-				if (src.orient != 1) {
-					src_ampl = -src_ampl;
-					vx[ix*n1+iz] -= src_ampl;
-					vz[ix*n1+iz] += src_ampl;
-					vx[ix*n1+iz-1] += src_ampl;
-					vz[(ix-1)*n1+iz] -= src_ampl;
-				}
-            }
-/***********************************************************************
-* pure potential pressure P source (experimental)
-***********************************************************************/
-                else if(src.type == 8) {
-				    src_ampl = src_ampl*rox[ix*n1+iz]/(l2m[ix*n1+iz]);
-                    if (src.orient == 3 || src.orient == 4) src_ampl = -src_ampl;
-                    vx[(ix+1)*n1+iz] += src_ampl*sdx;
-                    vx[ix*n1+iz]     -= src_ampl*sdx;
-                    vz[ix*n1+iz+1]   += src_ampl*sdx;
-                    vz[ix*n1+iz]     -= src_ampl*sdx;
-                    /* determine second position of dipole */
-                    if (src.orient == 2) { /* dipole +/- */
-                        iz += 1;
-                    }
-                    else if (src.orient == 3) { /* dipole - + */
-                        ix += 1;
-                    }
-                    else if (src.orient == 4) { /* dipole +/0/- */
-                        iz += 1;
-                    }
-                    else if (src.orient == 5) { /* dipole + - */
-                        ix += 1;
-                    }
-                    if (src.orient != 1) {
-                        src_ampl = -src_ampl;
-                        vx[ix*n1+iz] -= src_ampl;
-                        vz[ix*n1+iz] -= src_ampl;
-                        vx[ix*n1+iz-1] += src_ampl;
-                        vz[(ix-1)*n1+iz] += src_ampl;
-                    }
-                
-			} /* src.type */
-		} /* ischeme */
-	} /* loop over isrc */
-
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.botok b/fdelmodc/boundaries.c.botok
deleted file mode 100644
index 3f8e12c..0000000
--- a/fdelmodc/boundaries.c.botok
+++ /dev/null
@@ -1,1430 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-float *exL, *exR, *eyT, *eyB;
-int first=0;
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-           Jan Thorbecke (janth@xs4all.nl)
-           The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1;
-	int   is0, isrc, ioXx, ioXz, ioZz, ioZx, ioPx, ioPz, ioTx, ioTz;
-    int   ixo, ixe, izo, ize;
-
-
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-	ibnd = mod.iorder/2-1;
-	/* Vx: rox */
-	ioXx=mod.ioXx;
-	ioXz=mod.ioXz;
-	/* Vz: roz */
-	ioZz=mod.ioZz;
-	ioZx=mod.ioZz;
-	/* P, Txx, Tzz: lam, l2m */
-	ioPx=mod.ioPx;
-	ioPz=mod.ioPz;
-	/* Txz: muu */
-	ioTx=mod.ioTx;
-	ioTz=mod.ioTz;
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-    if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+ibnd] = 0.0;
-            vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-            if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-            if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-        }
-    }
-    if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[(nx+ibnd-1)*n1+iz] = 0.0;
-            vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-            if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-            if (mod.iorder == 6) {
-                vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-                vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-            }
-        }
-    }
-    if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+nz+ibnd-1] = 0.0;
-            vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-            if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-            if (mod.iorder == 6) {
-                vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-                vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-            }
-        }
-    }
-    if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[ibnd*n1+iz] = 0.0;
-            vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-            if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-            if (mod.iorder == 6) {
-                vx[1*n1+iz] = -vx[4*n1+iz];
-                vx[0*n1+iz] = -vx[5*n1+iz];
-            }
-        }
-    }
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme      */
-/************************************************************/
-
-    if (bnd.top==2) { /* PML at top */
-    }
-  
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/
-
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-            /* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
-			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            
-  
-        }
-        else { /* Elastic scheme */
-
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
- 			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
- 
-            
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-
-        }
-        else { /* Elastic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        	
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        } /* end elastic scheme */
-
-    }
-
-
-    return 0;
-} 
-    
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-     
-    AUTHOR:
-    Jan Thorbecke (janth@xs4all.nl)
-     The Netherlands 
-     
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp;
-	int   nx, nz, n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;    
-    
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/    
-    
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-                    
-            /* P field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioPz-bnd.ntap;
-            ize = mod.ioPz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-                    
-        	/* Txx Tzz field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioPz-bnd.ntap;
-            ize = mod.ioPz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx;
-            ixe = mod.ieTx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioTz-bnd.ntap;
-            ize = mod.ioTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-              
-            /* P field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.iePz;
-            ize = mod.iePz+bnd.ntap;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-            
-	        /* Txx Tzz field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.iePz;
-            ize = mod.iePz+bnd.ntap;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx;
-            ixe = mod.ieTx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ieTz;
-            ize = mod.ieTz+bnd.ntap;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* P field */
-            ixo = mod.ioPx-bnd.ntap;
-            ixe = mod.ioPx;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-            
-            /* Txx Tzz field */
-            ixo = mod.ioPx-bnd.ntap;
-            ixe = mod.ioPx;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx-bnd.ntap;
-            ixe = mod.ioTx;
-            izo = mod.ioTz;
-            ize = mod.ieTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-                    
-            /* P field */
-            ixo = mod.iePx;
-            ixe = mod.iePx+bnd.ntap;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-                    
-        	/* Txx Tzz field */
-            ixo = mod.iePx;
-            ixe = mod.iePx+bnd.ntap;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ieTx;
-            ixe = mod.ieTx+bnd.ntap;
-            izo = mod.ioTz;
-            ize = mod.ieTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-
-    }
-
-    /****************/
-    /* Free surface */
-    
-    ixo = mod.ioPx;
-    ixe = mod.iePx;
-    if (bnd.lef==4) ixo -= bnd.ntap;
-    if (bnd.rig==4) ixe += bnd.ntap;
-    izo = mod.ioPz;
-    ize = mod.iePz;
-    if (bnd.top==4) izo -= bnd.ntap;
-    if (bnd.bot==4) ize += bnd.ntap;
-
-    if (mod.ischeme <= 2) { /* Acoustic scheme */
-
-        if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix];
-                tzz[ix*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-            for (iz=izo; iz<ize; iz++) {
-                tzz[ixe*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-            for (ix=ixo; ix<ixe; ix++) {
-                tzz[ix*n1+ize] = 0.0;
-            }
-        }
-        if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-            for (iz=izo; iz<ize; iz++) {
-                tzz[ixo*n1+iz] = 0.0;
-            }
-        }
-    }
-    else { /* Elastic scheme */
-        
-        /* Free surface: calculate free surface conditions for stresses 
-         *     Conditions (for upper boundary):
-         *     1. Tzz = 0
-         *     2. Txz = 0
-         *     3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-         *             and add extra term with dVx/dx,
-         *             corresponding to free-surface condition for Txx.
-         *             In this way, dVz/dz is not needed in computing Txx
-         *             on the upper stress free boundary. Other boundaries
-         *             are treated similar.
-         *             For the 4th order schemes, the whole virtual boundary
-         *             must be taken into account in the removal terms, 
-         *             because the algorithm sets
-         *             velocities on this boundary!
-         *
-         *    Compute the velocities on the virtual boundary to make interpolation
-         *    possible for receivers. 
-         */
-        
-        if (bnd.top==1) { /* free surface at top */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp==iz ) {
-                    /* clear normal pressure */
-                    tzz[ix*n1+iz] = 0.0;
-                    /* This update to Vz might become unstable (2nd order scheme) */
-//                    vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//                    lam[ix*n1+iz]/l2m[ix*n1+iz];
-                }
-                izp=iz;
-            }
-
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=ixo+1; ix<ixe+1; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp==iz ) {
-                    /* assure that txz=0 on boundary by filling virtual boundary */
-                    txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                    /* extra line of txz has to be copied */
-                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                }
-                izp=iz;
-            }
-
-            /* calculate txx on top stress-free boundary */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp==iz ) {
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    txx[ix*n1+iz] = -dvx*dp;
-                }
-                izp=iz;
-            }
-            
-            
-            /* if surface has also left or right edges */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-            for (ix=ixo+1; ix<ixe; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp < iz ) { /* right boundary */
-//                    fprintf(stderr,"right boundary\n");
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    if ( (iz-izp) >= 2 ) { /* VR point */
-                        /* assure that txz=0 on boundary */
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        /* calculate tzz on right stress-free boundary */
-                        dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                              c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                        dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        tzz[ix*n1+iz] = -dvz*dp;
-                    }
-                    else {
-                        //                  if (izp) { /* IR point */   
-                        //                      txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-                        //                      txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        tzz[ix*n1+iz] = 0.0;
-                        //                  }
-                        //                  else { /* OR point */
-                        txz[(ix-1)*n1+iz] = 0.0;
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-                        lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        //                  }
-                    }
-                    
-                } /* end if right */
-                if ( izp > iz ) { /* left boundary */
-//                    fprintf(stderr,"left boundary\n");
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    /* assure that txz=0 on boundary */
-                    txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-                    /* extra line of txz has to be copied */
-                    txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-                    /* calculate tzz on left stress-free boundary */
-                    dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    tzz[ix*n1+iz] = -dvz*dp;
-                } /* end if left */
-                izp=iz;
-                //          izp=bnd.surface[MAX(ix-2,0)];;
-            } /* end ix loop */
-        }
-        
-        /* when all boundaries are rigid then the behaviour of left top 
-          is different than right bottom. This is not yet solved */
-        
-        if (bnd.rig==1) { /* free surface at right */
-            ix = ixe-1;
-#pragma omp for private (ix, iz) 
-            for (iz=izo; iz<ize; iz++) {
-                /* clear normal pressure */
-                txx[(ix)*n1+iz] = 0.0;
-            }
-            ix = ixe-1;
-#pragma omp for private (ix, iz) 
-            for (iz=izo+1; iz<ize+1; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix-1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix+1)*n1+iz] = -txz[(ix-2)*n1+iz] ;
-            }
-            /* calculate tzz on right stress-free boundary */
-            ix = ixe-1;
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                tzz[(ix)*n1+iz] = -dvz*dp;
-            }
-            /*
-            if (bnd.top==1) {  
-                iz = izo;
-                tzz[ix*n1+iz] = 0.0;
-                txx[ix*n1+iz] = 0.0;
-
-                // assure that txz=0 on boundary by filling virtual boundary 
-                txz[ix*n1+iz]     = -txz[(ix-1)*n1+iz+1];
-                txz[ix*n1+iz+1]   = -txz[(ix-1)*n1+iz+1];
-                txz[(ix-1)*n1+iz] = -txz[(ix-1)*n1+iz+1];
-                // extra line of txz has to be copied 
-                txz[(ix+1)*n1+iz+1] = -txz[(ix-2)*n1+iz+1];
-                txz[(ix-1)*n1+iz-1] = -txz[(ix-1)*n1+iz+2];
-                txz[(ix)*n1+iz-1]   = -txz[(ix-1)*n1+iz+2];
-                txz[(ix+1)*n1+iz]   = -txz[(ix-2)*n1+iz+1];
-                txz[(ix+1)*n1+iz-1]   = -txz[(ix-2)*n1+iz+2];
-
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                txx[ix*n1+iz] = -dvx*dp;
-                
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                tzz[(ix)*n1+iz] = -dvz*dp;
-            }
-            
-            if (bnd.bot==1) { 
-                iz = ize-1;
-                tzz[ix*n1+iz] = 0.0;
-                
-                // assure that txz=0 on boundary by filling virtual boundary 
-                txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                // extra line of txz has to be copied 
-                txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                txx[ix*n1+iz] = -dvx*dp;
-            }
-             */
-
-        }
-        
-        if (bnd.bot==1) { /* free surface at bottom */
-            iz = ize-1;
-#pragma omp for private (ix) 
-            for (ix=ixo; ix<ixe; ix++) {
-                /* clear normal pressure */
-                tzz[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix) 
-            iz = ize;
-            for (ix=ixo+1; ix<ixe+1; ix++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[ix*n1+iz] = -txz[ix*n1+iz-1];
-                /* extra line of txz has to be copied */
-                txz[ix*n1+iz+1] = -txz[ix*n1+iz-2];
-            }
-            /* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-            iz = ize-1;
-            for (ix=ixo; ix<ixe; ix++) {
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                txx[ix*n1+iz] = -dvx*dp;
-            }
-        }
-       
-        if (bnd.lef==1) { /* free surface at left */
-            ix = ixo;
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                /* clear normal pressure */
-                txx[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (iz) 
-            for (iz=izo+1; iz<ize+1; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-            }
-            /* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                tzz[ix*n1+iz] = -dvz*dp;
-            }
-        }
-/*
-        fprintf(stderr,"ixo=%d ixe=%d\n", ixo, ixe);;
-        for (iz=0; iz<6; iz++) {
-        fprintf(stderr,"Top left  z=%d: %e %e %e %e %e\n",iz,txz[0*n1+iz], txz[1*n1+iz], txz[2*n1+iz], txz[3*n1+iz], txz[4*n1+iz]);
-        fprintf(stderr,"Top right z=%d: %e %e %e %e %e\n",iz,txz[(ixe+2)*n1+iz], txz[(ixe+1)*n1+iz], txz[(ixe)*n1+iz], txz[(ixe-1)*n1+iz], txz[(ixe-2)*n1+iz]);
-
-        }
-*/
-        ix = 201;
-        for (iz=0; iz<6; iz++) {
-            fprintf(stderr,"Top    z=%d: %e %e %e %e %e\n",iz,txz[ix*n1+iz], txz[(ix+1)*n1+iz], txz[(ix+2)*n1+iz], txz[(ix+3)*n1+iz], txz[(ix+4)*n1+iz]);            
-        }
-        for (iz=n1-1; iz>n1-7; iz--) {
-            fprintf(stderr,"Bottom z=%d: %e %e %e %e %e\n",iz,txz[ix*n1+iz], txz[(ix+1)*n1+iz], txz[(ix+2)*n1+iz], txz[(ix+3)*n1+iz], txz[(ix+4)*n1+iz]);            
-            
-        }
-
-        
-    }
-    
-    
-
-
-	return 0;
-}
-
-
diff --git a/fdelmodc/boundaries.c.ok b/fdelmodc/boundaries.c.ok
deleted file mode 100644
index 673823c..0000000
--- a/fdelmodc/boundaries.c.ok
+++ /dev/null
@@ -1,1364 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-float *exL, *exR, *eyT, *eyB;
-int first=0;
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-           Jan Thorbecke (janth@xs4all.nl)
-           The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1;
-	int   is0, isrc, ioXx, ioXz, ioZz, ioZx, ioPx, ioPz, ioTx, ioTz;
-    int   ixo, ixe, izo, ize;
-
-
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-	ibnd = mod.iorder/2-1;
-	/* Vx: rox */
-	ioXx=mod.ioXx;
-	ioXz=mod.ioXz;
-	/* Vz: roz */
-	ioZz=mod.ioZz;
-	ioZx=mod.ioZz;
-	/* P, Txx, Tzz: lam, l2m */
-	ioPx=mod.ioPx;
-	ioPz=mod.ioPz;
-	/* Txz: muu */
-	ioTx=mod.ioTx;
-	ioTz=mod.ioTz;
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-    if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+ibnd] = 0.0;
-            vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-            if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-            if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-        }
-    }
-    if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[(nx+ibnd-1)*n1+iz] = 0.0;
-            vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-            if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-            if (mod.iorder == 6) {
-                vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-                vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-            }
-        }
-    }
-    if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+nz+ibnd-1] = 0.0;
-            vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-            if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-            if (mod.iorder == 6) {
-                vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-                vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-            }
-        }
-    }
-    if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[ibnd*n1+iz] = 0.0;
-            vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-            if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-            if (mod.iorder == 6) {
-                vx[1*n1+iz] = -vx[4*n1+iz];
-                vx[0*n1+iz] = -vx[5*n1+iz];
-            }
-        }
-    }
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme      */
-/************************************************************/
-
-    if (bnd.top==2) { /* PML at top */
-    }
-  
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/
-
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-            /* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
-			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            
-  
-        }
-        else { /* Elastic scheme */
-
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-//        	if (bnd.lef==4) ixo -= bnd.ntap;
-//        	if (bnd.rig==4) ixe += bnd.ntap;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
- 			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
- 
-            
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-
-        }
-        else { /* Elastic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        	
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        } /* end elastic scheme */
-
-    }
-
-
-    return 0;
-} 
-    
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-     
-    AUTHOR:
-    Jan Thorbecke (janth@xs4all.nl)
-     The Netherlands 
-     
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp;
-	int   nx, nz, n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;    
-    
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/    
-    
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-                    
-            /* P field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioPz-bnd.ntap;
-            ize = mod.ioPz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-                    
-        	/* Txx Tzz field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioPz-bnd.ntap;
-            ize = mod.ioPz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx;
-            ixe = mod.ieTx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ioTz-bnd.ntap;
-            ize = mod.ioTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-              
-            /* P field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.iePz;
-            ize = mod.iePz+bnd.ntap;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-            
-	        /* Txx Tzz field */
-            ixo = mod.ioPx;
-            ixe = mod.iePx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.iePz;
-            ize = mod.iePz+bnd.ntap;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx;
-            ixe = mod.ieTx;
-            if (bnd.lef==4) ixo -= bnd.ntap;
-            if (bnd.rig==4) ixe += bnd.ntap;
-            izo = mod.ieTz;
-            ize = mod.ieTz+bnd.ntap;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* P field */
-            ixo = mod.ioPx-bnd.ntap;
-            ixe = mod.ioPx;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-            
-            /* Txx Tzz field */
-            ixo = mod.ioPx-bnd.ntap;
-            ixe = mod.ioPx;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ioTx-bnd.ntap;
-            ixe = mod.ioTx;
-            izo = mod.ioTz;
-            ize = mod.ieTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-                    
-            /* P field */
-            ixo = mod.iePx;
-            ixe = mod.iePx+bnd.ntap;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*(
-                                c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                                c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]) +
-                                c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                                c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]));
-                }
-            }
-        }
-        else { /* Elastic scheme */
-                    
-        	/* Txx Tzz field */
-            ixo = mod.iePx;
-            ixe = mod.iePx+bnd.ntap;
-            izo = mod.ioPz;
-            ize = mod.iePz;
-            
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    txx[ix*n1+iz] -= l2m[ix*n1+iz]*dvx + lam[ix*n1+iz]*dvz;
-                    tzz[ix*n1+iz] -= l2m[ix*n1+iz]*dvz + lam[ix*n1+iz]*dvx;
-                }
-            }
-            
-            /* Txz field */
-            ixo = mod.ieTx;
-            ixe = mod.ieTx+bnd.ntap;
-            izo = mod.ioTz;
-            ize = mod.ieTz;
-
-#pragma omp	for private (ix, iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    txz[ix*n1+iz] -= mul[ix*n1+iz]*(
-                                c1*(vx[ix*n1+iz]     - vx[ix*n1+iz-1] +
-                                    vz[ix*n1+iz]     - vz[(ix-1)*n1+iz]) +
-                                c2*(vx[ix*n1+iz+1]   - vx[ix*n1+iz-2] +
-                                    vz[(ix+1)*n1+iz] - vz[(ix-2)*n1+iz]) );
-                }
-            }
-        } /* end elastic scheme */
-
-    }
-
-    
-    
-    
-    
-    ixo = mod.ioPx;
-    ixe = mod.iePx;
-    if (bnd.lef==4) ixo -= bnd.ntap;
-    if (bnd.rig==4) ixe += bnd.ntap;
-    izo = mod.ioPz;
-    ize = mod.iePz;
-    if (bnd.top==4) izo -= bnd.ntap;
-    if (bnd.bot==4) ize += bnd.ntap;
-
-    if (mod.ischeme <= 2) { /* Acoustic scheme */
-
-        if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix];
-                tzz[ix*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-            for (iz=izo; iz<ize; iz++) {
-                tzz[ixe*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-            for (ix=ixo; ix<ixe; ix++) {
-                tzz[ix*n1+ize] = 0.0;
-            }
-        }
-        if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-            for (iz=izo; iz<ize; iz++) {
-                tzz[ixo*n1+iz] = 0.0;
-            }
-        }
-    }
-    else { /* Elastic scheme */
-        
-        /* Free surface: calculate free surface conditions for stresses 
-         *     Conditions (for upper boundary):
-         *     1. Tzz = 0
-         *     2. Txz = 0
-         *     3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-         *             and add extra term with dVx/dx,
-         *             corresponding to free-surface condition for Txx.
-         *             In this way, dVz/dz is not needed in computing Txx
-         *             on the upper stress free boundary. Other boundaries
-         *             are treated similar.
-         *             For the 4th order schemes, the whole virtual boundary
-         *             must be taken into account in the removal terms, 
-         *             because the algorithm sets
-         *             velocities on this boundary!
-         *
-         *    Compute the velocities on the virtual boundary to make interpolation
-         *    possible for receivers. 
-         */
-        
-        if (bnd.top==1) { /* free surface at top */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* clear normal pressure */
-                    tzz[ix*n1+iz] = 0.0;
-                    /* extra line of txz has to be copied */
-//                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                    /* This update to Vz might become unstable (2nd order scheme) */
-//                    vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//                    lam[ix*n1+iz]/l2m[ix*n1+iz];
-                }
-                izp=iz;
-            }
-
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=ixo+1; ix<ixe+1; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp==iz ) {
-                    /* assure that txz=0 on boundary by filling virtual boundary */
-                    txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                    /* extra line of txz has to be copied */
-                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                }
-                izp=iz;
-            }
-
-            /* calculate txx on top stress-free boundary */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-            for (ix=ixo; ix<ixe; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    txx[ix*n1+iz] = -dvx*dp;
-                }
-                izp=iz;
-            }
-            
-            
-            /* if surface has also left or right edges */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-            for (ix=ixo+1; ix<ixe; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp < iz ) { /* right boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    if ( (iz-izp) >= 2 ) { /* VR point */
-                        /* assure that txz=0 on boundary */
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        /* calculate tzz on right stress-free boundary */
-                        dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                        c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                        dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        tzz[ix*n1+iz] = -dvz*dp;
-                    }
-                    else {
-                        //                  if (izp) { /* IR point */   
-                        //                      txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-                        //                      txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        tzz[ix*n1+iz] = 0.0;
-                        //                  }
-                        //                  else { /* OR point */
-                        txz[(ix-1)*n1+iz] = 0.0;
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-                        lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        //                  }
-                    }
-                    
-                } /* end if right */
-                if ( izp > iz ) { /* left boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    /* assure that txz=0 on boundary */
-                    txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-                    /* extra line of txz has to be copied */
-                    txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-                    /* calculate tzz on left stress-free boundary */
-                    dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                    c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    tzz[ix*n1+iz] = -dvz*dp;
-                } /* end if left */
-                izp=iz;
-                //          izp=bnd.surface[MAX(ix-2,0)];;
-            } /* end ix loop */
-        }
-        
-        
-        if (bnd.rig==1) { /* free surface at right */
-            ix = ixe;
-#pragma omp for private (ix, iz) 
-            for (iz=izo; iz<ize; iz++) {
-                /* clear normal pressure */
-                txx[(ix)*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix, iz) 
-            for (iz=izo+1; iz<ize+1; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-            }
-            /* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-                      c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-                dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                tzz[(ix)*n1+iz] = -dvz*dp;
-            }
-        }
-        
-        
-        if (bnd.bot==1) { /* free surface at bottom */
-            iz = ize;
-#pragma omp for private (ix) 
-            for (ix=ixo; ix<ixe; ix++) {
-                /* clear normal pressure */
-                tzz[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix) 
-            for (ix=ixo+1; ix<ixe+1; ix++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-            }
-            /* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-            for (ix=ixo; ix<ixe; ix++) {
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                txx[ix*n1+iz] = -dvx*dp;
-            }
-        }
-        
-        if (bnd.lef==1) { /* free surface at left */
-            ix = ixo;
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                /* clear normal pressure */
-                txx[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (iz) 
-            for (iz=izo+1; iz<ize+1; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-            }
-            /* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=izo; iz<ize; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                tzz[ix*n1+iz] = -dvz*dp;
-            }
-        }
-
-        
-    }
-    
-    
-
-
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.ok2 b/fdelmodc/boundaries.c.ok2
deleted file mode 100644
index 0bcfc58..0000000
--- a/fdelmodc/boundaries.c.ok2
+++ /dev/null
@@ -1,1057 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-float *exL, *exR, *eyT, *eyB;
-int first=0;
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-           Jan Thorbecke (janth@xs4all.nl)
-           The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;
-
-
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-	ibnd = mod.iorder/2-1;
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-    if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+ibnd] = 0.0;
-            vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-            if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-            if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-        }
-    }
-    if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[(nx+ibnd-1)*n1+iz] = 0.0;
-            vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-            if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-            if (mod.iorder == 6) {
-                vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-                vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-            }
-        }
-    }
-    if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+nz+ibnd-1] = 0.0;
-            vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-            if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-            if (mod.iorder == 6) {
-                vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-                vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-            }
-        }
-    }
-    if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[ibnd*n1+iz] = 0.0;
-            vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-            if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-            if (mod.iorder == 6) {
-                vx[1*n1+iz] = -vx[4*n1+iz];
-                vx[0*n1+iz] = -vx[5*n1+iz];
-            }
-        }
-    }
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme      */
-/************************************************************/
-
-    if (bnd.top==2) { /* PML at top */
-    }
-  
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/
-
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-            /* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
-			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            
-  
-        }
-        else { /* Elastic scheme */
-
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-                
-
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-                
-                
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
- 			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
- 
-            
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-
-        }
-        else { /* Elastic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        	
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        } /* end elastic scheme */
-
-    }
-
-
-    return 0;
-} 
-    
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-     
-    AUTHOR:
-    Jan Thorbecke (janth@xs4all.nl)
-     The Netherlands 
-     
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp;
-	int   n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;    
-    
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	n1  = mod.naz;
-
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/    
-   
-    
-/****************************************************************/    
-/* Free surface: calculate free surface conditions for stresses */
-/****************************************************************/
-
-    
-    ixo = mod.ioPx;
-    ixe = mod.iePx;
-    izo = mod.ioPz;
-    ize = mod.iePz;
-
-    if (mod.ischeme <= 2) { /* Acoustic scheme */
-
-        if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                tzz[ix*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.iePx-1)*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                tzz[ix*n1+mod.iePz-1] = 0.0;
-            }
-        }
-        if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-            }
-        }
-    }
-    else { /* Elastic scheme */
-        
-        /* Free surface: calculate free surface conditions for stresses 
-         *     Conditions (for upper boundary):
-         *     1. Tzz = 0
-         *     2. Txz = 0
-         *     3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-         *             and add extra term with dVx/dx,
-         *             corresponding to free-surface condition for Txx.
-         *             In this way, dVz/dz is not needed in computing Txx
-         *             on the upper stress free boundary. Other boundaries
-         *             are treated similar.
-         *             For the 4th order schemes, the whole virtual boundary
-         *             must be taken into account in the removal terms, 
-         *             because the algorithm sets
-         *             velocities on this boundary!
-         *
-         *    Compute the velocities on the virtual boundary to make interpolation
-         *    possible for receivers. 
-         */
-        
-        if (bnd.top==1) { /* free surface at top */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* clear normal pressure */
-                    tzz[ix*n1+iz] = 0.0;
-                    /* extra line of txz has to be copied */
-//                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                    /* This update to Vz might become unstable (2nd order scheme) */
-//                    vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//                    lam[ix*n1+iz]/l2m[ix*n1+iz];
-                }
-                izp=iz;
-            }
-
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* assure that txz=0 on boundary by filling virtual boundary */
-                    txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                    /* extra line of txz has to be copied */
-                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                }
-                izp=iz;
-            }
-
-            /* calculate txx on top stress-free boundary */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    txx[ix*n1+iz] = -dvx*dp;
-                }
-                izp=iz;
-            }
-            
-            
-            /* if surface has also left or right edges */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-            for (ix=mod.ioPx+1; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp < iz ) { /* right boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    if ( (iz-izp) >= 2 ) { /* VR point */
-                        /* assure that txz=0 on boundary */
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        /* calculate tzz on right stress-free boundary */
-                        dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                        c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                        dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        tzz[ix*n1+iz] = -dvz*dp;
-                    }
-                    else {
-                        //                  if (izp) { /* IR point */   
-                        //                      txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-                        //                      txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        tzz[ix*n1+iz] = 0.0;
-                        //                  }
-                        //                  else { /* OR point */
-                        txz[(ix-1)*n1+iz] = 0.0;
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-                        lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        //                  }
-                    }
-                    
-                } /* end if right */
-                if ( izp > iz ) { /* left boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    /* assure that txz=0 on boundary */
-                    txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-                    /* extra line of txz has to be copied */
-                    txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-                    /* calculate tzz on left stress-free boundary */
-                    dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                    c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    tzz[ix*n1+iz] = -dvz*dp;
-                } /* end if left */
-                izp=iz;
-                //          izp=bnd.surface[MAX(ix-2,0)];;
-            } /* end ix loop */
-        }
-        
-        
-        if (bnd.rig==1) { /* free surface at right */
-            ix = mod.iePx;
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[(ix)*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-            }
-            /* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-                      c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-                dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                tzz[(ix)*n1+iz] = -dvz*dp;
-            }
-        }
-        
-        
-        if (bnd.bot==1) { /* free surface at bottom */
-            iz = mod.iePz;
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                /* clear normal pressure */
-                tzz[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-            }
-            /* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                txx[ix*n1+iz] = -dvx*dp;
-            }
-        }
-        
-        if (bnd.lef==1) { /* free surface at left */
-            ix = mod.ioPx;
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-            }
-            /* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                tzz[ix*n1+iz] = -dvz*dp;
-            }
-        }
-
-        
-    }
-    
-    
-
-
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.ok3 b/fdelmodc/boundaries.c.ok3
deleted file mode 100644
index 0bcfc58..0000000
--- a/fdelmodc/boundaries.c.ok3
+++ /dev/null
@@ -1,1057 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-float *exL, *exR, *eyT, *eyB;
-int first=0;
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-           Jan Thorbecke (janth@xs4all.nl)
-           The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;
-
-
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-	ibnd = mod.iorder/2-1;
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-    if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+ibnd] = 0.0;
-            vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-            if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-            if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-        }
-    }
-    if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[(nx+ibnd-1)*n1+iz] = 0.0;
-            vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-            if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-            if (mod.iorder == 6) {
-                vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-                vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-            }
-        }
-    }
-    if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+nz+ibnd-1] = 0.0;
-            vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-            if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-            if (mod.iorder == 6) {
-                vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-                vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-            }
-        }
-    }
-    if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[ibnd*n1+iz] = 0.0;
-            vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-            if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-            if (mod.iorder == 6) {
-                vx[1*n1+iz] = -vx[4*n1+iz];
-                vx[0*n1+iz] = -vx[5*n1+iz];
-            }
-        }
-    }
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme      */
-/************************************************************/
-
-    if (bnd.top==2) { /* PML at top */
-    }
-  
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/
-
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-            /* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
-			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            
-  
-        }
-        else { /* Elastic scheme */
-
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-                
-
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-                
-                
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
- 			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
- 
-            
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-
-        }
-        else { /* Elastic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        	
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        } /* end elastic scheme */
-
-    }
-
-
-    return 0;
-} 
-    
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-     
-    AUTHOR:
-    Jan Thorbecke (janth@xs4all.nl)
-     The Netherlands 
-     
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp;
-	int   n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;    
-    
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	n1  = mod.naz;
-
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/    
-   
-    
-/****************************************************************/    
-/* Free surface: calculate free surface conditions for stresses */
-/****************************************************************/
-
-    
-    ixo = mod.ioPx;
-    ixe = mod.iePx;
-    izo = mod.ioPz;
-    ize = mod.iePz;
-
-    if (mod.ischeme <= 2) { /* Acoustic scheme */
-
-        if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                tzz[ix*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.iePx-1)*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                tzz[ix*n1+mod.iePz-1] = 0.0;
-            }
-        }
-        if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-            }
-        }
-    }
-    else { /* Elastic scheme */
-        
-        /* Free surface: calculate free surface conditions for stresses 
-         *     Conditions (for upper boundary):
-         *     1. Tzz = 0
-         *     2. Txz = 0
-         *     3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-         *             and add extra term with dVx/dx,
-         *             corresponding to free-surface condition for Txx.
-         *             In this way, dVz/dz is not needed in computing Txx
-         *             on the upper stress free boundary. Other boundaries
-         *             are treated similar.
-         *             For the 4th order schemes, the whole virtual boundary
-         *             must be taken into account in the removal terms, 
-         *             because the algorithm sets
-         *             velocities on this boundary!
-         *
-         *    Compute the velocities on the virtual boundary to make interpolation
-         *    possible for receivers. 
-         */
-        
-        if (bnd.top==1) { /* free surface at top */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* clear normal pressure */
-                    tzz[ix*n1+iz] = 0.0;
-                    /* extra line of txz has to be copied */
-//                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                    /* This update to Vz might become unstable (2nd order scheme) */
-//                    vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//                    lam[ix*n1+iz]/l2m[ix*n1+iz];
-                }
-                izp=iz;
-            }
-
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* assure that txz=0 on boundary by filling virtual boundary */
-                    txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                    /* extra line of txz has to be copied */
-                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                }
-                izp=iz;
-            }
-
-            /* calculate txx on top stress-free boundary */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    txx[ix*n1+iz] = -dvx*dp;
-                }
-                izp=iz;
-            }
-            
-            
-            /* if surface has also left or right edges */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-            for (ix=mod.ioPx+1; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp < iz ) { /* right boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    if ( (iz-izp) >= 2 ) { /* VR point */
-                        /* assure that txz=0 on boundary */
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        /* calculate tzz on right stress-free boundary */
-                        dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                        c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                        dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        tzz[ix*n1+iz] = -dvz*dp;
-                    }
-                    else {
-                        //                  if (izp) { /* IR point */   
-                        //                      txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-                        //                      txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        tzz[ix*n1+iz] = 0.0;
-                        //                  }
-                        //                  else { /* OR point */
-                        txz[(ix-1)*n1+iz] = 0.0;
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-                        lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        //                  }
-                    }
-                    
-                } /* end if right */
-                if ( izp > iz ) { /* left boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    /* assure that txz=0 on boundary */
-                    txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-                    /* extra line of txz has to be copied */
-                    txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-                    /* calculate tzz on left stress-free boundary */
-                    dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                    c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                    dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    tzz[ix*n1+iz] = -dvz*dp;
-                } /* end if left */
-                izp=iz;
-                //          izp=bnd.surface[MAX(ix-2,0)];;
-            } /* end ix loop */
-        }
-        
-        
-        if (bnd.rig==1) { /* free surface at right */
-            ix = mod.iePx;
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[(ix)*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-            }
-            /* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-                      c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-                dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                tzz[(ix)*n1+iz] = -dvz*dp;
-            }
-        }
-        
-        
-        if (bnd.bot==1) { /* free surface at bottom */
-            iz = mod.iePz;
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                /* clear normal pressure */
-                tzz[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-            }
-            /* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                txx[ix*n1+iz] = -dvx*dp;
-            }
-        }
-        
-        if (bnd.lef==1) { /* free surface at left */
-            ix = mod.ioPx;
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-            }
-            /* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                tzz[ix*n1+iz] = -dvz*dp;
-            }
-        }
-
-        
-    }
-    
-    
-
-
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.ok4 b/fdelmodc/boundaries.c.ok4
deleted file mode 100644
index 62cd32d..0000000
--- a/fdelmodc/boundaries.c.ok4
+++ /dev/null
@@ -1,1075 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-float *exL, *exR, *eyT, *eyB;
-int first=0;
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-           Jan Thorbecke (janth@xs4all.nl)
-           The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;
-
-
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-	nz  = mod.nz;
-	n1  = mod.naz;
-
-	ibnd = mod.iorder/2-1;
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-    if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+ibnd] = 0.0;
-            vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-            if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-            if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-        }
-    }
-    if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[(nx+ibnd-1)*n1+iz] = 0.0;
-            vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-            if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-            if (mod.iorder == 6) {
-                vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-                vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-            }
-        }
-    }
-    if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (ix=1; ix<=nx; ix++) {
-            vx[ix*n1+nz+ibnd-1] = 0.0;
-            vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-            if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-            if (mod.iorder == 6) {
-                vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-                vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-            }
-        }
-    }
-    if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-        for (iz=1; iz<=nz; iz++) {
-            vz[ibnd*n1+iz] = 0.0;
-            vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-            if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-            if (mod.iorder == 6) {
-                vx[1*n1+iz] = -vx[4*n1+iz];
-                vx[0*n1+iz] = -vx[5*n1+iz];
-            }
-        }
-    }
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme      */
-/************************************************************/
-
-    if (bnd.top==2) { /* PML at top */
-    }
-  
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/
-
-    /*********/
-	/*  Top  */
-    /*********/
-    if (bnd.top==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-            /* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ioXz-bnd.ntap;
-        	ize = mod.ioXz;
-
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ioZz-bnd.ntap;
-        	ize = mod.ioZz;
-	
-        	ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-            	}
-        	}
-			/* right top corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-            /* left top corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (bnd.ntap+izo-1);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-            		}
-        		}
-			}
-
-        
-        } /* end elastic scheme */
-    }
-    
-    /*********/
-    /* Bottom */
-    /*********/
-    if (bnd.bot==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                		vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                    c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-
-
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
-			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                    c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            
-  
-        }
-        else { /* Elastic scheme */
-
-        	/* Vx field */
-        	ixo = mod.ioXx;
-        	ixe = mod.ieXx;
-        	izo = mod.ieXz;
-        	ize = mod.ieXz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-                	vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-            	}
-        	}
-            /* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-                
-
-        		ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-                
-                
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                        
-                		vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-	
-        	/* Vz field */
-        	ixo = mod.ioZx;
-        	ixe = mod.ieZx;
-        	izo = mod.ieZz;
-        	ize = mod.ieZz+bnd.ntap;
-        	
-        	ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-                	vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-            	}
-        	}
- 			/* right bottom corner */
-        	if (bnd.rig==4) {
-        		ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-        		ibz = (izo);
-        		ibx = (ixo);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
-            /* left bottom corner */
-        	if (bnd.lef==4) {
-        		ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-        		ibz = (izo);
-        		ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-        		for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            		for (iz=izo; iz<ize; iz++) {
-                        vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                        
-                		vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-            		}
-        		}
-			}
- 
-            
-        } /* end elastic scheme */
-        
-    }
-    
-    /*********/
-    /* Left  */
-    /*********/
-    if (bnd.lef==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                                c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                                c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-
-        }
-        else { /* Elastic scheme */
-            
-            /* Vx field */
-            ixo = mod.ioXx-bnd.ntap;
-            ixe = mod.ioXx;
-            izo = mod.ioXz;
-            ize = mod.ieXz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-                    
-                    vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-                }
-            }
-            
-            /* Vz field */
-            ixo = mod.ioZx-bnd.ntap;
-            ixe = mod.ioZx;
-            izo = mod.ioZz;
-            ize = mod.ieZz;
-            
-            ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-            for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-                for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-                    
-                    vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-                }
-            }
-        } /* end elastic scheme */
-        
-    }
-
-    /*********/
-    /* Right */
-    /*********/
-    if (bnd.rig==4) {
-        
-        if (mod.ischeme <= 2) { /* Acoustic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]     - tzz[(ix-1)*n1+iz]) +
-                            	c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-                	vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                            	c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-                            	c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-        
-        }
-        else { /* Elastic scheme */
-            
-        	/* Vx field */
-        	ixo = mod.ieXx;
-        	ixe = mod.ieXx+bnd.ntap;
-        	izo = mod.ioXz;
-        	ize = mod.ieXz;
-        	
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]     - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])    +
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-                	vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-            	}
-        	}
-        	
-        	/* Vz field */
-        	ixo = mod.ieZx;
-        	ixe = mod.ieZx+bnd.ntap;
-        	izo = mod.ioZz;
-        	ize = mod.ieZz;
-        	ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-        	for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-            	for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]     - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-                	vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-            	}
-        	}
-/*
-        	for (ix=ixo-5; ix<ixo+5; ix++) {
-            	for (iz=0; iz<5; iz++) {
-			fprintf(stderr,"edge ix=%d iz=%d vz=%e roz=%e tzz=%e txz=%e txx=%e lam=%e l2m=%e\n", ix, iz, vz[ix*n1+iz], roz[ix*n1+iz],
-tzz[ix*n1+iz], txz[ix*n1+iz], txx[ix*n1+iz], lam[ix*n1+iz], l2m[ix*n1+iz]);
-				}
-			}
-*/
-        
-        } /* end elastic scheme */
-
-    }
-
-
-    return 0;
-} 
-    
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int verbose)
-{
-/*********************************************************************
-     
-    AUTHOR:
-    Jan Thorbecke (janth@xs4all.nl)
-     The Netherlands 
-     
-***********************************************************************/
-
-	float c1, c2;
-    float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp;
-	int   n1;
-	int   is0, isrc;
-    int   ixo, ixe, izo, ize;    
-    
-	c1 = 9.0/8.0; 
-	c2 = -1.0/24.0;
-	n1  = mod.naz;
-
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas                */
-/************************************************************/    
-   
-    
-/****************************************************************/    
-/* Free surface: calculate free surface conditions for stresses */
-/****************************************************************/
-
-    
-    ixo = mod.ioPx;
-    ixe = mod.iePx;
-    izo = mod.ioPz;
-    ize = mod.iePz;
-
-    if (mod.ischeme <= 2) { /* Acoustic scheme */
-
-        if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                tzz[ix*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.iePx-1)*n1+iz] = 0.0;
-            }
-        }
-        if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                tzz[ix*n1+mod.iePz-1] = 0.0;
-            }
-        }
-        if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-            }
-        }
-    }
-    else { /* Elastic scheme */
-        
-        /* Free surface: calculate free surface conditions for stresses 
-         *     Conditions (for upper boundary):
-         *     1. Tzz = 0
-         *     2. Txz = 0
-         *     3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-         *             and add extra term with dVx/dx,
-         *             corresponding to free-surface condition for Txx.
-         *             In this way, dVz/dz is not needed in computing Txx
-         *             on the upper stress free boundary. Other boundaries
-         *             are treated similar.
-         *             For the 4th order schemes, the whole virtual boundary
-         *             must be taken into account in the removal terms, 
-         *             because the algorithm sets
-         *             velocities on this boundary!
-         *
-         *    Compute the velocities on the virtual boundary to make interpolation
-         *    possible for receivers. 
-         */
-        
-        if (bnd.top==1) { /* free surface at top */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* clear normal pressure */
-                    tzz[ix*n1+iz] = 0.0;
-
-                    /* extra line of txz has to be copied */
-//                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                    /* This update to Vz might become unstable (2nd order scheme) */
-//                    vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//                    lam[ix*n1+iz]/l2m[ix*n1+iz];
-                }
-                izp=iz;
-            }
-
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-                    /* assure that txz=0 on boundary by filling virtual boundary */
-                    txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-                    /* extra line of txz has to be copied */
-                    txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                }
-                izp=iz;
-            }
-
-            /* calculate txx on top stress-free boundary */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix];
-                if ( izp==iz ) {
-					if (l2m[ix*n1+iz]!=0.0) {
-                    	dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                    	dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-                          	c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    	txx[ix*n1+iz] = -dvx*dp;
-					}
-                }
-                izp=iz;
-			}
-            
-            /* if surface has also left or right edges */
-            izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-            for (ix=mod.ioPx+1; ix<mod.iePx; ix++) {
-                iz = bnd.surface[ix-1];
-                if ( izp < iz ) { /* right boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    if ( (iz-izp) >= 2 ) { /* VR point */
-                        /* assure that txz=0 on boundary */
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        /* calculate tzz on right stress-free boundary */
-						if (l2m[ix*n1+iz]!=0.0) {
-                        	dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                        	c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-                        	dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                        	tzz[ix*n1+iz] = -dvz*dp;
-						}
-                    }
-                    else {
-                        //    if (izp) { /* IR point */   
-                        //                      txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-                        //                      txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-                        tzz[ix*n1+iz] = 0.0;
-                        //}
-                        //    else { /* OR point */
-                        txz[(ix-1)*n1+iz] = 0.0;
-                        txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-                        txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-						if (l2m[ix*n1+iz]!=0.0) {
-                            vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-                               lam[ix*n1+iz]/l2m[ix*n1+iz];
-						}
-                        //    }
-                    }
-                } /* end if right */
-                if ( izp > iz ) { /* left boundary */
-                    /* clear normal pressure */
-                    txx[ix*n1+iz] = 0.0;
-                    /* assure that txz=0 on boundary */
-                    txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-                    /* extra line of txz has to be copied */
-                    txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-                    /* calculate tzz on left stress-free boundary */
-                    dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                    c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-					if (l2m[ix*n1+iz]!=0.0) {
-                    	dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                   		tzz[ix*n1+iz] = -dvz*dp;
-					}
-                } /* end if left */
-                izp=iz;
-//        fprintf(stderr,"V4 ix=2123 iz=1 tzz=%e\n", tzz[2123*n1+1]);
-                //          izp=bnd.surface[MAX(ix-2,0)];;
-            } /* end ix loop */
-        }
-        
-        
-        if (bnd.rig==1) { /* free surface at right */
-            ix = mod.iePx;
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[(ix)*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix, iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-            }
-            /* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-                      c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-                	dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-                	tzz[(ix)*n1+iz] = -dvz*dp;
-				}
-            }
-        }
-        
-        
-        if (bnd.bot==1) { /* free surface at bottom */
-            iz = mod.iePz;
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                /* clear normal pressure */
-                tzz[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (ix) 
-            for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-            }
-            /* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                      c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-				if (l2m[ix*n1+iz]!=0.0) {
-                	dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                	txx[ix*n1+iz] = -dvx*dp;
-				}
-            }
-        }
-        
-        if (bnd.lef==1) { /* free surface at left */
-            ix = mod.ioPx;
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                /* clear normal pressure */
-                txx[ix*n1+iz] = 0.0;
-            }
-#pragma omp for private (iz) 
-            for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-                /* assure that txz=0 on boundary by filling virtual boundary */
-                txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-                /* extra line of txz has to be copied */
-                txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-            }
-            /* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-                      c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-                	dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-                	tzz[ix*n1+iz] = -dvz*dp;
-				}
-            }
-        }
-
-        
-    }
-    
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.try b/fdelmodc/boundaries.c.try
deleted file mode 100644
index 9d3bc25..0000000
--- a/fdelmodc/boundaries.c.try
+++ /dev/null
@@ -1,1654 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-void vmess(char *fmt, ...);
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int itime, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-		   Jan Thorbecke (janth@xs4all.nl)
-		   The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-	float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1, n2;
-	int   is0, isrc;
-	int   ixo, ixe, izo, ize;
-    int   npml, ipml, pml;
-    float kappu, alphu, sigmax, R, a, m, fac, dx, dt;
-    float dpx, dpz, *p;
-    static float *Vxpml, *Vzpml, *sigmu, *RA;
-	static int allocated=0;
-    float Jx, Jz, rho, d;
-
-	c1 = 9.0/8.0;
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-    nz  = mod.nz;
-    n1  = mod.naz;
-    n2  = mod.nax;
-    dx  = mod.dx;
-    dt  = mod.dt;
-    fac = dt/dx;
-    if ( (bnd.top==2) || (bnd.bot==2) || (bnd.lef==2) || (bnd.rig==2) ) pml=1;
-	else pml=0;
-
-	ibnd = mod.iorder/2-1;
-
-	if (mod.ischeme <= 2) { /* Acoustic scheme */
-		if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				//fprintf(stderr,"free iz=%d\n", iz);
-				vz[ix*n1+iz]   = vz[ix*n1+iz+1];
-				vz[ix*n1+iz-1] = vz[ix*n1+iz+2];
-			}
-		}
-//		if (bnd.rig==1) { /* free surface at right */
-//#pragma omp	for private (iz) 
-//			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-//				tzz[(mod.iePx-1)*n1+iz] = 0.0;
-//			}
-//		}
-//		if (bnd.bot==1) { /* free surface at bottom */
-//#pragma omp	for private (ix) 
-//			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-//				tzz[ix*n1+mod.iePz-1] = 0.0;
-//			}
-//		}
-//		if (bnd.lef==1) { /* free surface at left */
-//#pragma omp	for private (iz) 
-//			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-//				tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-//			}
-//		}
-	}
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-	if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) 
-#pragma ivdep
-		for (ix=1; ix<=nx; ix++) {
-			vx[ix*n1+ibnd] = 0.0;
-			vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-			if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-			if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-		}
-	}
-	if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) 
-#pragma ivdep
-		for (iz=1; iz<=nz; iz++) {
-			vz[(nx+ibnd-1)*n1+iz] = 0.0;
-			vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-			if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-			if (mod.iorder == 6) {
-				vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-				vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-			}
-		}
-	}
-	if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) 
-#pragma ivdep
-		for (ix=1; ix<=nx; ix++) {
-			vx[ix*n1+nz+ibnd-1] = 0.0;
-			vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-			if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-			if (mod.iorder == 6) {
-				vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-				vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-			}
-		}
-	}
-	if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) 
-#pragma ivdep
-		for (iz=1; iz<=nz; iz++) {
-			vz[ibnd*n1+iz] = 0.0;
-			vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-			if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-			if (mod.iorder == 6) {
-				vx[1*n1+iz] = -vx[4*n1+iz];
-				vx[0*n1+iz] = -vx[5*n1+iz];
-			}
-		}
-	}
-
-    
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme	  */
-/************************************************************/
-
-    npml=bnd.npml; /* lenght of pml in grid-points */
-    if ( (npml != 0) && (itime==0) && pml) {
-#pragma omp master
-{
-		if (allocated) {
-            free(Vxpml);
-        	free(Vzpml);
-        	free(sigmu);
-        	free(RA);
-		}
-        Vxpml = (float *)calloc(2*n1*npml,sizeof(float));
-        Vzpml = (float *)calloc(2*n2*npml,sizeof(float));
-        sigmu = (float *)calloc(npml,sizeof(float));
-        RA    = (float *)calloc(npml,sizeof(float));
-		allocated = 1;
-        
-        /* calculate sigmu and RA only once with fixed velocity Cp */
-        m=bnd.m; /* scaling order */
-        R=bnd.R; /* the theoretical reflection coefficient after discretization */
-        kappu=1.0; /* auxiliary attenuation coefficient for small angles */
-        alphu=0.0;   /* auxiliary attenuation coefficient  for low frequencies */
-        d = (npml-1)*dx; /* depth of pml */
-        /* sigmu attenuation factor representing the loss in the PML depends on the grid position in the PML */
-        
-        sigmax = ((3.0*mod.cp_min)/(2.0*d))*log(1.0/R);
-        for (ib=0; ib<npml; ib++) { /* ib=0 interface between PML and interior */
-            a = (float) (ib/(npml-1.0));
-            sigmu[ib] = sigmax*pow(a,m);
-            RA[ib] = (1.0)/(1.0+0.5*dt*sigmu[ib]);
-            if (verbose>=3) vmess("PML: sigmax=%e cp=%e sigmu[%d]=%e %e", sigmax, mod.cp_min, ib, sigmu[ib], a);
-        }
-}
-    }
-#pragma omp barrier
-
-	if (mod.ischeme == 1 && pml) { /* Acoustic scheme PML */
-        p = tzz; /* Tzz array pointer points to P-field */
-        
-        /* PML left Vx */
-        if (bnd.lef == 2) {
-            /* PML left Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-            for (ix=mod.ioXx-npml,ipml = npml-1; ix<mod.ioXx; ix++,ipml--) {
-#pragma simd
-            for (iz=mod.ioXz; iz<mod.ieXz; iz++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                }
-            }
-            /* PML Vz-component same as default kernel */
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-#pragma ivdep
-                for (iz=mod.ioZz; iz<mod.ieZz; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                                    c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                }
-            }
-        }
-        
-        /* PML corner left-top V */
-        if (bnd.lef == 2 && bnd.top == 2) {
-            /* PML left Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-            for (ix=mod.ioXx-npml,ipml = npml-1; ix<mod.ioXx; ix++,ipml--) {
-                //ipml = npml-1;
-                for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-               //     ipml--;
-                }
-            }
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-                //ipml = npml-1;
-                for (iz=mod.ioZz-npml,ipml = npml-1; iz<mod.ioZz; iz++,ipml--) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    //ipml--;
-                }
-            }
-        }
-        
-        /* PML right V */
-        if (bnd.rig == 2) {
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-//#pragma simd
-                for (iz=mod.ioXz; iz<mod.ieXz; iz++) {
-            for (ix=mod.ieXx,ipml=0; ix<mod.ieXx+npml; ix++,ipml++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    //ipml++;
-                }
-            }
-            /* PML Vz-component same as default kernel */
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-#pragma ivdep
-                for (iz=mod.ioZz; iz<mod.ieZz; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                                    c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                }
-            }
-        }
-        
-        /* PML corner right-top V */
-        if (bnd.rig == 2 && bnd.top == 2) {
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-            for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                ipml = 0;
-                for (ix=mod.ieXx; ix<mod.ieXx+npml; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml++;
-                }
-            }
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioZz-npml; iz<mod.ioZz; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml--;
-                }
-            }
-        }
-
-        /* PML top V */
-        if (bnd.top == 2) {
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ioZx; ix<mod.ieZx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioZz-npml; iz<mod.ioZz; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml--;
-                }
-            }
-            /* PML top Vx-component same as default kernel */
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioXx; ix<mod.ieXx; ix++) {
-#pragma ivdep
-                for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                                    c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]));
-                }
-            }
-        }
-        
-        /* PML bottom V */
-        if (bnd.bot == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ioZx; ix<mod.ieZx; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML bottom Vx-component same as default kernel */
-#pragma omp for private (ix, iz) 
-            for (ix=mod.ioXx; ix<mod.ieXx; ix++) {
-                for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                                    c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]));
-                }
-            }
-        }
-        
-        /* PML corner left-bottom */
-        if (bnd.bot == 2 && bnd.lef == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML left Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-            for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioXx-npml; ix<mod.ioXx; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML corner right-bottom */
-        if (bnd.bot == 2 && bnd.rig == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho) 
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho) 
-            for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                ipml = 0;
-                for (ix=mod.ieXx; ix<mod.ieXx+npml; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml++;
-                }
-            }
-        }
-        
-	} /* end acoustic PML */
-  
-    
-    
-    
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas				*/
-/************************************************************/
-
-	/*********/
-	/*  Top  */
-	/*********/
-	if (bnd.top==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ioXz-bnd.ntap;
-			ize = mod.ioXz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-					vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-			
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ioZz-bnd.ntap;
-			ize = mod.ioZz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-					vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ioXz-bnd.ntap;
-			ize = mod.ioXz;
-
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-					vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ioZz-bnd.ntap;
-			ize = mod.ioZz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-					vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-		
-		} /* end elastic scheme */
-	}
-	
-	/*********/
-	/* Bottom */
-	/*********/
-	if (bnd.bot==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ieXz;
-			ize = mod.ieXz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-					vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-
-
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ieZz;
-			ize = mod.ieZz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-					vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			
-  
-		}
-		else { /* Elastic scheme */
-
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ieXz;
-			ize = mod.ieXz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-					vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				
-
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-				
-				
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-	
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ieZz;
-			ize = mod.ieZz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-					vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-				}
-			}
- 			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
- 
-			
-		} /* end elastic scheme */
-		
-	}
-	
-	/*********/
-	/* Left  */
-	/*********/
-	if (bnd.lef==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx-bnd.ntap;
-			ixe = mod.ioXx;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-					
-					vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ioZx-bnd.ntap;
-			ixe = mod.ioZx;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-					
-					vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-				}
-			}
-
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx-bnd.ntap;
-			ixe = mod.ioXx;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-					
-					vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ioZx-bnd.ntap;
-			ixe = mod.ioZx;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-					
-					vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-				}
-			}
-		} /* end elastic scheme */
-		
-	}
-
-	/*********/
-	/* Right */
-	/*********/
-	if (bnd.rig==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ieXx;
-			ixe = mod.ieXx+bnd.ntap;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-		
-			ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-					vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-				}
-			}
-		
-			/* Vz field */
-			ixo = mod.ieZx;
-			ixe = mod.ieZx+bnd.ntap;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			
-			ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-					vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-				}
-			}
-		
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ieXx;
-			ixe = mod.ieXx+bnd.ntap;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-					vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ieZx;
-			ixe = mod.ieZx+bnd.ntap;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-					vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-				}
-			}
-/*
-			for (ix=ixo-5; ix<ixo+5; ix++) {
-				for (iz=0; iz<5; iz++) {
-			fprintf(stderr,"edge ix=%d iz=%d vz=%e roz=%e tzz=%e txz=%e txx=%e lam=%e l2m=%e\n", ix, iz, vz[ix*n1+iz], roz[ix*n1+iz],
-tzz[ix*n1+iz], txz[ix*n1+iz], txx[ix*n1+iz], lam[ix*n1+iz], l2m[ix*n1+iz]);
-				}
-			}
-*/
-		
-		} /* end elastic scheme */
-
-	}
-
-
-	return 0;
-} 
-	
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int itime, int verbose)
-{
-/*********************************************************************
-	 
-	AUTHOR:
-	Jan Thorbecke (janth@xs4all.nl)
-	 The Netherlands 
-	 
-***********************************************************************/
-
-	float c1, c2;
-	float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp, ib;
-    int   nx, nz, n1, n2;
-	int   is0, isrc;
-	int   ixo, ixe, izo, ize;
-    int   npml, ipml, pml;
-    float kappu, alphu, sigmax, R, a, m, fac, dx, dt;
-    float *p;
-    static float *Pxpml, *Pzpml, *sigmu, *RA;
-	static int allocated=0;
-    float Jx, Jz, rho, d;
-    
-    c1 = 9.0/8.0;
-    c2 = -1.0/24.0;
-    nx  = mod.nx;
-    nz  = mod.nz;
-    n1  = mod.naz;
-    n2  = mod.nax;
-    dx  = mod.dx;
-    dt  = mod.dt;
-    fac = dt/dx;
-    if ( (bnd.top==2) || (bnd.bot==2) || (bnd.lef==2) || (bnd.rig==2) ) pml=1;
-	else pml=0;
-
-/************************************************************/
-/* PML boundaries for acoustic schemes                      */
-/* compute all field values in tapered areas				*/
-/************************************************************/	
-   
-    npml=bnd.npml; /* lenght of pml in grid-points */
-    if ( (npml != 0) && (itime==0) && pml) {
-#pragma omp master
-{
-		if (allocated) {
-            free(Pxpml);
-        	free(Pzpml);
-        	free(sigmu);
-        	free(RA);
-		}
-        Pxpml = (float *)calloc(2*n1*npml,sizeof(float));
-        Pzpml = (float *)calloc(2*n2*npml,sizeof(float));
-        sigmu = (float *)calloc(npml,sizeof(float));
-        RA    = (float *)calloc(npml,sizeof(float));
-		allocated = 1;
-        
-        /* calculate sigmu and RA only once with fixed velocity Cp */
-        m=bnd.m; /* scaling order */
-        R=bnd.R; /* the theoretical reflection coefficient after discretization */
-        kappu = 1.0; /* auxiliary attenuation coefficient for small angles */
-        alphu=0.0; /* auxiliary attenuation coefficient  for low frequencies */
-        d = (npml-1)*dx; /* depth of pml */
-        /* sigmu attenuation factor representing the loss in the PML depends on the grid position in the PML */
-        
-        sigmax = ((3.0*mod.cp_min)/(2.0*d))*log(1.0/R);
-        for (ib=0; ib<npml; ib++) { /* ib=0 interface between PML and interior */
-            a = (float) (ib/(npml-1.0));
-            sigmu[ib] = sigmax*pow(a,m);
-            RA[ib] = (1.0)/(1.0+0.5*dt*sigmu[ib]);
-//            if (verbose>=3) vmess("PML: sigmax=%e cp=%e sigmu[%d]=%e %e\n", sigmax, mod.cp_min, ib, sigmu[ib], a);
-        }
-}
-    }
-
-#pragma omp barrier
-    if (mod.ischeme == 1 && pml) { /* Acoustic scheme PML's */
-        p = tzz; /* Tzz array pointer points to P-field */
-        
-        if (bnd.top==2) mod.ioPz += bnd.npml;
-        if (bnd.bot==2) mod.iePz -= bnd.npml;
-        if (bnd.lef==2) mod.ioPx += bnd.npml;
-        if (bnd.rig==2) mod.iePx -= bnd.npml;
-
-        /* PML top P */
-        if (bnd.top == 2) {
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jz, ipml) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz+dvx);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML left P */
-        if (bnd.lef == 2) {
-            /* PML left P-Vx-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jx, ipml) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx+dvz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML corner left-top P */
-        if (bnd.lef == 2 && bnd.top == 2) {
-            /* PML left P-Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml) 
-            for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml--;
-                }
-            }
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml) 
-            for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML right P */
-        if (bnd.rig == 2) {
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jx, ipml) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx+dvz);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner right-top P */
-        if (bnd.rig == 2 && bnd.top == 2) {
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml) 
-            for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml++;
-                }
-            }
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml) 
-            for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML bottom P */
-        if (bnd.bot == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jz, ipml)
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz+dvx);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner bottom-right P */
-        if (bnd.bot == 2 && bnd.rig == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml)
-            for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml++;
-                }
-            }
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml)
-            for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    //p[ix*n1+iz] -= l2m[ix*n1+iz]*(dvx);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner left-bottom P */
-        if (bnd.bot == 2 && bnd.lef == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml)
-            for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml++;
-                }
-            }
-            /* PML left P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml)
-            for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml--;
-                }
-            }
-        }
-        if (bnd.top==2) mod.ioPz -= bnd.npml;
-        if (bnd.bot==2) mod.iePz += bnd.npml;
-        if (bnd.lef==2) mod.ioPx -= bnd.npml;
-        if (bnd.rig==2) mod.iePx += bnd.npml;
-
-    } /* end acoustic PML */
-
-
-	
-/****************************************************************/	
-/* Free surface: calculate free surface conditions for stresses */
-/****************************************************************/
-
-	
-	ixo = mod.ioPx;
-	ixe = mod.iePx;
-	izo = mod.ioPz;
-	ize = mod.iePz;
-
-	if (mod.ischeme <= 2) { /* Acoustic scheme */
-		if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				tzz[ix*n1+iz] = 0.0;
-			}
-		}
-		if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				tzz[(mod.iePx-1)*n1+iz] = 0.0;
-			}
-		}
-		if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				tzz[ix*n1+mod.iePz-1] = 0.0;
-			}
-		}
-		if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-			}
-		}
-	}
-	else { /* Elastic scheme */
-/* The implementation for a topgraphy surface is not yet correct */
-		
-		/* Free surface: calculate free surface conditions for stresses 
-		 *	 Conditions (for upper boundary):
-		 *	 1. Tzz = 0
-		 *	 2. Txz = 0
-		 *	 3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-		 *			 and add extra term with dVx/dx,
-		 *			 corresponding to free-surface condition for Txx.
-		 *			 In this way, dVz/dz is not needed in computing Txx
-		 *			 on the upper stress free boundary. Other boundaries
-		 *			 are treated similar.
-		 *			 For the 4th order schemes, the whole virtual boundary
-		 *			 must be taken into account in the removal terms, 
-		 *			 because the algorithm sets
-		 *			 velocities on this boundary!
-		 *
-		 *	Compute the velocities on the virtual boundary to make interpolation
-		 *	possible for receivers. 
-		 */
-		
-		if (bnd.top==1) { /* free surface at top */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					/* clear normal pressure */
-					tzz[ix*n1+iz] = 0.0;
-
-					/* This update to Vz might become unstable (2nd order scheme) */
-//					vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//					lam[ix*n1+iz]/l2m[ix*n1+iz];
-				}
-				izp=iz;
-			}
-
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-			for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					/* assure that txz=0 on boundary by filling virtual boundary */
-					txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-					/* extra line of txz has to be copied */
-					txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-				}
-				izp=iz;
-			}
-
-			/* calculate txx on top stress-free boundary */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					if (l2m[ix*n1+iz]!=0.0) {
-						dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-						dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-						  	c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-						txx[ix*n1+iz] = -dvx*dp;
-					}
-				}
-				izp=iz;
-			}
-			
-			/* if surface has also left or right edges */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-			for (ix=mod.ioPx+1; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix-1];
-				if ( izp < iz ) { /* right boundary */
-					/* clear normal pressure */
-					txx[ix*n1+iz] = 0.0;
-					if ( (iz-izp) >= 2 ) { /* VR point */
-						/* assure that txz=0 on boundary */
-						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-						/* calculate tzz on right stress-free boundary */
-						if (l2m[ix*n1+iz]!=0.0) {
-							dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-							c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-							dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-							tzz[ix*n1+iz] = -dvz*dp;
-						}
-					}
-					else {
-							if (izp) { /* IR point */   
-//											  txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-//											  txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-//						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-//						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-//						tzz[ix*n1+iz] = 0.0;
-						}
-							else { /* OR point */
-//						txz[(ix-1)*n1+iz] = 0.0;
-//						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-//						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-//						if (l2m[ix*n1+iz]!=0.0) {
-//							vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//							   lam[ix*n1+iz]/l2m[ix*n1+iz];
-//						}
-							}
-					}
-				} /* end if right */
-				if ( izp > iz ) { /* left boundary */
-					/* clear normal pressure */
-					txx[ix*n1+iz] = 0.0;
-					/* assure that txz=0 on boundary */
-					txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-					/* extra line of txz has to be copied */
-					txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-					/* calculate tzz on left stress-free boundary */
-					dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-					c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-					if (l2m[ix*n1+iz]!=0.0) {
-						dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-				   		tzz[ix*n1+iz] = -dvz*dp;
-					}
-				} /* end if left */
-				izp=iz;
-//		fprintf(stderr,"V4 ix=2123 iz=1 tzz=%e\n", tzz[2123*n1+1]);
-				//		  izp=bnd.surface[MAX(ix-2,0)];;
-			} /* end ix loop */
-		}
-		
-		
-		if (bnd.rig==1) { /* free surface at right */
-			ix = mod.iePx;
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				/* clear normal pressure */
-				txx[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (iz) 
-			for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-			}
-			/* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-					  c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-					tzz[(ix)*n1+iz] = -dvz*dp;
-				}
-			}
-		}
-		
-		
-		if (bnd.bot==1) { /* free surface at bottom */
-			iz = mod.iePz;
-#pragma omp for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				/* clear normal pressure */
-				tzz[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (ix) 
-			for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-			}
-			/* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-					  c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-					txx[ix*n1+iz] = -dvx*dp;
-				}
-			}
-		}
-		
-		if (bnd.lef==1) { /* free surface at left */
-			ix = mod.ioPx;
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				/* clear normal pressure */
-				txx[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (iz) 
-			for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-			}
-			/* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-					  c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-					tzz[ix*n1+iz] = -dvz*dp;
-				}
-			}
-		}
-
-		
-	}
-	
-	return 0;
-}
diff --git a/fdelmodc/boundaries.c.try2 b/fdelmodc/boundaries.c.try2
deleted file mode 100644
index a6e2bd1..0000000
--- a/fdelmodc/boundaries.c.try2
+++ /dev/null
@@ -1,1658 +0,0 @@
-#include<stdlib.h>
-#include<stdio.h>
-#include<math.h>
-#include<assert.h>
-#include"fdelmodc.h"
-
-void vmess(char *fmt, ...);
-
-int boundariesP(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int itime, int verbose)
-{
-/*********************************************************************
-
-   AUTHOR:
-		   Jan Thorbecke (janth@xs4all.nl)
-		   The Netherlands 
-
-***********************************************************************/
-
-	float c1, c2;
-	float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, ibnd, ib, ibx, ibz;
-	int   nx, nz, n1, n2;
-	int   is0, isrc;
-	int   ixo, ixe, izo, ize;
-    int   npml, ipml, pml;
-    float kappu, alphu, sigmax, R, a, m, fac, dx, dt;
-    float dpx, dpz, *p;
-    static float *Vxpml, *Vzpml, *sigmu, *RA;
-	static int allocated=0;
-    float Jx, Jz, rho, d;
-
-	c1 = 9.0/8.0;
-	c2 = -1.0/24.0;
-	nx  = mod.nx;
-    nz  = mod.nz;
-    n1  = mod.naz;
-    n2  = mod.nax;
-    dx  = mod.dx;
-    dt  = mod.dt;
-    fac = dt/dx;
-    if ( (bnd.top==2) || (bnd.bot==2) || (bnd.lef==2) || (bnd.rig==2) ) pml=1;
-	else pml=0;
-
-	ibnd = mod.iorder/2-1;
-
-	if (mod.ischeme <= 2) { /* Acoustic scheme */
-		if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				//fprintf(stderr,"free iz=%d\n", iz);
-				vz[ix*n1+iz]   = vz[ix*n1+iz+1];
-				vz[ix*n1+iz-1] = vz[ix*n1+iz+2];
-			}
-		}
-//		if (bnd.rig==1) { /* free surface at right */
-//#pragma omp	for private (iz) nowait
-//			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-//				tzz[(mod.iePx-1)*n1+iz] = 0.0;
-//			}
-//		}
-//		if (bnd.bot==1) { /* free surface at bottom */
-//#pragma omp	for private (ix) nowait
-//			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-//				tzz[ix*n1+mod.iePz-1] = 0.0;
-//			}
-//		}
-//		if (bnd.lef==1) { /* free surface at left */
-//#pragma omp	for private (iz) nowait
-//			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-//				tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-//			}
-//		}
-	}
-
-/************************************************************/
-/* rigid boundary condition clears velocities on boundaries */
-/************************************************************/
-
-	if (bnd.top==3) { /* rigid surface at top */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-		for (ix=1; ix<=nx; ix++) {
-			vx[ix*n1+ibnd] = 0.0;
-			vz[ix*n1+ibnd] = -vz[ix*n1+ibnd+1];
-			if (mod.iorder >= 4) vz[ix*n1+ibnd-1] = -vz[ix*n1+ibnd+2];
-			if (mod.iorder >= 6) vz[ix*n1+ibnd-2] = -vz[ix*n1+ibnd+3];
-		}
-	}
-	if (bnd.rig==3) { /* rigid surface at right */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-		for (iz=1; iz<=nz; iz++) {
-			vz[(nx+ibnd-1)*n1+iz] = 0.0;
-			vx[(nx+ibnd)*n1+iz]   = -vx[(nx+ibnd-1)*n1+iz];
-			if (mod.iorder == 4) vx[(nx+2)*n1+iz] = -vx[(nx-1)*n1+iz];
-			if (mod.iorder == 6) {
-				vx[(nx+1)*n1+iz] = -vx[(nx)*n1+iz];
-				vx[(nx+3)*n1+iz] = -vx[(nx-2)*n1+iz];
-			}
-		}
-	}
-	if (bnd.bot==3) { /* rigid surface at bottom */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-		for (ix=1; ix<=nx; ix++) {
-			vx[ix*n1+nz+ibnd-1] = 0.0;
-			vz[ix*n1+nz+ibnd]   = -vz[ix*n1+nz+ibnd-1];
-			if (mod.iorder == 4) vz[ix*n1+nz+2] = -vz[ix*n1+nz-1];
-			if (mod.iorder == 6) {
-				vz[ix*n1+nz+1] = -vz[ix*n1+nz];
-				vz[ix*n1+nz+3] = -vz[ix*n1+nz-2];
-			}
-		}
-	}
-	if (bnd.lef==3) { /* rigid surface at left */
-#pragma omp for private (ix, iz) nowait
-#pragma ivdep
-		for (iz=1; iz<=nz; iz++) {
-			vz[ibnd*n1+iz] = 0.0;
-			vx[ibnd*n1+iz] = -vx[(ibnd+1)*n1+iz];
-			if (mod.iorder == 4) vx[0*n1+iz] = -vx[3*n1+iz];
-			if (mod.iorder == 6) {
-				vx[1*n1+iz] = -vx[4*n1+iz];
-				vx[0*n1+iz] = -vx[5*n1+iz];
-			}
-		}
-	}
-
-    
-
-/************************************************************/
-/* PML boundaries : only for acoustic 4th order scheme	  */
-/************************************************************/
-
-    npml=bnd.npml; /* lenght of pml in grid-points */
-    if ( (npml != 0) && (itime==0) && pml) {
-#pragma omp master
-{
-		if (allocated) {
-            free(Vxpml);
-        	free(Vzpml);
-        	free(sigmu);
-        	free(RA);
-		}
-        Vxpml = (float *)calloc(2*n1*npml,sizeof(float));
-        Vzpml = (float *)calloc(2*n2*npml,sizeof(float));
-        sigmu = (float *)calloc(npml,sizeof(float));
-        RA    = (float *)calloc(npml,sizeof(float));
-		allocated = 1;
-        
-        /* calculate sigmu and RA only once with fixed velocity Cp */
-        m=bnd.m; /* scaling order */
-        R=bnd.R; /* the theoretical reflection coefficient after discretization */
-        kappu=1.0; /* auxiliary attenuation coefficient for small angles */
-        alphu=0.0;   /* auxiliary attenuation coefficient  for low frequencies */
-        d = (npml-1)*dx; /* depth of pml */
-        /* sigmu attenuation factor representing the loss in the PML depends on the grid position in the PML */
-        
-        sigmax = ((3.0*mod.cp_min)/(2.0*d))*log(1.0/R);
-        for (ib=0; ib<npml; ib++) { /* ib=0 interface between PML and interior */
-            a = (float) (ib/(npml-1.0));
-            sigmu[ib] = sigmax*pow(a,m);
-            RA[ib] = (1.0)/(1.0+0.5*dt*sigmu[ib]);
-            if (verbose>=3) vmess("PML: sigmax=%e cp=%e sigmu[%d]=%e %e", sigmax, mod.cp_min, ib, sigmu[ib], a);
-        }
-}
-    }
-#pragma omp barrier
-
-	if (mod.ischeme == 1 && pml) { /* Acoustic scheme PML */
-        p = tzz; /* Tzz array pointer points to P-field */
-        
-        /* PML left Vx */
-        if (bnd.lef == 2) {
-            /* PML left Vx-component */
-//           for (ix=mod.ioXx-npml,ipml=npml-1; ix<mod.ioXx; ix++,ipml--) {
-//                ipml = npml-1;
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ioXz; iz<mod.ieXz; iz++) {
-#pragma simd
-           for (ix=mod.ioXx-npml,ipml=npml-1; ix<mod.ioXx; ix++,ipml--) {
-//                for (ix=mod.ioXx-npml; ix<mod.ioXx; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
- //                   ipml--;
-                }
-            }
-            /* PML Vz-component same as default kernel */
-#pragma omp for private (ix, iz)
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-#pragma ivdep
-                for (iz=mod.ioZz; iz<mod.ieZz; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                                    c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                }
-            }
-        }
-        
-        /* PML corner left-top V */
-        if (bnd.lef == 2 && bnd.top == 2) {
-            /* PML left Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioXx-npml; ix<mod.ioXx; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml--;
-                }
-            }
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioZz-npml; iz<mod.ioZz; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML right V */
-        if (bnd.rig == 2) {
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ioXz; iz<mod.ieXz; iz++) {
-                ipml = 0;
-                for (ix=mod.ieXx; ix<mod.ieXx+npml; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml++;
-                }
-            }
-            /* PML Vz-component same as default kernel */
-#pragma omp for private (ix, iz)
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-#pragma ivdep
-                for (iz=mod.ioZz; iz<mod.ieZz; iz++) {
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                                    c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                }
-            }
-        }
-        
-        /* PML corner right-top V */
-        if (bnd.rig == 2 && bnd.top == 2) {
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                ipml = 0;
-                for (ix=mod.ieXx; ix<mod.ieXx+npml; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml++;
-                }
-            }
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioZz-npml; iz<mod.ioZz; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml--;
-                }
-            }
-        }
-
-        /* PML top V */
-        if (bnd.top == 2) {
-            /* PML top Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ioZx; ix<mod.ieZx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioZz-npml; iz<mod.ioZz; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[ix*npml+ipml]);
-                    Vzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml--;
-                }
-            }
-            /* PML top Vx-component same as default kernel */
-#pragma omp for private (ix, iz)
-            for (ix=mod.ioXx; ix<mod.ieXx; ix++) {
-#pragma ivdep
-                for (iz=mod.ioXz-npml; iz<mod.ioXz; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                                    c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]));
-                }
-            }
-        }
-        
-        /* PML bottom V */
-        if (bnd.bot == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ioZx; ix<mod.ieZx; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML bottom Vx-component same as default kernel */
-#pragma omp for private (ix, iz)
-            for (ix=mod.ioXx; ix<mod.ieXx; ix++) {
-                for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-                                    c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                                    c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]));
-                }
-            }
-        }
-        
-        /* PML corner left-bottom */
-        if (bnd.bot == 2 && bnd.lef == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ioZx-npml; ix<mod.ioZx; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML left Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioXx-npml; ix<mod.ioXx; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[iz*npml+ipml]);
-                    Vxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML corner right-bottom */
-        if (bnd.bot == 2 && bnd.rig == 2) {
-            /* PML bottom Vz-component */
-#pragma omp for private (ix, iz, dpz, Jz, ipml, rho)
-            for (ix=mod.ieZx; ix<mod.ieZx+npml; ix++) {
-                ipml = 0;
-                for (iz=mod.ieZz; iz<mod.ieZz+npml; iz++) {
-                    rho = (fac/roz[ix*n1+iz]);
-                    dpz = (c1*(p[ix*n1+iz]   - p[ix*n1+iz-1]) +
-                           c2*(p[ix*n1+iz+1] - p[ix*n1+iz-2]));
-                    Jz = RA[ipml]*(dpz - dt*Vzpml[n2*npml+ix*npml+ipml]);
-                    Vzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    vz[ix*n1+iz] -= roz[ix*n1+iz]*Jz;
-                    ipml++;
-                }
-            }
-            /* PML right Vx-component */
-#pragma omp for private (ix, iz, dpx, Jx, ipml, rho)
-            for (iz=mod.ieXz; iz<mod.ieXz+npml; iz++) {
-                ipml = 0;
-                for (ix=mod.ieXx; ix<mod.ieXx+npml; ix++) {
-                    rho = (fac/rox[ix*n1+iz]);
-                    dpx = c1*(p[ix*n1+iz]     - p[(ix-1)*n1+iz]) +
-                          c2*(p[(ix+1)*n1+iz] - p[(ix-2)*n1+iz]);
-                    Jx = RA[ipml]*(dpx - dt*Vxpml[n1*npml+iz*npml+ipml]);
-                    Vxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    vx[ix*n1+iz] -= rox[ix*n1+iz]*Jx;
-                    ipml++;
-                }
-            }
-        }
-        
-	} /* end acoustic PML */
-  
-    
-    
-    
-/************************************************************/
-/* Tapered boundaries for both elastic and acoustic schemes */
-/* compute all field values in tapered areas				*/
-/************************************************************/
-
-	/*********/
-	/*  Top  */
-	/*********/
-	if (bnd.top==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ioXz-bnd.ntap;
-			ize = mod.ioXz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-
-					vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-			
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ioZz-bnd.ntap;
-			ize = mod.ioZz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-
-					vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ioXz-bnd.ntap;
-			ize = mod.ioXz;
-
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-					vx[ix*n1+iz]   *= bnd.tapx[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-										txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-									c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-										txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ioZz-bnd.ntap;
-			ize = mod.ioZz;
-	
-			ib = (bnd.ntap+izo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-					vz[ix*n1+iz] *= bnd.tapz[ib-iz];
-				}
-			}
-			/* right top corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-			/* left top corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (bnd.ntap+izo-1);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(ibz-iz)];
-					}
-				}
-			}
-
-		
-		} /* end elastic scheme */
-	}
-	
-	/*********/
-	/* Bottom */
-	/*********/
-	if (bnd.bot==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ieXz;
-			ize = mod.ieXz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-					vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-									c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-
-
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ieZz;
-			ize = mod.ieZz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-					vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-									c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-									c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			
-  
-		}
-		else { /* Elastic scheme */
-
-			/* Vx field */
-			ixo = mod.ioXx;
-			ixe = mod.ieXx;
-			izo = mod.ieXz;
-			ize = mod.ieXz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-
-					vx[ix*n1+iz]   *= bnd.tapx[iz-ib];
-				}
-			}
-			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieXx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-						vx[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				
-
-				ixo = mod.ioXx-bnd.ntap;
-				ixe = mod.ioXx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-				
-				
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-						
-						vx[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-	
-			/* Vz field */
-			ixo = mod.ioZx;
-			ixe = mod.ieZx;
-			izo = mod.ieZz;
-			ize = mod.ieZz+bnd.ntap;
-			
-			ib = (ize-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-
-					vz[ix*n1+iz] *= bnd.tapz[iz-ib];
-				}
-			}
- 			/* right bottom corner */
-			if (bnd.rig==4) {
-				ixo = mod.ieZx;
-				ixe = ixo+bnd.ntap;
-				ibz = (izo);
-				ibx = (ixo);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ix-ibx)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
-			/* left bottom corner */
-			if (bnd.lef==4) {
-				ixo = mod.ioZx-bnd.ntap;
-				ixe = mod.ioZx;
-				ibz = (izo);
-				ibx = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-				for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-					for (iz=izo; iz<ize; iz++) {
-						vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-						
-						vz[ix*n1+iz]   *= bnd.tapxz[(ibx-ix)*bnd.ntap+(iz-ibz)];
-					}
-				}
-			}
- 
-			
-		} /* end elastic scheme */
-		
-	}
-	
-	/*********/
-	/* Left  */
-	/*********/
-	if (bnd.lef==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx-bnd.ntap;
-			ixe = mod.ioXx;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-					
-					vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ioZx-bnd.ntap;
-			ixe = mod.ioZx;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-					
-					vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-				}
-			}
-
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ioXx-bnd.ntap;
-			ixe = mod.ioXx;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-					
-					vx[ix*n1+iz]   *= bnd.tapx[ib-ix];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ioZx-bnd.ntap;
-			ixe = mod.ioZx;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			
-			ib = (bnd.ntap+ixo-1);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-					
-					vz[ix*n1+iz] *= bnd.tapz[ib-ix];
-				}
-			}
-		} /* end elastic scheme */
-		
-	}
-
-	/*********/
-	/* Right */
-	/*********/
-	if (bnd.rig==4) {
-		
-		if (mod.ischeme <= 2) { /* Acoustic scheme */
-			
-			/* Vx field */
-			ixo = mod.ieXx;
-			ixe = mod.ieXx+bnd.ntap;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-		
-			ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[(ix-1)*n1+iz]) +
-								c2*(tzz[(ix+1)*n1+iz] - tzz[(ix-2)*n1+iz]));
-	
-					vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-				}
-			}
-		
-			/* Vz field */
-			ixo = mod.ieZx;
-			ixe = mod.ieZx+bnd.ntap;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			
-			ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]   - tzz[ix*n1+iz-1]) +
-								c2*(tzz[ix*n1+iz+1] - tzz[ix*n1+iz-2]));
-	
-					vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-				}
-			}
-		
-		}
-		else { /* Elastic scheme */
-			
-			/* Vx field */
-			ixo = mod.ieXx;
-			ixe = mod.ieXx+bnd.ntap;
-			izo = mod.ioXz;
-			ize = mod.ieXz;
-			
-			ib = (ixe-bnd.ntap);
-#pragma omp for private(ix,iz)
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vx[ix*n1+iz] -= rox[ix*n1+iz]*(
-								c1*(txx[ix*n1+iz]	 - txx[(ix-1)*n1+iz] +
-									txz[ix*n1+iz+1]   - txz[ix*n1+iz])	+
-								c2*(txx[(ix+1)*n1+iz] - txx[(ix-2)*n1+iz] +
-									txz[ix*n1+iz+2]   - txz[ix*n1+iz-1])  );
-	
-					vx[ix*n1+iz]   *= bnd.tapx[ix-ib];
-				}
-			}
-			
-			/* Vz field */
-			ixo = mod.ieZx;
-			ixe = mod.ieZx+bnd.ntap;
-			izo = mod.ioZz;
-			ize = mod.ieZz;
-			ib = (ixe-bnd.ntap);
-#pragma omp for private (ix, iz) 
-			for (ix=ixo; ix<ixe; ix++) {
-#pragma ivdep
-				for (iz=izo; iz<ize; iz++) {
-					vz[ix*n1+iz] -= roz[ix*n1+iz]*(
-								c1*(tzz[ix*n1+iz]	 - tzz[ix*n1+iz-1] +
-									txz[(ix+1)*n1+iz] - txz[ix*n1+iz])  +
-								c2*(tzz[ix*n1+iz+1]   - tzz[ix*n1+iz-2] +
-									txz[(ix+2)*n1+iz] - txz[(ix-1)*n1+iz])  );
-	
-					vz[ix*n1+iz] *= bnd.tapz[ix-ib];
-				}
-			}
-/*
-			for (ix=ixo-5; ix<ixo+5; ix++) {
-				for (iz=0; iz<5; iz++) {
-			fprintf(stderr,"edge ix=%d iz=%d vz=%e roz=%e tzz=%e txz=%e txx=%e lam=%e l2m=%e\n", ix, iz, vz[ix*n1+iz], roz[ix*n1+iz],
-tzz[ix*n1+iz], txz[ix*n1+iz], txx[ix*n1+iz], lam[ix*n1+iz], l2m[ix*n1+iz]);
-				}
-			}
-*/
-		
-		} /* end elastic scheme */
-
-	}
-
-
-	return 0;
-} 
-	
-int boundariesV(modPar mod, bndPar bnd, float *vx, float *vz, float *tzz, float *txx, float *txz, float *rox, float *roz, float *l2m, float *lam, float *mul, int itime, int verbose)
-{
-/*********************************************************************
-	 
-	AUTHOR:
-	Jan Thorbecke (janth@xs4all.nl)
-	 The Netherlands 
-	 
-***********************************************************************/
-
-	float c1, c2;
-	float dp, dvx, dvz;
-	int   ix, iz, ixs, izs, izp, ib;
-    int   nx, nz, n1, n2;
-	int   is0, isrc;
-	int   ixo, ixe, izo, ize;
-    int   npml, ipml, pml;
-    float kappu, alphu, sigmax, R, a, m, fac, dx, dt;
-    float *p;
-    static float *Pxpml, *Pzpml, *sigmu, *RA;
-	static int allocated=0;
-    float Jx, Jz, rho, d;
-    
-    c1 = 9.0/8.0;
-    c2 = -1.0/24.0;
-    nx  = mod.nx;
-    nz  = mod.nz;
-    n1  = mod.naz;
-    n2  = mod.nax;
-    dx  = mod.dx;
-    dt  = mod.dt;
-    fac = dt/dx;
-    if ( (bnd.top==2) || (bnd.bot==2) || (bnd.lef==2) || (bnd.rig==2) ) pml=1;
-	else pml=0;
-
-/************************************************************/
-/* PML boundaries for acoustic schemes                      */
-/* compute all field values in tapered areas				*/
-/************************************************************/	
-   
-    npml=bnd.npml; /* lenght of pml in grid-points */
-    if ( (npml != 0) && (itime==0) && pml) {
-#pragma omp master
-{
-		if (allocated) {
-            free(Pxpml);
-        	free(Pzpml);
-        	free(sigmu);
-        	free(RA);
-		}
-        Pxpml = (float *)calloc(2*n1*npml,sizeof(float));
-        Pzpml = (float *)calloc(2*n2*npml,sizeof(float));
-        sigmu = (float *)calloc(npml,sizeof(float));
-        RA    = (float *)calloc(npml,sizeof(float));
-		allocated = 1;
-        
-        /* calculate sigmu and RA only once with fixed velocity Cp */
-        m=bnd.m; /* scaling order */
-        R=bnd.R; /* the theoretical reflection coefficient after discretization */
-        kappu = 1.0; /* auxiliary attenuation coefficient for small angles */
-        alphu=0.0; /* auxiliary attenuation coefficient  for low frequencies */
-        d = (npml-1)*dx; /* depth of pml */
-        /* sigmu attenuation factor representing the loss in the PML depends on the grid position in the PML */
-        
-        sigmax = ((3.0*mod.cp_min)/(2.0*d))*log(1.0/R);
-        for (ib=0; ib<npml; ib++) { /* ib=0 interface between PML and interior */
-            a = (float) (ib/(npml-1.0));
-            sigmu[ib] = sigmax*pow(a,m);
-            RA[ib] = (1.0)/(1.0+0.5*dt*sigmu[ib]);
-//            if (verbose>=3) vmess("PML: sigmax=%e cp=%e sigmu[%d]=%e %e\n", sigmax, mod.cp_min, ib, sigmu[ib], a);
-        }
-}
-    }
-
-#pragma omp barrier
-    if (mod.ischeme == 1 && pml) { /* Acoustic scheme PML's */
-        p = tzz; /* Tzz array pointer points to P-field */
-        
-        if (bnd.top==2) mod.ioPz += bnd.npml;
-        if (bnd.bot==2) mod.iePz -= bnd.npml;
-        if (bnd.lef==2) mod.ioPx += bnd.npml;
-        if (bnd.rig==2) mod.iePx -= bnd.npml;
-
-        /* PML top P */
-        if (bnd.top == 2) {
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jz, ipml) 
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz+dvx);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML left P */
-        if (bnd.lef == 2) {
-            /* PML left P-Vx-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jx, ipml) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx+dvz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML corner left-top P */
-        if (bnd.lef == 2 && bnd.top == 2) {
-            /* PML left P-Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml) 
-            for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml--;
-                }
-            }
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml) 
-            for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML right P */
-        if (bnd.rig == 2) {
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jx, ipml) 
-            for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx+dvz);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner right-top P */
-        if (bnd.rig == 2 && bnd.top == 2) {
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml) 
-            for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml++;
-                }
-            }
-            /* PML top P-Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml) 
-            for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                ipml = npml-1;
-                for (iz=mod.ioPz-npml; iz<mod.ioPz; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[ix*npml+ipml];
-                    Pzpml[ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml--;
-                }
-            }
-        }
-        
-        /* PML bottom P */
-        if (bnd.bot == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvx, dvz, Jz, ipml)
-            for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz+dvx);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner bottom-right P */
-        if (bnd.bot == 2 && bnd.rig == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml)
-            for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml++;
-                }
-            }
-            /* PML right P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml)
-            for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                ipml = 0;
-                for (ix=mod.iePx; ix<mod.iePx+npml; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[n1*npml+iz*npml+ipml];
-                    Pxpml[n1*npml+iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    //p[ix*n1+iz] -= l2m[ix*n1+iz]*(dvx);
-                    ipml++;
-                }
-            }
-        }
-        
-        /* PML corner left-bottom P */
-        if (bnd.bot == 2 && bnd.lef == 2) {
-            /* PML bottom P Vz-component */
-#pragma omp for private (ix, iz, dvz, Jz, ipml)
-            for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                ipml = 0;
-                for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                    dvz = c1*(vz[ix*n1+iz+1]   - vz[ix*n1+iz]) +
-                          c2*(vz[ix*n1+iz+2]   - vz[ix*n1+iz-1]);
-                    Jz = RA[ipml]*dvz - RA[ipml]*dt*Pzpml[n2*npml+ix*npml+ipml];
-                    Pzpml[n2*npml+ix*npml+ipml] += sigmu[ipml]*Jz;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jz);
-                    ipml++;
-                }
-            }
-            /* PML left P Vx-component */
-#pragma omp for private (ix, iz, dvx, Jx, ipml)
-            for (iz=mod.iePz; iz<mod.iePz+npml; iz++) {
-                ipml = npml-1;
-                for (ix=mod.ioPx-npml; ix<mod.ioPx; ix++) {
-                    dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-                          c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-                    Jx = RA[ipml]*dvx - RA[ipml]*dt*Pxpml[iz*npml+ipml];
-                    Pxpml[iz*npml+ipml] += sigmu[ipml]*Jx;
-                    p[ix*n1+iz] -= l2m[ix*n1+iz]*(Jx);
-                    ipml--;
-                }
-            }
-        }
-        if (bnd.top==2) mod.ioPz -= bnd.npml;
-        if (bnd.bot==2) mod.iePz += bnd.npml;
-        if (bnd.lef==2) mod.ioPx -= bnd.npml;
-        if (bnd.rig==2) mod.iePx += bnd.npml;
-
-    } /* end acoustic PML */
-
-
-	
-/****************************************************************/	
-/* Free surface: calculate free surface conditions for stresses */
-/****************************************************************/
-
-	
-	ixo = mod.ioPx;
-	ixe = mod.iePx;
-	izo = mod.ioPz;
-	ize = mod.iePz;
-
-	if (mod.ischeme <= 2) { /* Acoustic scheme */
-		if (bnd.top==1) { /* free surface at top */
-#pragma omp	for private (ix) nowait
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				tzz[ix*n1+iz] = 0.0;
-			}
-		}
-		if (bnd.rig==1) { /* free surface at right */
-#pragma omp	for private (iz) nowait
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				tzz[(mod.iePx-1)*n1+iz] = 0.0;
-			}
-		}
-		if (bnd.bot==1) { /* free surface at bottom */
-#pragma omp	for private (ix) nowait
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				tzz[ix*n1+mod.iePz-1] = 0.0;
-			}
-		}
-		if (bnd.lef==1) { /* free surface at left */
-#pragma omp	for private (iz) nowait
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				tzz[(mod.ioPx-1)*n1+iz] = 0.0;
-			}
-		}
-	}
-	else { /* Elastic scheme */
-/* The implementation for a topgraphy surface is not yet correct */
-		
-		/* Free surface: calculate free surface conditions for stresses 
-		 *	 Conditions (for upper boundary):
-		 *	 1. Tzz = 0
-		 *	 2. Txz = 0
-		 *	 3. Txx: remove term with dVz/dz, computed in e2/e4 routines
-		 *			 and add extra term with dVx/dx,
-		 *			 corresponding to free-surface condition for Txx.
-		 *			 In this way, dVz/dz is not needed in computing Txx
-		 *			 on the upper stress free boundary. Other boundaries
-		 *			 are treated similar.
-		 *			 For the 4th order schemes, the whole virtual boundary
-		 *			 must be taken into account in the removal terms, 
-		 *			 because the algorithm sets
-		 *			 velocities on this boundary!
-		 *
-		 *	Compute the velocities on the virtual boundary to make interpolation
-		 *	possible for receivers. 
-		 */
-		
-		if (bnd.top==1) { /* free surface at top */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					/* clear normal pressure */
-					tzz[ix*n1+iz] = 0.0;
-
-					/* This update to Vz might become unstable (2nd order scheme) */
-//					vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//					lam[ix*n1+iz]/l2m[ix*n1+iz];
-				}
-				izp=iz;
-			}
-
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz) 
-			for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					/* assure that txz=0 on boundary by filling virtual boundary */
-					txz[ix*n1+iz] = -txz[ix*n1+iz+1];
-					/* extra line of txz has to be copied */
-					txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-				}
-				izp=iz;
-			}
-
-			/* calculate txx on top stress-free boundary */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvx) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix];
-				if ( izp==iz ) {
-					if (l2m[ix*n1+iz]!=0.0) {
-						dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-						dvx = c1*(vx[(ix+1)*n1+iz] - vx[(ix)*n1+iz]) +
-						  	c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-						txx[ix*n1+iz] = -dvx*dp;
-					}
-				}
-				izp=iz;
-			}
-			
-			/* if surface has also left or right edges */
-			izp = bnd.surface[ixo];
-#pragma omp for private (ix, iz, dp, dvz) 
-			for (ix=mod.ioPx+1; ix<mod.iePx; ix++) {
-				iz = bnd.surface[ix-1];
-				if ( izp < iz ) { /* right boundary */
-					/* clear normal pressure */
-					txx[ix*n1+iz] = 0.0;
-					if ( (iz-izp) >= 2 ) { /* VR point */
-						/* assure that txz=0 on boundary */
-						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-						/* calculate tzz on right stress-free boundary */
-						if (l2m[ix*n1+iz]!=0.0) {
-							dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-							c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-							dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-							tzz[ix*n1+iz] = -dvz*dp;
-						}
-					}
-					else {
-							if (izp) { /* IR point */   
-//											  txz[ix*n1+iz] = -txz[ix*n1+iz+1] ;
-//											  txz[ix*n1+iz-1] = -txz[ix*n1+iz+2];
-//						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-//						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-//						tzz[ix*n1+iz] = 0.0;
-						}
-							else { /* OR point */
-//						txz[(ix-1)*n1+iz] = 0.0;
-//						txz[(ix+1)*n1+iz] = -txz[ix*n1+iz];
-//						txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-//						if (l2m[ix*n1+iz]!=0.0) {
-//							vz[ix*n1+iz] = vz[ix*n1+iz+1] - (vx[(ix+1)*n1+iz]-vx[ix*n1+iz])*
-//							   lam[ix*n1+iz]/l2m[ix*n1+iz];
-//						}
-							}
-					}
-				} /* end if right */
-				if ( izp > iz ) { /* left boundary */
-					/* clear normal pressure */
-					txx[ix*n1+iz] = 0.0;
-					/* assure that txz=0 on boundary */
-					txz[(ix-1)*n1+iz] = -txz[ix*n1+iz];
-					/* extra line of txz has to be copied */
-					txz[(ix-2)*n1+iz] = -txz[(ix+1)*n1+iz] ;
-					/* calculate tzz on left stress-free boundary */
-					dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-					c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-					if (l2m[ix*n1+iz]!=0.0) {
-						dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-				   		tzz[ix*n1+iz] = -dvz*dp;
-					}
-				} /* end if left */
-				izp=iz;
-//		fprintf(stderr,"V4 ix=2123 iz=1 tzz=%e\n", tzz[2123*n1+1]);
-				//		  izp=bnd.surface[MAX(ix-2,0)];;
-			} /* end ix loop */
-		}
-		
-		
-		if (bnd.rig==1) { /* free surface at right */
-			ix = mod.iePx;
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				/* clear normal pressure */
-				txx[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (iz) 
-			for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[(ix+1)*n1+iz] = -txz[(ix)*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[(ix+2)*n1+iz] = -txz[(ix-1)*n1+iz] ;
-			}
-			/* calculate tzz on right stress-free boundary */
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				dvz = c1*(vz[(ix)*n1+iz+1] - vz[(ix)*n1+iz]) +
-					  c2*(vz[(ix)*n1+iz+2] - vz[(ix)*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[(ix)*n1+iz]-lam[(ix)*n1+iz]*lam[(ix)*n1+iz]/l2m[(ix)*n1+iz];
-					tzz[(ix)*n1+iz] = -dvz*dp;
-				}
-			}
-		}
-		
-		
-		if (bnd.bot==1) { /* free surface at bottom */
-			iz = mod.iePz;
-#pragma omp for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				/* clear normal pressure */
-				tzz[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (ix) 
-			for (ix=mod.ioTx; ix<mod.ieTx; ix++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[ix*n1+iz+1] = -txz[ix*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[ix*n1+iz+2] = -txz[ix*n1+iz-1];
-			}
-			/* calculate txx on bottom stress-free boundary */
-#pragma omp for private (ix) 
-			for (ix=mod.ioPx; ix<mod.iePx; ix++) {
-				dvx = c1*(vx[(ix+1)*n1+iz] - vx[ix*n1+iz]) +
-					  c2*(vx[(ix+2)*n1+iz] - vx[(ix-1)*n1+iz]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-					txx[ix*n1+iz] = -dvx*dp;
-				}
-			}
-		}
-		
-		if (bnd.lef==1) { /* free surface at left */
-			ix = mod.ioPx;
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				/* clear normal pressure */
-				txx[ix*n1+iz] = 0.0;
-			}
-#pragma omp for private (iz) 
-			for (iz=mod.ioTz; iz<mod.ieTz; iz++) {
-				/* assure that txz=0 on boundary by filling virtual boundary */
-				txz[(ix)*n1+iz] = -txz[(ix+1)*n1+iz];
-				/* extra line of txz has to be copied */
-				txz[(ix-1)*n1+iz] = -txz[(ix+2)*n1+iz] ;
-			}
-			/* calculate tzz on left stress-free boundary */
-#pragma omp for private (iz) 
-			for (iz=mod.ioPz; iz<mod.iePz; iz++) {
-				dvz = c1*(vz[ix*n1+iz+1] - vz[ix*n1+iz]) +
-					  c2*(vz[ix*n1+iz+2] - vz[ix*n1+iz-1]);
-				if (l2m[ix*n1+iz]!=0.0) {
-					dp = l2m[ix*n1+iz]-lam[ix*n1+iz]*lam[ix*n1+iz]/l2m[ix*n1+iz];
-					tzz[ix*n1+iz] = -dvz*dp;
-				}
-			}
-		}
-
-		
-	}
-	
-	return 0;
-}
diff --git a/fdelmodc/fdelmodc b/fdelmodc/fdelmodc
deleted file mode 100755
index 2490595cb11059d767c62d36f5e165bc82028adc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 586080
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%0AC=5}X|G=y$IdokJVs?tOJa$tkKt?|IYErlW!?VM
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
SEW~}vpC_A9k4U${i|4;Z`_&5o

diff --git a/raytime/JespersRayTracer.c b/raytime/JespersRayTracer.c
index 67e590a..bc49d04 100644
--- a/raytime/JespersRayTracer.c
+++ b/raytime/JespersRayTracer.c
@@ -178,10 +178,8 @@ int getWaveParameter(float *slowness, icoord size, float dgrid, fcoord s, fcoord
 
 int getnRay(icoord size, fcoord s, fcoord r, float dx, int nRayStep)
 {
-    float x, y, z;
     int dn, nRayTmp;
     float dl, dr;
-    fcoord position;
     
     H = (size.z-1)*dx;
     L = (size.x-1)*dx;
@@ -230,7 +228,6 @@ int traceTwoPoint(fcoord s, fcoord r, int nRay, fcoord *rayReference3D)
 int calculatePerturbedRay(fcoord *rayPerturbed3D, fcoord s, fcoord r, int nRay, fcoord *rayReference3D, float *slowness, icoord size)
 {
     float si, sl, deltaS, gso, angle, qx, qz;
-    float xTmp, yTmp, zTmp;
     int i;
     
     sl = sqrt(pow((r.x-s.x), 2) + pow((r.y-s.y), 2) + pow((r.z-s.z), 2));
diff --git a/raytime/Makefile b/raytime/Makefile
index 6d454e7..0d70c1b 100644
--- a/raytime/Makefile
+++ b/raytime/Makefile
@@ -7,7 +7,7 @@ include ../Make_include
 ALLINC  = -I.
 LIBS    += -L$L -lgenfft -lm $(LIBSM)
 #LIBS    += -L$L -lgenfft -lm -lc
-#OPTC = -g -Wall -fsignaling-nans -O0
+OPTC = -g -Wall -fsignaling-nans -O0
 #OPTC += -fopenmp -Waddress
 #OPTC := $(subst -O3 -ffast-math, -O1 -g ,$(OPTC))
 #PGI options for compiler feedback
diff --git a/raytime/getParameters.c b/raytime/getParameters.c
index 265b823..1651e1a 100644
--- a/raytime/getParameters.c
+++ b/raytime/getParameters.c
@@ -26,43 +26,28 @@ int optncr(int n);
 
 int getModelInfo(char *file_name, int *n1, int *n2, float *d1, float *d2, float *f1, float *f2, float *min, float *max, int *axis, int zeroch, int verbose);
 
-int getWaveletInfo(char *file_src, int *n1, int *n2, float *d1, float *d2, float *f1, float *f2, float *fmax, int *nxm, int verbose);
- 
-int getWaveletHeaders(char *file_src, int n1, int n2, float *gx, float *sx, float *gelev, float *selev, int verbose);
-
-
 int recvPar(recPar *rec, float sub_x0, float sub_z0, float dx, float dz, int nx, int nz);
 
 int writesufile(char *filename, float *data, int n1, int n2, float f1, float f2, float d1, float d2);
 
 int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *src, shotPar *shot, bndPar *bnd, rayPar *ray, int verbose)
 {
-	int isnapmax1, isnapmax2, isnapmax, sna_nrsna;
-	int n1, n2, nx, nz, nsrc, ix, axis, ioPz, is0, optn;
+	int nx, nz, nsrc, ix, axis, is0;
 	int idzshot, idxshot;
 	int src_ix0, src_iz0, src_ix1, src_iz1;
-	int disable_check;
-	float cp_min, cp_max, cs_min, cs_max, ro_min, ro_max;
-	float stabfactor,dispfactor, cmin, dt, fmax, scl, wfct, tapfact;
-	float zstart, xstart,d1,d2,f1,f2,sub_x0,sub_z0;
+	float cp_min, cp_max;
+	float sub_x0,sub_z0;
 	float srcendx, srcendz, dx, dz;
-	float xsrc, zsrc, dxshot, dzshot, dtshot;
+	float xsrc, zsrc, dxshot, dzshot;
 	float dxrcv,dzrcv,dxspread,dzspread;
-	float tsnap1, tsnap2, dtsnap, dxsnap, dzsnap, dtrcv;
-	float xsnap1, xsnap2, zsnap1, zsnap2, xmax, zmax;
-	float xsrc1, xsrc2, zsrc1, zsrc2, tsrc1, tsrc2, tlength, tactive;
-	float src_angle, src_velo, p, grad2rad, rdelay, scaledt;
+	float xmax, zmax;
+	float xsrc1, xsrc2, zsrc1, zsrc2;
 	float *xsrca, *zsrca, rrcv;
 	float rsrc, oxsrc, ozsrc, dphisrc, ncsrc;
 	size_t nsamp;
-	int i, j;
-	int cfree;
-	int tapleft,tapright,taptop,tapbottom;
 	int nxsrc, nzsrc;
-	int largeSUfile;
-	int is,ntraces,length_random;
-	float rand;
-	char *src_positions, tmpname[1024];
+	int is;
+	char *src_positions;
 
 	if (!getparint("verbose",&verbose)) verbose=0;
 
@@ -82,15 +67,6 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 	mod->nz = nz;
 	mod->nx = nx;
 	
-    if(!getparfloat("dt",&mod->dt)) mod->dt = 0.004;
-	if(!getparfloat("tmod",&mod->tmod)) mod->tmod=1.0;
-
-	assert(mod->dt!=0.0);
-	/* check if receiver delays is defined; option inactive: add delay time to total modeling time */
-	if (!getparfloat("rec_delay",&rdelay)) rdelay=0.0;
-	rec->delay=NINT(rdelay/mod->dt);
-	dt = mod->dt;
-
     /* origin of model in real (non-grid) coordinates */
 	mod->x0 = sub_x0;
 	mod->z0 = sub_z0;
@@ -98,14 +74,6 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 	zmax = sub_z0+(nz-1)*dz;
 
 	if (verbose) {
-		vmess("*******************************************");
-		vmess("************** general info ***************");
-		vmess("*******************************************");
-		vmess("tmod    = %f",mod->tmod);
-		vmess("ntsam   = %d   dt      = %f(%e)",mod->nt, mod->dt, mod->dt);
-		if (mod->ischeme == 1) vmess("Acoustic grid pressure");
-		if (mod->grid_dir) vmess("Time reversed modelling");
-		else vmess("Forward modelling");
 		vmess("*******************************************");
 		vmess("*************** model info ****************");
 		vmess("*******************************************");
@@ -121,9 +89,6 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
     
 	if (!getparfloat("xsrc",&xsrc)) xsrc=sub_x0+((nx-1)*dx)/2.0;
 	if (!getparfloat("zsrc",&zsrc)) zsrc=sub_z0;
-//	if (!getparint("nsrc",&nsrc)) nsrc=1;
-
-	//if (!getparint("nshot",&shot->n)) shot->n=1;
 	if (!getparint("nxshot",&shot->nx)) shot->nx=1;
 	if (!getparint("nzshot",&shot->nz)) shot->nz=1;
 	if (!getparfloat("dxshot",&dxshot)) dxshot=dx;
@@ -228,56 +193,26 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 	/* number of sources per shot modeling */
 
 	if (!getparint("src_window",&src->window)) src->window=0;
-	if (!getparfloat("src_angle",&src_angle)) src_angle=0.;
-	if (!getparfloat("src_velo",&src_velo)) src_velo=1500.;
 	if (!getparint("distribution",&src->distribution)) src->distribution=0;
 	if (!getparfloat("amplitude", &src->amplitude)) src->amplitude=0.0;
-	if (!getparfloat("tlength", &tlength)) tlength=mod->dt*(mod->nt-1);
 	if (src->random && nxsrc==0) {
 		if (!getparint("nsrc",&nsrc)) nsrc=1;
 		if (!getparfloat("xsrc1", &xsrc1)) xsrc1=sub_x0;
 		if (!getparfloat("xsrc2", &xsrc2)) xsrc2=xmax;
 		if (!getparfloat("zsrc1", &zsrc1)) zsrc1=sub_z0;
 		if (!getparfloat("zsrc2", &zsrc2)) zsrc2=zmax;
-		if (!getparfloat("tsrc1", &tsrc1)) tsrc1=0.0;
-		if (!getparfloat("tsrc2", &tsrc2)) tsrc2=mod->tmod;
-		if (!getparfloat("tactive", &tactive)) tactive=tsrc2;
-		tsrc2  = MIN(tsrc2, mod->tmod);
-		if (!getparfloat("tlength", &tlength)) tlength=tsrc2-tsrc1;
-		if (!getparint("length_random", &length_random)) length_random=1;
 		dxshot = xsrc2-xsrc1;
 		dzshot = zsrc2-zsrc1;
-		dtshot = tsrc2-tsrc1;
-		src->tbeg = (float *)malloc(nsrc*sizeof(float));
-		src->tend = (float *)malloc(nsrc*sizeof(float));
 		src->x = (int *)malloc(nsrc*sizeof(int));
 		src->z = (int *)malloc(nsrc*sizeof(int));
 		nsamp = 0;
 
-/* write time and length of source signals */
-
-		if (verbose>3) {
-			float *dum;
-			dum = (float *)calloc(mod->nt, sizeof(float));
-			for (is=0; is<nsrc; is++) {
-				dum[(int)floor(src->tbeg[is]/mod->dt)] = src->tend[is]-src->tbeg[is];
-			}
-			FILE *fp;
-			sprintf(tmpname,"srcTimeLengthN=%d.bin",mod->nt);
-			fp = fopen(tmpname, "w+");
-			fwrite(dum, sizeof(float), mod->nt, fp);
-			fclose(fp);
-			free(dum);
-		}
-
 	}
 	else if (nxsrc != 0) {
 		/* source array is defined */
 		nsrc=nxsrc;
 		src->x = (int *)malloc(nsrc*sizeof(int));
 		src->z = (int *)malloc(nsrc*sizeof(int));
-		src->tbeg = (float *)malloc(nsrc*sizeof(float));
-		src->tend = (float *)malloc(nsrc*sizeof(float));
 		xsrca = (float *)malloc(nsrc*sizeof(float));
 		zsrca = (float *)malloc(nsrc*sizeof(float));
 		getparfloat("xsrca", xsrca);
@@ -285,7 +220,6 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 		for (is=0; is<nsrc; is++) {
 			src->x[is] = NINT((xsrca[is]-sub_x0)/dx);
 			src->z[is] = NINT((zsrca[is]-sub_z0)/dz);
-			src->tbeg[is] = 0.0;
 			if (verbose>3) fprintf(stderr,"Source Array: xsrc[%d]=%f zsrc=%f\n", is, xsrca[is], zsrca[is]);
 		}
 		src->random = 1;
@@ -306,24 +240,6 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 
 		src->x = (int *)malloc(nsrc*sizeof(int));
 		src->z = (int *)malloc(nsrc*sizeof(int));
-		src->tbeg = (float *)malloc(nsrc*sizeof(float));
-		src->tend = (float *)malloc(nsrc*sizeof(float));
-		grad2rad = 17.453292e-3;
-		p = sin(src_angle*grad2rad)/src_velo;
-		if (p < 0.0) {
-			for (is=0; is<nsrc; is++) {
-				src->tbeg[is] = fabsf((nsrc-is-1)*dx*p);
-			}
-		}
-		else {
-			for (is=0; is<nsrc; is++) {
-				src->tbeg[is] = is*dx*p;
-			}
-		}
-		for (is=0; is<nsrc; is++) {
-			src->tend[is] = src->tbeg[is] + (wav->nt-1)*wav->dt;
-		}
-		
 		is0 = -1*floor((nsrc-1)/2);
 		for (is=0; is<nsrc; is++) {
 			src->x[is] = is0 + is;
@@ -340,15 +256,11 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 			vmess("*********** source array info *************");
 			vmess("*******************************************");
 			vmess("Areal source array is defined with %d sources.",nsrc);
-/*			vmess("Memory requirement for sources = %.2f MB.",sizeof(float)*(wav->nx*(wav->nt/(1024.0*1024.0))));*/
 			vmess("Memory requirement for sources = %.2f MB.",sizeof(float)*(nsamp/(1024.0*1024.0)));
-			if (src->plane) vmess("Computed p-value = %f.",p);
 		}
 		if (src->random) {
 		vmess("Sources are placed at random locations in domain: ");
 		vmess(" x[%.2f : %.2f]  z[%.2f : %.2f] ", xsrc1, xsrc2, zsrc1, zsrc2);
-		vmess(" and all start in time window  t[%.3f : %.3f].", tsrc1, tsrc2);
-		vmess(" after time %.3f the sources will not be active anymore.", tactive);
 		}
 	}
 
@@ -357,47 +269,17 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 	if (!getparint("sinkdepth",&rec->sinkdepth)) rec->sinkdepth=0;
 	if (!getparint("sinkdepth_src",&src->sinkdepth)) src->sinkdepth=0;
 	if (!getparint("sinkvel",&rec->sinkvel)) rec->sinkvel=0;
-	if (!getparfloat("dtrcv",&dtrcv)) dtrcv=0.004;
-	/* TODO check if dtrcv is integer multiple of dt */
-	rec->skipdt=NINT(dtrcv/dt);
-	dtrcv = mod->dt*rec->skipdt;
-	if (!getparfloat("rec_delay",&rdelay)) rdelay=0.0;
-	if (!getparint("rec_ntsam",&rec->nt)) rec->nt=NINT((mod->tmod)/dtrcv)+1;
-	if (!getparint("rec_int_p",&rec->int_p)) rec->int_p=0;
-	if (!getparint("rec_int_vx",&rec->int_vx)) rec->int_vx=0;
-	if (!getparint("rec_int_vz",&rec->int_vz)) rec->int_vz=0;
 	if (!getparint("max_nrec",&rec->max_nrec)) rec->max_nrec=15000;
-	if (!getparint("scale",&rec->scale)) rec->scale=0;
 	if (!getparfloat("dxspread",&dxspread)) dxspread=0;
 	if (!getparfloat("dzspread",&dzspread)) dzspread=0;
-	rec->nt=MIN(rec->nt, NINT((mod->tmod)/dtrcv)+1);
-
-/* allocation of receiver arrays is done in recvPar */
-/*
-	rec->max_nrec += rec->max_nrec+1;
-	rec->x  = (int *)calloc(rec->max_nrec,sizeof(int));
-	rec->z  = (int *)calloc(rec->max_nrec,sizeof(int));
-	rec->xr = (float *)calloc(rec->max_nrec,sizeof(float));
-	rec->zr = (float *)calloc(rec->max_nrec,sizeof(float));
-*/
-	
+
 	/* calculates the receiver coordinates */
 	
 	recvPar(rec, sub_x0, sub_z0, dx, dz, nx, nz);
 
-	if (!getparint("rec_type_vz", &rec->type.vz)) rec->type.vz=1;
-	if (!getparint("rec_type_vx", &rec->type.vx)) rec->type.vx=0;
-	if (!getparint("rec_type_ud", &rec->type.ud)) rec->type.ud=0;
-
 	/* receivers are on a circle, use default interpolation to real (not on a grid-point) receiver position */
 	if (getparfloat("rrcv", &rrcv)) { 
 		if (!getparint("rec_int_p",&rec->int_p)) rec->int_p=3;
-		if (!getparint("rec_int_vx",&rec->int_vx)) rec->int_vx=3;
-		if (!getparint("rec_int_vz",&rec->int_vz)) rec->int_vz=3;
-	}
-	if (rec->int_p==3) {
-		rec->int_vx=3;
-		rec->int_vz=3;
 	}
 
 	if (verbose) {
@@ -408,65 +290,14 @@ int getParameters(modPar *mod, recPar *rec, snaPar *sna, wavPar *wav, srcPar *sr
 			vmess("************* receiver info ***************");
 			vmess("*******************************************");
 			vmess("ntrcv   = %d nrcv    = %d ", rec->nt, rec->n);
-			vmess("dtrcv   = %f              ", dtrcv );
 			vmess("dzrcv   = %f dxrcv   = %f ", dzrcv, dxrcv);
-			vmess("time-delay = %f = points = %d",  rdelay, rec->delay);
-			if ( fmax > (1.0/(2.0*dtrcv)) ) {
-				vwarn("Receiver time sampling (dtrcv) is aliased.");
-				vwarn("time sampling should be < %.6f", 1.0/(2.0*fmax) );
-			}
-			vmess("Receiver sampling can be => %.6e", 1.0/(2.0*fmax));
 			vmess("Receiver array at coordinates: ");
 			vmess("zmin    = %f zmax    = %f ", rec->zr[0]+sub_z0, rec->zr[rec->n-1]+sub_z0);
 			vmess("xmin    = %f xmax    = %f ", rec->xr[0]+sub_x0, rec->xr[rec->n-1]+sub_x0);
 			vmess("which are gridpoints: ");
 			vmess("izmin   = %d izmax   = %d ", rec->z[0], rec->z[rec->n-1]);
 			vmess("ixmin   = %d ixmax   = %d ", rec->x[0], rec->x[rec->n-1]);
-			if (rec->type.p) {
-				fprintf(stderr,"    %s: Receiver interpolation for P: ",xargv[0]);
-				if(rec->int_p==0) fprintf(stderr,"p->p\n");
-				if(rec->int_p==1) fprintf(stderr,"p->vz\n");
-				if(rec->int_p==2) fprintf(stderr,"p->vx\n");
-				if(rec->int_p==3) fprintf(stderr,"interpolate to actual (no-grid) position of receiver\n");
-			}
-			if (rec->type.vx) {
-				fprintf(stderr,"    %s: Receiver interpolation for Vx: ",xargv[0]);
-				if(rec->int_vx==0) fprintf(stderr,"vx->vx\n");
-				if(rec->int_vx==1) fprintf(stderr,"vx->vz\n");
-				if(rec->int_vx==2) fprintf(stderr,"vx->txx/tzz\n");
-				if(rec->int_vx==3) fprintf(stderr,"interpolate to real(no-grid) position of receiver\n");
-			}
-			if (rec->type.vz) {
-				fprintf(stderr,"    %s: Receiver interpolation for Vz: ",xargv[0]);
-				if(rec->int_vz==0) fprintf(stderr,"vz->vz\n");
-				if(rec->int_vz==1) fprintf(stderr,"vz->vx\n");
-				if(rec->int_vz==2) fprintf(stderr,"vz->txx/tzz\n");
-				if(rec->int_vz==3) fprintf(stderr,"interpolate to real(no-grid) position of receiver\n");
-			}
-            fprintf(stderr,"    %s: Receiver types        : ",xargv[0]);
-			if (rec->type.vz) fprintf(stderr,"Vz ");
-			if (rec->type.vx) fprintf(stderr,"Vx ");
-			if (rec->type.p) fprintf(stderr,"p ");
-    		if (rec->type.ud) fprintf(stderr,"P+ P- ");
-			if (mod->ischeme>2) {
-				if (rec->type.txx) fprintf(stderr,"Txx ");
-				if (rec->type.tzz) fprintf(stderr,"Tzz ");
-				if (rec->type.txz) fprintf(stderr,"Txz ");
-				if (rec->type.pp) fprintf(stderr,"P ");
-				if (rec->type.ss) fprintf(stderr,"S ");
-			}
 			fprintf(stderr,"\n");
-			if ( ( ((mod->nt*mod->dt-rec->delay)/rec->skipdt)+1) > 16384) {
-				vwarn("Number of samples in receiver file is larger that SU can handle ");
-				vwarn("use the paramater rec_ntsam=nt (with nt < 16384) to avoid this");
-			}
-			if ((mod->nt-rec->delay)*mod->dt > rec->nt*dtrcv) {
-				int nfiles = ceil((mod->nt*mod->dt)/(rec->nt*dtrcv));
-				int lastn = floor((mod->nt)%(rec->nt*rec->skipdt)/rec->skipdt)+1;
-				vmess("Receiver recordings will be written to %d files",nfiles);
-				vmess("Last file will contain %d samples",lastn);
-				
-			}
 		}
 		else {
 		 	vmess("*************** no receivers **************");
diff --git a/raytime/raytime.c b/raytime/raytime.c
index be7fb12..1c1e241 100644
--- a/raytime/raytime.c
+++ b/raytime/raytime.c
@@ -50,7 +50,6 @@ char *sdoc[] = {
 "   file_rcv=recv.su .. base name for receiver files",
 "   dx= ............... read from model file: if dx==0 then dx= can be used to set it",
 "   dz= ............... read from model file: if dz==0 then dz= can be used to set it",
-"   dt= ............... read from file_src: if dt==0 then dt= can be used to set it",
 "" ,
 " RAY TRACING PARAMETERS:",
 "   smoothwindow=0 .... if set lenght of 2/3D smoothing window on slowness",
@@ -133,25 +132,11 @@ int main(int argc, char **argv)
 	bndPar bnd;
 	shotPar shot;
 	rayPar ray;
-	float **src_nwav;
-	float *rox, *roz, *l2m, *lam, *mul;
-	float *tss, *tes, *tep, *p, *q, *r;
-	float *vx, *vz, *tzz, *txz, *txx;
-	float *rec_vx, *rec_vz, *rec_p;
     float *velocity, *slowness;
-	float *rec_txx, *rec_tzz, *rec_txz;
-	float *rec_pp, *rec_ss;
-	float *rec_udp, *rec_udvz;
-	float *beam_vx, *beam_vz, *beam_p;
-	float *beam_txx, *beam_tzz, *beam_txz;
-	float *beam_pp, *beam_ss;	
-	float sinkvel;
-	double t0, t1, t2, t3, tt, tinit;
-	size_t size, sizem, nsamp;
-	int n1, ix, iz, ir, ixshot, izshot, i;
-	int ioPx, ioPz;
-	int it0, it1, its, it, fileno, isam;
-	int ixsrc, izsrc, irec;
+	double t0, t1, tinit;
+	size_t size;
+	int n1, ix, iz, ir, ixshot, izshot;
+	int irec;
     int nRayStep;
     fcoord coordsx, coordgx, Time;
     icoord grid;
@@ -161,7 +146,6 @@ int main(int argc, char **argv)
     size_t  nwrite;
 	int verbose;
     FILE *fpt, *fpa;
-    double ddt;
 
 	t0= wallclock_time();
 	initargs(argc,argv);
@@ -173,7 +157,6 @@ int main(int argc, char **argv)
 	/* allocate arrays for model parameters: the different schemes use different arrays */
 
 	n1 = mod.nz;
-	sizem=mod.nx*mod.nz;
 
 	velocity = (float *)calloc(mod.nx*mod.nz,sizeof(float));
     slowness = (float *)calloc(mod.nx*mod.nz,sizeof(float));
@@ -247,8 +230,7 @@ int main(int argc, char **argv)
         assert(fpa != NULL);
 	}
 
-    ddt        = (double)mod.dt;/* to avoid rounding in 32 bit precision */
-    hdr.dt     = (unsigned short)lround((((double)1.0e6*ddt*rec.skipdt)));
+    hdr.dt     = (unsigned short)1;
     hdr.scalco = -1000;
     hdr.scalel = -1000;
     hdr.trid   = 1;
diff --git a/raytime/readModel.c b/raytime/readModel.c
index 8ac2640..e54c6d1 100644
--- a/raytime/readModel.c
+++ b/raytime/readModel.c
@@ -31,18 +31,12 @@ int readModel(modPar mod, bndPar bnd, float *velocity, float *slowness)
     FILE    *fpcp;
     size_t  nread;
     int i, tracesToDo, j;
-	int n1, ix, iz, nz, nx;
-    int ixo, izo, ixe, ize;
-	int ioXx, ioXz, ioZz, ioZx, ioPx, ioPz, ioTx, ioTz;
-	float cp2, cs2, cs11, cs12, cs21, cs22, mul, mu, lamda2mu, lamda;
-	float cs2c, cs2b, cs2a, cpx, cpz, bx, bz, fac;
-	float a, b;
+	int nz;
     segy hdr;
     
 
 	/* grid size and start positions for the components */
 	nz = mod.nz;
-	nx = mod.nx;
 
 /* open files and read first header */
 
-- 
GitLab