Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/MacDonald_short_channel/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/MacDonald_short_channel/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/MacDonald_short_channel/results.tex	(revision 8801)
@@ -44,5 +44,5 @@
 The following three figures show the stage, $x$-momentum, and $x$-velocity when water is steady. We should see excellent agreement between the analytical and numerical solutions.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -52,5 +52,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -60,5 +60,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_dry/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_dry/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_dry/results.tex	(revision 8801)
@@ -41,5 +41,5 @@
 For our test, we consider $h_0=20$ in (\ref{eq:dap_init}).
 The following figures show the stage, $x$-momentum, and $x$-velocity at several instants of time. We should see excellent agreement between the analytical and numerical solutions. The wet/dry interface is difficult to resolve and it usually produces large errors, similar to the dry dam break problem.
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -49,5 +49,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -57,5 +57,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_wet/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_wet/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/avalanche_wet/results.tex	(revision 8801)
@@ -8,5 +8,5 @@
 
 The initial condition is
-\begin{equation} \label{eq:dap_init}
+\begin{equation} \label{eq:dap_init_wet}
 u(x,0)=0, ~~v(x,y)=0, ~~\textrm{and}~~
 h(x,0) = \left\{ \begin{array}{ll}
@@ -56,8 +56,8 @@
 \subsection{Results}
 
-For our test, we consider $h_0=20$ and $h_1=10$ in (\ref{eq:dap_init}).
+For our test, we consider $h_0=20$ and $h_1=10$ in (\ref{eq:dap_init_wet}).
 The following figures show the stage, $x$-momentum, and $x$-velocity at several instants of time. We should see excellent agreement between the analytical and numerical solutions. 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -67,5 +67,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -75,5 +75,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_periodic/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_periodic/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_periodic/results.tex	(revision 8801)
@@ -67,5 +67,5 @@
 We should see excellent agreement between the analytical and numerical solutions.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -74,5 +74,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -81,5 +81,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
@@ -89,5 +89,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{perturbation_at_origin.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_transient/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_transient/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/carrier_greenspan_transient/results.tex	(revision 8801)
@@ -29,5 +29,5 @@
 We consider $\epsilon=0.2$. The following three figures show the stage, $x$-momentum, and $y$-momentum at several instants in time. We should see excellent agreement between the analytical and numerical solutions.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -36,5 +36,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -43,5 +43,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_dry/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_dry/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_dry/results.tex	(revision 8801)
@@ -39,5 +39,5 @@
 The following figures show the stage, $x$-momentum, and $x$-velocity at several instants of time. We should see excellent agreement between the analytical and numerical solutions. The wet/dry interface is difficult to resolve and it usually produces large errors.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{stage_plot.png}
@@ -48,5 +48,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{xmom_plot.png}
@@ -57,5 +57,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_wet/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_wet/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/dam_break_wet/results.tex	(revision 8801)
@@ -44,5 +44,5 @@
 We should see excellent agreement between the analytical and numerical solutions. 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -52,5 +52,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -60,5 +60,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/deep_wave/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/deep_wave/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/deep_wave/results.tex	(revision 8801)
@@ -16,5 +16,5 @@
 In this test, we consider $A=1$ and $\lambda=300$.
 Figure~\ref{fig:stagewave} shows the time-evolution of the water elevation at three points in the domain. These time series should show the wave propagating without deformation or attenuation (i.e. the wave has the same shape, amplitude, period, mean water level etc. at each point).  
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{wave_atten.png}
@@ -26,5 +26,5 @@
 
 The corresponding momentums of Figure~\ref{fig:stagewave} are shown in Figures~\ref{fig:xmom} and~\ref{fig:ymom}.
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom.png}
@@ -33,5 +33,5 @@
 \end{center}
 \end{figure}
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{ymom.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_immersed_bump/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_immersed_bump/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_immersed_bump/results.tex	(revision 8801)
@@ -17,5 +17,5 @@
 Setting up the boundaries to be reflective, we should see excellent agreement between the analytical and numerical solutions if the method is well-balanced. Some oscillations may occur, but if the method is well-balanced, they should be very close to the order of the machine precision. The following three figures show the stage, $x$-momentum, and $x$-velocity after running \anuga{} for some time.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -25,5 +25,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -33,5 +33,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_steep_island/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_steep_island/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/lake_at_rest_steep_island/results.tex	(revision 8801)
@@ -29,5 +29,5 @@
 Current version of \anuga{} might not handle a discontinuous island perfectly. The following three figures show the stage, $x$-momentum, and $x$-velocity respectively, after we run the simulation for some time. We should see excellent agreement between the analytical and numerical solutions if the method is well-balanced and if the wet/dry interface has been correctly treated.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -37,5 +37,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -45,5 +45,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/parabolic_basin/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/parabolic_basin/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/parabolic_basin/results.tex	(revision 8801)
@@ -23,5 +23,5 @@
 As time goes on, some small deviations may appear. These are shown in Figures~\ref{fig:Stage_centre}--\ref{fig:Xvel_centre}, which illustrate the stage, $x$-momentum, and $x$-velocity at the centroid of the domain.
 
-\begin{figure}[!h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{cross_section_stage.png}
@@ -50,5 +50,5 @@
 
 
-\begin{figure}[!h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{Stage_centre.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/paraboloid_basin/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/paraboloid_basin/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/paraboloid_basin/results.tex	(revision 8801)
@@ -28,5 +28,5 @@
 \begin{center}
 \includegraphics[width=0.9\textwidth]{cross_section_stage.png}
-\caption{Stage on a cross section of the basin at time $t=$ ?}
+\caption{Stage on a cross section of the basin at time $t=50$\,.}
 \label{fig:cs_stage}
 \end{center}
@@ -36,5 +36,5 @@
 \begin{center}
 \includegraphics[width=0.9\textwidth]{cross_section_xmom.png}
-\caption{Xmomentum on a cross section of the basin at time $t=$ ?}
+\caption{Xmomentum on a cross section of the basin at time $t=50$\,.}
 \label{fig:cs_xmom}
 \end{center}
@@ -44,5 +44,5 @@
 \begin{center}
 \includegraphics[width=0.9\textwidth]{cross_section_xvel.png}
-\caption{Xvelocity on a cross section of the basin at time $t=$ ?}
+\caption{Xvelocity on a cross section of the basin at time $t=50$\,.}
 \label{fig:cs_xvel}
 \end{center}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/rundown_mild_slope/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/rundown_mild_slope/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/rundown_mild_slope/results.tex	(revision 8801)
@@ -39,5 +39,5 @@
 Figures~\ref{fig:xvelscrosschan} and~\ref{fig:yvelscroschan} show the steady state $x$- and $y$-velocities, along a slice in the cross slope direction (near $x=50$). The $x$-velocities should agree well with the analytical solution, and the $y$-velocities should be zero. 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{final_depth.png}
@@ -48,5 +48,5 @@
  
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{x_velocity.png}
@@ -56,5 +56,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.8\textwidth]{y_velocity.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/plot_results.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/plot_results.py	(revision 8801)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/plot_results.py	(revision 8801)
@@ -0,0 +1,86 @@
+"""View results of runup.py
+"""
+#---------------
+# Import Modules
+#---------------
+import scipy
+import anuga
+from anuga.utilities import plot_utils as util
+from matplotlib import pyplot as pyplot
+from numpy import zeros
+
+p2=util.get_output('runup.sww', minimum_allowed_height=1.0e-03)
+p=util.get_centroids(p2, velocity_extrapolation=True)
+
+#------------------
+# Select line
+#------------------
+py_central=p.y[scipy.argmin(abs(p.y-0.5))]
+v=(p.y==p.y[py_central])
+
+#--------------------
+# Make plot animation
+#--------------------
+##pyplot.close() #If the plot is open, there will be problems
+##if False:
+##    line, = pyplot.plot( (p.x[v].min(),p.x[v].max()) ,(p.xvel[:,v].min(),p.xvel[:,v].max() ) )
+##    for i in range(p.xmom.shape[0]):
+##        line.set_xdata(p.x[v])
+##        line.set_ydata(p.xvel[i,v])
+##        pyplot.draw()
+##        pyplot.plot( (0,1),(0,0), 'r' )
+##        pyplot.title(str(i)+'/200') # : velocity does not converge to zero' )
+##        pyplot.xlabel('x')
+##        pyplot.ylabel('Velocity (m/s)')
+##
+##    pyplot.savefig('runup_x_velocities.png')
+
+def analytic_sol(x):
+    y = zeros(len(x))
+    for i in range(len(x)):
+        if x[i] < 0.8:
+            y[i] = -0.5*x[i]
+        else:
+            y[i] = -0.4
+    return y
+
+#------------------------------------------------
+# Maximum y velocities -- occurs in output step 3
+#------------------------------------------------
+pyplot.clf()
+pyplot.plot(p.x[v],p.stage[5,v],'o',label='numerical stage')
+pyplot.plot(p.x[v],p.elev[v],'k-',label='bed elevation')
+pyplot.xlabel('Xposition')
+pyplot.ylabel('Stage')
+pyplot.title('Free surface and bed at y = 0.5, time = 1.0 second')
+pyplot.legend(loc='best')
+pyplot.savefig('stage_1s.png')
+
+pyplot.clf()
+pyplot.plot(p.x[v],p.xvel[5,v],'-o', label='numerical')
+pyplot.title('Xvelocity at y = 0.5, time = 1.0 second')
+pyplot.xlabel('Xposition')
+pyplot.ylabel('Xvelocity')
+pyplot.legend(loc='best')
+pyplot.savefig('xvel_1s.png')
+
+
+
+pyplot.clf()
+pyplot.plot(p.x[v],p.stage[150,v],'o-',label='numerical stage')
+pyplot.plot(p.x[v], analytic_sol(p.x[v]), label='analytical stage')
+pyplot.plot(p.x[v],p.elev[v],'k-',label='bed elevation')
+pyplot.xlabel('Xposition')
+pyplot.ylabel('Stage')
+pyplot.title('Free surface and bed at y = 0.5, time = 30.0 second')
+pyplot.legend(loc='best')
+pyplot.savefig('stage_30s.png')
+
+pyplot.clf()
+pyplot.plot(p.x[v],p.xvel[150,v],'-o', label='numerical')
+pyplot.plot(p.x[v], zeros(len(p.x[v])), label='analytical')
+pyplot.legend(loc='best')
+pyplot.title('Xvelocity at y = 0.5, time = 30.0 second')
+pyplot.xlabel('Xposition')
+pyplot.ylabel('Xvelocity')
+pyplot.savefig('xvel_30s.png')
Index: unk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/plot_runup.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/plot_runup.py	(revision 8800)
+++ 	(revision )
@@ -1,86 +1,0 @@
-"""View results of runup.py
-"""
-#---------------
-# Import Modules
-#---------------
-import scipy
-import anuga
-from anuga.utilities import plot_utils as util
-from matplotlib import pyplot as pyplot
-from numpy import zeros
-
-p2=util.get_output('runup.sww', minimum_allowed_height=1.0e-03)
-p=util.get_centroids(p2, velocity_extrapolation=True)
-
-#------------------
-# Select line
-#------------------
-py_central=p.y[scipy.argmin(abs(p.y-0.5))]
-v=(p.y==p.y[py_central])
-
-#--------------------
-# Make plot animation
-#--------------------
-##pyplot.close() #If the plot is open, there will be problems
-##if False:
-##    line, = pyplot.plot( (p.x[v].min(),p.x[v].max()) ,(p.xvel[:,v].min(),p.xvel[:,v].max() ) )
-##    for i in range(p.xmom.shape[0]):
-##        line.set_xdata(p.x[v])
-##        line.set_ydata(p.xvel[i,v])
-##        pyplot.draw()
-##        pyplot.plot( (0,1),(0,0), 'r' )
-##        pyplot.title(str(i)+'/200') # : velocity does not converge to zero' )
-##        pyplot.xlabel('x')
-##        pyplot.ylabel('Velocity (m/s)')
-##
-##    pyplot.savefig('runup_x_velocities.png')
-
-def analytic_sol(x):
-    y = zeros(len(x))
-    for i in range(len(x)):
-        if x[i] < 0.8:
-            y[i] = -0.5*x[i]
-        else:
-            y[i] = -0.4
-    return y
-
-#------------------------------------------------
-# Maximum y velocities -- occurs in output step 3
-#------------------------------------------------
-pyplot.clf()
-pyplot.plot(p.x[v],p.stage[5,v],'o',label='numerical stage')
-pyplot.plot(p.x[v],p.elev[v],'k-',label='bed elevation')
-pyplot.xlabel('Xposition')
-pyplot.ylabel('Stage')
-pyplot.title('Free surface and bed at y = 0.5, time = 1.0 second')
-pyplot.legend(loc='best')
-pyplot.savefig('stage_1s.png')
-
-pyplot.clf()
-pyplot.plot(p.x[v],p.xvel[5,v],'-o', label='numerical')
-pyplot.title('Xvelocity at y = 0.5, time = 1.0 second')
-pyplot.xlabel('Xposition')
-pyplot.ylabel('Xvelocity')
-pyplot.legend(loc='best')
-pyplot.savefig('xvel_1s.png')
-
-
-
-pyplot.clf()
-pyplot.plot(p.x[v],p.stage[150,v],'o-',label='numerical stage')
-pyplot.plot(p.x[v], analytic_sol(p.x[v]), label='analytical stage')
-pyplot.plot(p.x[v],p.elev[v],'k-',label='bed elevation')
-pyplot.xlabel('Xposition')
-pyplot.ylabel('Stage')
-pyplot.title('Free surface and bed at y = 0.5, time = 30.0 second')
-pyplot.legend(loc='best')
-pyplot.savefig('stage_30s.png')
-
-pyplot.clf()
-pyplot.plot(p.x[v],p.xvel[150,v],'-o', label='numerical')
-pyplot.plot(p.x[v], zeros(len(p.x[v])), label='analytical')
-pyplot.legend(loc='best')
-pyplot.title('Xvelocity at y = 0.5, time = 30.0 second')
-pyplot.xlabel('Xposition')
-pyplot.ylabel('Xvelocity')
-pyplot.savefig('xvel_30s.png')
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/produce_results.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/produce_results.py	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/produce_results.py	(revision 8801)
@@ -10,5 +10,5 @@
 def build():
     run_validation_script('numerical_runup.py')
-    run_validation_script('plot_runup.py')
+    run_validation_script('plot_results.py')
     run('python', 'produce_report.py')    
 
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_beach/results.tex	(revision 8801)
@@ -11,5 +11,5 @@
 
 At an early runup, representatives of the results are as follows. Figure~\ref{fig:stage_1s} shows the water surface at time $t=1$ (in the cross-shore direction). It is not constant as the water runup at this time. Figure~\ref{fig:xvel_1s} shows the corresponding $x$-velocity during the wave runup. The velocities should be free from major spikes.
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_1s.png}
@@ -19,5 +19,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_1s.png}
@@ -30,5 +30,5 @@
 
 After a much longer time, representatives of the results are as follows. Figure~\ref{fig:stage_30s} shows the water surface at time 30s (in the cross-shore direction). It should be nearly constant (= -0.1m) in the wet portions of the domain. Figure~\ref{fig:xvel_30s} shows the corresponding velocity at time 30s. It should be nearly zero (e.g. $<<$ 1 mm/s). This case has been used to illustrate wet-dry artefacts in some versions of \anuga.
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_30s.png}
@@ -38,5 +38,5 @@
 \end{figure}
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_30s.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_sinusoid_beach/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_sinusoid_beach/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/runup_on_sinusoid_beach/results.tex	(revision 8801)
@@ -5,5 +5,5 @@
 Figure~\ref{fig:vel_t1_centroid} shows the centroid velocities during the wave runup. The flow should be concentrating in the channels near the shore, and be free from major spikes.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{vel_t1_centroid.png}
@@ -15,5 +15,5 @@
 Figure~\ref{fig:vel_t2_centroid} shows the velocities profile at time 40~s. They should be nearly zero (e.g. O($10^{-3}$) m$/s$). This case has been used to illustrate wet-dry artefacts in some versions of \anuga.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{vel_t2_centroid.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_with_shock/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_with_shock/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_with_shock/results.tex	(revision 8801)
@@ -22,5 +22,5 @@
 With these conditions, representatives of the simulation results are shown in the following three figures. They show the stage, $x$-momentum, and $x$-velocity respectively. We should see excellent agreement between the analytical and numerical solutions.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -30,5 +30,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -38,5 +38,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_without_shock/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_without_shock/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/transcritical_without_shock/results.tex	(revision 8801)
@@ -27,5 +27,5 @@
 Representatives of the simulation results are given in the following three figures. We should see excellent agreement between the analytical and numerical solutions. Small discrepancy may occurs for the $x$-momentum. It is not clear what makes this discrepancy. Numerical analysis may be conducted further to investigate why this discrepancy occurs.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{stage_plot.png}
@@ -35,5 +35,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xmom_plot.png}
@@ -43,5 +43,5 @@
 
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{xvel_plot.png}
Index: unk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/channel_floodplain.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/channel_floodplain.py	(revision 8800)
+++ 	(revision )
@@ -1,188 +1,0 @@
-"""
-Simple water flow example using ANUGA
-Water flowing down a channel with a floodplain
-"""
-
-#------------------------------------------------------------------------------
-# Import necessary modules
-#------------------------------------------------------------------------------
-# Import standard shallow water domain and standard boundaries.
-import anuga
-import numpy
-from anuga.structures.inlet_operator import Inlet_operator
-from anuga import *
-
-#------------------------------------------------------------------------------
-# Useful parameters for controlling this case
-#------------------------------------------------------------------------------
-floodplain_length = 1000.0 # Model domain length
-floodplain_width = 14.0    # Model domain width
-floodplain_slope = 1./300.
-chan_initial_depth = 0.65  # Initial depth of water in the channel
-chan_bankfull_depth = 1.0  # Bankfull depth of the channel
-chan_width = 10.0          # Bankfull width of the channel
-bankwidth = 2.             # Width of the bank regions -- note that these protrude into the channel
-man_n=0.03                 # Manning's n
-l0 = 1.000 # Length scale associated with triangle side length in channel (min_triangle area = 0.5*l0^2)
-
-assert chan_width < floodplain_width, \
-        'ERROR: Channel width is greater than floodplain width'
-
-assert bankwidth < chan_width/2., \
-        'ERROR: The bank width must be less than half the channel width'
-
-#------------------------------------------------------------------------------
-# Setup computational domain
-#------------------------------------------------------------------------------
-# Define boundary polygon -- in this case clockwise around the proposed boundary
-boundary_polygon = [ [0.,0.], 
-                     [0., floodplain_length], 
-                     [floodplain_width/2. - chan_width/2., floodplain_length], 
-                     [floodplain_width/2. + chan_width/2., floodplain_length], 
-                     [floodplain_width, floodplain_length], 
-                     [floodplain_width, 0.], 
-                     [floodplain_width/2. + chan_width/2., 0.], 
-                     [floodplain_width/2. - chan_width/2., 0.] 
-                     ]
-
-# Define channel polygon, where we can optionally refine the resolution. 
-# Note that we set this a distance l0 inside the boundary polygon, so the polygons
-# do not overlap. 
-channel_polygon = [ [floodplain_width/2. - chan_width/2., +l0],
-                    [floodplain_width/2. - chan_width/2., floodplain_length-l0],
-                    [floodplain_width/2. + chan_width/2., floodplain_length-l0],
-                    [floodplain_width/2. + chan_width/2., +l0]
-                    ]
-
-# Define domain with appropriate boundary conditions
-domain = create_domain_from_regions( boundary_polygon, 
-                                   boundary_tags={'left': [0],
-                                                  'top1': [1],
-                                                  'chan_out': [2],
-                                                  'top2': [3],
-                                                  'right': [4],
-                                                  'bottom1': [5],
-                                                  'chan_in': [6],
-                                                  'bottom2': [7] },
-                                   maximum_triangle_area = 0.5*l0*l0,
-                                   minimum_triangle_angle = 28.0,
-                                   mesh_filename = 'channel_floodplain.msh',
-                                   interior_regions = [ ],
-                                   #interior_regions = [\
-                                   #    [channel_polygon, 0.5*l0*l0] ],
-                                   use_cache=False,
-                                   verbose=True)
-
-domain.set_name('channel_floodplain') # Output name
-
-#------------------------------------------------------------------------------
-# Setup Algorithm, either using command line arguments
-# or override manually yourself
-#------------------------------------------------------------------------------
-from anuga.utilities.argparsing import parse_standard_args
-alg, cfl = parse_standard_args()
-domain.set_flow_algorithm(alg)
-domain.set_CFL(cfl)
-
-#------------------------------------------------------------------------------
-#
-# Setup initial conditions
-#
-#------------------------------------------------------------------------------
-
-# Function for topography
-def elevation(x, y):
-    elev1= -y*floodplain_slope - chan_bankfull_depth*\
-            (x>(floodplain_width/2. - chan_width/2.))*\
-            (x<(floodplain_width/2. + chan_width/2.)) 
-    # Add banks
-    if(bankwidth>0.0):
-        leftbnk = floodplain_width/2. - chan_width/2.
-        rightbnk = floodplain_width/2. + chan_width/2.
-        # Left bank
-        elev2 = elev1 + (chan_bankfull_depth \
-                - chan_bankfull_depth/bankwidth*(x - leftbnk))*\
-                (x>leftbnk)*(x < leftbnk + bankwidth)
-        # Right bank
-        elev2 = elev2 + (chan_bankfull_depth \
-                + chan_bankfull_depth/bankwidth*(x - rightbnk))*\
-                (x>rightbnk-bankwidth)*(x < rightbnk)
-    if(bankwidth==0.0):
-        elev2 = elev1
-    return elev2
-
-
-#Function for stage
-def stage(x,y):
-    return -y*floodplain_slope -chan_bankfull_depth + chan_initial_depth 
-
-domain.set_quantity('elevation', elevation) # Use function for elevation
-domain.set_quantity('friction', man_n)      # Constant friction
-domain.set_quantity('stage', stage)         # Use function for stage
-
-# Define inlet operator 
-flow_in_yval=0.0
-if True:
-    line1 = [ [floodplain_width/2. - chan_width/2., flow_in_yval],\
-              [floodplain_width/2. + chan_width/2., flow_in_yval] ]
-    Qin = 0.5*(floodplain_slope*(chan_width*chan_initial_depth)**2.*man_n**(-2.)\
-            *chan_initial_depth**(4./3.) )**0.5
-    Inlet_operator(domain, line1, Qin)
-    print 'Discharge in = ', Qin 
-
-#------------------------------------------------------------------------------
-#
-# Setup boundary conditions
-#
-#------------------------------------------------------------------------------
-
-Br = anuga.Reflective_boundary(domain) # Solid reflective wall
-
-def outflow_stage_boundary(t):
-    return -floodplain_length*floodplain_slope \
-            + chan_initial_depth - chan_bankfull_depth
-
-# Note that the outflow boundary may be slightly incorrect for the trapezoidal channel case, 
-# or incorrect more generally if there are numerical problems. But, in the central regions of
-# the channel, this shouldn't prevent us reaching steady, uniform flow.
-Bout_tmss = anuga.shallow_water.boundaries.Transmissive_momentum_set_stage_boundary(domain, function = outflow_stage_boundary) 
-
-domain.set_boundary({'left': Br, 
-                     'right': Br, 
-                     'top1': Br, 
-                     'top2': Br, 
-                     'bottom1': Br, 
-                     'bottom2': Br, 
-                     'chan_out': Bout_tmss, 
-                     'chan_in': Br})
-
-# Set up file to record computations of discharge at several points.
-discharge_outfile=open('discharge_outputs.txt', 'w')
-discharge_outfile.write('Time (s)'+","+ 'Discharge@10' + ","+ 'Discharge@700'+","+ 'Discharge@1000' + "\n")
-
-#------------------------------------------------------------------------------
-#
-# Evolve system through time
-#
-#------------------------------------------------------------------------------
-for t in domain.evolve(yieldstep=2.0, finaltime=1200.0):
-    print domain.timestepping_statistics()
-    xx=domain.quantities['ymomentum'].centroid_values
-    dd=(domain.quantities['stage'].centroid_values - domain.quantities['elevation'].centroid_values)
-    dd=dd*(dd>0.)
-
-    tmp = xx/(dd+1.0e-06)*(dd>0.0)
-    print tmp.max(), tmp.argmax(), tmp.min(),  tmp.argmin()
-
-    # Compute flow through cross-section -- check that the inflow boundary condition is doing its job
-    # This also provides another useful steady-state check
-    if( numpy.floor(t/100.) == t/100. ):
-        print '#### COMPUTING FLOW THROUGH CROSS-SECTIONS########'
-        s0 = domain.get_flow_through_cross_section([[0., 10.0], [floodplain_width, 10.0]])
-        s1 = domain.get_flow_through_cross_section([[0., floodplain_length-300.0], [floodplain_width, floodplain_length-300.0]])
-        s2 = domain.get_flow_through_cross_section([[0., floodplain_length-1.0], [floodplain_width, floodplain_length-1.0]])
-        
-        print 'Cross sectional flows: ',s0, s1, s2 
-        print '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'
-        discharge_outfile.write(str(t) + "," +str(s0) + ","+ str(s1) +"," + str(s2) + "\n")
-discharge_outfile.close()
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/numerical_channel_floodplain.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/numerical_channel_floodplain.py	(revision 8801)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/numerical_channel_floodplain.py	(revision 8801)
@@ -0,0 +1,197 @@
+"""
+Simple water flow example using ANUGA
+Water flowing down a channel with a floodplain
+"""
+
+#------------------------------------------------------------------------------
+# Import necessary modules
+#------------------------------------------------------------------------------
+# Import standard shallow water domain and standard boundaries.
+import anuga
+import numpy
+from anuga.structures.inlet_operator import Inlet_operator
+from anuga import *
+
+#------------------------------------------------------------------------------
+# Useful parameters for controlling this case
+#------------------------------------------------------------------------------
+floodplain_length = 1000.0 # Model domain length
+floodplain_width = 14.0    # Model domain width
+floodplain_slope = 1./300.
+chan_initial_depth = 0.65  # Initial depth of water in the channel
+chan_bankfull_depth = 1.0  # Bankfull depth of the channel
+chan_width = 10.0          # Bankfull width of the channel
+bankwidth = 2.             # Width of the bank regions -- note that these protrude into the channel
+man_n=0.03                 # Manning's n
+l0 = 1.000 # Length scale associated with triangle side length in channel (min_triangle area = 0.5*l0^2)
+
+assert chan_width < floodplain_width, \
+        'ERROR: Channel width is greater than floodplain width'
+
+assert bankwidth < chan_width/2., \
+        'ERROR: The bank width must be less than half the channel width'
+
+#------------------------------------------------------------------------------
+# Setup computational domain
+#------------------------------------------------------------------------------
+# Define boundary polygon -- in this case clockwise around the proposed boundary
+boundary_polygon = [ [0.,0.], 
+                     [0., floodplain_length], 
+                     [floodplain_width/2. - chan_width/2., floodplain_length], 
+                     [floodplain_width/2. + chan_width/2., floodplain_length], 
+                     [floodplain_width, floodplain_length], 
+                     [floodplain_width, 0.], 
+                     [floodplain_width/2. + chan_width/2., 0.], 
+                     [floodplain_width/2. - chan_width/2., 0.] 
+                     ]
+
+# Define channel polygon, where we can optionally refine the resolution. 
+# Note that we set this a distance l0 inside the boundary polygon, so the polygons
+# do not overlap. 
+channel_polygon = [ [floodplain_width/2. - chan_width/2., +l0],
+                    [floodplain_width/2. - chan_width/2., floodplain_length-l0],
+                    [floodplain_width/2. + chan_width/2., floodplain_length-l0],
+                    [floodplain_width/2. + chan_width/2., +l0]
+                    ]
+
+# Define domain with appropriate boundary conditions
+domain = create_domain_from_regions( boundary_polygon, 
+                                   boundary_tags={'left': [0],
+                                                  'top1': [1],
+                                                  'chan_out': [2],
+                                                  'top2': [3],
+                                                  'right': [4],
+                                                  'bottom1': [5],
+                                                  'chan_in': [6],
+                                                  'bottom2': [7] },
+                                   maximum_triangle_area = 0.5*l0*l0,
+                                   minimum_triangle_angle = 28.0,
+                                   mesh_filename = 'channel_floodplain.msh',
+                                   interior_regions = [ ],
+                                   #interior_regions = [\
+                                   #    [channel_polygon, 0.5*l0*l0] ],
+                                   use_cache=False,
+                                   verbose=True)
+
+domain.set_name('channel_floodplain') # Output name
+
+#------------------------------------------------------------------------------
+# Setup Algorithm, either using command line arguments
+# or override manually yourself
+#------------------------------------------------------------------------------
+from anuga.utilities.argparsing import parse_standard_args
+alg, cfl = parse_standard_args()
+domain.set_flow_algorithm(alg)
+domain.set_CFL(cfl)
+
+#------------------------------------------------------------------------------
+#
+# Setup initial conditions
+#
+#------------------------------------------------------------------------------
+
+# Function for topography
+def elevation(x, y):
+    elev1= -y*floodplain_slope - chan_bankfull_depth*\
+            (x>(floodplain_width/2. - chan_width/2.))*\
+            (x<(floodplain_width/2. + chan_width/2.)) 
+    # Add banks
+    if(bankwidth>0.0):
+        leftbnk = floodplain_width/2. - chan_width/2.
+        rightbnk = floodplain_width/2. + chan_width/2.
+        # Left bank
+        elev2 = elev1 + (chan_bankfull_depth \
+                - chan_bankfull_depth/bankwidth*(x - leftbnk))*\
+                (x>leftbnk)*(x < leftbnk + bankwidth)
+        # Right bank
+        elev2 = elev2 + (chan_bankfull_depth \
+                + chan_bankfull_depth/bankwidth*(x - rightbnk))*\
+                (x>rightbnk-bankwidth)*(x < rightbnk)
+    if(bankwidth==0.0):
+        elev2 = elev1
+    return elev2
+
+
+#Function for stage
+def stage(x,y):
+    return -y*floodplain_slope -chan_bankfull_depth + chan_initial_depth 
+
+domain.set_quantity('elevation', elevation) # Use function for elevation
+domain.set_quantity('friction', man_n)      # Constant friction
+domain.set_quantity('stage', stage)         # Use function for stage
+
+# Define inlet operator 
+flow_in_yval=0.0
+if True:
+    line1 = [ [floodplain_width/2. - chan_width/2., flow_in_yval],\
+              [floodplain_width/2. + chan_width/2., flow_in_yval] ]
+    Qin = 0.5*(floodplain_slope*(chan_width*chan_initial_depth)**2.*man_n**(-2.)\
+            *chan_initial_depth**(4./3.) )**0.5
+    Inlet_operator(domain, line1, Qin)
+    print 'Discharge in = ', Qin 
+
+#------------------------------------------------------------------------------
+#
+# Setup boundary conditions
+#
+#------------------------------------------------------------------------------
+
+Br = anuga.Reflective_boundary(domain) # Solid reflective wall
+
+def outflow_stage_boundary(t):
+    return -floodplain_length*floodplain_slope \
+            + chan_initial_depth - chan_bankfull_depth
+
+# Note that the outflow boundary may be slightly incorrect for the trapezoidal channel case, 
+# or incorrect more generally if there are numerical problems. But, in the central regions of
+# the channel, this shouldn't prevent us reaching steady, uniform flow.
+Bout_tmss = anuga.shallow_water.boundaries.Transmissive_momentum_set_stage_boundary(domain, function = outflow_stage_boundary) 
+
+domain.set_boundary({'left': Br, 
+                     'right': Br, 
+                     'top1': Br, 
+                     'top2': Br, 
+                     'bottom1': Br, 
+                     'bottom2': Br, 
+                     'chan_out': Bout_tmss, 
+                     'chan_in': Br})
+
+# Set up file to record computations of discharge at several points.
+discharge_outfile=open('discharge_outputs.txt', 'w')
+discharge_outfile.write('Time (s)'+","+ 'Discharge@10' + ","+ 'Discharge@700'+","+ 'Discharge@1000' + "\n")
+
+
+#------------------------------------------------------------------------------
+# Produce a documentation of parameters
+#------------------------------------------------------------------------------
+parameter_file=open('parameters.tex', 'w')
+parameter_file.write('\\begin{verbatim}\n')
+from pprint import pprint
+pprint(domain.get_algorithm_parameters(),parameter_file,indent=4)
+parameter_file.write('\\end{verbatim}\n')
+parameter_file.close()
+
+#------------------------------------------------------------------------------
+# Evolve system through time
+#------------------------------------------------------------------------------
+for t in domain.evolve(yieldstep=2.0, finaltime=1200.0):
+    print domain.timestepping_statistics()
+    xx=domain.quantities['ymomentum'].centroid_values
+    dd=(domain.quantities['stage'].centroid_values - domain.quantities['elevation'].centroid_values)
+    dd=dd*(dd>0.)
+
+    tmp = xx/(dd+1.0e-06)*(dd>0.0)
+    print tmp.max(), tmp.argmax(), tmp.min(),  tmp.argmin()
+
+    # Compute flow through cross-section -- check that the inflow boundary condition is doing its job
+    # This also provides another useful steady-state check
+    if( numpy.floor(t/100.) == t/100. ):
+        print '#### COMPUTING FLOW THROUGH CROSS-SECTIONS########'
+        s0 = domain.get_flow_through_cross_section([[0., 10.0], [floodplain_width, 10.0]])
+        s1 = domain.get_flow_through_cross_section([[0., floodplain_length-300.0], [floodplain_width, floodplain_length-300.0]])
+        s2 = domain.get_flow_through_cross_section([[0., floodplain_length-1.0], [floodplain_width, floodplain_length-1.0]])
+        
+        print 'Cross sectional flows: ',s0, s1, s2 
+        print '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'
+        discharge_outfile.write(str(t) + "," +str(s0) + ","+ str(s1) +"," + str(s2) + "\n")
+discharge_outfile.close()
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_report.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_report.py	(revision 8801)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_report.py	(revision 8801)
@@ -0,0 +1,21 @@
+#! /usr/bin/python
+
+# To change this template, choose Tools | Templates
+# and open the template in the editor.
+
+__author__="steve"
+__date__ ="$13/03/2013 4:24:51 PM$"
+
+if __name__ == "__main__":
+    print "Hello World";
+
+import os
+
+
+os.system('pdflatex report.tex')
+os.system('bibtex report')
+os.system('pdflatex report.tex')
+os.system('bibtex report')
+os.system('pdflatex report.tex')
+os.system('bibtex report')
+os.system('pdflatex report.tex')
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_results.py
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_results.py	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/produce_results.py	(revision 8801)
@@ -8,6 +8,7 @@
 # validation test
 def build():
-    run_validation_script('channel_floodplain.py')
+    run_validation_script('numerical_channel_floodplain.py')
     run_validation_script('plot_results.py')
+    run('python', 'produce_report.py')  
 
 def clean():
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/report.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/report.tex	(revision 8801)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/report.tex	(revision 8801)
@@ -0,0 +1,40 @@
+\documentclass[11pt,a4paper]{article}%{amsart}
+
+\usepackage{graphicx}
+\usepackage{epstopdf}
+\usepackage[section]{placeins} % 'one-shot' command to nicely place figures
+\usepackage{datatool}
+\usepackage{url}
+\usepackage{amsmath}
+\DeclareUrlCommand\UScore{\urlstyle{rm}}
+
+
+\input{../../local-defs}
+\input{../../saved_parameters}
+
+%=========================================
+\begin{document} 
+%=========================================
+
+\title{Automated Report on the Performance of \anuga{} on the Steady State of Moving Water Down on a Trapezoidal Channel}
+\maketitle
+%\tableofcontents
+
+%======================
+%\chapter{Dry Dam Break}
+%======================
+
+\input{results}
+
+\section{Parameters used for this simulation}
+
+\input{parameters}
+
+%======================
+% bibliography
+%======================
+
+\bibliographystyle{plain}
+\bibliography{../../bibliography}
+
+\end{document}
Index: /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/results.tex
===================================================================
--- /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/results.tex	(revision 8800)
+++ /trunk/anuga_core/source/anuga_validation_tests/Analytical_exact/trapezoidal_channel/results.tex	(revision 8801)
@@ -7,5 +7,5 @@
 We do not expect perfect agreement, because the mesh is not very fine in this example (triangle side length of around 1m, just enough to resolve the banks). There will probably be some numerical diffusion in the cross-channel velocity profiles, which will in turn cause errors in the mid-channel velocity and free surface elevation. We deliberately choose to not use a finer mesh, because in realistic problems, it is often not possible to resolve all channels very well.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
 \includegraphics[width=0.9\textwidth]{fig1mid_channel.png}
@@ -17,9 +17,9 @@
 Figure~\ref{fig:xsect_vels} shows the cross-channel velocity profiles at a number of cross-sections. Ideally it should agree with the analytical solution, however, this may be difficult due to numerical diffusion in the cross-channel direction. Irrespective, the velocity profile should be qualitatively correct -- highest velocities should be in the channel centre, with lower velocities towards the banks.
 
-\begin{figure}[h]
+\begin{figure}
 \begin{center}
-\includegraphics[width=0.9\textwidth]{fig2upstream_channel.png}
-\includegraphics[width=0.9\textwidth]{fig3central_channel.png}
-\includegraphics[width=0.9\textwidth]{fig4downstream_channel.png}
+\includegraphics[width=0.75\textwidth]{fig2upstream_channel.png}
+\includegraphics[width=0.75\textwidth]{fig3central_channel.png}
+\includegraphics[width=0.75\textwidth]{fig4downstream_channel.png}
 \caption{$y$-velocity distribution over a number of cross-sections.}
 \label{fig:xsect_vels}
@@ -27,7 +27,12 @@
 \end{figure}
 
-Table~\ref{tab:trapztab} shows the discharge computed at a number of cross-sections in the channel, at a number of time-steps on the way to near steady-state. By the end of the simulation they should all be essentially the same. Large variations may suggest mass conservation errors (small variations are probably due to the interpolation that occurs in the 'compute\_flow\_through\_cross\_section' routine).
+Table~\ref{tab:trapztab} shows the discharge computed at a number of cross-sections in the channel, at a number of time-steps on the way to near steady-state. By the end of the simulation they should all be essentially the same. Large variations may suggest mass conservation errors (small variations are probably due to the interpolation that occurs in the routine:
+\begin{equation*}
+\textrm{compute\_flow\_through\_cross\_section}.
+\end{equation*}
 
-\DTLloaddb{dischargeout}{Tests/Simple/trapezoidal_channel/discharge_outputs.txt}
+
+\DTLloaddb{dischargeout}{Analytical_exact/trapezoidal_channel/discharge_outputs.txt}
+%\DTLloaddb{dischargeout}{discharge_outputs.txt}
 \begin{table}
 \caption{Discharge through cross-sections at a number of $x$-position, at different instants in time}
