diff --git a/da/analysis/runinfo.py b/da/analysis/runinfo.py
deleted file mode 100755
index 02f87289e61012882b6963172106b61879c77adb..0000000000000000000000000000000000000000
--- a/da/analysis/runinfo.py
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/usr/bin/env python
-# runinfo.py
-
-"""
-Author : peters 
-
-Revision History:
-File created on 01 Mar 2011.
-
-"""
-
-import mysettings 
-import commands
-import os
-import sys
-from datetime import datetime, timedelta
-
-
-class RunInfo(object):
-    """ 
-    This is a CarbonTracker  run info object
-    Initialize it with the following keywords:
-   
-    MANDATORY: 
-    project  = Name of project, should correspond to a directory [string]
-    sd       = start date of project output [datetime object or integer yyyymmdd]
-    ed       = end date of project output [datetime object or integer yyyymmdd]
-    OPTIONAL:
-    basedir  = base directory of model output on your machine [string, default='~/Modeling/download']
-    outputdir= output directory for figures and summary files [string, default='~/Modeling/SEATA']
-
-    Tip: change the std_rundat dictionary in module filtertools to set new defaults for all values!
-    """
-    def __init__(self,infodict={},rcfile=None):
-        """ Initialize from the name of an rcfile, or by passing the dictionary directly """
-        import da.tools.rc as rc
-        import da.tools.io4 as io
-        import copy
-
-
-        if rcfile:
-            infodict    = rc.read(rcfile)
-
-        self.basedir    = infodict['dir.da_run']
-        self.proj       = os.path.split(self.basedir)[-1]
-        self.projdir    = self.basedir
-
-        self.dir_scheme = mysettings.ct_dir_scheme
-        
-        self.inputdir   = os.path.join(self.basedir,'output')
-        self.outputdir  = os.path.join(self.basedir,'analysis')
-
-        if not os.path.exists(self.outputdir): 
-            os.makedirs(self.outputdir)
-            print "Creating new output directory "+self.outputdir
- 
-        sd=infodict['time.start']
-        ed=infodict['time.finish']
-        dt=infodict['time.cycle']
-
-        self.dt = timedelta(days=int(dt))
-
-        if not isinstance(sd,datetime):
-            self.sd = datetime.strptime(sd,'%Y-%m-%d %H:%M:%S')
-        if not isinstance(ed,datetime):
-            self.ed = datetime.strptime(ed,'%Y-%m-%d %H:%M:%S')
-
-        dd             = copy.deepcopy(self.sd)
-        self.inputfiles= []
-        self.weeks     = []
-        self.inputdict = {}
-
-        while dd < self.ed:
-            filename = os.path.join(self.inputdir,'%s'%dd.strftime('%Y%m%d'),'savestate.nc')
-            if os.path.exists(filename):
-                self.inputfiles.append(filename)
-                self.weeks.append(dd)
-                self.inputdict[dd] = filename
-            else:
-                break
-                    
-            dd = dd+self.dt
-
-        self.ed     = dd
-        self.nweeks = len(self.weeks)
-
-        # run parameters from file
-        ncf             = io.CT_Read(self.inputfiles[0],'read')
-        self.nlag       = len(ncf.dimensions['nlag'])
-        self.nmembers   = len(ncf.dimensions['nmembers'])
-        self.nparameters  = len(ncf.dimensions['nparameters'])
-        ncf.close()
-
-        self.namingscheme = 'wp_Mar2011'
-        filename          = os.path.join('NamingScheme.'+self.namingscheme+'.rc')
-
-        try: 
-            rcinfo=rc.read(filename)
-        except IOError: 
-            print '%s was specified as naming scheme, but no matching %s rc-file was found, exiting...'%(NamingScheme,filename,)
-            sys.exit(1)
-        except:
-            print 'Unknown error reading rc-file: %s, exiting...'%(filename,) 
-            sys.exit(1)
-
-
-        self.namedict=rcinfo
-    
-    def __str__(self):
-        return 'project              : '+self.projdir+\
-               '\nstart date           : '+str(self.sd)+\
-               '\nend date             : '+str(self.ed)+\
-               '\ndelta date           : '+str(self.dt)+\
-               '\nnweeks               : '+str(self.nweeks)+\
-               '\nnparameters          : '+str(self.nparameters)+\
-               '\nnmembers             : '+str(self.nmembers)+\
-               '\nnlag                 : '+str(self.nlag)+\
-               '\nDA output dir        : '+self.inputdir+\
-               '\nanalysis output dir  : '+self.outputdir+\
-               '\nnaming scheme        : '+self.namingscheme
-
-def get_rundat_settings(args):
-    """ create settings dict for rundat from scripts arguments """
-
-    settings=std_rundat.copy()  # start with defaults for rundat
-
-    for items in args:
-        items=items.lower()
-        k, v = items.split('=')
-        if settings.has_key(k):
-            if k in std_constructors:
-                settings[k] = std_constructors[k](v)
-            else:
-                settings[k] = v
-        else: raise IOError,'Parameter unknown:%s'%(v,)
-
-    return settings
-
-
-
-
-
-if __name__ == "__main__":
-    import getopt
-    import sys
-    from string import *
-
-    sys.path.append('../../')
-
-# Parse keywords
-
-    rundat=RunInfo(rcfile='../../da.rc')
-
-    print rundat
-
-    sys.exit(0)
diff --git a/da/analysis/tools_transcom.py b/da/analysis/tools_transcom.py
index b6d8b85d7c2c73953e5667af3821dd1b017b9c96..590aaeb3ed20e1561a1a21a8e32ccb3b536a9f71 100755
--- a/da/analysis/tools_transcom.py
+++ b/da/analysis/tools_transcom.py
@@ -236,42 +236,6 @@ ntcocean    = 11 # TC standard
 
 ExtendedTCRegionsFile='postagg_definitions.nc'
 
-def StateToTranscom(runinfo,x):
-    """ convert to transcom shaped regions"""
-    from numpy import dot
-
-    try:
-        nparams     = runinfo.nparameters 
-    except:
-        nparams     = runinfo
-    if nparams==240: 
-        M=Ols240_to_TC23
-    elif nparams==221: 
-        M=Ols221_to_TC23
-    elif nparams==259: 
-        M=Ols259_to_TC23
-    else:
-        raise ValueError('Do not know how to convert %s regions to 23 transcom regions'%(nparams,))
-
-    return dot(array(x).squeeze(),M)
-
-def StateCovToTranscom(runinfo,p):
-    """ convert to transcom shaped regions"""
-    try:
-        nparams     = runinfo.nparameters 
-    except:
-        nparams     = runinfo
-    if nparams==240: 
-        M=Ols240_to_TC23
-    elif nparams==221: 
-        M=Ols221_to_TC23
-    elif nparams==259: 
-        M=Ols259_to_TC23
-    else:
-        raise ValueError('Do not know how to convert %s regions to 23 transcom regions'%(nparams,))
-
-    return transpose(dot(dot(transpose(M),p),M),(1,0,2))
-
 def ExtendedTCRegions(data,cov=False):
     """ convert to extended transcom shaped regions"""
     from numpy import dot, transpose
@@ -290,7 +254,6 @@ def cov2corr(A):
     b=1./sqrt(A.diagonal())
     return A*dot(b[:,newaxis],b[newaxis,:])
 
-def map_to_tc(data):
     """ function projects 1x1 degree map onto TransCom regions by adding gridboxes over larger areas """
     from hdf2field import Sds2field 
     import cPickle
@@ -322,7 +285,6 @@ def map_to_tc(data):
         result[k-1]=data.ravel().take(v).sum()
     return result
 
-def LookUpName(rundat,reg=33,tc=False,eco=False, olson=False, longnames=False):
     """ return name of region number reg """
 
     if longnames: