Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py	(revision 3930)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py	(revision 3931)
@@ -185,5 +185,6 @@
     # rather than File_boundary
 
-    def __init__(self, filename, domain, verbose = False):
+    def __init__(self, filename, domain, time_thinning=1, 
+                 use_cache=False, verbose=False):
         import time
         from Numeric import array, zeros, Float
@@ -240,5 +241,7 @@
         self.F = file_function(filename, domain,
 	                       interpolation_points=self.midpoint_coordinates,
-                               verbose=verbose)
+                           time_thinning=time_thinning,
+                           use_cache=use_cache, 
+                           verbose=verbose)
         self.domain = domain
 
Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/test_util.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/test_util.py	(revision 3930)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/test_util.py	(revision 3931)
@@ -1159,5 +1159,5 @@
 if __name__ == "__main__":
     suite = unittest.makeSuite(Test_Util,'test')
-    #suite = unittest.makeSuite(Test_Util,'test_apply')
+    #suite = unittest.makeSuite(Test_Util,'test_get_version_info')
     runner = unittest.TextTestRunner()
     runner.run(suite)
Index: /anuga_core/source/anuga/abstract_2d_finite_volumes/util.py
===================================================================
--- /anuga_core/source/anuga/abstract_2d_finite_volumes/util.py	(revision 3930)
+++ /anuga_core/source/anuga/abstract_2d_finite_volumes/util.py	(revision 3931)
@@ -6,9 +6,12 @@
 
 import anuga.utilities.polygon
+import sys
+
+from os import remove, mkdir, access, F_OK, sep
+from os.path import exists
 from warnings import warn
+from shutil import copy
 
 from anuga.geospatial_data.geospatial_data import ensure_absolute
-
-
 
 def file_function(filename,
@@ -497,22 +500,33 @@
 
 ##################### end of obsolete stuff ? ############
-'''
-this simply catches the screen output and files it to a file
-'''
-from os import sep
-
-class Screen_Catcher:
-
+
+def start_screen_catcher(dirname, myid, numprocs):
+    """Used to store screen output and errors to file, if run on multiple 
+    processes eachprocessor will have its own output and error file.
+    """
+
+    dirname = dirname
+    screen_output_name = dirname + "screen_output_%d_%d.txt" %(myid,numprocs)
+    screen_error_name = dirname + "screen_error_%d_%d.txt" %(myid,numprocs)
+
+    #used to catch screen output to file
+    sys.stdout = screen_catcher(screen_output_name)
+    sys.stderr = screen_catcher(screen_error_name)
+
+class screen_catcher:
+    """this simply catches the screen output and stores it to file defined by
+    start_screen_catcher (above)
+    """
+    
     def __init__(self, filename):
-#        self.data = ''
         self.filename = filename
+        if exists(self.filename)is True:
+            remove(self.filename)
+            print'Old existing file "%s" has been deleted' %(self.filename)
 
     def write(self, stuff):
         fid = open(self.filename, 'a')
-#        fid = open(self.filename, 'w')
-#        self.data = self.data + stuff
         fid.write(stuff)
-        fid.close()
-        
+
 def get_version_info():
     """gets the version number of the SVN
@@ -1149,2 +1163,21 @@
     
     return texfile2, elev_output
+
+from os.path import basename
+
+def copy_code_files(dir_name, filename1, filename2):
+    """Copies "filename1" and "filename2" to "dir_name". Very useful for 
+    information management """
+
+    if access(dir_name,F_OK) == 0:
+        print 'Make directory %s' %dir_name
+        mkdir (dir_name,0777)
+    copy(filename1, dir_name + sep + basename(filename1))
+    copy(filename2, dir_name + sep + basename(filename2))
+#    copy (__file__, project.output_run_time_dir + basename(__file__))
+    print 'Files %s and %s copied' %(filename1, filename2)
+
+
+
+
+
