Index: /anuga_core/documentation/user_manual/anuga_user_manual.tex
===================================================================
--- /anuga_core/documentation/user_manual/anuga_user_manual.tex	(revision 7104)
+++ /anuga_core/documentation/user_manual/anuga_user_manual.tex	(revision 7105)
@@ -3347,5 +3347,7 @@
 setting $h=H_0$ will scale the predicted speed by a factor of $0.5$:
 \[
-  \left[ \frac{\mu}{h + h_0/h} \right]_{h = H_0} = \frac{\mu}{2 H_0}
+  \left[ \frac{\mu}{h + h_0/h} \right]_{h = H_0} = 
+  \left[ \frac{\mu}{H_0 + H_0^2/H_0} \right] = 
+  \frac{\mu}{2 H_0} = \frac{\mu}{2 h} = \frac{u}{2} 
 \]
 In general, for multiples of the minimal depth $N H_0$ one obtains
Index: /anuga_core/source/anuga/shallow_water/shallow_water_ext.c
===================================================================
--- /anuga_core/source/anuga/shallow_water/shallow_water_ext.c	(revision 7104)
+++ /anuga_core/source/anuga/shallow_water/shallow_water_ext.c	(revision 7105)
@@ -180,5 +180,5 @@
   
   if (*h < epsilon) {
-    *h = 0.0;  //Could have been negative
+    *h = 0.0;  // Could have been negative
     u = 0.0;
   } else {
@@ -272,5 +272,5 @@
   double w_left, h_left, uh_left, vh_left, u_left;
   double w_right, h_right, uh_right, vh_right, u_right;
-  double v_left, v_right;  
+  //double v_left, v_right;  
   double s_min, s_max, soundspeed_left, soundspeed_right;
   double denom, inverse_denominator, z;
@@ -317,7 +317,9 @@
   vh_right = q_right_rotated[2];
 
-  // Limit y-momentum if necessary  
-  v_left = _compute_speed(&vh_left, &h_left, epsilon, h0);
-  v_right = _compute_speed(&vh_right, &h_right, epsilon, h0);
+  // Limit y-momentum if necessary 
+  // Leaving this out, improves speed significantly (Ole 27/5/2009)
+  // All validation tests pass, so do we really need it anymore? 
+  //v_left = _compute_speed(&vh_left, &h_left, epsilon, h0);
+  //v_right = _compute_speed(&vh_right, &h_right, epsilon, h0);
 
   // Maximal and minimal wave speeds
Index: /anuga_core/source/anuga/shallow_water/test_data_manager.py
===================================================================
--- /anuga_core/source/anuga/shallow_water/test_data_manager.py	(revision 7104)
+++ /anuga_core/source/anuga/shallow_water/test_data_manager.py	(revision 7105)
@@ -258,18 +258,21 @@
         
         range = fid.variables['xmomentum_range'][:]
-        ##print range
+        #print range
         assert num.allclose(range,[0,0.4695096]) or \
                num.allclose(range,[0,0.47790655]) or\
                num.allclose(range,[0,0.46941957]) or\
-               num.allclose(range,[0,0.47769409])
+               num.allclose(range,[0,0.47769409]) or\
+               num.allclose(range,[0,0.47738948])
 
         
         range = fid.variables['ymomentum_range'][:]
-        ##print range
+        #print range
         assert num.allclose(range,[0,0.02174380]) or\
                num.allclose(range,[0,0.02174439]) or\
                num.allclose(range,[0,0.02283983]) or\
                num.allclose(range,[0,0.0217342]) or\
-               num.allclose(range,[0,0.0227564]) # Old slope limiters 
+               num.allclose(range,[0,0.02258024]) or\
+               num.allclose(range,[0,0.0227564]) # Old slope limiters
+
         
         fid.close()
@@ -343,5 +346,7 @@
 
         extrema = fid.variables['xmomentum.extrema'][:]
-        assert num.allclose(extrema,[-0.06062178, 0.47873023]) or num.allclose(extrema, [-0.06062178, 0.47847986])
+        assert num.allclose(extrema,[-0.06062178, 0.47873023]) or\
+            num.allclose(extrema, [-0.06062178, 0.47847986]) or\
+            num.allclose(extrema, [-0.06062178, 0.47848481]) # 27/5/9            
         
         extrema = fid.variables['ymomentum.extrema'][:]
@@ -11088,5 +11093,5 @@
         for t in range(t_end+1):
             for i in range(3):
-                assert num.allclose(f(t, i), [1, 2, 0])
+                assert num.allclose(f(t, i), [1, 2, 0], atol=1.0e-6)
             
 
@@ -11125,5 +11130,5 @@
 
         #print i, Q
-        assert num.allclose(Q, 0)        
+        assert num.allclose(Q, 0, atol=1.0e-5)        
 
 
@@ -11222,5 +11227,5 @@
             for i in range(3):
                 #print i, t, f(t, i)            
-                assert num.allclose(f(t, i), [w, uh, 0])
+                assert num.allclose(f(t, i), [w, uh, 0], atol=1.0e-6)
             
 
@@ -11322,5 +11327,5 @@
             for i in range(3):
                 #print i, t, f(t, i)
-                assert num.allclose(f(t, i), [w, uh, 0])
+                assert num.allclose(f(t, i), [w, uh, 0], atol=1.0e-6)
             
 
Index: /anuga_core/source/anuga/shallow_water/test_shallow_water_domain.py
===================================================================
--- /anuga_core/source/anuga/shallow_water/test_shallow_water_domain.py	(revision 7104)
+++ /anuga_core/source/anuga/shallow_water/test_shallow_water_domain.py	(revision 7105)
@@ -1616,5 +1616,5 @@
             assert num.allclose(w_t, w)
             assert num.allclose(uh_t, uh)            
-            assert num.allclose(vh_t, 0.0)                        
+            assert num.allclose(vh_t, 0.0, atol=1.0e-6)                        
             
             
@@ -1712,5 +1712,5 @@
             assert num.allclose(w_t, w)
             assert num.allclose(uh_t, uh)            
-            assert num.allclose(vh_t, 0.0)                        
+            assert num.allclose(vh_t, 0.0, atol=1.0e-6)                        
             
             
