diff --git a/run.sh b/run.sh
index 075379425c8ed28572890696ee63e6e6ea4f07b6..d24482a944778f92eda99640991c249605b8efc2 100644
--- a/run.sh
+++ b/run.sh
@@ -1,2 +1,2 @@
 mkdir -p results restart output
-mpiexec -np 3 src/pafiX
+mpiexec -np 2 src/pafiX
diff --git a/src/makefile b/src/makefile
index c2b1f4eeab0d4494ec5b7eec11aa0e075d3326f4..7537dc190ebfc4c52b821b740118b81b4892f7f7 100644
--- a/src/makefile
+++ b/src/makefile
@@ -15,9 +15,9 @@ INC =
 # gcc:
 CMP = mpifort
 #O3: optimization
-FLAGS   = -O3 -mcmodel=medium 
+#FLAGS   = -O3 -mcmodel=medium 
 #debugging:
-#FLAGS   = -g3 -O0 -fbounds-check -mcmodel=medium -fimplicit-none -fcheck=all -fbacktrace -floop-nest-optimize -ffpe-trap=invalid,zero,overflow -Wconversion -fno-tree-vectorize
+FLAGS   = -g3 -O0 -fbounds-check -mcmodel=medium -fimplicit-none -fcheck=all -fbacktrace -floop-nest-optimize -ffpe-trap=invalid,zero,overflow -Wconversion -fno-tree-vectorize
 FFLAGS  = -c $(FLAGS)
 
 
diff --git a/src/pre.f90 b/src/pre.f90
index 0e8b58cb72c0e5de212a660b5ef7b70e8f536a81..02a2eb6643411a2a43ffa2ac711f31f4cabb99cb 100644
--- a/src/pre.f90
+++ b/src/pre.f90
@@ -73,16 +73,14 @@
       next=myid+1
       prev=myid-1
 
-      if (bcx.eq.'p') then
+      select case (bcx)
+      case ('p')
         if(prev.eq.-1) prev=nrprocs-1
         if(next.eq.nrprocs) next=0
-      elseif (bcx.eq.'w') then
+      case ('w','i') 
         if(prev.eq.-1) prev=mpi_proc_null
         if(next.eq.nrprocs) next=mpi_proc_null
-      elseif (bcx.eq.'i') then
-        if(prev.eq.-1) prev=mpi_proc_null
-        if(next.eq.nrprocs) next=mpi_proc_null
-      endif
+      end select
 
 ! compute flow conditions
       ntend=ntstart+ntime-1
@@ -97,7 +95,10 @@
       muf=nuf*rhof
       ubulk=ubulk0
 
-      if (bcz.eq.'w') delta= dimz/2._pr
+      if (bcy.eq.'w'.and.bcz.eq.'w') delta= min(dimy/2._pr,dimz/2._pr)
+      if (bcy.eq.'w'.and.bcz.eq.'p') delta= dimy/2._pr
+      if (bcy.eq.'p'.and.bcz.eq.'w') delta= dimz/2._pr
+
       Re   = ubulk*delta/nuf
       ftt  = dimxtot/ubulk