Index: /trunk/anuga_core/source/anuga/shallow_water/forcing.py
===================================================================
--- /trunk/anuga_core/source/anuga/shallow_water/forcing.py	(revision 8300)
+++ /trunk/anuga_core/source/anuga/shallow_water/forcing.py	(revision 8301)
@@ -497,5 +497,5 @@
     def __parallel_safe(self):
 
-        return False
+        return True
 
 class Rainfall(General_forcing):
Index: /trunk/anuga_core/source/anuga_parallel/parallel_operator_factory.py
===================================================================
--- /trunk/anuga_core/source/anuga_parallel/parallel_operator_factory.py	(revision 8300)
+++ /trunk/anuga_core/source/anuga_parallel/parallel_operator_factory.py	(revision 8301)
@@ -36,10 +36,24 @@
 """
 
-def Inlet_operator(domain, line, Q, master_proc = 0, procs = range(0,pypar.size()), debug = False):
+def Inlet_operator(domain, 
+                   line,
+                   Q,
+                   description = None,
+                   label = None,
+                   logging = False,
+                   master_proc = 0,
+                   procs = range(0,pypar.size()),
+                   verbose = False):
 
     # If not parallel domain then allocate serial Inlet operator
     if isinstance(domain, Parallel_domain) is False:
-        if debug: print "Allocating non parallel inlet operator ....."
-        return anuga.structures.inlet_operator.Inlet_operator(domain, line, Q)
+        if verbose: print "Allocating non parallel inlet operator ....."
+        return anuga.structures.inlet_operator.Inlet_operator(domain,
+                                                              line,
+                                                              Q,
+                                                              description = description,
+                                                              label = label,
+                                                              logging = logging,
+                                                              verbose = verbose)
     
 
@@ -47,12 +61,14 @@
 
 
-    alloc, inlet_master_proc, inlet_procs, enquiry_proc = allocate_inlet_procs(domain, line,
+    alloc, inlet_master_proc, inlet_procs, enquiry_proc = allocate_inlet_procs(domain,
+                                                                               line,
                                                                                master_proc = master_proc,
-                                                                               procs = procs, debug = debug)
+                                                                               procs = procs,
+                                                                               verbose = verbose)
 
 
 
     if alloc:
-        if debug and myid == inlet_master_proc:
+        if verbose and myid == inlet_master_proc:
             print "Parallel Inlet Operator ================="
             print "Line = " + str(line)
@@ -61,5 +77,13 @@
             print "========================================="
 
-        return Parallel_Inlet_operator(domain, line, Q, master_proc = inlet_master_proc, procs = inlet_procs)
+        return Parallel_Inlet_operator(domain,
+                                       line,
+                                       Q,
+                                       description = description,
+                                       label = label,
+                                       logging = logging,
+                                       master_proc = inlet_master_proc,
+                                       procs = inlet_procs,
+                                       verbose = verbose)
     else:
         return None
@@ -92,10 +116,9 @@
                        verbose=False,
                        master_proc=0,
-                       procs=range(0,pypar.size()),
-                       debug = False):
+                       procs=range(0,pypar.size())):
 
     # If not parallel domain then allocate serial Boyd box operator
     if isinstance(domain, Parallel_domain) is False:
-        if debug: print "Allocating non parallel boyd box operator ....."
+        if verbose: print "Allocating non parallel boyd box operator ....."
         return anuga.structures.boyd_box_operator.Boyd_box_operator(domain,
                                                                     losses,
@@ -162,5 +185,5 @@
     alloc0, inlet0_master_proc, inlet0_procs, enquiry0_proc = allocate_inlet_procs(domain, line0, enquiry_point =  enquiry_point0,
                                                                                    master_proc = master_proc,
-                                                                                   procs = procs, debug = debug)
+                                                                                   procs = procs, verbose=verbose)
 
     # Determine processors associated with second inlet
@@ -170,5 +193,5 @@
     alloc1, inlet1_master_proc, inlet1_procs, enquiry1_proc = allocate_inlet_procs(domain, line1, enquiry_point =  enquiry_point1,
                                                                                    master_proc = master_proc,
-                                                                                   procs = procs, debug = debug)
+                                                                                   procs = procs, verbose=verbose)
 
     structure_procs = list(set(inlet0_procs + inlet1_procs))
@@ -177,5 +200,5 @@
     enquiry_proc = [enquiry0_proc, enquiry1_proc]
 
-    if myid == master_proc and debug:
+    if myid == master_proc and verbose:
         print "Parallel Boyd Box Operator ============================="
         print "Structure Master Proc is P" + str(inlet0_master_proc)
@@ -284,5 +307,5 @@
         
 
-def allocate_inlet_procs(domain, line, enquiry_point = None, master_proc = 0, procs = range(0, pypar.size()), debug = False):
+def allocate_inlet_procs(domain, line, enquiry_point = None, master_proc = 0, procs = range(0, pypar.size()), verbose = False):
 
     myid = pypar.rank()
@@ -301,5 +324,5 @@
     tri_id = line_intersect(vertex_coordinates, line)
 
-    if debug:
+    if verbose:
         print "P%d has %d triangles on line %s" %(myid, len(tri_id), line)
 
@@ -313,10 +336,10 @@
                 size = size + 1
                 has_enq_point = True
-                if debug: print "P%d has enq point %s" %(myid, enquiry_point)
+                if verbose: print "P%d has enq point %s" %(myid, enquiry_point)
             else:
-                if debug: print "P%d contains ghost copy of enq point %s" %(myid, enquiry_point)
+                if verbose: print "P%d contains ghost copy of enq point %s" %(myid, enquiry_point)
                 has_enq_point = False
         except:
-            if debug: print "P%d does not contain enq point %s" %(myid, enquiry_point)
+            if verbose: print "P%d does not contain enq point %s" %(myid, enquiry_point)
             has_enq_point = False
 
@@ -380,3 +403,3 @@
 
 if __name__ == "__main__":
-    print "Hello World"
+    print "Parallel operator factory"
Index: /trunk/anuga_core/source/anuga_parallel/parallel_shallow_water.py
===================================================================
--- /trunk/anuga_core/source/anuga_parallel/parallel_shallow_water.py	(revision 8300)
+++ /trunk/anuga_core/source/anuga_parallel/parallel_shallow_water.py	(revision 8301)
@@ -220,8 +220,8 @@
             for i in range(0, numprocs):
                 n = int(len(gx[i])/3)
-                            
-                triang = num.array(range(0,3*n))
-                triang.shape = (n, 3)
-                plt.triplot(gx[i], gy[i], triang, 'b--')
+                if n > 0:
+                    triang = num.array(range(0,3*n))
+                    triang.shape = (n, 3)
+                    plt.triplot(gx[i], gy[i], triang, 'b--')
 
             # Save triangulation to location pointed by filename
Index: /trunk/anuga_core/source/anuga_parallel/test_parallel_frac_op.py
===================================================================
--- /trunk/anuga_core/source/anuga_parallel/test_parallel_frac_op.py	(revision 8300)
+++ /trunk/anuga_core/source/anuga_parallel/test_parallel_frac_op.py	(revision 8301)
@@ -154,6 +154,6 @@
     boyd_box0 = None
     
-    inlet0 = Inlet_operator(domain, line0, Q0, debug = False)
-    inlet1 = Inlet_operator(domain, line1, Q1, debug = False)
+    inlet0 = Inlet_operator(domain, line0, Q0, verbose = False)
+    inlet1 = Inlet_operator(domain, line1, Q1, verbose = False)
     
     # Enquiry point [ 19.    2.5] is contained in two domains in 4 proc case
@@ -167,5 +167,5 @@
                                   use_velocity_head=False,
                                   manning=0.013,
-                                  verbose=False, debug = False)
+                                  verbose=False)
         
     if inlet0 is not None: inlet0.print_statistics()
@@ -174,5 +174,5 @@
 
 #    if parallel:
-#        factory = Parallel_operator_factory(domain, debug = True)
+#        factory = Parallel_operator_factory(domain, verbose = True)
 #
 #        inlet0 = factory.inlet_operator_factory(line0, Q0)
@@ -210,5 +210,6 @@
 
     for t in domain.evolve(yieldstep = 0.1, finaltime = 38):
-        domain.write_time()
+        if myid == 0:
+            domain.write_time()
 
         #print domain.volumetric_balance_statistics()
@@ -302,6 +303,6 @@
         test_points = pypar.receive(0)
 
-    print "Test Points::"
-    print test_points
+    #print "Test Points::"
+    #print test_points
 
     if myid == 0:
Index: /trunk/anuga_work/shallow_water_balanced_steve/run_sw_merimbula.py
===================================================================
--- /trunk/anuga_work/shallow_water_balanced_steve/run_sw_merimbula.py	(revision 8300)
+++ /trunk/anuga_work/shallow_water_balanced_steve/run_sw_merimbula.py	(revision 8301)
@@ -26,4 +26,5 @@
 	
 from swb_domain import Domain
+#from anuga import Domain
 from anuga import Reflective_boundary
 from anuga import Dirichlet_boundary
