Index: inundation/pyvolution/domain.py
===================================================================
--- inundation/pyvolution/domain.py	(revision 2852)
+++ 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 2852)
+++ 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 2852)
+++ 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):
