diff --git a/ess/TraceWin.py b/ess/TraceWin.py
index 2e0020d08915b6fb438ea246c761a157f7d6f500..73f92683aa6b0fc9f0b6ca15e2c189398ff32d63 100644
--- a/ess/TraceWin.py
+++ b/ess/TraceWin.py
@@ -1,4 +1,5 @@
 
+
 class dst:
     '''
     Simple class to read in a 
@@ -309,3 +310,35 @@ class remote_data_merger:
 
             return data
 
+class partran:
+    '''
+    Read partran1.out files..
+    '''
+    def __init__(self,filename):
+        self.filename=filename
+        self._readAsciiFile()
+
+    def _readAsciiFile(self):
+
+        import numpy
+
+        stream=file(self.filename,'r')
+        for i in xrange(10):
+            line=stream.readline()
+        self.columns=['NUM']+line.split()
+        self.data=numpy.loadtxt(stream)
+
+        # seems we have some inconsistencies with columns...
+        #self._dict={}
+        #print self.data.shape,len(self.columns)
+        #for i in xrange(len(self.columns)):
+        #    self._dict[self.columns[i]]=self.data[:,i]
+
+    def get(self,column):
+        if column not in self.columns:
+            print "WARNING, could not find",column
+            return
+        i=self.columns.index(column)
+        return self.data[:,i]
+
+