Index: /issm/trunk-jpl/src/m/extrusion/project3d.py
===================================================================
--- /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 26635)
+++ /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 26636)
@@ -1,4 +1,3 @@
 import numpy as np
-
 from pairoptions import pairoptions
 
@@ -8,7 +7,7 @@
     PROJECT3D - vertically project a vector from 2d mesh
 
-        vertically project a vector from 2d mesh (split in noncoll and coll 
+        vertically project a vector from 2d mesh (split in noncoll and coll
         areas) into a 3d mesh.
-        This vector can be a node vector of size (md.mesh.numberofvertices2d, 
+        This vector can be a node vector of size (md.mesh.numberofvertices2d,
         N/A) or an element vector of size (md.mesh.numberofelements2d, N/A).
 
@@ -18,8 +17,8 @@
 
         options:
-            'layer'     a layer number where vector should keep its values. If 
-                        not specified, all layers adopt the value of the 2d 
+            'layer'     a layer number where vector should keep its values. If
+                        not specified, all layers adopt the value of the 2d
                         vector.
-            'padding':  default to 0 (value adopted by other 3d layers not 
+            'padding':  default to 0 (value adopted by other 3d layers not
                         being projected.
             'degree':   degree of polynomials when extrude from bottom to the top
@@ -120,8 +119,8 @@
         #Initialize 3d vector
         if np.ndim(vector2d) == 1:
-            if vector2d.shape[0] == md.mesh.numberofelements2d:
-                projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements))).astype(vector2d.dtype)
-            elif vector2d.shape[0] == md.mesh.numberofelements2d + 1:
-                projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements + 1))).astype(vector2d.dtype)
+            if vector2d.shape[0] == md.mesh.numberofvertices2d:
+                projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices))).astype(vector2d.dtype)
+            elif vector2d.shape[0] == md.mesh.numberofvertices2d + 1:
+                projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices + 1))).astype(vector2d.dtype)
                 projected_vector[-1] = vector2d[-1]
                 vector2d = vector2d[:-1]
@@ -131,12 +130,12 @@
             if layer == 0:
                 for i in range(md.mesh.numberoflayers - 1):
-                    projected_vector[(i * md.mesh.numberofelements2d):((i + 1) * md.mesh.numberofelements2d)] = vector2d*(1.0-(1.0-i/(md.mesh.numberoflayers - 1.0))**polyexponent)
+                    projected_vector[(i * md.mesh.numberofvertices2d):((i + 1) * md.mesh.numberofvertices2d)] = vector2d * (1.0 - (1.0 - i / (md.mesh.numberoflayers - 1.0))**polyexponent)
             else:
-                projected_vector[((layer - 1) * md.mesh.numberofelements2d):(layer * md.mesh.numberofelements2d)] = vector2d*(1.0-(1.0-layer/(md.mesh.numberoflayers - 1.0))**polyexponent)
+                projected_vector[((layer - 1) * md.mesh.numberofvertices2d):(layer * md.mesh.numberofvertices2d)] = vector2d * (1.0 - (1.0 - layer / (md.mesh.numberoflayers - 1.0))**polyexponent)
         else:
-            if vector2d.shape[0] == md.mesh.numberofelements2d:
-                projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
-            elif vector2d.shape[0] == md.mesh.numberofelements2d + 1:
-                projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements + 1, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
+            if vector2d.shape[0] == md.mesh.numberofvertices2d:
+                projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
+            elif vector2d.shape[0] == md.mesh.numberofvertices2d + 1:
+                projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices + 1, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
                 projected_vector[-1, :] = vector2d[-1, :]
                 vector2d = vector2d[:-1, :]
@@ -146,7 +145,7 @@
             if layer == 0:
                 for i in range(md.mesh.numberoflayers - 1):
-                    projected_vector[(i * md.mesh.numberofelements2d):((i + 1) * md.mesh.numberofelements2d), :] = vector2d*(1.0-(1.0-i/(md.mesh.numberoflayers - 1.0))**polyexponent)
+                    projected_vector[(i * md.mesh.numberofvertices2d):((i + 1) * md.mesh.numberofvertices2d), :] = vector2d * (1.0 - (1.0 - i / (md.mesh.numberoflayers - 1.0))**polyexponent)
             else:
-                projected_vector[((layer - 1) * md.mesh.numberofelements2d):(layer * md.mesh.numberofelements2d), :] = vector2d*(1.0-(1.0-layer/(md.mesh.numberoflayers - 1.0))**polyexponent)
+                projected_vector[((layer - 1) * md.mesh.numberofvertices2d):(layer * md.mesh.numberofvertices2d), :] = vector2d * (1.0 - (1.0 - layer / (md.mesh.numberoflayers - 1.0))**polyexponent)
     else:
         raise TypeError("project3d error message: unknown projection type")
