Index: /trunk/anuga_core/source/anuga_parallel/parallel_generic_communications.py
===================================================================
--- /trunk/anuga_core/source/anuga_parallel/parallel_generic_communications.py	(revision 8488)
+++ /trunk/anuga_core/source/anuga_parallel/parallel_generic_communications.py	(revision 8489)
@@ -43,6 +43,10 @@
     #Determine minimum timestep across all processors
     pypar.reduce(domain.local_timestep, pypar.MIN, 0,
-                      buffer=domain.global_timestep)#,
-                     #bypass=True)
+                      buffer=domain.global_timestep,
+                      bypass=True)
+
+    #pypar.allreduce(domain.local_timestep, pypar.MIN,
+    #                  buffer=domain.global_timestep,
+    #                  bypass=True)
 
     domain.communication_reduce_time += time.time()-t0
@@ -51,16 +55,12 @@
     #Broadcast minimal timestep to all processors
     t0 = time.time()
-    pypar.broadcast(domain.global_timestep, 0)#,
-                        #bypass=True)
+    pypar.broadcast(domain.global_timestep, 0, bypass=True)
 
     domain.communication_broadcast_time += time.time()-t0
 
-    old_timestep = domain.flux_timestep
+    old_fux_timestep = domain.flux_timestep
     domain.flux_timestep = domain.global_timestep[0]
     
     
-    #Compute minimal timestep on local process
-    #Domain.update_timestep(domain, yieldstep, finaltime)
-
 
 def communicate_ghosts(domain):
@@ -90,5 +90,5 @@
                         Xout[:,i] = num.take(Q_cv, Idf)
 
-                    pypar.send(Xout, int(send_proc), use_buffer=True)
+                    pypar.send(Xout, int(send_proc), use_buffer=True, bypass=True)
 
 
@@ -100,5 +100,5 @@
                 X   = domain.ghost_recv_dict[iproc][2]
 
-                X = pypar.receive(int(iproc), buffer=X)
+                X = pypar.receive(int(iproc), buffer=X, bypass=True)
 
                 for i, q in enumerate(domain.conserved_quantities):
Index: /trunk/anuga_core/source/anuga_parallel/run_parallel_sw_merimbula_profile.py
===================================================================
--- /trunk/anuga_core/source/anuga_parallel/run_parallel_sw_merimbula_profile.py	(revision 8488)
+++ /trunk/anuga_core/source/anuga_parallel/run_parallel_sw_merimbula_profile.py	(revision 8489)
@@ -8,6 +8,6 @@
    where m is the number of processors to be used.
    
-   Will produce sww files with names domain_Pn_m.sww where m is number of processors and
-   n in [0, m-1] refers to specific processor that owned this part of the partitioned mesh.
+   Will produce sww files with names domain_Pn_m.sww where n is number of processors and
+   m in [0, n-1] refers to specific processor that owned this part of the partitioned mesh.
 """
 
@@ -46,6 +46,6 @@
 #mesh_filename = "test-100.tsh" ; x0 = 0.25 ; x1 = 0.5
 
-finaltime = 50
-yieldstep = finaltime
+finaltime = 500
+yieldstep = 50
 verbose = True
 
@@ -82,4 +82,10 @@
 
 #domain.smooth = False
+for id in range(numprocs):
+    if myid == id:
+        print 'Process ID %g' %myid
+        print 'Number of triangles %g ' %domain.get_number_of_triangles()
+
+    barrier()
 
 
@@ -128,13 +134,24 @@
 
 
+barrier()
+
 if myid == 0:
     import pstats
     p = pstats.Stats(prof_file)
-    p.sort_stats('cumulative').print_stats(25)
+    #p.sort_stats('cumulative').print_stats(25)
 
 
     p.sort_stats('time').print_stats(25)
 
+barrier()
 
+
+if myid == 1:
+    import pstats
+    p = pstats.Stats(prof_file)
+    #p.sort_stats('cumulative').print_stats(25)
+
+
+    p.sort_stats('time').print_stats(25)
 
     #p.print_stats()
@@ -146,7 +163,18 @@
 #profiler.close()
 
-
+barrier()
 
 if myid == 0:
+    print 'Process ID %g' %myid
+    print 'Number of processors %g ' %numprocs
+    print 'That took %.2f seconds' %(time.time()-t0)
+    print 'Communication time %.2f seconds'%domain.communication_time
+    print 'Reduction Communication time %.2f seconds'%domain.communication_reduce_time
+    print 'Broadcast time %.2f seconds'%domain.communication_broadcast_time
+
+barrier()
+
+if myid == 1:
+    print 'Process ID %g' %myid
     print 'Number of processors %g ' %numprocs
     print 'That took %.2f seconds' %(time.time()-t0)
@@ -156,4 +184,5 @@
 
 
+
 finalize()
 
