Index: /inundation/ga/storm_surge/pyvolution/netherlands.py
===================================================================
--- /inundation/ga/storm_surge/pyvolution/netherlands.py	(revision 1687)
+++ /inundation/ga/storm_surge/pyvolution/netherlands.py	(revision 1688)
@@ -83,5 +83,5 @@
 N = 130 #size = 33800
 N = 600 #Size = 720000
-N = 60
+N = 100
 
 
@@ -121,5 +121,6 @@
 else:
     domain.initialise_visualiser(rect=[0.0,0.0,1.0,1.0])
-    domain.visualiser.coloring['stage'] = True
+    #domain.initialise_visualiser()
+    #domain.visualiser.coloring['stage'] = False
     domain.visualise_timer = True
     domain.checkpoint = False
@@ -161,7 +162,12 @@
 
 
+#from realtime_visualisation_new import Visualiser
+#V = Visualiser(domain,title='netherlands')
+#V.update_quantity('stage')
+#V.update_quantity('elevation')
 
-for t in domain.evolve(yieldstep = 0.1, finaltime = 15.0):
+for t in domain.evolve(yieldstep = 0.02, finaltime = 15.0):
     domain.write_time()
+    #V.update_quantity('stage')
     #rpdb.set_active()
     #domain.visualiser.scale_z = 1.0
Index: /inundation/ga/storm_surge/pyvolution/realtime_visualisation_new.py
===================================================================
--- /inundation/ga/storm_surge/pyvolution/realtime_visualisation_new.py	(revision 1687)
+++ /inundation/ga/storm_surge/pyvolution/realtime_visualisation_new.py	(revision 1688)
@@ -68,4 +68,5 @@
         self.coloring = {}
         self.updating = {}
+        self.setup = {}
 
         self.qcolor['stage']  = self.stage_color
@@ -73,4 +74,5 @@
         self.coloring['stage'] = False
         self.updating['stage'] = True
+        self.setup['stage'] = True
 
         self.qcolor['elevation']  = self.elevation_color
@@ -78,4 +80,5 @@
         self.coloring['elevation'] = False
         self.updating['elevation'] = False
+        self.setup['elevation'] = False
 
         #print self.max_x, self.min_x, self.max_y, self.min_y,
@@ -146,6 +149,9 @@
         self.scene.select()
 
-        self.update_quantity('elevation')
-        self.update_quantity('stage')
+        for key in ['elevation','stage']:
+            if self.setup[key] | self.updating[key]:
+                self.update_quantity(key)
+
+
 
     def update_all(self):
@@ -153,11 +159,7 @@
         self.scene.select()
 
-        if self.updating['elevation']:
-            self.update_quantity('elevation')
-
-        if self.updating['stage']:
-            self.update_quantity('stage')
-
-
+        for key in ['elevation','stage']:
+            if self.updating[key]:
+                self.update_quantity(key)
 
 
@@ -203,5 +205,9 @@
 
         #print 'update bed image'
-        self.vpython_z_models[qname].pos    = self.pos
+        if qname=='elevation':
+            self.vpython_z_models[qname].pos    = self.pos+1.0e-3
+        else:
+            self.vpython_z_models[qname].pos    = self.pos
+
         self.vpython_z_models[qname].color  = self.colour
         self.vpython_z_models[qname].normal = self.normals
@@ -608,16 +614,34 @@
     from advection import Domain as A_Domain
     from shallow_water import Domain as SW_Domain
+    from shallow_water import Constant_height, Constant_stage
     from mesh_factory import rectangular
 
-    points, vertices, boundary = rectangular(20, 20, len1=200, len2=200)
+    points, vertices, boundary = rectangular(60, 60, len1=200, len2=200)
     a_domain  = A_Domain(points, vertices, boundary)
-    sw_domain = SW_Domain(points, vertices, boundary)
+    print 'No of Elements' , a_domain.number_of_elements
+    #sw_domain = SW_Domain(points, vertices, boundary)
+    #sw_domain.set_quantity('elevation', Constant_stage(0.0))
+    #sw_domain.set_quantity('stage', Constant_stage(0.0))
 
     a_domain.initialise_visualiser()
-    a_domain.visualiser.update_all()
-
-
-    sw_domain.initialise_visualiser()
-    sw_domain.visualiser.update_all()
+    a_domain.visualiser.setup_all()
+
+
+    #sw_domain.initialise_visualiser()
+    #sw_domain.visualiser.setup['elevation']=True
+    #sw_domain.visualiser.setup_all()
+
+    time = 0.0
+    while (True):
+        time = time+0.001
+        #print 'Time = ',time
+        #sw_domain.set_quantity('stage', time)
+        a_domain.set_quantity('stage',time)
+
+        #sw_domain.visualiser.update_quantity('stage')
+        a_domain.visualiser.update_quantity('stage')
+
+        if time>1.0 :
+            break
 
     #a_v = Visualiser(domain=a_domain, title='advection')
Index: /inundation/ga/storm_surge/pyvolution/shallow_water.py
===================================================================
--- /inundation/ga/storm_surge/pyvolution/shallow_water.py	(revision 1687)
+++ /inundation/ga/storm_surge/pyvolution/shallow_water.py	(revision 1688)
@@ -113,4 +113,5 @@
             from realtime_visualisation_new import Visualiser
             self.visualiser = Visualiser(self,scale_z,rect)
+            self.visualiser.updating['elevation']=True
         self.visualise = True
 
@@ -203,5 +204,6 @@
         #Initialise real time viz if requested
         if self.visualise is True and self.time == 0.0:
-            #import realtime_visualisation_new as visualise
+            #pass
+            import realtime_visualisation_new as visualise
             #visualise.create_surface(self)
             self.initialise_visualiser()
@@ -214,7 +216,7 @@
             #print 'Storing results in ' + self.writer.filename
         else:
+            pass
             #print 'Results will not be stored.'
             #print 'To store results set domain.store = True'
-	    pass
             #FIXME: Diagnostic output should be controlled by
             # a 'verbose' flag living in domain (or in a parent class)
@@ -224,8 +226,7 @@
             #Real time viz
             if self.visualise is True:
-                #visualise.update(self)
-                if self.visualise is True:
-                    self.visualiser.update_all()
-                    self.visualiser.update_timer()
+                #pass
+                self.visualiser.update_all()
+                self.visualiser.update_timer()
 
             #Store model data, e.g. for subsequent visualisation
@@ -233,6 +234,6 @@
                 self.store_timestep(self.quantities_to_be_stored)
 
-		#FIXME: Could maybe be taken from specified list
-                #of 'store every step' quantities
+            #FIXME: Could maybe be taken from specified list
+            #of 'store every step' quantities
 
             #Pass control on to outer loop for more specific actions
@@ -603,5 +604,5 @@
         #perform the extrapolation and limiting on
         #all of the conserved quantitie
-        
+
         if (domain.order == 1):
             for name in domain.conserved_quantities:
@@ -612,5 +613,5 @@
         else:
             raise 'Unknown order'
-    else:    
+    else:
         #old code:
         for name in domain.conserved_quantities:
@@ -623,5 +624,5 @@
             else:
                 raise 'Unknown order'
-            
+
 
     #Take bed elevation into account when water heights are small
Index: /inundation/ga/storm_surge/validation/LWRU2/lwru2.py
===================================================================
--- /inundation/ga/storm_surge/validation/LWRU2/lwru2.py	(revision 1687)
+++ /inundation/ga/storm_surge/validation/LWRU2/lwru2.py	(revision 1688)
@@ -8,4 +8,8 @@
 
 """
+
+import sys
+from os import sep
+sys.path.append('..'+sep+'..'+sep)
 
 def prepare_timeboundary(filename):
@@ -27,10 +31,10 @@
     N = len(lines)
 
-    T = zeros(N, Float)       #Time
+    T = zeros(N, Float)  #Time
     Q = zeros(N, Float)  #Values
 
     for i, line in enumerate(lines):
         fields = line.split()
-        
+
         T[i] = float(fields[0])
         Q[i] = float(fields[1])
@@ -39,5 +43,7 @@
     from Scientific.IO.NetCDF import NetCDFFile
 
-    fid = NetCDFFile(filename[-4:] + '.sww', 'w')
+    print filename[:-4] + '.sww'
+
+    fid = NetCDFFile(filename[:-4] + '.sww', 'w')
 
     fid.institution = 'Geoscience Australia'
@@ -47,5 +53,5 @@
     fid.createVariable('time', Float, ('number_of_timesteps',))
     fid.variables['time'][:] = T
-            
+
     fid.createVariable('stage', Float, ('number_of_timesteps',))
     fid.variables['stage'][:] = Q[:]
@@ -55,5 +61,5 @@
 
     fid.createVariable('ymomentum', Float, ('number_of_timesteps',))
-    fid.variables['ymomentum'][:] = 0.0                
+    fid.variables['ymomentum'][:] = 0.0
 
 
@@ -72,12 +78,13 @@
 
 try:
+    print 'Read pickled domain'
     fid = open(picklefile)
     domain = load(fid)
-    print 'Read pickled domain'
+
 except:
 
     #Preparing time boundary
     prepare_timeboundary('Benchmark_2_input.txt')
-    
+
     #Preparing points
     from pyvolution.data_manager import xya2pts
@@ -104,6 +111,6 @@
     #LS code to be included in set_quantity
     from pyvolution import util, least_squares
-    points, attributes = util.read_xya('bathymetry.pts')
-    
+    points, attributes = util.read_xya('Benchmark_2_Bathymetry.pts')
+
     #Fit attributes to mesh
     vertex_attributes = least_squares.fit_to_mesh(domain.coordinates,
@@ -125,5 +132,4 @@
 
 
-
 ######################
 # Boundary conditions
@@ -140,9 +146,9 @@
 import time
 t0 = time.time()
+domain.visualise = True
 
-for t in domain.evolve(yieldstep = 0.1, finaltime = 22.5):
+for t in domain.evolve(yieldstep = 1.0, finaltime = 22.5):
     domain.write_time()
 
 
 print 'That took %.2f seconds' %(time.time()-t0)
-
