Index: /anuga_core/documentation/user_manual/anuga_user_manual.tex
===================================================================
--- /anuga_core/documentation/user_manual/anuga_user_manual.tex	(revision 3981)
+++ /anuga_core/documentation/user_manual/anuga_user_manual.tex	(revision 3982)
@@ -704,5 +704,5 @@
 Here is the code for the first version of the channel flow \file{channel1.py}:
 
-\verbatiminput{examples/channel1.py}
+\verbatiminput{demos/channel1.py}
 
 In discussing the details of this example, we follow the outline
@@ -758,5 +758,5 @@
 
 Here is the code for the second version of the channel flow \file{channel2.py}:
-\verbatiminput{examples/channel2.py}
+\verbatiminput{demos/channel2.py}
 This example differs from the first version in that a constant outflow boundary condition has 
 been defined 
@@ -803,5 +803,5 @@
 
 Here is the code for the third version of the channel flow \file{channel3.py}:
-\verbatiminput{examples/channel3.py}
+\verbatiminput{demos/channel3.py}
 
 This example differs from the first two versions in that the topography 
Index: /anuga_core/documentation/user_manual/demos/channel1.py
===================================================================
--- /anuga_core/documentation/user_manual/demos/channel1.py	(revision 3982)
+++ /anuga_core/documentation/user_manual/demos/channel1.py	(revision 3982)
@@ -0,0 +1,58 @@
+"""Simple water flow example using ANUGA
+
+Water flowing down a channel
+"""
+
+#------------------------------------------------------------------------------
+# Import necessary modules
+#------------------------------------------------------------------------------
+from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
+from anuga.shallow_water import Domain
+from anuga.shallow_water import Reflective_boundary
+from anuga.shallow_water import Dirichlet_boundary
+
+
+#------------------------------------------------------------------------------
+# Setup computational domain
+#------------------------------------------------------------------------------
+length = 10.
+width = 5.
+dx = dy = 1           # Resolution: Length of subdivisions on both axes
+
+points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
+                                               len1=length, len2=width)
+
+domain = Domain(points, vertices, boundary)   # Create domain
+domain.set_name('channel1')                  # Output name
+
+
+#------------------------------------------------------------------------------
+# Setup initial conditions
+#------------------------------------------------------------------------------
+def topography(x,y):
+    return -x/10                             # linear bed slope
+
+domain.set_quantity('elevation', topography) # Use function for elevation
+domain.set_quantity('friction', 0.01)        # Constant friction 
+domain.set_quantity('stage',
+                    expression='elevation')        # Dry
+#domain.set_quantity('stage',
+#                     expression='elevation + 0.1') # Wet
+
+
+#------------------------------------------------------------------------------
+# Setup boundary conditions
+#------------------------------------------------------------------------------
+Bi = Dirichlet_boundary([0.4, 0, 0])         # Inflow
+Br = Reflective_boundary(domain)             # Solid reflective wall
+
+domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
+
+
+#------------------------------------------------------------------------------
+# Evolve system through time
+#------------------------------------------------------------------------------
+for t in domain.evolve(yieldstep = 0.2, finaltime = 40.0):
+    domain.write_time()
+
+
Index: /anuga_core/documentation/user_manual/demos/channel2.py
===================================================================
--- /anuga_core/documentation/user_manual/demos/channel2.py	(revision 3982)
+++ /anuga_core/documentation/user_manual/demos/channel2.py	(revision 3982)
@@ -0,0 +1,64 @@
+"""Simple water flow example using ANUGA
+
+Water flowing down a channel with changing boundary conditions
+"""
+
+#------------------------------------------------------------------------------
+# Import necessary modules
+#------------------------------------------------------------------------------
+from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
+from anuga.shallow_water import Domain
+from anuga.shallow_water import Reflective_boundary
+from anuga.shallow_water import Dirichlet_boundary
+from anuga.shallow_water import Time_boundary
+
+
+#------------------------------------------------------------------------------
+# Setup computational domain
+#------------------------------------------------------------------------------
+length = 10.
+width = 5.
+dx = dy = 1           # Resolution: Length of subdivisions on both axes
+
+points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
+                                               len1=length, len2=width)
+domain = Domain(points, vertices, boundary)   
+domain.set_name('channel2')                 # Output name
+
+
+#------------------------------------------------------------------------------
+# Setup initial conditions
+#------------------------------------------------------------------------------
+def topography(x,y):
+    return -x/10                             # linear bed slope
+
+domain.set_quantity('elevation', topography) # Use function for elevation
+domain.set_quantity('friction', 0.01)        # Constant friction 
+domain.set_quantity('stage',
+                    expression='elevation')  # Dry initial condition
+
+
+#------------------------------------------------------------------------------
+# Setup boundary conditions
+#------------------------------------------------------------------------------
+Bi = Dirichlet_boundary([0.4, 0, 0])         # Inflow
+Br = Reflective_boundary(domain)             # Solid reflective wall
+Bo = Dirichlet_boundary([-5, 0, 0])          # Outflow
+
+domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
+
+
+#------------------------------------------------------------------------------
+# Evolve system through time
+#------------------------------------------------------------------------------
+for t in domain.evolve(yieldstep = 0.2, finaltime = 40.0):
+    domain.write_time()
+
+    if domain.get_quantity('stage').\
+           get_values(interpolation_points=[[10, 2.5]]) > 0:        
+        print 'Stage > 0: Changing to outflow boundary'
+        domain.set_boundary({'right': Bo})
+
+
+
+
Index: /anuga_core/documentation/user_manual/demos/channel3.py
===================================================================
--- /anuga_core/documentation/user_manual/demos/channel3.py	(revision 3982)
+++ /anuga_core/documentation/user_manual/demos/channel3.py	(revision 3982)
@@ -0,0 +1,83 @@
+"""Simple water flow example using ANUGA
+
+Water flowing down a channel with more complex topography
+"""
+
+#------------------------------------------------------------------------------
+# Import necessary modules
+#------------------------------------------------------------------------------
+from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
+from anuga.shallow_water import Domain
+from anuga.shallow_water import Reflective_boundary
+from anuga.shallow_water import Dirichlet_boundary
+from anuga.shallow_water import Time_boundary
+
+
+#------------------------------------------------------------------------------
+# Setup computational domain
+#------------------------------------------------------------------------------
+length = 40.
+width = 5.
+dx = dy = 1           # Resolution: Length of subdivisions on both axes
+#dx = dy = .1           # Resolution: Length of subdivisions on both axes
+
+points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
+                                               len1=length, len2=width)
+domain = Domain(points, vertices, boundary)   
+domain.set_name('channel3')                  # Output name
+
+
+#------------------------------------------------------------------------------
+# Setup initial conditions
+#------------------------------------------------------------------------------
+def topography(x,y):
+    """Complex topography defined by a function of vectors x and y
+    """
+    
+    z = -x/10                                
+
+    N = len(x)
+    for i in range(N):
+
+        #Step
+        if 10 < x[i] < 12:
+            z[i] += 0.4 - 0.05*y[i]        
+        
+        #Constriction
+        if 27 < x[i] < 29 and y[i] > 3:
+            z[i] += 2        
+        
+        # Pole
+        if (x[i] - 34)**2 + (y[i] - 2)**2 < 0.4**2:
+            z[i] += 2
+
+    return z
+
+
+domain.set_quantity('elevation', topography)  # Use function for elevation
+domain.set_quantity('friction', 0.01)         # Constant friction 
+domain.set_quantity('stage',
+                    expression='elevation')   # Dry initial condition
+
+
+#------------------------------------------------------------------------------
+# Setup boundary conditions
+#------------------------------------------------------------------------------
+Bi = Dirichlet_boundary([0.4, 0, 0])          # Inflow
+Br = Reflective_boundary(domain)              # Solid reflective wall
+Bo = Dirichlet_boundary([-5, 0, 0])           # Outflow
+
+domain.set_boundary({'left': Bi, 'right': Bo, 'top': Br, 'bottom': Br})
+
+
+#------------------------------------------------------------------------------
+# Evolve system through time
+#------------------------------------------------------------------------------
+for t in domain.evolve(yieldstep = 0.2, finaltime = 16.0):
+    domain.write_time()
+
+
+    if domain.get_quantity('stage').\
+           get_values(interpolation_points=[[10, 2.5]]) > 0:        
+        print 'Stage > 0: Changing to outflow boundary'
+        domain.set_boundary({'right': Bo})
Index: uga_core/documentation/user_manual/examples/channel1.py
===================================================================
--- /anuga_core/documentation/user_manual/examples/channel1.py	(revision 3981)
+++ 	(revision )
@@ -1,58 +1,0 @@
-"""Simple water flow example using ANUGA
-
-Water flowing down a channel
-"""
-
-#------------------------------------------------------------------------------
-# Import necessary modules
-#------------------------------------------------------------------------------
-from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
-from anuga.shallow_water import Domain
-from anuga.shallow_water import Reflective_boundary
-from anuga.shallow_water import Dirichlet_boundary
-
-
-#------------------------------------------------------------------------------
-# Setup computational domain
-#------------------------------------------------------------------------------
-length = 10.
-width = 5.
-dx = dy = 1           # Resolution: Length of subdivisions on both axes
-
-points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
-                                               len1=length, len2=width)
-
-domain = Domain(points, vertices, boundary)   # Create domain
-domain.set_name('channel1')                  # Output name
-
-
-#------------------------------------------------------------------------------
-# Setup initial conditions
-#------------------------------------------------------------------------------
-def topography(x,y):
-    return -x/10                             # linear bed slope
-
-domain.set_quantity('elevation', topography) # Use function for elevation
-domain.set_quantity('friction', 0.01)        # Constant friction 
-domain.set_quantity('stage',
-                    expression='elevation')        # Dry
-#domain.set_quantity('stage',
-#                     expression='elevation + 0.1') # Wet
-
-
-#------------------------------------------------------------------------------
-# Setup boundary conditions
-#------------------------------------------------------------------------------
-Bi = Dirichlet_boundary([0.4, 0, 0])         # Inflow
-Br = Reflective_boundary(domain)             # Solid reflective wall
-
-domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
-
-
-#------------------------------------------------------------------------------
-# Evolve system through time
-#------------------------------------------------------------------------------
-for t in domain.evolve(yieldstep = 0.2, finaltime = 40.0):
-    domain.write_time()
-
-
Index: uga_core/documentation/user_manual/examples/channel2.py
===================================================================
--- /anuga_core/documentation/user_manual/examples/channel2.py	(revision 3981)
+++ 	(revision )
@@ -1,64 +1,0 @@
-"""Simple water flow example using ANUGA
-
-Water flowing down a channel with changing boundary conditions
-"""
-
-#------------------------------------------------------------------------------
-# Import necessary modules
-#------------------------------------------------------------------------------
-from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
-from anuga.shallow_water import Domain
-from anuga.shallow_water import Reflective_boundary
-from anuga.shallow_water import Dirichlet_boundary
-from anuga.shallow_water import Time_boundary
-
-
-#------------------------------------------------------------------------------
-# Setup computational domain
-#------------------------------------------------------------------------------
-length = 10.
-width = 5.
-dx = dy = 1           # Resolution: Length of subdivisions on both axes
-
-points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
-                                               len1=length, len2=width)
-domain = Domain(points, vertices, boundary)   
-domain.set_name('channel2')                 # Output name
-
-
-#------------------------------------------------------------------------------
-# Setup initial conditions
-#------------------------------------------------------------------------------
-def topography(x,y):
-    return -x/10                             # linear bed slope
-
-domain.set_quantity('elevation', topography) # Use function for elevation
-domain.set_quantity('friction', 0.01)        # Constant friction 
-domain.set_quantity('stage',
-                    expression='elevation')  # Dry initial condition
-
-
-#------------------------------------------------------------------------------
-# Setup boundary conditions
-#------------------------------------------------------------------------------
-Bi = Dirichlet_boundary([0.4, 0, 0])         # Inflow
-Br = Reflective_boundary(domain)             # Solid reflective wall
-Bo = Dirichlet_boundary([-5, 0, 0])          # Outflow
-
-domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
-
-
-#------------------------------------------------------------------------------
-# Evolve system through time
-#------------------------------------------------------------------------------
-for t in domain.evolve(yieldstep = 0.2, finaltime = 40.0):
-    domain.write_time()
-
-    if domain.get_quantity('stage').\
-           get_values(interpolation_points=[[10, 2.5]]) > 0:        
-        print 'Stage > 0: Changing to outflow boundary'
-        domain.set_boundary({'right': Bo})
-
-
-
-
Index: uga_core/documentation/user_manual/examples/channel3.py
===================================================================
--- /anuga_core/documentation/user_manual/examples/channel3.py	(revision 3981)
+++ 	(revision )
@@ -1,83 +1,0 @@
-"""Simple water flow example using ANUGA
-
-Water flowing down a channel with more complex topography
-"""
-
-#------------------------------------------------------------------------------
-# Import necessary modules
-#------------------------------------------------------------------------------
-from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
-from anuga.shallow_water import Domain
-from anuga.shallow_water import Reflective_boundary
-from anuga.shallow_water import Dirichlet_boundary
-from anuga.shallow_water import Time_boundary
-
-
-#------------------------------------------------------------------------------
-# Setup computational domain
-#------------------------------------------------------------------------------
-length = 40.
-width = 5.
-dx = dy = 1           # Resolution: Length of subdivisions on both axes
-#dx = dy = .1           # Resolution: Length of subdivisions on both axes
-
-points, vertices, boundary = rectangular_cross(int(length/dx), int(width/dy),
-                                               len1=length, len2=width)
-domain = Domain(points, vertices, boundary)   
-domain.set_name('channel3')                  # Output name
-
-
-#------------------------------------------------------------------------------
-# Setup initial conditions
-#------------------------------------------------------------------------------
-def topography(x,y):
-    """Complex topography defined by a function of vectors x and y
-    """
-    
-    z = -x/10                                
-
-    N = len(x)
-    for i in range(N):
-
-        #Step
-        if 10 < x[i] < 12:
-            z[i] += 0.4 - 0.05*y[i]        
-        
-        #Constriction
-        if 27 < x[i] < 29 and y[i] > 3:
-            z[i] += 2        
-        
-        # Pole
-        if (x[i] - 34)**2 + (y[i] - 2)**2 < 0.4**2:
-            z[i] += 2
-
-    return z
-
-
-domain.set_quantity('elevation', topography)  # Use function for elevation
-domain.set_quantity('friction', 0.01)         # Constant friction 
-domain.set_quantity('stage',
-                    expression='elevation')   # Dry initial condition
-
-
-#------------------------------------------------------------------------------
-# Setup boundary conditions
-#------------------------------------------------------------------------------
-Bi = Dirichlet_boundary([0.4, 0, 0])          # Inflow
-Br = Reflective_boundary(domain)              # Solid reflective wall
-Bo = Dirichlet_boundary([-5, 0, 0])           # Outflow
-
-domain.set_boundary({'left': Bi, 'right': Bo, 'top': Br, 'bottom': Br})
-
-
-#------------------------------------------------------------------------------
-# Evolve system through time
-#------------------------------------------------------------------------------
-for t in domain.evolve(yieldstep = 0.2, finaltime = 16.0):
-    domain.write_time()
-
-
-    if domain.get_quantity('stage').\
-           get_values(interpolation_points=[[10, 2.5]]) > 0:        
-        print 'Stage > 0: Changing to outflow boundary'
-        domain.set_boundary({'right': Bo})
Index: /anuga_core/documentation/user_manual/examples/runupoutput.txt
===================================================================
--- /anuga_core/documentation/user_manual/examples/runupoutput.txt	(revision 3982)
+++ /anuga_core/documentation/user_manual/examples/runupoutput.txt	(revision 3982)
@@ -0,0 +1,7 @@
+$ python runup.py
+Time = 0.0000, steps=0 (0)
+Time = 0.1000, delta t in [0.01373568, 0.01683588], steps=7 (7)
+Time = 0.2000, delta t in [0.01203520, 0.01357912], steps=8 (8)
+Time = 0.3000, delta t in [0.01144234, 0.01193508], steps=9 (9)
+Time = 0.4000, delta t in [0.01141301, 0.01152065], steps=9 (9)
+...
