Index: /inundation/ga/storm_surge/pmesh/mesh.py
===================================================================
--- /inundation/ga/storm_surge/pmesh/mesh.py	(revision 1022)
+++ /inundation/ga/storm_surge/pmesh/mesh.py	(revision 1023)
@@ -2278,7 +2278,7 @@
     elif (ofile[-4:]== ".tsh" or ofile[-4:]== ".msh"):
         dict = load_mesh.loadASCII.import_triangulation(ofile)
-        #print "********"
-        #print "zq mesh.dict",dict
-        #print "********" 
+        print "********"
+        print "zq mesh.dict",dict
+        print "********" 
         newmesh= Mesh()
         newmesh.IOOutline2Mesh(dict)
@@ -2286,4 +2286,7 @@
     else:
         raise RuntimeError
+    
+    if dict.has_key('geo_reference') and not dict['geo_reference'] == None:
+        newmesh.geo_reference = dict['geo_reference']
     return newmesh
 
Index: /inundation/ga/storm_surge/pmesh/meshHarness.py
===================================================================
--- /inundation/ga/storm_surge/pmesh/meshHarness.py	(revision 1022)
+++ /inundation/ga/storm_surge/pmesh/meshHarness.py	(revision 1023)
@@ -5,4 +5,5 @@
 from mesh import *
 from load_mesh.loadASCII import *
+from coordinate_transforms.geo_reference import Geo_reference
 
 class meshTestCase(unittest.TestCase):
@@ -658,5 +659,5 @@
                         'same_x_y False failed')
 
-    def test_import_mesh(self):
+    def test_import_tsh(self):
         
         a_att = [5.0,2.0]
@@ -676,7 +677,9 @@
      
         r1 = Region(0.3, 0.3,tag = "1.3")
+        geo = Geo_reference(8.9,8.9,65)
         m = Mesh(userVertices=[a,d,f,e],
                  userSegments=[s1,s2,s3,s4],
-                 regions=[r1])
+                 regions=[r1],
+                 geo_reference=geo)
 
         m.generateMesh("QApz", maxArea = 2.1)
@@ -695,6 +698,52 @@
         self.failUnless(0 == m.__cmp__(m_returned),
                         'loading and saving of a mesh failed')
-
-        
+        # do this when .msh supports geo_refs
+        #self.failUnless(m.geo_reference == m_returned.geo_reference,
+        #                'loading and saving of a mesh geo refs failed')
+
+    def test_import_mesh(self):
+        
+        a_att = [5.0,2.0]
+        d_att =[4.0,2.0]
+        f_att = [3.0,2.0]
+        e_att = [2.0,2.0]
+        a_xy = [0.0, 0.0]
+        a = Vertex ( a_xy[0],a_xy[1]) #, attributes =a_att)
+        d = Vertex (0.0, 4.0) #, attributes =d_att)
+        f = Vertex (4.0,0.0) #, attributes =f_att)
+        e = Vertex (1.0,1.0) #, attributes =e_att)
+    
+        s1 = Segment(a,d, tag = "50")
+        s2 = Segment(d,f, tag = "40")
+        s3 = Segment(a,f, tag = "30")
+        s4 = Segment(a,e, tag = "20")
+     
+        r1 = Region(0.3, 0.3,tag = "1.3")
+        geo = Geo_reference(8.9,8.9,65)
+        m = Mesh(userVertices=[a,d,f,e],
+                 userSegments=[s1,s2,s3,s4],
+                 regions=[r1],
+                 geo_reference=geo)
+
+        m.generateMesh("QApz", maxArea = 2.1)
+        fileName = tempfile.mktemp(".msh")
+        #print "dgs!!!"
+        #print "****************** fileName", fileName
+        m.export_mesh_file(fileName)
+        #print "******************"
+        #print "m", m
+        #print "******************"
+        m_returned = importMeshFromFile(fileName)
+        #print "m_returned",m_returned
+        #print "******************"
+        #print "****************** fileName", fileName
+        os.remove(fileName)
+        print "m.geo_reference",m.geo_reference
+        print "m_returned.geo_reference,",m_returned.geo_reference
+        self.failUnless(0 == m.__cmp__(m_returned),
+                        'loading and saving of a mesh failed')
+        self.failUnless(m.geo_reference == m_returned.geo_reference,
+                        'loading and saving of a mesh geo refs failed')
+
     def test_normaliseMesh(self):
         
@@ -1346,6 +1395,6 @@
 #-------------------------------------------------------------
 if __name__ == "__main__":
-    suite = unittest.makeSuite(meshTestCase,'test')
-    #suite = unittest.makeSuite(meshTestCase,'test_exportASCIImeshfile')
+    #suite = unittest.makeSuite(meshTestCase,'test')
+    suite = unittest.makeSuite(meshTestCase,'test_import_mesh')
     runner = unittest.TextTestRunner() #verbosity=2)
     runner.run(suite)
