Index: /development/okushiri_2005/lwru2.py
===================================================================
--- /development/okushiri_2005/lwru2.py	(revision 2865)
+++ /development/okushiri_2005/lwru2.py	(revision 2866)
@@ -99,7 +99,5 @@
     print 'Creating domain from', project.mesh_filename
 
-    domain = cache(pmesh_to_domain_instance,
-                   (project.mesh_filename, Domain),
-                   dependencies = [project.mesh_filename])
+    domain = Domain(project.mesh_filename, use_cache=True, verbose=True)
 
 else:
@@ -122,5 +120,5 @@
 domain.store = True    #Store for visualisation purposes
 
-domain.check_integrity()
+#domain.check_integrity()
 print 'Number of triangles = ', len(domain)
 print 'The extent is ', domain.get_extent()
Index: /development/stochastic_study/run_model.py
===================================================================
--- /development/stochastic_study/run_model.py	(revision 2865)
+++ /development/stochastic_study/run_model.py	(revision 2866)
@@ -44,7 +44,12 @@
 print 'Creating domain from', project.mesh_filename
 
-domain = pmesh_to_domain_instance(project.mesh_filename, Domain,
-                                  use_cache=True,
-                                  verbose=True)
+#domain = pmesh_to_domain_instance(project.mesh_filename, Domain,
+#                                  use_cache=True,
+#                                  verbose=True)
+
+domain = Domain(project.mesh_filename,
+                use_cache=True,
+                verbose=True)                
+                
 
 print 'Number of triangles = ', len(domain)
Index: /documentation/user_manual/anuga_user_manual.tex
===================================================================
--- /documentation/user_manual/anuga_user_manual.tex	(revision 2865)
+++ /documentation/user_manual/anuga_user_manual.tex	(revision 2866)
@@ -788,21 +788,20 @@
 
 
-\emph{NOTE: Will be replaced by domain=Domain(meshname, use_cache=True, verbose=True)}
-
-
 {\small \begin{verbatim}
-    domain = pmesh_to_domain_instance(meshname,
-    Domain, use_cache = True, verbose = True)
+    domain = Domain(meshname, use_cache=True, verbose=True)
 \end{verbatim}}
 
-The function \function{pmesh\_to\_domain\_instance} converts a meshfile
+Providing a filename instead of the lists used in bedslopephysical 
+above causes Domain to convert a meshfile
 \code{meshname} into an instance of the data structure
 \code{domain}, allowing us to use methods like \method{set\_quantity}
-to set quantities and to apply other operations. (In principle, the
-second argument of \function{pmesh\_to\_domain\_instance} can be any
-subclass of \class{Domain}, but for applications involving the
-shallow-water wave equation, the second argument of
-\function{pmesh\_to\_domain\_instance} can always be set simply to
-\class{Domain}.)
+to set quantities and to apply other operations. 
+
+%(In principle, the
+%second argument of \function{pmesh\_to\_domain\_instance} can be any
+%subclass of \class{Domain}, but for applications involving the
+%shallow-water wave equation, the second argument of
+%\function{pmesh\_to\_domain\_instance} can always be set simply to
+%\class{Domain}.)
 
 The following statements specify a basename and data directory, and
@@ -819,5 +818,5 @@
 
 \subsection{Initial Conditions}
-Quantities for \file{run\_sydney\_smf.py} are set
+Quantities for \file{runsydney.py} are set
 using similar methods to those in \file{bedslopephysical.py}. However,
 in this case, many of the values are read from the auxiliary file
@@ -857,7 +856,7 @@
 {\small \begin{verbatim}
     domain.set_quantity('elevation',
-                    filename = project.combineddemname + '.pts',
-                    use_cache = True,
-                    verbose = True)
+                        filename = project.combineddemname + '.pts',
+                        use_cache = True,
+                        verbose = True)
 \end{verbatim}}
 
Index: /documentation/user_manual/examples/runsydney.py
===================================================================
--- /documentation/user_manual/examples/runsydney.py	(revision 2865)
+++ /documentation/user_manual/examples/runsydney.py	(revision 2866)
@@ -76,8 +76,8 @@
 
 #Create shallow water domain
-domain = pmesh_to_domain_instance(meshname, Domain,
-                                  use_cache = True,
-                                  verbose = True)
-#domain = Domain(meshname)
+
+domain = Domain(meshname,
+                use_cache = True,
+                verbose = True)                                  
 
 
Index: /inundation/examples/beach.py
===================================================================
--- /inundation/examples/beach.py	(revision 2865)
+++ /inundation/examples/beach.py	(revision 2866)
@@ -15,5 +15,6 @@
 #sys.path.append('..'+sep+'pyvolution')
 
-from pyvolution.shallow_water import Domain, Reflective_boundary, Dirichlet_boundary,\
+from pyvolution.shallow_water import Domain, Reflective_boundary,\
+     Dirichlet_boundary,\
      Transmissive_boundary, Time_boundary, Wind_stress
 
@@ -28,6 +29,6 @@
 name = 'beach'
 print 'Creating domain from %s.tsh' %name
-#domain = pmesh_to_domain_instance(name + '.tsh', Domain)
-domain = Domain(mesh_filename = name + '.tsh')
+domain = Domain(mesh_filename = name + '.tsh',
+                use_cache=True, verbose=True)
 
 domain.store = True
Index: /inundation/pyvolution/domain.py
===================================================================
--- /inundation/pyvolution/domain.py	(revision 2865)
+++ /inundation/pyvolution/domain.py	(revision 2866)
@@ -76,6 +76,8 @@
         # Initialise underlying mesh structure
         Mesh.__init__(self, coordinates, triangles, boundary,
-                      tagged_elements, geo_reference, use_inscribed_circle)
-
+                      tagged_elements, geo_reference, use_inscribed_circle,
+                      verbose=verbose)
+
+        if verbose: print 'Initialising Domain'        
         from Numeric import zeros, Float, Int
         from quantity import Quantity, Conserved_quantity
@@ -123,4 +125,6 @@
 
         # Setup Communication Buffers
+           
+        if verbose: print 'Domain: Set up communication buffers (parallel)'
         self.nsys = len(self.conserved_quantities)
         for key in self.full_send_dict:
@@ -179,6 +183,11 @@
             # If the mesh file passed any quantity values
             # , initialise with these values.
+            if verbose: print 'Domain: Initialising quantity values'
             self.set_quantity_vertices_dict(vertex_quantity_dict)
 
+           
+        if verbose: print 'Domain: Done'
+
+            
 
 
Index: /inundation/pyvolution/general_mesh.py
===================================================================
--- /inundation/pyvolution/general_mesh.py	(revision 2865)
+++ /inundation/pyvolution/general_mesh.py	(revision 2866)
@@ -53,5 +53,6 @@
     #input
     def __init__(self, coordinates, triangles,
-                 geo_reference=None):
+                 geo_reference=None,
+                 verbose=False):
         """
         Build triangles from x,y coordinates (sequence of 2-tuples or
@@ -62,4 +63,6 @@
         If specified coordinates are assumed to be relative to this origin.
         """
+
+        if verbose: print 'General_mesh: Building basic mesh structure' 
 
         from Numeric import array, zeros, Int, Float, sqrt, sum
@@ -108,6 +111,10 @@
 
         #Initialise each triangle
+        if verbose:
+            print 'General_mesh: Computing areas, normals and edgelenghts'
+            
         for i in range(N):
-            #if i % (N/10) == 0: print '(%d/%d)' %(i, N)
+            if verbose and i % ((N+10)/10) == 0: print '(%d/%d)' %(i, N)
+           
 
             x0 = V[i, 0]; y0 = V[i, 1]
@@ -157,4 +164,5 @@
         
         #Build vertex list
+        if verbose: print 'Building vertex list'         
         self.build_vertexlist()
 
Index: /inundation/pyvolution/mesh.py
===================================================================
--- /inundation/pyvolution/mesh.py	(revision 2865)
+++ /inundation/pyvolution/mesh.py	(revision 2866)
@@ -60,7 +60,10 @@
 
 
-    def __init__(self, coordinates, triangles, boundary = None,
-                 tagged_elements = None, geo_reference = None,
-                 use_inscribed_circle = False):
+    def __init__(self, coordinates, triangles,
+                 boundary=None,
+                 tagged_elements=None,
+                 geo_reference=None,
+                 use_inscribed_circle=False,
+                 verbose=False):
         """
         Build triangles from x,y coordinates (sequence of 2-tuples or
@@ -73,6 +76,8 @@
         from Numeric import array, zeros, Int, Float, maximum, sqrt, sum
 
-        
-        General_mesh.__init__(self, coordinates, triangles, geo_reference)
+        General_mesh.__init__(self, coordinates, triangles,
+                              geo_reference, verbose=verbose)
+
+        if verbose: print 'Initialising mesh'         
 
         N = self.number_of_elements
@@ -94,6 +99,7 @@
 
         #Initialise each triangle
+        if verbose: print 'Mesh: Computing centroids and radii'        
         for i in range(N):
-            #if i % (N/10) == 0: print '(%d/%d)' %(i, N)
+            if verbose and i % ((N+10)/10) == 0: print '(%d/%d)' %(i, N)
 
             x0 = V[i, 0]; y0 = V[i, 1]
@@ -144,13 +150,17 @@
 
         #Build neighbour structure
+        if verbose: print 'Mesh: Building neigbour structure'                
         self.build_neighbour_structure()
 
         #Build surrogate neighbour structure
+        if verbose: print 'Mesh: Building surrogate neigbour structure'
         self.build_surrogate_neighbour_structure()
 
         #Build boundary dictionary mapping (id, edge) to symbolic tags
+        if verbose: print 'Mesh: Building boundary dictionary'
         self.build_boundary_dictionary(boundary)
 
         #Build tagged element  dictionary mapping (tag) to array of elements
+        if verbose: print 'Mesh: Building tagged elements dictionary'        
         self.build_tagged_elements_dictionary(tagged_elements)
 
@@ -159,4 +169,5 @@
 
         #FIXME check integrity?
+        if verbose: print 'Mesh: Done'                
 
     def __repr__(self):
