Index: /anuga_core/source/anuga_parallel/parallel_api.py
===================================================================
--- /anuga_core/source/anuga_parallel/parallel_api.py	(revision 3634)
+++ /anuga_core/source/anuga_parallel/parallel_api.py	(revision 3635)
@@ -7,5 +7,5 @@
 # The Python-MPI interface
 from pypar import size, rank, get_processor_name, finalize, send, receive
-from anuga_parallel.parallel_abstraction import size, rank, get_processor_name, finalize #,send, receive
+#from anuga_parallel.parallel_abstraction import size, rank, get_processor_name, finalize #,send, receive
 from anuga_parallel.pmesh_divide  import pmesh_divide_metis
 from anuga_parallel.build_submesh import build_submesh
@@ -123,5 +123,5 @@
 def distribute_mesh(domain):
 
-    numprocs = pypar.size()
+    numprocs = size()
 
     
Index: /anuga_work/production/karratha_2006/run_karratha.py
===================================================================
--- /anuga_work/production/karratha_2006/run_karratha.py	(revision 3634)
+++ /anuga_work/production/karratha_2006/run_karratha.py	(revision 3635)
@@ -36,5 +36,5 @@
 import project                 # Definition of file names and polygons
 
-from anuga_parallel.parallel_api import distribute, myid
+from anuga_parallel.parallel_api import distribute, myid, numprocs
 
 #------------------------------------------------------------------------------
@@ -46,6 +46,4 @@
 meshname = project.meshname+'.msh'
 source_dir = project.boundarydir
-
-
 
 if myid == 0:
@@ -105,6 +103,6 @@
 
     print 'Available boundary tags', domain.get_boundary_tags()
-    Bf = File_boundary(source_dir + project.boundary_basename + '.sww', 
-                       domain, verbose = True)
+    #Bf = File_boundary(source_dir + project.boundary_basename + '.sww', 
+    #                   domain, verbose = True)
     Br = Reflective_boundary(domain)
     Bd = Dirichlet_boundary([tide,0,0])
@@ -119,12 +117,57 @@
 # Create the parallel domain
 #--------------------------------------------------------------------------
-domain = distribute(domain, verbose=True)
+if numprocs > 1:
+    domain = distribute(domain, verbose=True)
 
 # Set those boundaries that can't be communicated automatically
+# FIXME: There is a problem with the parallel domain.
+# It seems that boundaries are outside coverage.
+#
+# We get
+#
+#------------------------------------------------
+#Interpolation_function (spatio-temporal) statistics:
+#  Extent:
+#    x in [-60494.651593, 149593.652382], len(x) == 56
+#    y in [-74198.017534, 184623.446077], len(y) == 56
+#    t in [0.000000, 28610.000000], len(t) == 145
+#  Quantities:
+#    stage in [-1.797799, 1.644574]
+#    xmomentum in [-33.219473, 21.571094]
+#    ymomentum in [-32.775090, 73.761256]
+#  Interpolation points (xi, eta): number of points == 411
+#    xi in [-420467.297166, -368252.119852]
+#    eta in [-7652664.149808, -7605199.504709]
+#  Interpolated quantities (over all timesteps):
+#    stage at interpolation points in [inf, inf]
+#    xmomentum at interpolation points in [inf, inf]
+#    ymomentum at interpolation points in [inf, inf]
+#------------------------------------------------
+#
+#Instead of
+#
+#------------------------------------------------
+#Interpolation_function (spatio-temporal) statistics:
+#  Extent:
+#    x in [-60494.651593, 149593.652382], len(x) == 56
+#    y in [-74198.017534, 184623.446077], len(y) == 56
+#    t in [0.000000, 28610.000000], len(t) == 145
+#  Quantities:
+#    stage in [-1.797799, 1.644574]
+#    xmomentum in [-33.219473, 21.571094]
+#    ymomentum in [-32.775090, 73.761256]
+#  Interpolation points (xi, eta): number of points == 503
+#    xi in [4747.280215, 96909.729282]
+#    eta in [9240.613414, 83183.465791]
+#  Interpolated quantities (over all timesteps):
+#    stage at interpolation points in [-0.909515, 1.331521]
+#    xmomentum at interpolation points in [-17.054914, 17.110528]
+#    ymomentum at interpolation points in [-24.691402, 16.625063]
+#------------------------------------------------
+
+
 Bf = File_boundary(source_dir + project.boundary_basename + '.sww',
-                   domain, verbose = True)                   
-boundary_map = domain.boundary_map
-boundary_map['ocean'] = Bf
-domain.set_boundary(boundary_map)
+                   domain, verbose = True)
+domain.modify_boundary({'ocean': Bf})
 
 
