Index: /issm/trunk-jpl/src/m/classes/qmustatistics.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmustatistics.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/classes/qmustatistics.py	(revision 25817)
@@ -13,6 +13,6 @@
 
     def __init__(self, *args):  #{{{
-        self.nfiles_per_directory   = 5 # Number of files per output directory
-        self.ndirectories           = 50 # Number of output directories; should be < numcpus
+        self.nfiles_per_directory = 5  # Number of files per output directory
+        self.ndirectories  = 50  # Number of output directories; should be < numcpus
 
         self.method = [{}]
@@ -60,6 +60,6 @@
     def setdefaultparameters(self):  # {{{
         self.method[0]['name'] = 'None'
-        self.nfiles_per_directory   = 5 # Number of files per output directory
-        self.ndirectories           = 50 # Number of output directories; should be < numcpus
+        self.nfiles_per_directory = 5  # Number of files per output directory
+        self.ndirectories = 50  # Number of output directories; should be < numcpus
         return self
     #}}}
Index: /issm/trunk-jpl/src/m/classes/results.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/results.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/classes/results.py	(revision 25817)
@@ -1,10 +1,6 @@
 from copy import deepcopy
 
-import numpy as np
-
-from fielddisplay import fielddisplay
-
-
-class results(object): #{{{
+
+class results(object):  #{{{
     """RESULTS class definition
 
@@ -13,13 +9,13 @@
 
     TODO:
-    - Rework so that a solution of arbitrary length (normal or transient) can 
+    - Rework so that a solution of arbitrary length (normal or transient) can
     initialized from one call to the results class constructor.
     """
 
-    def __init__(self): #{{{
-        pass
-    #}}}
-
-    def __repr__(self): #{{{
+    def __init__(self):  #{{{
+        pass
+    #}}}
+
+    def __repr__(self):  #{{{
         s = ''
         for key, value in self.__dict__.items():
@@ -27,5 +23,8 @@
                 lengthvalue = 1
             else:
-                lengthvalue = len(value)
+                try:
+                    lengthvalue = len(value)
+                except TypeError:
+                    lengthvalue = 1
             s += '    {}: [1x{} struct]\n'.format(key, lengthvalue)
 
@@ -33,20 +32,21 @@
     #}}}
 
-    def setdefaultparameters(self): #{{{
+    def setdefaultparameters(self):  #{{{
         #do nothing
         return self
     #}}}
 
-    def checkconsistency(self, md, solution, analyses): #{{{
-        return md
-    #}}}
-
-    def marshall(self, prefix, md, fid): #{{{
-        pass
-    #}}}
-#}}}
-
-class resultsdakota(object): #{{{
-    """RESULTSDAKOTA class definition - Used to store results from a run of 
+    def checkconsistency(self, md, solution, analyses):  #{{{
+        return md
+    #}}}
+
+    def marshall(self, prefix, md, fid):  #{{{
+        pass
+    #}}}
+#}}}
+
+
+class resultsdakota(object):  #{{{
+    """RESULTSDAKOTA class definition - Used to store results from a run of
     Dakota.
 
@@ -57,9 +57,9 @@
     """
 
-    def __init__(self): #{{{
-        pass
-    #}}}
-
-    def __repr__(self): #{{{
+    def __init__(self):  #{{{
+        pass
+    #}}}
+
+    def __repr__(self):  #{{{
         s = ''
         for key, value in self.__dict__.items():
@@ -73,24 +73,25 @@
     #}}}
 
-    def __len__(self): #{{{
+    def __len__(self):  #{{{
         return len(self.__dict__.keys())
     #}}}
 
-    def setdefaultparameters(self): #{{{
+    def setdefaultparameters(self):  #{{{
         #do nothing
         return self
     #}}}
 
-    def checkconsistency(self, md, solution, analyses): #{{{
-        return md
-    #}}}
-
-    def marshall(self, prefix, md, fid): #{{{
-        pass
-    #}}}
-#}}}
-
-class solution(object): #{{{
-    """SOLUTION class definition - Value of an attribute (which should be 
+    def checkconsistency(self, md, solution, analyses):  #{{{
+        return md
+    #}}}
+
+    def marshall(self, prefix, md, fid):  #{{{
+        pass
+    #}}}
+#}}}
+
+
+class solution(object):  #{{{
+    """SOLUTION class definition - Value of an attribute (which should be
     a string representing a solution type) of an instance of results class
 
@@ -102,9 +103,9 @@
     NOTE:
     - Under MATLAB, this is implemented as a structure array
-    - Only when this instance of solution represents a transient solution 
+    - Only when this instance of solution represents a transient solution
     should self.steps have more than one element
     """
 
-    def __init__(self, *args): #{{{
+    def __init__(self, *args):  #{{{
         self.steps = None
         if len(args) == 1:
@@ -118,9 +119,9 @@
     #}}}
 
-    def __deepcopy__(self, memo): #{{{
+    def __deepcopy__(self, memo):  #{{{
         return solution(deepcopy(self.steps, memo))
     #}}}
 
-    def __repr__(self): #{{{
+    def __repr__(self):  #{{{
         s = ''
         numsteps = len(self.steps)
@@ -137,9 +138,9 @@
     #}}}
 
-    def __len__(self): #{{{
+    def __len__(self):  #{{{
         return len(self.steps)
     #}}}
 
-    def __getattr__(self, key): #{{{
+    def __getattr__(self, key):  #{{{
         if len(self.steps) == 1:
             return getattr(self.steps[0], key)
@@ -148,5 +149,5 @@
     #}}}
 
-    def __getitem__(self, index): #{{{
+    def __getitem__(self, index):  #{{{
         while True:
             try:
@@ -158,18 +159,19 @@
     #}}}
 
-    def setdefaultparameters(self): #{{{
-        return self
-    #}}}
-
-    def checkconsistency(self, md, solution, analyses): #{{{
-        return md
-    #}}}
-
-    def marshall(self, prefix, md, fid): #{{{
-        pass
-    #}}}
-#}}}
-
-class solutionstep(object): #{{{
+    def setdefaultparameters(self):  #{{{
+        return self
+    #}}}
+
+    def checkconsistency(self, md, solution, analyses):  #{{{
+        return md
+    #}}}
+
+    def marshall(self, prefix, md, fid):  #{{{
+        pass
+    #}}}
+#}}}
+
+
+class solutionstep(object):  #{{{
     """SOLUTIONSTEP class definition - Single element of <solution>.steps
 
@@ -178,9 +180,9 @@
     """
 
-    def __init__(self, *args): #{{{
-        pass
-    #}}}
-
-    def __repr__(self): #{{{
+    def __init__(self, *args):  #{{{
+        pass
+    #}}}
+
+    def __repr__(self):  #{{{
         s = ''
         width = self.getlongestfieldname()
@@ -191,9 +193,9 @@
     #}}}
 
-    def getfieldnames(self): #{{{
+    def getfieldnames(self):  #{{{
         return self.__dict__.keys()
     #}}}
 
-    def getlongestfieldname(self): #{{{
+    def getlongestfieldname(self):  #{{{
         maxlength = 0
         for key in self.__dict__.keys():
@@ -205,14 +207,14 @@
     #}}}
 
-    def setdefaultparameters(self): #{{{
-        return self
-    #}}}
-
-    def checkconsistency(self, md, solution, analyses): #{{{
-        return md
-    #}}}
-
-    def marshall(self, prefix, md, fid): #{{{
-        pass
-    #}}}
-#}}}
+    def setdefaultparameters(self):  #{{{
+        return self
+    #}}}
+
+    def checkconsistency(self, md, solution, analyses):  #{{{
+        return md
+    #}}}
+
+    def marshall(self, prefix, md, fid):  #{{{
+        pass
+    #}}}
+#}}}
Index: /issm/trunk-jpl/src/m/classes/solidearthsettings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/solidearthsettings.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/classes/solidearthsettings.py	(revision 25817)
@@ -13,5 +13,5 @@
     """
 
-    def __init__(self, *args): #{{{
+    def __init__(self, *args):  #{{{
         self.reltol                 = 0
         self.abstol                 = 0
Index: /issm/trunk-jpl/src/m/os/issmscpout.py
===================================================================
--- /issm/trunk-jpl/src/m/os/issmscpout.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/os/issmscpout.py	(revision 25817)
@@ -17,5 +17,5 @@
     #if hostname and host are the same, do a simple copy
 
-    if m.strcmpi(host, hostname):
+    if host == hostname:
         for package in packages:
             here = os.getcwd()
Index: /issm/trunk-jpl/src/m/solve/loadresultfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultfromdisk.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/solve/loadresultfromdisk.py	(revision 25817)
@@ -2,7 +2,8 @@
 import numpy as np
 
-def loadresultfromdisk(filename, step, name, *args): # {{{
+
+def loadresultfromdisk(filename, step, name, *args):  # {{{
     """
-    LOADRESULTFROMDISK - load specific result of solution sequence from disk 
+    LOADRESULTFROMDISK - load specific result of solution sequence from disk
     file "filename"
 
@@ -18,5 +19,5 @@
     try:
         fid = open(filename, 'rb')
-    except IOError as e:
+    except IOError:
         raise IOError("loadresultsfromdisk error message: could not open {} for binary reading".format(filename))
 
@@ -36,7 +37,7 @@
         rstep = struct.unpack('i', fid.read(struct.calcsize('i')))[0]
 
-        # TODO: Check number of characters unpacked and break if need be (see 
+        # TODO: Check number of characters unpacked and break if need be (see
         #       src/m/solve/loadresultfromdisk.py)
-        
+
         if (rstep == step) and (fieldname == name):
             # ok, go read the result really
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py	(revision 25817)
@@ -1,4 +1,3 @@
 import os
-import platform
 import socket
 
@@ -15,9 +14,11 @@
         print(('WARNING: ' + filename + ' does not exist'))
 
+
 def loadresultsfromcluster(md, *args):
     """LOADRESULTSFROMCLUSTER - load results of solution sequence from cluster
 
     Usage:
-        md = loadresultsfromcluster(md, runtimename)
+        md = loadresultsfromcluster(md)
+        md = loadresultsfromcluster(md, 'runtimename', runtimename)
     """
 
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 25817)
@@ -1,4 +1,3 @@
 import os
-
 from helpers import fieldnames, struct
 from parseresultsfromdisk import parseresultsfromdisk
@@ -8,5 +7,5 @@
 
 def loadresultsfromdisk(md, filename):
-    """LOADRESULTSFROMDISK - load results of solution sequence from disk file 
+    """LOADRESULTSFROMDISK - load results of solution sequence from disk file
     "filename"
 
@@ -23,5 +22,5 @@
         # Check that file exists
         if not os.path.exists(filename):
-            err_msg  = '============================================================\n'
+            err_msg = '============================================================\n'
             err_msg += '   Binary file {} not found                                 \n'.format(filename)
             err_msg += '                                                            \n'
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 25816)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 25817)
@@ -1,11 +1,9 @@
 from collections import OrderedDict
 import struct
-
 import numpy as np
-
 from results import solution
 
 
-def parseresultsfromdisk(md, filename, iosplit): #{{{
+def parseresultsfromdisk(md, filename, iosplit):  #{{{
     if iosplit:
         saveres = parseresultsfromdiskiosplit(md, filename)
@@ -16,9 +14,10 @@
 #}}}
 
+
 def parseresultsfromdiskiosplit(md, filename):  # {{{
     #Open file
     try:
         fid = open(filename, 'rb')
-    except IOError as e:
+    except IOError:
         raise IOError("parseresultsfromdisk error message: could not open '{}' for binary reading.".format(filename))
 
@@ -89,5 +88,5 @@
         result = ReadData(fid, md)
 
-        if result == None:
+        if result is None:
             if allresults == []:
                 raise Exception('no results found in binary file ' + filename)
