Index: trunk/anuga_work/development/classroom/ripcurrent.py
===================================================================
--- anuga_work/development/classroom/ripcurrent.py	(revision 7658)
+++ trunk/anuga_work/development/classroom/ripcurrent.py	(revision 7877)
@@ -16,9 +16,5 @@
 # Import necessary modules
 #------------------------------------------------------------------------------
-from anuga.interface import create_domain_from_regions
-from anuga.shallow_water.shallow_water_domain import Dirichlet_boundary
-from anuga.shallow_water.shallow_water_domain import Reflective_boundary
-from anuga.shallow_water.shallow_water_domain import Time_boundary
-from anuga.shallow_water.data_manager import get_mesh_and_quantities_from_file
+import anuga
 from pylab import figure, plot, axis, quiver, quiverkey, show, title, axhline
 from pylab import cos, sin, pi
@@ -41,5 +37,5 @@
 halfchannelwidth = 5
 bank_slope = 0.1
-simulation_length = 1
+simulation_length = 60
 timestep = 1
 
@@ -50,10 +46,11 @@
 length = 120
 width = 170
-seafloor_resolution = 60.0 # Resolution: Max area of triangles in the mesh
+seafloor_resolution = 20.0 # Resolution: Max area of triangles in the mesh
 feature_resolution = 1.0
 beach_resolution = 10.0
 
 sea_boundary_polygon = [[0,0],[length,0],[length,width],[0,width]]
-feature_boundary_polygon = [[0,100],[length,100],[length,150],[0,150]]
+feature_boundary_polygon = [[19,99],[length/2+1,99],[length/2+1,151],[0,151]]
+hole_boundary_polygon = [[20,100],[length/2,100],[length/2,150],[20,150]]
 beach_interior_polygon = [[0,150],[length,150],[length,width],[0,width]]
 
@@ -64,5 +61,5 @@
                    [beach_interior_polygon, beach_resolution]]
 
-domain = create_domain_from_regions(sea_boundary_polygon,
+domain = anuga.create_domain_from_regions(sea_boundary_polygon,
                                     boundary_tags={'bottom': [0],
                                                    'right' : [1],
@@ -72,4 +69,5 @@
                                     mesh_filename=meshname,
                                     interior_regions=feature_regions,
+                                    interior_holes=[hole_boundary_polygon],
                                     use_cache=True,
                                     verbose=True)
@@ -149,7 +147,7 @@
 # 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
+Bi = anuga.Dirichlet_boundary([0.4, 0, 0])          # Inflow
+Br = anuga.Reflective_boundary(domain)              # Solid reflective wall
+Bo = anuga.Dirichlet_boundary([-5, 0, 0])           # Outflow
 
 def wave(t):
@@ -158,5 +156,5 @@
     
     A = 0.4  # Amplitude of wave [m] (wave height)
-    T = 5    # Wave period [s]
+    T = 1    # Wave period [s]
 
     if t < 30000000000:
@@ -165,8 +163,8 @@
         return [0.0, 0, 0]
 
-Bt = Time_boundary(domain, f=wave)
-
-
-domain.set_boundary({'left': Br, 'right': Br, 'top': Bo, 'bottom': Bt})
+Bt = anuga.Time_boundary(domain, f=wave)
+
+
+domain.set_boundary({'left': Br, 'right': Br, 'top': Bo, 'bottom': Bt, 'exterior': Br})
 
 
Index: trunk/anuga_work/production/australia_ph2/perth/project.py
===================================================================
--- anuga_work/production/australia_ph2/perth/project.py	(revision 7658)
+++ trunk/anuga_work/production/australia_ph2/perth/project.py	(revision 7877)
@@ -41,5 +41,5 @@
 starttime=0             # start time for simulation
 finaltime=60000 # final time for simulation
-setup = 'final_30'         # This can be one of three values
+setup = 'trial'         # This can be one of three values
                         #    trial - coarsest mesh, fast
                         #    basic - coarse mesh
@@ -186,4 +186,5 @@
 
 # create paths generated from environment variables.
+print os.getenv(ENV_INUNDATIONHOME)
 home = join(os.getenv(ENV_INUNDATIONHOME), 'data') # Absolute path for data folder
 muxhome = os.getenv(ENV_MUXHOME)
Index: trunk/anuga_work/production/australia_ph2/perth/setup_model.py
===================================================================
--- anuga_work/production/australia_ph2/perth/setup_model.py	(revision 7658)
+++ trunk/anuga_work/production/australia_ph2/perth/setup_model.py	(revision 7877)
@@ -10,5 +10,5 @@
 
 from os.path import join, exists
-from anuga.utilities.polygon import read_polygon, number_mesh_triangles
+from anuga.geometry.polygon import read_polygon, number_mesh_triangles
 
 import project
Index: trunk/anuga_work/production/new_south_wales/batemans_bay/setup_model.py
===================================================================
--- anuga_work/production/new_south_wales/batemans_bay/setup_model.py	(revision 7658)
+++ trunk/anuga_work/production/new_south_wales/batemans_bay/setup_model.py	(revision 7877)
@@ -10,5 +10,5 @@
 
 from os.path import join, exists
-from anuga.utilities.polygon import read_polygon, number_mesh_triangles
+from anuga.geometry.polygon import read_polygon, number_mesh_triangles
 
 import project
Index: trunk/anuga_work/production/tweed_heads/project.py
===================================================================
--- anuga_work/production/tweed_heads/project.py	(revision 7658)
+++ trunk/anuga_work/production/tweed_heads/project.py	(revision 7877)
@@ -32,5 +32,5 @@
 finaltime=100         # final time for simulation
 
-setup = 'final'         # This can be one of three values
+setup = 'trial'         # This can be one of three values
                         #    trial - coarsest mesh, fast
                         #    basic - coarse mesh
@@ -143,8 +143,8 @@
 # Environment variable names.
 # The inundation directory, not the data directory.
-ENV_INUNDATIONHOME = 'INUNDATIONHOME'
+ENV_INUNDATIONHOME = '/home/james/Projects/anuga/anuga_work/production'
 
 # Path to MUX data
-ENV_MUXHOME = 'MUXHOME'
+ENV_MUXHOME = '/home/james/Projects/anuga/anuga_work/production'
 
 #-------------------------------------------------------------------------------
@@ -167,6 +167,6 @@
 
 # create paths generated from environment variables.
-home = join(os.getenv(ENV_INUNDATIONHOME), 'data') # Absolute path for data folder
-muxhome = os.getenv(ENV_MUXHOME)
+home = ENV_INUNDATIONHOME # Absolute path for data folder
+muxhome = ENV_MUXHOME
     
 # check various directories/files that must exist
Index: trunk/anuga_work/production/tweed_heads/setup_model.py
===================================================================
--- anuga_work/production/tweed_heads/setup_model.py	(revision 7658)
+++ trunk/anuga_work/production/tweed_heads/setup_model.py	(revision 7877)
@@ -10,6 +10,6 @@
 
 from os.path import join, exists
-from anuga.utilities.polygon import read_polygon, number_mesh_triangles
-from anuga.shallow_water.data_manager import csv2polygons
+from anuga.geometry.polygon import read_polygon, number_mesh_triangles
+from anuga.file.csv_file import load_csv_as_polygons as csv2polygons
 import project
 
