Index: /issm/trunk-jpl/src/m/interp/averaging.py
===================================================================
--- /issm/trunk-jpl/src/m/interp/averaging.py	(revision 26371)
+++ /issm/trunk-jpl/src/m/interp/averaging.py	(revision 26372)
@@ -29,8 +29,8 @@
     """
 
-    if len(data) != md.mesh.numberofelements and len(data) != md.mesh.numberofvertices:
+    if (len(data) != md.mesh.numberofelements) & (len(data) != md.mesh.numberofvertices):
         raise Exception('averaging error message: data not supported yet')
-    if md.mesh.dimension() == 3 and layer != 0:
-        if layer <= 0 or layer > md.mesh.numberoflayers:
+    if (md.mesh.dimension() == 3) & (layer != 0):
+        if (layer <= 0) | (layer > md.mesh.numberoflayers):
             raise ValueError('layer should be between 1 and md.mesh.numberoflayers')
     else:
@@ -40,5 +40,5 @@
     if layer == 0:
         weights = np.zeros(md.mesh.numberofvertices, )
-        data = data.flatten(1)
+        data = np.asarray(data).flatten()
     else:
         weights = np.zeros(md.mesh.numberofvertices2d, )
@@ -67,5 +67,5 @@
 
     index = index - 1  # Python indexes from zero
-    line = index.flatten(1)
+    line = index.flatten()
     areas = np.vstack(areas).reshape(-1, )
     summation = 1. / rep * np.ones(rep, )
@@ -91,5 +91,5 @@
 
     # Return output as a full matrix (C code does not like sparse matrices)
-    average = np.asarray(average_node.todense()).reshape(-1, )
+    average = np.expand_dims(np.asarray(average_node.todense()).reshape(-1, ),axis=1)
 
     return average
