Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/domain.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/domain.py	(revision 5665)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/domain.py	(revision 5666)
@@ -1194,23 +1194,23 @@
         """
 
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update timestep to fit yieldstep and finaltime
+        # Update timestep to fit yieldstep and finaltime
         self.update_timestep(yieldstep, finaltime)
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
-        #Update time
+        # Update time
         self.time += self.timestep
 
@@ -1224,56 +1224,57 @@
         """
 
-        #Save initial initial conserved quantities values
+        # Save initial initial conserved quantities values
         self.backup_conserved_quantities()            
 
         #--------------------------------------
-        #First euler step
+        # First euler step
         #--------------------------------------
 
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update timestep to fit yieldstep and finaltime
+        # Update timestep to fit yieldstep and finaltime
         self.update_timestep(yieldstep, finaltime)
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
-        #Update time
+        # Update time
         self.time += self.timestep
 
         #------------------------------------
-        #Second Euler step
+        # Second Euler step
         #------------------------------------
             
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
         #------------------------------------
-        #Combine initial and final values
-        #of conserved quantities and cleanup
+        # Combine initial and final values
+        # of conserved quantities and cleanup
         #------------------------------------
-        #combine steps
+        
+        # Combine steps
         self.saxpy_conserved_quantities(0.5, 0.5)
  
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
@@ -1287,5 +1288,5 @@
         """
 
-        #Save initial initial conserved quantities values
+        # Save initial initial conserved quantities values
         self.backup_conserved_quantities()            
 
@@ -1293,36 +1294,36 @@
         
         #--------------------------------------
-        #First euler step
+        # First euler step
         #--------------------------------------
 
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update timestep to fit yieldstep and finaltime
+        # Update timestep to fit yieldstep and finaltime
         self.update_timestep(yieldstep, finaltime)
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
-        #Update time
+        # Update time
         self.time += self.timestep
 
         #------------------------------------
-        #Second Euler step
+        # Second Euler step
         #------------------------------------
             
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
@@ -1332,46 +1333,47 @@
         #------------------------------------
 
-        #combine steps
+        # Combine steps
         self.saxpy_conserved_quantities(0.25, 0.75)
  
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
-        #set substep time
+        # Set substep time
         self.time = initial_time + self.timestep*0.5
 
         #------------------------------------
-        #Third Euler step
+        # Third Euler step
         #------------------------------------
             
-        #Compute fluxes across each element edge
+        # Compute fluxes across each element edge
         self.compute_fluxes()
 
-        #Update conserved quantities
+        # Update conserved quantities
         self.update_conserved_quantities()
 
         #------------------------------------
-        #Combine final and initial values
-        #and cleanup
+        # Combine final and initial values
+        # and cleanup
         #------------------------------------
-        #combine steps
+        
+        # Combine steps
         self.saxpy_conserved_quantities(2.0/3.0, 1.0/3.0)
  
-        #update ghosts
+        # Update ghosts
         self.update_ghosts()
 
-        #Update vertex and edge values
+        # Update vertex and edge values
         self.distribute_to_vertices_and_edges()
 
-        #Update boundary values
+        # Update boundary values
         self.update_boundary()
 
-        #set new time
+        # Set new time
         self.time = initial_time + self.timestep       
         
Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py	(revision 5665)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py	(revision 5666)
@@ -269,5 +269,6 @@
         msg = 'Keyword argument default_boundary must be either None '
         msg += 'or a boundary object.\n I got %s' %(str(default_boundary))
-        assert default_boundary is None or isinstance(default_boundary, Boundary), msg
+        assert default_boundary is None or\
+            isinstance(default_boundary, Boundary), msg
         self.default_boundary = default_boundary
         self.default_boundary_invoked = False    # Flag
@@ -321,16 +322,19 @@
             i = self.boundary_indices[ vol_id, edge_id ]
             
-            
-            #res = self.F(t, point_id = i)            
             try:
-                res = self.F(t, point_id = i)
-            except (Modeltime_too_late, Modeltime_too_early), e:
+                res = self.F(t, point_id=i)
+            except Modeltime_too_early, e:
+                raise Modeltime_too_early, e
+            except Modeltime_too_late, e:
                 if self.default_boundary is None:
                     raise Exception, e # Reraise exception
                 else:
+                    # Pass control to default boundary
+                    res = self.default_boundary.evaluate(vol_id, edge_id)
+                                    
                     if self.default_boundary_invoked is False:
                         # Issue warning the first time
                         msg = '%s' %str(e)
-                        msg += 'Instead I will using the default boundary: %s\n'\
+                        msg += 'Instead I will use the default boundary: %s\n'\
                             %str(self.default_boundary) 
                         msg += 'Note: Further warnings will be supressed'
@@ -342,6 +346,5 @@
                         self.default_boundary_invoked = True
                     
-                    # Pass control to default boundary
-                    res = self.default_boundary.evaluate(vol_id, edge_id)
+
                     
                 
@@ -371,7 +374,9 @@
             return res 
         else:
-            # raise 'Boundary call without point_id not implemented'
+            msg = 'Boundary call without point_id not implemented.\n'
+            msg += 'vol_id=%s, edge_id=%s' %(str(vol_id), str(edge_id))
+            raise Exception, msg
             # FIXME: What should the semantics be?
-            return self.F(t)
+            #return self.F(t)
 
 
Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/test_generic_boundary_conditions.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/test_generic_boundary_conditions.py	(revision 5665)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/test_generic_boundary_conditions.py	(revision 5666)
@@ -101,5 +101,5 @@
 
 
-    def test_fileboundary_time_only(self):
+    def NOtest_fileboundary_time_only(self):
         """Test that boundary values can be read from file and interpolated
         This is using the .tms file format
@@ -109,5 +109,8 @@
         file_function using the sts format
         """
-
+        #FIXME (Ole): This test was disabled 18 August 2008 as no
+        # need for this was found. Rather I implemented an Exception
+        # to catch possible errors in the model setup
+        
         from domain import Domain
         from quantity import Quantity
