Index: /issm/trunk-jpl/src/m/classes/SMBautoregression.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBautoregression.py	(revision 26948)
+++ /issm/trunk-jpl/src/m/classes/SMBautoregression.py	(revision 26949)
@@ -110,8 +110,10 @@
                 md = checkfield(md, 'fieldname', 'smb.refelevation', 'NaN', 1, 'Inf', 1, '>=', 0, 'size', [1, md.smb.num_basins], 'numel', md.smb.num_basins)
 
-            nbins = np.shape(self.lapserates)[1]
             if(np.any(np.isnan(self.lapserates) is False) or np.size(self.lapserates) > 1):
                 if len(np.shape(self.lapserates)) == 1:
                     self.lapserates = np.array([self.lapserates])
+                    nbins = 1
+                else:
+                    nbins = np.shape(self.lapserates)[1]
                 if len(np.shape(self.elevationbins)) == 1:
                     self.elevationbins = np.array([self.elevationbins])
@@ -123,6 +125,9 @@
             elif(np.any(np.isnan(self.elevationbins) is False) or np.size(self.elevationbins) > 1):
                 #elevationbins specified but not lapserates: this will inevitably lead to inconsistencies
-                nbins = np.shape(self.elevationbins)[1]
-                nbins += 1
+                if len(np.shape(self.elevationbins)) == 1:
+                    self.elevationbins = np.array([self.elevationbins])
+                    nbins = 1
+                else:
+                    nbins = np.shape(self.elevationbins)[1]+1
                 md = checkfield(md, 'fieldname', 'smb.lapserates', 'NaN', 1, 'Inf', 1, 'size', [md.smb.num_basins, nbins], 'numel', md.smb.num_basins*nbins)
                 md = checkfield(md, 'fieldname', 'smb.elevationbins', 'NaN', 1, 'Inf', 1, 'size', [md.smb.num_basins, nbins-1], 'numel', md.smb.num_basins*(nbins-1))
