Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21894)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 21895)
@@ -313,4 +313,6 @@
 		ComputeBasalMeltingrate(element);
 	}
+
+	/*extrude inputs*/
 	femmodel->parameters->SetParam(BasalforcingsGroundediceMeltingRateEnum,InputToExtrudeEnum);
 	extrudefrombase_core(femmodel);
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21894)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 21895)
@@ -1518,5 +1518,19 @@
             xDelete<IssmDouble>(times);
         }
-        else _error_("nodal vector is either numberofvertices or numberofvertices+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long");
+        else if(M==iomodel->numberofelements){
+
+			  /*This is a Patch!*/
+			  xDelete<IssmDouble>(values);
+			  values = xNew<IssmDouble>(N);
+			  for(int j=0;j<N;j++) values[j]=vector[this->Sid()*N+j];
+
+			  if     (N==this->GetNumberOfNodes(P1Enum)   ) this->AddInput(vector_enum,values,P1Enum);
+			  else if(N==this->GetNumberOfNodes(P1xP3Enum)) this->AddInput(vector_enum,values,P1xP3Enum);
+			  else _error_("Patch interpolation not supported yet");
+
+		  }
+		  else{
+			  _error_("nodal vector is either numberofvertices or numberofvertices+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long");
+		  }
         
         xDelete<IssmDouble>(values);
