Index: /issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp
===================================================================
--- /issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp	(revision 8303)
@@ -27,5 +27,5 @@
 	/*Contour:*/
 	Contour* contouri=NULL;
-	int      numgrids;
+	int      numnodes;
 	double*  xc=NULL;
 	double*  yc=NULL;
@@ -63,8 +63,8 @@
 	for (i=0;i<numcontours;i++){
 		contouri=*(contours+i);
-		numgrids=contouri->nods;
+		numnodes=contouri->nods;
 		xc=contouri->x;
 		yc=contouri->y;
-		IsInPoly(in_nod,xc,yc,numgrids,x,y,i0,i1,edgevalue);
+		IsInPoly(in_nod,xc,yc,numnodes,x,y,i0,i1,edgevalue);
 	}
 
Index: /issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp	(revision 8303)
@@ -11,5 +11,5 @@
 	/*Contour:*/
 	Contour* contouri=NULL;
-	int      numgrids;
+	int      numnodes;
 	double*  xc=NULL;
 	double*  yc=NULL;
@@ -24,8 +24,8 @@
 	for (i=0;i<numcontours;i++){
 		contouri=*(contours+i);
-		numgrids=contouri->nods;
+		numnodes=contouri->nods;
 		xc=contouri->x;
 		yc=contouri->y;
-		IsInPoly(flags,xc,yc,numgrids,x,y,0,nods,edgevalue);
+		IsInPoly(flags,xc,yc,numnodes,x,y,0,nods,edgevalue);
 	}
 
Index: /issm/trunk/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp	(revision 8303)
@@ -53,5 +53,5 @@
 			GetVectorFromInputsx(&vertex_response,elements,nodes, vertices, loads, materials, parameters, StringToEnumx(root),VertexEnum);
 
-			/*Now, average it onto the partition grids: */
+			/*Now, average it onto the partition nodes: */
 			AverageOntoPartitionx(&qmu_response,elements,nodes,vertices,loads,materials,parameters,vertex_response);
 
Index: /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationxUtils.cpp
===================================================================
--- /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationxUtils.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/GroundingLineMigrationx/GroundingLineMigrationxUtils.cpp	(revision 8303)
@@ -12,5 +12,5 @@
 void       AgressiveMigration(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters){ //{{{1
 
-	/*Here, whatever grids inside the ice sheet want to unground, we allow -> instantaneous transmission of water through the bedrock: */
+	/*Here, whatever nodes inside the ice sheet want to unground, we allow -> instantaneous transmission of water through the bedrock: */
 
 	int i,j;
Index: /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp
===================================================================
--- /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 8303)
@@ -242,5 +242,5 @@
 	sprintf(kfold->name      ,"ISSM Targets");
 	kfold->visibility=1;
-//	sprintf(kfold->descript  ,"Elements=%d, Grids=%d",melem,mncon);
+//	sprintf(kfold->descript  ,"Elements=%d, Nodes=%d",melem,mncon);
 	sprintf(kfold->descript  ,"campaign{\n");
 	strcat(kfold->descript  ,"  evaluator ClaspTargetEvaluator;\n");
Index: /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.cpp	(revision 8303)
@@ -1,4 +1,4 @@
 /*!\file:  MeshPartition.cpp
- * \brief partition elements and grids across a cluster of size numprocs. 
+ * \brief partition elements and nodes across a cluster of size numprocs. 
  */
 
@@ -9,6 +9,6 @@
 #include "../../EnumDefinitions/EnumDefinitions.h"
 
-int MeshPartitionx(int** pepart, int** pnpart, int numberofelements,int numberofgrids,double* elements,
-		int numberofelements2d,int numberofgrids2d,double* elements2d,int numlayers,int elements_width, int dim,int num_procs){
+int MeshPartitionx(int** pepart, int** pnpart, int numberofelements,int numberofnodes,double* elements,
+		int numberofelements2d,int numberofnodes2d,double* elements2d,int numlayers,int elements_width, int dim,int num_procs){
 
 	int noerr=1;
@@ -32,5 +32,5 @@
 	if(dim==2){
 		epart=(int*)xmalloc(numberofelements*sizeof(int));
-		npart=(int*)xmalloc(numberofgrids*sizeof(int));
+		npart=(int*)xmalloc(numberofnodes*sizeof(int));
 		index=(int*)xmalloc(elements_width*numberofelements*sizeof(int));
 		for (i=0;i<numberofelements;i++){
@@ -42,10 +42,10 @@
 		/*Partition using Metis:*/
 		if (num_procs>1){
-			METIS_PartMeshNodal(&numberofelements,&numberofgrids, index, &etype, &numflag, &num_procs, &edgecut, epart, npart);
+			METIS_PartMeshNodal(&numberofelements,&numberofnodes, index, &etype, &numflag, &num_procs, &edgecut, epart, npart);
 		}
 		else if (num_procs==1){
 			/*METIS does not know how to deal with one cpu only!*/
 			for (i=0;i<numberofelements;i++) epart[i]=0;
-			for (i=0;i<numberofgrids;i++)    npart[i]=0;
+			for (i=0;i<numberofnodes;i++)    npart[i]=0;
 		}
 		else _error_("At least one processor is required");
@@ -56,5 +56,5 @@
 		/*First build concatenated 2d mesh  from 2d_coll and 2d_noncoll: */
 		epart2d=(int*)xmalloc(numberofelements2d*sizeof(int));
-		npart2d=(int*)xmalloc(numberofgrids2d*sizeof(int)); 
+		npart2d=(int*)xmalloc(numberofnodes2d*sizeof(int)); 
 		index2d=(int*)xmalloc(3*numberofelements2d*sizeof(int));
 
@@ -67,10 +67,10 @@
 		/*Partition using Metis:*/
 		if (num_procs>1){
-			METIS_PartMeshNodal(&numberofelements2d,&numberofgrids2d, index2d, &etype2d, &numflag, &num_procs, &edgecut, epart2d, npart2d);
+			METIS_PartMeshNodal(&numberofelements2d,&numberofnodes2d, index2d, &etype2d, &numflag, &num_procs, &edgecut, epart2d, npart2d);
 		}
 		else if (num_procs==1){
 			/*METIS does not know how to deal with one cpu only!*/
 			for (i=0;i<numberofelements2d;i++) epart2d[i]=0;
-			for (i=0;i<numberofgrids2d;i++)    npart2d[i]=0;
+			for (i=0;i<numberofnodes2d;i++)    npart2d[i]=0;
 		}
 		else _error_("At least one processor is required");
@@ -88,9 +88,9 @@
 
 		/*Extrude npart2d to npart, using numlayers: */
-		npart=(int*)xmalloc(numberofgrids*sizeof(int));
+		npart=(int*)xmalloc(numberofnodes*sizeof(int));
 		
 		count=0;
 		for(i=0;i<(numlayers);i++){
-			for(j=0;j<numberofgrids2d;j++){
+			for(j=0;j<numberofnodes2d;j++){
 				npart[count]=npart2d[j];
 				count++;
Index: /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.h
===================================================================
--- /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.h	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshPartitionx/MeshPartitionx.h	(revision 8303)
@@ -7,6 +7,6 @@
 
 /* local prototypes: */
-int MeshPartitionx(int** pepart, int** pnpart, int numberofelements,int numberofgrids,double* elements,
-		int numberofelements2d,int numberofgrids2d,double* elements2d,int numlayers,int elements_width, int dim,int numareas);
+int MeshPartitionx(int** pepart, int** pnpart, int numberofelements,int numberofnodes,double* elements,
+		int numberofelements2d,int numberofnodes2d,double* elements2d,int numlayers,int elements_width, int dim,int numareas);
 	
 #endif /* _MESHPARTITIONX_H */
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp	(revision 8303)
@@ -4,7 +4,7 @@
 #include "./MeshProfileIntersectionx.h"
 		
-void ElementSegment(DataSet* segments_dataset,int el,double* xgrids,double* ygrids,double* xsegment,double* ysegment){
+void ElementSegment(DataSet* segments_dataset,int el,double* xnodes,double* ynodes,double* xsegment,double* ysegment){
 
-	/*We have a tria element (xgrids,ygrids) and a segment (xsegment,ysegment). Find whether they intersect. 
+	/*We have a tria element (xnodes,ynodes) and a segment (xsegment,ysegment). Find whether they intersect. 
 	 * If they do, create a Segment object with the intersection, and add to segments_dataset dataset: */
 
@@ -23,13 +23,13 @@
 	
 	/*edge 1: */
-	xel[0]=xgrids[0];  yel[0]=ygrids[0]; xel[1]=xgrids[1];  yel[1]=ygrids[1];
+	xel[0]=xnodes[0];  yel[0]=ynodes[0]; xel[1]=xnodes[1];  yel[1]=ynodes[1];
 	edge1=SegmentIntersect(&alpha1,&alpha2, xel,yel,xsegment,ysegment); //alpha1: segment coordinate of intersection. alpha2: same thing for second interesection if it exists (colinear edges)
 
 	/*edge 2: */
-	xel[0]=xgrids[1];  yel[0]=ygrids[1]; xel[1]=xgrids[2];  yel[1]=ygrids[2];
+	xel[0]=xnodes[1];  yel[0]=ynodes[1]; xel[1]=xnodes[2];  yel[1]=ynodes[2];
 	edge2=SegmentIntersect(&beta1,&beta2, xel,yel,xsegment,ysegment);
 
 	/*edge 3: */
-	xel[0]=xgrids[2];  yel[0]=ygrids[2]; xel[1]=xgrids[0];  yel[1]=ygrids[0];
+	xel[0]=xnodes[2];  yel[0]=ynodes[2]; xel[1]=xnodes[0];  yel[1]=ynodes[0];
 	edge3=SegmentIntersect(&gamma1,&gamma2, xel,yel,xsegment,ysegment);
 
@@ -65,5 +65,5 @@
 		/*segment intersect only 1 edge. Figure out where the first point in the segment is, inside or outside the element, 
 		 * this will decide the coordinate: */
-		if (NodeInElement(xgrids,ygrids,xsegment[0],ysegment[0])){
+		if (NodeInElement(xnodes,ynodes,xsegment[0],ysegment[0])){
 			coord1=0;
 			if(edge1==IntersectEnum){coord2=alpha1;}
@@ -87,5 +87,5 @@
 	else{
 		/*No interesections, but the segment might be entirely inside this triangle!: */
-		if ( (NodeInElement(xgrids,ygrids,xsegment[0],ysegment[0])) && (NodeInElement(xgrids,ygrids,xsegment[1],ysegment[1])) ){
+		if ( (NodeInElement(xnodes,ynodes,xsegment[0],ysegment[0])) && (NodeInElement(xnodes,ynodes,xsegment[1],ysegment[1])) ){
 			segments_dataset->AddObject(new  Segment(el+1,xsegment[0],ysegment[0],xsegment[1],ysegment[1]));
 		}
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp	(revision 8303)
@@ -4,5 +4,5 @@
 #include "./MeshProfileIntersectionx.h"
 		
-void ElementSegmentsIntersection(DataSet* segments_dataset,int el, double* xgrids,double* ygrids,double* xc,double* yc,int numgrids){
+void ElementSegmentsIntersection(DataSet* segments_dataset,int el, double* xnodes,double* ynodes,double* xc,double* yc,int numnodes){
 
 	int i;
@@ -11,5 +11,5 @@
 
 	/*Loop through contour: */
-	for(i=0;i<numgrids-1;i++){
+	for(i=0;i<numnodes-1;i++){
 
 		xsegment[0]=xc[i];
@@ -18,5 +18,5 @@
 		ysegment[1]=yc[i+1];
 
-		ElementSegment(segments_dataset,el, xgrids,ygrids,xsegment,ysegment);
+		ElementSegment(segments_dataset,el, xnodes,ynodes,xsegment,ysegment);
 
 	}
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp	(revision 8303)
@@ -12,5 +12,5 @@
 	/*Contour:*/
 	Contour* contouri=NULL;
-	int      numgrids;
+	int      numnodes;
 	double*  xc=NULL;
 	double*  yc=NULL;
@@ -36,10 +36,10 @@
 		/*retrieve contour info: */
 		contouri=*(contours+i);
-		numgrids=contouri->nods;
+		numnodes=contouri->nods;
 		xc=contouri->x;
 		yc=contouri->y;
 
 		/*determine segmentsi and numsegsi for this contour and the mesh intersection: */
-		MeshSegmentsIntersection(&segmentsi,&numsegsi,index,x,y,nel,nods,xc,yc,numgrids);
+		MeshSegmentsIntersection(&segmentsi,&numsegsi,index,x,y,nel,nods,xc,yc,numnodes);
 		
 		/*save segmentsi: */
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h	(revision 8303)
@@ -12,9 +12,9 @@
 /* local prototypes: */
 void MeshProfileIntersectionx( double** psegments, int* pnumseg, int* index, double* x, double* y, int nel, int nods,  Contour** contours,int numcontours);
-void MeshSegmentsIntersection(double** psegments, int* pnumsegs,int* index, double* x, double* y, int nel, int nods, double* xc, double* yc, int numgrids);
-void ElementSegmentsIntersection(DataSet* segments_dataset,int el, double* xgrids,double* ygrids,double* xc,double* yc,int numgrids);
-void ElementSegment(DataSet* segments_dataset,int el,double* xgrids,double* ygrids,double* xsegment,double* ysegment);
+void MeshSegmentsIntersection(double** psegments, int* pnumsegs,int* index, double* x, double* y, int nel, int nods, double* xc, double* yc, int numnodes);
+void ElementSegmentsIntersection(DataSet* segments_dataset,int el, double* xnodes,double* ynodes,double* xc,double* yc,int numnodes);
+void ElementSegment(DataSet* segments_dataset,int el,double* xnodes,double* ynodes,double* xsegment,double* ysegment);
 int  SegmentIntersect(double* palpha, double* pbeta, double* x1, double* y1, double* x2, double* y2);
-bool NodeInElement(double* xgrids, double* ygrids, double x, double y);
+bool NodeInElement(double* xnodes, double* ynodes, double x, double y);
 
 #endif /* _MESHPROFILEINTERSECTIONX_H */
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp	(revision 8303)
@@ -4,5 +4,5 @@
 #include "./MeshProfileIntersectionx.h"
 
-void MeshSegmentsIntersection(double** psegments, int* pnumsegs,int* index, double* x, double* y, int nel, int nods, double* xc, double* yc, int numgrids){
+void MeshSegmentsIntersection(double** psegments, int* pnumsegs,int* index, double* x, double* y, int nel, int nods, double* xc, double* yc, int numnodes){
 
 	int      i,j;
@@ -15,6 +15,6 @@
 	/*intermediary: */
 	DataSet* segments_dataset=NULL;
-	double   xgrids[3];
-	double   ygrids[3];
+	double   xnodes[3];
+	double   ynodes[3];
 
 	/*We don't know how many segments  we are going to get, so have a dynamic container: */
@@ -24,8 +24,8 @@
 	for(i=0;i<nel;i++){
 		for(j=0;j<3;j++){
-			xgrids[j]=x[*(index+3*i+j)];
-			ygrids[j]=y[*(index+3*i+j)];
+			xnodes[j]=x[*(index+3*i+j)];
+			ynodes[j]=y[*(index+3*i+j)];
 		}
-		ElementSegmentsIntersection(segments_dataset,i,xgrids,ygrids,xc,yc,numgrids);
+		ElementSegmentsIntersection(segments_dataset,i,xnodes,ynodes,xc,yc,numnodes);
 	}
 
Index: /issm/trunk/src/c/modules/MeshProfileIntersectionx/NodeInElement.cpp
===================================================================
--- /issm/trunk/src/c/modules/MeshProfileIntersectionx/NodeInElement.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/MeshProfileIntersectionx/NodeInElement.cpp	(revision 8303)
@@ -4,5 +4,5 @@
 #include "./MeshProfileIntersectionx.h"
 
-bool NodeInElement(double* xgrids, double* ygrids, double x, double y){
+bool NodeInElement(double* xnodes, double* ynodes, double x, double y){
 
 	double x1,y1;
@@ -12,10 +12,10 @@
 	double det;
 
-	x1=xgrids[0];
-	x2=xgrids[1];
-	x3=xgrids[2];
-	y1=ygrids[0];
-	y2=ygrids[1];
-	y3=ygrids[2];
+	x1=xnodes[0];
+	x2=xnodes[1];
+	x3=xnodes[2];
+	y1=ynodes[0];
+	y2=ynodes[1];
+	y3=ynodes[2];
 
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 8303)
@@ -40,10 +40,10 @@
 	/*First fetch data: */
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	if(continuous_galerkin){
@@ -86,9 +86,9 @@
 	/*Clean fetched data: */
 	xfree((void**)&iomodel->elements);
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridonwater);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeonwater);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->vertices_type);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp	(revision 8303)
@@ -38,5 +38,5 @@
 			if ((int)iomodel->spcvelocity[6*i+0] && (int)iomodel->spcvelocity[6*i+1]){ //spc if vx and vy are constrained
 
-				/*This grid needs to be spc'd: */
+				/*This node needs to be spc'd: */
 				constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,
 								pow( pow(*(iomodel->spcvelocity+6*i+4),2.0) + pow(*(iomodel->spcvelocity+6*i+5),2.0) ,0.5),BalancevelocitiesAnalysisEnum));
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 	for (i=0;i<iomodel->numberofvertices;i++){
 
@@ -49,9 +49,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->vertices_type);	
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 	
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -50,9 +50,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridonwater);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeonwater);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->vertices_type);	
 	
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 8303)
@@ -33,8 +33,8 @@
 	/*Spcs: fetch data: */
 	IoModelFetchData(&iomodel->spcvelocity,NULL,NULL,iomodel_handle,"spcvelocity");
-	IoModelFetchData(&iomodel->gridonhutter,NULL,NULL,iomodel_handle,"gridonhutter");
-	IoModelFetchData(&iomodel->gridonmacayeal,NULL,NULL,iomodel_handle,"gridonmacayeal");
-	if(iomodel->dim==3)IoModelFetchData(&iomodel->gridonpattyn,NULL,NULL,iomodel_handle,"gridonpattyn");
-	if(iomodel->dim==3)IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
+	IoModelFetchData(&iomodel->nodeonhutter,NULL,NULL,iomodel_handle,"nodeonhutter");
+	IoModelFetchData(&iomodel->nodeonmacayeal,NULL,NULL,iomodel_handle,"nodeonmacayeal");
+	if(iomodel->dim==3)IoModelFetchData(&iomodel->nodeonpattyn,NULL,NULL,iomodel_handle,"nodeonpattyn");
+	if(iomodel->dim==3)IoModelFetchData(&iomodel->nodeonstokes,NULL,NULL,iomodel_handle,"nodeonstokes");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
 	IoModelFetchData(&iomodel->surface,NULL,NULL,iomodel_handle,"surface");
@@ -51,5 +51,5 @@
 			if ((int)iomodel->vertices_type[i]==MacAyealPattynApproximationEnum){
 				/*If grionmacayeal, spc pattyn dofs: 3 & 4*/
-					if ((int)iomodel->gridonpattyn[i]){
+					if ((int)iomodel->nodeonpattyn[i]){
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -66,5 +66,5 @@
 
 					}
-					else if ((int)iomodel->gridonmacayeal[i]){
+					else if ((int)iomodel->nodeonmacayeal[i]){
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -81,10 +81,10 @@
 
 					}
-					else _error_("if vertices_type is MacAyealPattyn, you shoud have gridonpattyn or gridonmacayeal");
+					else _error_("if vertices_type is MacAyealPattyn, you shoud have nodeonpattyn or nodeonmacayeal");
 			}
 			/*Also add spcs of coupling: zero at the border pattyn/stokes for the appropriate dofs*/
 			else if ((int)iomodel->vertices_type[i]==PattynStokesApproximationEnum){
 				/*If grion,pattyn spc stokes dofs: 3 4 & 5*/
-					if ((int)iomodel->gridonpattyn[i]){
+					if ((int)iomodel->nodeonpattyn[i]){
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -103,5 +103,5 @@
 
 					}
-					else if ((int)iomodel->gridonstokes[i]){ //spc pattyn grids: 1 & 2
+					else if ((int)iomodel->nodeonstokes[i]){ //spc pattyn nodes: 1 & 2
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -121,10 +121,10 @@
 						}
 					}
-					else _error_("if vertices_type is PattynStokes, you shoud have gridonpattyn or gridonstokes");
+					else _error_("if vertices_type is PattynStokes, you shoud have nodeonpattyn or nodeonstokes");
 			}
 			/*Also add spcs of coupling: zero at the border pattyn/stokes for the appropriate dofs*/
 			else if ((int)iomodel->vertices_type[i]==MacAyealStokesApproximationEnum){
 				/*If grion,pattyn spc stokes dofs: 3 4 & 5*/
-					if ((int)iomodel->gridonmacayeal[i]){
+					if ((int)iomodel->nodeonmacayeal[i]){
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -143,5 +143,5 @@
 
 					}
-					else if ((int)iomodel->gridonstokes[i]){ //spc macayeal grids: 1 & 2
+					else if ((int)iomodel->nodeonstokes[i]){ //spc macayeal nodes: 1 & 2
 						constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 						count++;
@@ -161,14 +161,14 @@
 						}
 					}
-					else _error_("if vertices_type is MacAyealStokes, you shoud have gridonmacayeal or gridonstokes");
+					else _error_("if vertices_type is MacAyealStokes, you shoud have nodeonmacayeal or nodeonstokes");
 			}
 			/*Now add the regular spcs*/
 			else{
-				if ((int)iomodel->spcvelocity[6*i+0] || (int)iomodel->gridonhutter[i]){
+				if ((int)iomodel->spcvelocity[6*i+0] || (int)iomodel->nodeonhutter[i]){
 					constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,*(iomodel->spcvelocity+6*i+3)/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.
 					count++;
 				}
 				
-				if ((int)iomodel->spcvelocity[6*i+1] || (int)iomodel->gridonhutter[i]){
+				if ((int)iomodel->spcvelocity[6*i+1] || (int)iomodel->nodeonhutter[i]){
 					constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,*(iomodel->spcvelocity+6*i+4)/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy
 					count++;
@@ -188,8 +188,8 @@
 	/*Free data: */
 	xfree((void**)&iomodel->spcvelocity);
-	xfree((void**)&iomodel->gridonhutter);
-	xfree((void**)&iomodel->gridonmacayeal);
-	xfree((void**)&iomodel->gridonpattyn);
-	xfree((void**)&iomodel->gridonstokes);
+	xfree((void**)&iomodel->nodeonhutter);
+	xfree((void**)&iomodel->nodeonmacayeal);
+	xfree((void**)&iomodel->nodeonpattyn);
+	xfree((void**)&iomodel->nodeonstokes);
 	xfree((void**)&iomodel->vertices_type);
 	xfree((void**)&iomodel->surface);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 8303)
@@ -35,5 +35,5 @@
 	if (!iomodel->ismacayealpattyn & !iomodel->isstokes)goto cleanup_and_return;
 	
-	/*Create pressure loads as boundary conditions. Pay attention to the partitioning if we are running in parallel (the grids
+	/*Create pressure loads as boundary conditions. Pay attention to the partitioning if we are running in parallel (the nodes
 	 * referenced by a certain load must belong to the cluster node): */
 	IoModelFetchData(&iomodel->pressureload,&iomodel->numberofpressureloads,NULL,iomodel_handle,"pressureload");
@@ -51,5 +51,5 @@
 		if (iomodel->dim==2) segment_width=4; 
 		else segment_width=6;
-		element=(int)(*(iomodel->pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (grid1 grid2 ... elem fill)
+		element=(int)(*(iomodel->pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill)
 
 		/*Now, if this element is not in the partition, pass: */
@@ -102,8 +102,8 @@
 	xfree((void**)&iomodel->bed);
 
-	/*create penalties for grids on the base of icesheet. We must have wb=ub*db/dx+vb*db/dy */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
+	/*create penalties for nodes on the base of icesheet. We must have wb=ub*db/dx+vb*db/dy */
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeonstokes,NULL,NULL,iomodel_handle,"nodeonstokes");
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
 	IoModelFetchData(&iomodel->spcvelocity,NULL,NULL,iomodel_handle,"spcvelocity");
@@ -115,6 +115,6 @@
 		if(iomodel->my_vertices[i]==1 && iomodel->singlenodetoelementconnectivity[i]!=0){
 
-			//if ((iomodel->gridonbed[i]) && (iomodel->gridonstokes[i])){
-			if ((iomodel->gridonbed[i]) && (iomodel->gridonicesheet[i]) && (iomodel->gridonstokes[i])){
+			//if ((iomodel->nodeonbed[i]) && (iomodel->nodeonstokes[i])){
+			if ((iomodel->nodeonbed[i]) && (iomodel->nodeonicesheet[i]) && (iomodel->nodeonstokes[i])){
 				
 				loads->AddObject(new Pengrid(iomodel->loadcounter+count+1,i,iomodel,DiagnosticHorizAnalysisEnum));
@@ -124,7 +124,7 @@
 	}
 
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonstokes);
-	xfree((void**)&iomodel->gridonicesheet);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonstokes);
+	xfree((void**)&iomodel->nodeonicesheet);
 	xfree((void**)&iomodel->elements);
 	xfree((void**)&iomodel->spcvelocity);
@@ -160,5 +160,5 @@
 	IoModelFetchData(&iomodel->bed,NULL,NULL,iomodel_handle,"bed");
 	IoModelFetchData(&iomodel->surface,NULL,NULL,iomodel_handle,"surface");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	
 	for(i=0;i<iomodel->numrifts;i++){
@@ -175,5 +175,5 @@
 	xfree((void**)&iomodel->bed);
 	xfree((void**)&iomodel->surface);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeoniceshelf);
 
 	cleanup_and_return:
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 8303)
@@ -35,13 +35,14 @@
 
 	/*Create nodes: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonhutter,NULL,NULL,iomodel_handle,"gridonhutter");
-	IoModelFetchData(&iomodel->gridonmacayeal,NULL,NULL,iomodel_handle,"gridonmacayeal");
-	IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonhutter,NULL,NULL,iomodel_handle,"nodeonhutter");
+	IoModelFetchData(&iomodel->nodeonmacayeal,NULL,NULL,iomodel_handle,"nodeonmacayeal");
+	IoModelFetchData(&iomodel->nodeonstokes,NULL,NULL,iomodel_handle,"nodeonstokes");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
+	IoModelFetchData(&iomodel->diagnostic_ref,NULL,NULL,iomodel_handle,"diagnostic_ref");
 	
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -55,13 +56,14 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonhutter);
-	xfree((void**)&iomodel->gridonmacayeal);
-	xfree((void**)&iomodel->gridonstokes);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonhutter);
+	xfree((void**)&iomodel->nodeonmacayeal);
+	xfree((void**)&iomodel->nodeonstokes);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->vertices_type);	
+	xfree((void**)&iomodel->diagnostic_ref);	
 
 	cleanup_and_return:
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 8303)
@@ -47,5 +47,5 @@
 		IoModelFetchData(&iomodel->accumulation_rate,NULL,NULL,iomodel_handle,"accumulation_rate");
 		IoModelFetchData(&iomodel->melting_rate,NULL,NULL,iomodel_handle,"melting_rate");
-		IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
+		IoModelFetchData(&iomodel->nodeonstokes,NULL,NULL,iomodel_handle,"nodeonstokes");
 	}
 	if(iomodel->control_analysis){
@@ -83,5 +83,5 @@
 	xfree((void**)&iomodel->accumulation_rate);
 	xfree((void**)&iomodel->melting_rate);
-	xfree((void**)&iomodel->gridonstokes);
+	xfree((void**)&iomodel->nodeonstokes);
 	xfree((void**)&iomodel->vx);
 	xfree((void**)&iomodel->vy);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp	(revision 8303)
@@ -32,14 +32,14 @@
 	/*Fetch data: */
 	IoModelFetchData(&iomodel->spcvelocity,NULL,NULL,iomodel_handle,"spcvelocity");
-	IoModelFetchData(&iomodel->gridonhutter,NULL,NULL,iomodel_handle,"gridonhutter");
+	IoModelFetchData(&iomodel->nodeonhutter,NULL,NULL,iomodel_handle,"nodeonhutter");
 
 	/*Initialize conunter*/
 	count=0;
 
-	/*vx and vy are spc'd if we are not on gridonhutter: */
+	/*vx and vy are spc'd if we are not on nodeonhutter: */
 	for (i=0;i<iomodel->numberofvertices;i++){
 		/*keep only this partition's nodes:*/
 		if((iomodel->my_vertices[i])){
-			if (!(int)iomodel->gridonhutter[i]){
+			if (!(int)iomodel->nodeonhutter[i]){
 
 				constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHutterAnalysisEnum));
@@ -64,5 +64,5 @@
 
 	/*Free data: */
-	xfree((void**)&iomodel->gridonhutter);
+	xfree((void**)&iomodel->nodeonhutter);
 	xfree((void**)&iomodel->spcvelocity);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 8303)
@@ -35,12 +35,12 @@
 
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonhutter,NULL,NULL,iomodel_handle,"gridonhutter");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonhutter,NULL,NULL,iomodel_handle,"nodeonhutter");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	CreateNumberNodeToElementConnectivity(iomodel);
@@ -57,11 +57,11 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonhutter);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonhutter);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->elements);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->numbernodetoelementconnectivity);
 	xfree((void**)&iomodel->vertices_type);	
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp	(revision 8303)
@@ -24,11 +24,11 @@
 
 	/*Fetch data needed: */
-	IoModelFetchData(&iomodel->gridonhutter,NULL,NULL,iomodel_handle,"gridonhutter");
+	IoModelFetchData(&iomodel->nodeonhutter,NULL,NULL,iomodel_handle,"nodeonhutter");
 	IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
 	IoModelFetchData(&iomodel->thickness_coeff,NULL,NULL,iomodel_handle,"thickness_coeff");
 	IoModelFetchData(&iomodel->surface,NULL,NULL,iomodel_handle,"surface");
 	IoModelFetchData(&iomodel->bed,NULL,NULL,iomodel_handle,"bed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
 	IoModelFetchData(&iomodel->drag_coefficient,NULL,NULL,iomodel_handle,"drag_coefficient");
 	IoModelFetchData(&iomodel->rheology_B,NULL,NULL,iomodel_handle,"rheology_B");
@@ -52,11 +52,11 @@
 
 	/*Free data: */
-	xfree((void**)&iomodel->gridonhutter);
+	xfree((void**)&iomodel->nodeonhutter);
 	xfree((void**)&iomodel->thickness);
 	xfree((void**)&iomodel->thickness_coeff);
 	xfree((void**)&iomodel->surface);
 	xfree((void**)&iomodel->bed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonbed);
 	xfree((void**)&iomodel->drag_coefficient);
 	xfree((void**)&iomodel->rheology_B);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp	(revision 8303)
@@ -31,5 +31,5 @@
 	/*Fetch data: */
 	IoModelFetchData(&iomodel->spcvelocity,NULL,NULL,iomodel_handle,"spcvelocity");
-	IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
+	IoModelFetchData(&iomodel->nodeonstokes,NULL,NULL,iomodel_handle,"nodeonstokes");
 
 	/*Initialize counter*/
@@ -42,5 +42,5 @@
 		if(iomodel->my_vertices[i]){
 
-			if ((int)iomodel->gridonstokes[i]){
+			if ((int)iomodel->nodeonstokes[i]){
 				constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticVertAnalysisEnum)); //spc to zero as vertical velocity is done in Horiz for Stokes
 				count++;
@@ -57,5 +57,5 @@
 	/*Free data: */
 	xfree((void**)&iomodel->spcvelocity);
-	xfree((void**)&iomodel->gridonstokes);
+	xfree((void**)&iomodel->nodeonstokes);
 
 	cleanup_and_return:
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 8303)
@@ -35,10 +35,10 @@
 	
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -53,9 +53,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->vertices_type);	
 	
Index: /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 8303)
@@ -1,4 +1,4 @@
 /*!\file:  DistributeNumDofs.cpp
- * \brief: figure out the maximum number of dofs per grid.
+ * \brief: figure out the maximum number of dofs per node.
  */ 
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 8303)
@@ -70,5 +70,5 @@
 		el1=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+2)-1; //matlab indexing to c indexing
 		el2=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+3)-1; //matlab indexing to c indexing
-		epart[el2]=epart[el1]; //ensures that this pair of elements will be in the same partition, as well as the corresponding grids;
+		epart[el2]=epart[el1]; //ensures that this pair of elements will be in the same partition, as well as the corresponding vertices;
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 
 	/*Create nodes and vertices: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -50,9 +50,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridonwater);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeonwater);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->vertices_type);	
 	
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 8303)
@@ -28,6 +28,6 @@
 	if(!loads) loads = new Loads(LoadsEnum);
 
-	//create penalties for grids: no grid can have a temperature over the melting point
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
+	//create penalties for nodes: no node can have a temperature over the melting point
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
 	CreateSingleNodeToElementConnectivity(iomodel);
@@ -37,5 +37,5 @@
 		if((iomodel->my_vertices[i]==1)){
 
-			if (iomodel->gridonbed[i]){ 
+			if (iomodel->nodeonbed[i]){ 
 				
 				loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,MeltingAnalysisEnum));
@@ -43,5 +43,5 @@
 		}
 	}
-	xfree((void**)&iomodel->gridonbed);
+	xfree((void**)&iomodel->nodeonbed);
 	xfree((void**)&iomodel->elements);
 	xfree((void**)&iomodel->singlenodetoelementconnectivity);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -50,9 +50,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridonwater);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeonwater);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->vertices_type);	
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 8303)
@@ -58,5 +58,5 @@
 	/*Create Penpair for penalties: */
 	IoModelFetchData(&iomodel->penalties,&iomodel->numpenalties,NULL,iomodel_handle,"penalties");
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
 
 	for(i=0;i<iomodel->numpenalties;i++){
@@ -68,5 +68,5 @@
 
 			/*Skip if one of the two is not on the bed*/
-			if(!iomodel->gridonbed[(int)iomodel->penalties[2*i+0]-1] || !iomodel->gridonbed[(int)iomodel->penalties[2*i+1]-1]) continue;
+			if(!iomodel->nodeonbed[(int)iomodel->penalties[2*i+0]-1] || !iomodel->nodeonbed[(int)iomodel->penalties[2*i+1]-1]) continue;
 
 			/*Get node ids*/
@@ -85,5 +85,5 @@
 	/*free ressources: */
 	xfree((void**)&iomodel->penalties);
-	xfree((void**)&iomodel->gridonbed);
+	xfree((void**)&iomodel->nodeonbed);
 
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 8303)
@@ -40,10 +40,10 @@
 	/*First fetch data: */
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	if(continuous_galerkin){
@@ -85,9 +85,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->elements);
 	xfree((void**)&iomodel->vertices_type);	
Index: /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 8303)
@@ -144,5 +144,5 @@
 
 			if (strncmp(variabledescriptors[i],"scaled_",7)==0){
-				/*Ok, we are dealing with a variable that is distributed over grids. Recover the name of the variable (ex: scaled_Thickness): */
+				/*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */
 				sscanf(variabledescriptors[i],"scaled_%s",tag);
 				
Index: /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 	
 	/*First fetch data: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -50,9 +50,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridoniceshelf);
-	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeoniceshelf);
+	xfree((void**)&iomodel->nodeonwater);
 	xfree((void**)&iomodel->vertices_type);	
 	
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 8303)
@@ -48,5 +48,5 @@
 			}
 
-		} //if((my_grids[i]==1))
+		} //if((my_nodes[i]==1))
 	}
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 8303)
@@ -29,5 +29,5 @@
 	if (iomodel->dim==2) _error_("2d meshes not supported yet");
 
-	//create penalties for grids: no grid can have a temperature over the melting point
+	//create penalties for nodes: no node can have a temperature over the melting point
 	IoModelFetchData(&iomodel->spctemperature,NULL,NULL,iomodel_handle,"spctemperature");
 	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
@@ -39,5 +39,5 @@
 		if((iomodel->my_vertices[i]==1)){
 
-			if (!iomodel->spctemperature[2*i]){ //No penalty applied on spc grids!
+			if (!iomodel->spctemperature[2*i]){ //No penalty applied on spc nodes!
 
 				loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,ThermalAnalysisEnum));
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 8303)
@@ -32,10 +32,10 @@
 
 	/*Create nodes and vertices: */
-	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
-	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
-	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->nodeonbed,NULL,NULL,iomodel_handle,"nodeonbed");
+	IoModelFetchData(&iomodel->nodeonsurface,NULL,NULL,iomodel_handle,"nodeonsurface");
+	IoModelFetchData(&iomodel->nodeonicesheet,NULL,NULL,iomodel_handle,"nodeonicesheet");
+	IoModelFetchData(&iomodel->nodeoniceshelf,NULL,NULL,iomodel_handle,"nodeoniceshelf");
 	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
-	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	IoModelFetchData(&iomodel->nodeonwater,NULL,NULL,iomodel_handle,"nodeonwater");
 
 	for (i=0;i<iomodel->numberofvertices;i++){
@@ -50,9 +50,9 @@
 
 	/*Clean fetched data: */
-	xfree((void**)&iomodel->gridonbed);
-	xfree((void**)&iomodel->gridonsurface);
-	xfree((void**)&iomodel->gridonicesheet);
-	xfree((void**)&iomodel->gridonwater);
-	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->nodeonbed);
+	xfree((void**)&iomodel->nodeonsurface);
+	xfree((void**)&iomodel->nodeonicesheet);
+	xfree((void**)&iomodel->nodeonwater);
+	xfree((void**)&iomodel->nodeoniceshelf);
 	xfree((void**)&iomodel->vertices_type);	
 	
Index: /issm/trunk/src/c/modules/PenaltyConstraintsx/RiftConstraints.cpp
===================================================================
--- /issm/trunk/src/c/modules/PenaltyConstraintsx/RiftConstraints.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/PenaltyConstraintsx/RiftConstraints.cpp	(revision 8303)
@@ -312,5 +312,5 @@
 	double penetration;
 
-	/*Ok, we are going to find the grid pairs which are not penetrating, even though they 
+	/*Ok, we are going to find the node pairs which are not penetrating, even though they 
 	 * are penalised. We will release only the one with has least <0 penetration. : */
 
@@ -349,5 +349,5 @@
 	Riftfront* riftfront=NULL;
 
-	/*Ok, we are going to find the grid pairs which are not penetrating, even though they 
+	/*Ok, we are going to find the node pairs which are not penetrating, even though they 
 	 * are penalised. We will release only the one with has least <0 penetration. : */
 	int unstable=0;
Index: /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/SpcNodesx/SpcNodesx.cpp	(revision 8303)
@@ -1,4 +1,4 @@
 /*!\file SpcNodesx
- * \brief: establish single point constraints on all grids, as well as constraints vector.
+ * \brief: establish single point constraints on all nodes, as well as constraints vector.
  */
 
Index: /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.cpp
===================================================================
--- /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.cpp	(revision 8302)
+++ /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.cpp	(revision 8303)
@@ -13,5 +13,5 @@
 using namespace std;
 
-void TriaSearchx(double** ptria,double* index,int nel, double* x, double* y, int nods,double* x0, double* y0,int numberofgrids){
+void TriaSearchx(double** ptria,double* index,int nel, double* x, double* y, int nods,double* x0, double* y0,int numberofnodes){
 
 	/*Output*/
@@ -19,5 +19,5 @@
 
 	/*allocate: */
-	tria=(double*)xmalloc(numberofgrids*sizeof(double));
+	tria=(double*)xmalloc(numberofnodes*sizeof(double));
 
 	/*Intermediary*/
@@ -36,5 +36,5 @@
 	Th.CreateSingleVertexToTriangleConnectivity();
 
-	for(i=0;i<numberofgrids;i++){
+	for(i=0;i<numberofnodes;i++){
 
 		//Get current point coordinates
Index: /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.h
===================================================================
--- /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.h	(revision 8302)
+++ /issm/trunk/src/c/modules/TriaSearchx/TriaSearchx.h	(revision 8303)
@@ -9,5 +9,5 @@
 
 /* local prototypes: */
-void TriaSearchx(double** ptria,double* index,int nel, double* x, double* y, int nods,double* x0, double* y0,int numberofgrids);
+void TriaSearchx(double** ptria,double* index,int nel, double* x, double* y, int nods,double* x0, double* y0,int numberofnodes);
 
 #endif
Index: /issm/trunk/src/c/objects/Contour.cpp
===================================================================
--- /issm/trunk/src/c/objects/Contour.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Contour.cpp	(revision 8303)
@@ -17,6 +17,6 @@
 	int i;
 
-	_printf_(true,"Number of grids in contour: %i\n",contour->nods);
-	_printf_(true,"Grid coordinates: \n");
+	_printf_(true,"Number of nodes in contour: %i\n",contour->nods);
+	_printf_(true,"Node coordinates: \n");
 	for (i=0;i<contour->nods;i++){
 		_printf_(true,"%lf %lf\n",*(contour->x+i),*(contour->y+i));
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8303)
@@ -593,5 +593,5 @@
 
 	/*Figure out if this penta is collapsed. If so, then bailout, except if it is at the 
-	  bedrock, in which case we spawn a tria element using the 3 first grids, and use it to build 
+	  bedrock, in which case we spawn a tria element using the 3 first nodes, and use it to build 
 	  the stiffness matrix. */
 	if (!IsOnBed()) return NULL;
@@ -602,5 +602,5 @@
 
 	/*Spawn Tria element from the base of the Penta: */
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixBalancethickness();
 	delete tria->matice; delete tria;
@@ -618,5 +618,5 @@
 
 	/*Figure out if this penta is collapsed. If so, then bailout, except if it is at the 
-	  bedrock, in which case we spawn a tria element using the 3 first grids, and use it to build 
+	  bedrock, in which case we spawn a tria element using the 3 first nodes, and use it to build 
 	  the stiffness matrix. */
 	if (!IsOnBed()) return NULL;
@@ -627,5 +627,5 @@
 
 	/*Spawn Tria element from the base of the Penta: */
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixBalancevelocities();
 	delete tria->matice; delete tria;
@@ -678,5 +678,5 @@
 	/*Find penta on bed as pattyn must be coupled to the dofs on the bed: */
 	Penta* pentabase=GetBasalElement();
-	Tria* tria=pentabase->SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=pentabase->SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 
 	/*Initialize Element matrix*/
@@ -738,5 +738,5 @@
 	if(IsOnShelf() || !IsOnBed()) return NULL;
 
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixCouplingMacAyealPattynFriction();
 	delete tria->matice; delete tria;
@@ -789,5 +789,5 @@
 	/*Find penta on bed as stokes must be coupled to the dofs on the bed: */
 	Penta* pentabase=GetBasalElement();
-	Tria* tria=pentabase->SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=pentabase->SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 
 	/*Initialize Element matrix and return if necessary*/
@@ -1093,5 +1093,5 @@
 
 	/*Figure out if this penta is collapsed. If so, then bailout, except if it is at the 
-	  bedrock, in which case we spawn a tria element using the 3 first grids, and use it to build 
+	  bedrock, in which case we spawn a tria element using the 3 first nodes, and use it to build 
 	  the stiffness matrix. */
 	if (!IsOnBed()) return NULL;
@@ -1101,5 +1101,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixDiagnosticMacAyeal();
 	delete tria->matice; delete tria;
@@ -1151,5 +1151,5 @@
 	/*Find penta on bed as this is a macayeal elements: */
 	pentabase=GetBasalElement();
-	tria=pentabase->SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	tria=pentabase->SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 
 	/*Initialize Element matrix*/
@@ -1217,8 +1217,8 @@
 	if(IsOnShelf() || !IsOnBed()) return NULL;
 
-	/*Build a tria element using the 3 grids of the base of the penta. Then use 
+	/*Build a tria element using the 3 nodes of the base of the penta. Then use 
 	 * the tria functionality to build a friction stiffness matrix on these 3
-	 * grids: */
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	 * nodes: */
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixDiagnosticMacAyealFriction();
 	delete tria->matice; delete tria;
@@ -1346,8 +1346,8 @@
 	if(IsOnShelf() || !IsOnBed()) return NULL;
 
-	/*Build a tria element using the 3 grids of the base of the penta. Then use 
+	/*Build a tria element using the 3 nodes of the base of the penta. Then use 
 	 * the tria functionality to build a friction stiffness matrix on these 3
-	 * grids: */
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	 * nodes: */
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixDiagnosticPattynFriction();
 	delete tria->matice; delete tria;
@@ -1639,5 +1639,5 @@
 	if (!IsOnBed()) return NULL;
 
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixMelting();
 
@@ -1655,5 +1655,5 @@
 	this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);
 
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixPrognostic();
 	delete tria->matice; delete tria;
@@ -1672,5 +1672,5 @@
 	if (!IsOnBed()) return NULL;
 
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementMatrix* Ke=tria->CreateKMatrixSlope();
 	delete tria->matice; delete tria;
@@ -1957,5 +1957,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorAdjointHoriz();
 	delete tria->matice; delete tria;
@@ -1971,5 +1971,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+	Tria* tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 	ElementVector* pe=tria->CreatePVectorAdjointHoriz();
 	delete tria->matice; delete tria;
@@ -1989,5 +1989,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorBalancethickness();
 	delete tria->matice; delete tria;
@@ -2011,5 +2011,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorBalancevelocities();
 	delete tria->matice; delete tria;
@@ -2481,5 +2481,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorDiagnosticMacAyeal();
 	delete tria->matice; delete tria;
@@ -2698,5 +2698,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+	Tria* tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 	ElementVector* pe=tria->CreatePVectorAdjointStokes();
 	delete tria->matice; delete tria;
@@ -2782,5 +2782,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorDiagnosticBaseVert();
 	delete tria->matice; delete tria;
@@ -2805,5 +2805,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorPrognostic();
 	delete tria->matice; delete tria;
@@ -2823,5 +2823,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorSlope();
 	delete tria->matice; delete tria;
@@ -2940,5 +2940,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorThermalShelf();
 	delete tria->matice; delete tria;
@@ -2955,5 +2955,5 @@
 
 	/*Call Tria function*/
-	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 	ElementVector* pe=tria->CreatePVectorThermalSheet();
 	delete tria->matice; delete tria;
@@ -3050,5 +3050,5 @@
 		this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
 
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		tria->GradjB(gradient);
 		delete tria->matice; delete tria;
@@ -3065,5 +3065,5 @@
 
 		/*B is a 2d field, use MacAyeal(2d) gradient even if it is Stokes or Pattyn*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		tria->GradjB(gradient);
 		delete tria->matice; delete tria;
@@ -3090,5 +3090,5 @@
 	if (approximation==MacAyealApproximationEnum || approximation==PattynApproximationEnum){
 		/*MacAyeal or Pattyn*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 		tria->GradjDrag(gradient);
 		delete tria->matice; delete tria;
@@ -3096,5 +3096,5 @@
 	else if (approximation==StokesApproximationEnum){
 		/*Stokes*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
 		tria->GradjDragStokes(gradient);
 		delete tria->matice; delete tria;
@@ -3362,5 +3362,5 @@
 	Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
 
-	/*If the element is a coupling, do nothing: every grid is also on an other elements 
+	/*If the element is a coupling, do nothing: every node is also on an other elements 
 	 * (as coupling is between MacAyeal and Pattyn) so the other element will take care of it*/
 	GetDofList(&doflist,approximation,GsetEnum);
@@ -5732,5 +5732,5 @@
 		this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
 
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->RegularizeInversion();
 		delete tria->matice; delete tria;
@@ -5750,5 +5750,5 @@
 		this->matice->inputs->AddInput((Input*)B_copy);
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->RegularizeInversion();
 		delete tria->matice; delete tria;
@@ -5850,5 +5850,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceArea*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		S=tria->SurfaceArea();
 		delete tria->matice; delete tria;
@@ -5857,5 +5857,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		S=tria->SurfaceArea();
 		delete tria->matice; delete tria;
@@ -5887,5 +5887,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceAverageVelMisfit*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->SurfaceAverageVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -5894,5 +5894,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->SurfaceAverageVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -5924,5 +5924,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceAbsVelMisfit*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->SurfaceAbsVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -5931,5 +5931,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->SurfaceAbsVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -5961,5 +5961,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceLogVelMisfit*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->SurfaceLogVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -5968,5 +5968,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->SurfaceLogVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -6000,5 +6000,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceLogVxVyMisfit*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->SurfaceLogVxVyMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -6007,5 +6007,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->SurfaceLogVxVyMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -6061,5 +6061,5 @@
 		/*This element should be collapsed into a tria element at its base. Create this tria element, 
 		 * and compute SurfaceRelVelMisfit*/
-		tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria (lower face).
+		tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
 		J=tria->SurfaceRelVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -6068,5 +6068,5 @@
 	else{
 
-		tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+		tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 		J=tria->SurfaceRelVelMisfit(process_units);
 		delete tria->matice; delete tria;
@@ -6133,5 +6133,5 @@
 	_error_("Not implemented yet");
 
-	tria=(Tria*)SpawnTria(3,4,5); //grids 3, 4 and 5 make the new tria (upper face).
+	tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face).
 	J=tria->ThicknessAbsMisfit(process_units);
 	delete tria->matice; delete tria;
@@ -6221,8 +6221,8 @@
 			if(*(iomodel->elements_type+index)==PattynStokesApproximationEnum){
 				/*Create VzPattyn and VzStokes Enums*/
-				if(iomodel->vz && iomodel->gridonstokes){
-					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*iomodel->gridonstokes[penta_vertex_ids[i]-1];
+				if(iomodel->vz && iomodel->nodeonstokes){
+					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*iomodel->nodeonstokes[penta_vertex_ids[i]-1];
 					this->inputs->AddInput(new PentaVertexInput(VzStokesEnum,nodeinputs));
-					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*(1-iomodel->gridonstokes[penta_vertex_ids[i]-1]);
+					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*(1-iomodel->nodeonstokes[penta_vertex_ids[i]-1]);
 					this->inputs->AddInput(new PentaVertexInput(VzPattynEnum,nodeinputs));
 				}
@@ -6235,8 +6235,8 @@
 			if(*(iomodel->elements_type+index)==MacAyealStokesApproximationEnum){
 				/*Create VzMacAyeal and VzStokes Enums*/
-				if(iomodel->vz && iomodel->gridonstokes){
-					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*iomodel->gridonstokes[penta_vertex_ids[i]-1];
+				if(iomodel->vz && iomodel->nodeonstokes){
+					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*iomodel->nodeonstokes[penta_vertex_ids[i]-1];
 					this->inputs->AddInput(new PentaVertexInput(VzStokesEnum,nodeinputs));
-					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*(1-iomodel->gridonstokes[penta_vertex_ids[i]-1]);
+					for(i=0;i<6;i++) nodeinputs[i]=iomodel->vz[penta_vertex_ids[i]-1]/iomodel->yts*(1-iomodel->nodeonstokes[penta_vertex_ids[i]-1]);
 					this->inputs->AddInput(new PentaVertexInput(VzMacAyealEnum,nodeinputs));
 				}
Index: /issm/trunk/src/c/objects/Elements/PentaRef.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/PentaRef.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Elements/PentaRef.cpp	(revision 8303)
@@ -60,10 +60,10 @@
 void PentaRef::GetBMacAyealPattyn(double* B, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ dh/dx          0      ]
 	 *          [   0           dh/dy   ]
 	 *          [ 1/2*dh/dy  1/2*dh/dx  ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 5x(NDOF2*NUMNODESP1)
@@ -93,5 +93,5 @@
 void PentaRef::GetBMacAyealStokes(double* B, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ dh/dx          0       0   0 ]
@@ -99,5 +99,5 @@
 	 *          [ 1/2*dh/dy  1/2*dh/dx   0   0 ]
 	 *          [   0            0       0   h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 5x(NDOF2*NUMNODESP1)
@@ -139,5 +139,5 @@
 void PentaRef::GetBPattyn(double* B, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ dh/dx          0      ]
@@ -146,5 +146,5 @@
 	 *          [ 1/2*dh/dz      0      ]
 	 *          [  0         1/2*dh/dz  ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 5x(NDOF2*NUMNODESP1)
@@ -179,5 +179,5 @@
 void PentaRef::GetBprimePattyn(double* B, double* xyz_list, GaussPenta* gauss_coord){
 	/*Compute B  prime matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ 2*dh/dx     dh/dy   ]
@@ -186,5 +186,5 @@
 	 *                [ dh/dz         0     ]
 	 *                [  0         dh/dz    ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 5x(NDOF2*NUMNODESP1)
@@ -217,10 +217,10 @@
 void PentaRef::GetBprimeMacAyealStokes(double* Bprime, double* xyz_list, GaussPenta* gauss){
 	/*Compute Bprime  matrix. Bprime=[Bprime1 Bprime2 Bprime3 Bprime4 Bprime5 Bprime6] where Bprimei is of size 5*NDOF2. 
-	 * For grid i, Bprimei can be expressed in the actual coordinate system
+	 * For node i, Bprimei can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bprimei=[ 2*dh/dx    dh/dy   0   0 ]
 	 *               [  dh/dx    2*dh/dy  0   0 ]
 	 *               [  dh/dy     dh/dx   0   0 ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume Bprime has been allocated already, of size: 5x(NDOF2*NUMNODESP1)
@@ -258,5 +258,5 @@
 
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 3*NDOF4. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 		Bi=[ dh/dx          0              0       0  ]
 	 *					[   0           dh/dy           0       0  ]
@@ -267,5 +267,5 @@
 	 *					[   0             0             0       h  ]
 	 *					[ dh/dx         dh/dy         dh/dz     0  ]
-	 *	where h is the interpolation function for grid i.
+	 *	where h is the interpolation function for node i.
 	 *	Same thing for Bb except the last column that does not exist.
 	 */
@@ -324,5 +324,5 @@
 void PentaRef::GetBprimeStokes(double* B_prime, double* xyz_list, GaussPenta* gauss){
 	/*	Compute B'  matrix. B'=[B1' B2' B3' B4' B5' B6' Bb'] where Bi' is of size 3*NDOF2. 
-	 *	For grid i, Bi' can be expressed in the actual coordinate system
+	 *	For node i, Bi' can be expressed in the actual coordinate system
 	 *	by: 
 	 *				Bi'=[  dh/dx   0          0       0]
@@ -334,5 +334,5 @@
 	 *					 [  dh/dx   dh/dy    dh/dz     0]
 	 *					 [   0      0          0       h]
-	 *	where h is the interpolation function for grid i.
+	 *	where h is the interpolation function for node i.
 	 *
 	 * 	Same thing for the bubble fonction except that there is no fourth column
@@ -391,9 +391,9 @@
 void PentaRef::GetBArtdiff(double* B_artdiff, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF1. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi_artdiff=[ dh/dx ]
 	 *                 [ dh/dy ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 2x(NDOF1*NUMNODESP1)
@@ -416,10 +416,10 @@
 void PentaRef::GetBAdvec(double* B_advec, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF1. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi_advec =[ h ]
 	 *                 [ h ]
 	 *                 [ h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 3x(NDOF1*NUMNODESP1)
@@ -443,10 +443,10 @@
 void PentaRef::GetBConduct(double* B_conduct, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF1. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi_conduct=[ dh/dx ]
 	 *                  [ dh/dy ]
 	 *                  [ dh/dz ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 3x(NDOF1*NUMNODESP1)
@@ -470,5 +470,5 @@
 void PentaRef::GetBVert(double* B, double* xyz_list, GaussPenta* gauss){
 	/*	Compute B  matrix. B=[dh1/dz dh2/dz dh3/dz dh4/dz dh5/dz dh6/dz];
-		where hi is the interpolation function for grid i.*/
+		where hi is the interpolation function for node i.*/
 
 	int i;
@@ -488,10 +488,10 @@
 void PentaRef::GetBprimeAdvec(double* Bprime_advec, double* xyz_list, GaussPenta* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF1. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Biprime_advec=[ dh/dx ]
 	 *                     [ dh/dy ]
 	 *                     [ dh/dz ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 3x(NDOF1*NUMNODESP1)
@@ -514,5 +514,5 @@
 /*FUNCTION PentaRef::GetBprimeVert{{{1*/
 void PentaRef::GetBprimeVert(double* B, double* xyz_list, GaussPenta* gauss){
-	/* Compute Bprime  matrix. Bprime=[L1 L2 L3 L4 L5 L6] where Li is the nodal function for grid i*/
+	/* Compute Bprime  matrix. Bprime=[L1 L2 L3 L4 L5 L6] where Li is the nodal function for node i*/
 
 	GetNodalFunctionsP1(B, gauss);
@@ -524,5 +524,5 @@
 	/*
 	 * Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof. 
-	 * For grid i, Li can be expressed in the actual coordinate system
+	 * For node i, Li can be expressed in the actual coordinate system
 	 * by: 
 	 *       Li=[ h    0    0   0]
@@ -540,5 +540,5 @@
 	 *	 	      [ 0    h    0   0]
 	 *		      [ 0    0    h   0]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 
@@ -621,5 +621,5 @@
 	/*
 	 * Compute Lprime  matrix. Lprime=[Lp1 Lp2 Lp3] where Lpi is square and of size numdof. 
-	 * For grid i, Lpi can be expressed in the actual coordinate system
+	 * For node i, Lpi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Lpi=[ h    0    0   0]
@@ -637,5 +637,5 @@
 	 *           [ 0    0    0   h]
 	 *           [ 0    0    0   h]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 	int i;
@@ -717,5 +717,5 @@
 	/*
 	 * Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof. 
-	 * For grid i, Li can be expressed in the actual coordinate system
+	 * For node i, Li can be expressed in the actual coordinate system
 	 * by: 
 	 *       Li=[ h    0 ]
@@ -727,5 +727,5 @@
 	 *	 	      [ h    0 ]
 	 *	 	      [ 0    h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 
@@ -768,5 +768,5 @@
 	/*
 	 * Compute Lprime  matrix. Lprime=[Lp1 Lp2 Lp3] where Lpi is square and of size numdof. 
-	 * For grid i, Lpi can be expressed in the actual coordinate system
+	 * For node i, Lpi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Lpi=[ h    0    0   0]
@@ -778,5 +778,5 @@
 	 *           [ 0    0    0   h]
 	 *           [ 0    0    0   h]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 	int i;
@@ -834,5 +834,5 @@
 	/*
 	 * Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof. 
-	 * For grid i, Li can be expressed in the actual coordinate system
+	 * For node i, Li can be expressed in the actual coordinate system
 	 * by: 
 	 *       Li=[ h    0    0   0]
@@ -840,5 +840,5 @@
 	 *		      [ 0    0    h   0]
 	 *		      [ 0    0    h   0]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 
@@ -881,5 +881,5 @@
 	/*
 	 * Compute Lprime  matrix. Lprime=[Lp1 Lp2 Lp3] where Lpi is square and of size numdof. 
-	 * For grid i, Lpi can be expressed in the actual coordinate system
+	 * For node i, Lpi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Lpi=[ h    0 ]
@@ -887,5 +887,5 @@
 	 *		       [ h    0 ]
 	 *		       [ 0    h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 */
 	int i;
@@ -1284,5 +1284,5 @@
 /*FUNCTION PentaRef::GetParameterDerivativeValue{{{1*/
 void PentaRef::GetParameterDerivativeValue(double* p, double* plist,double* xyz_list, GaussPenta* gauss){
-	/*From grid values of parameter p (p_list[0], p_list[1], p_list[2], p_list[3], p_list[4] and p_list[4]), return parameter derivative value at gaussian point specified by gauss_coord:
+	/*From node values of parameter p (p_list[0], p_list[1], p_list[2], p_list[3], p_list[4] and p_list[4]), return parameter derivative value at gaussian point specified by gauss_coord:
 	 *   dp/dx=p_list[0]*dh1/dx+p_list[1]*dh2/dx+p_list[2]*dh3/dx+p_list[3]*dh4/dx+p_list[4]*dh5/dx+p_list[5]*dh6/dx;
 	 *   dp/dy=p_list[0]*dh1/dy+p_list[1]*dh2/dy+p_list[2]*dh3/dy+p_list[3]*dh4/dy+p_list[4]*dh5/dy+p_list[5]*dh6/dy;
Index: /issm/trunk/src/c/objects/Elements/TriaRef.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/TriaRef.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Elements/TriaRef.cpp	(revision 8303)
@@ -59,10 +59,10 @@
 void TriaRef::GetBMacAyeal(double* B, double* xyz_list, GaussTria* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ dh/dx           0    ]
 	 *          [   0           dh/dy  ]
 	 *          [ 1/2*dh/dy  1/2*dh/dx ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 3x(NDOF2*NUMNODES)
@@ -90,10 +90,10 @@
 
 	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[   dh/dx         0     ]
 	 *          [       0       dh/dy   ]
 	 *          [  1/2*dh/dy  1/2*dh/dx ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B has been allocated already, of size: 3x(NDOF2*NUMNODES)
@@ -158,9 +158,9 @@
 void TriaRef::GetBPrognostic(double* B_prog, double* xyz_list, GaussTria* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
-	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * For node i, Bi can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi=[ h ]
 	 *          [ h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B_prog has been allocated already, of size: 2x(NDOF1*NUMNODES)
@@ -183,10 +183,10 @@
 
 	/*Compute B'  matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi_prime=[ 2*dh/dx    dh/dy ]
 	 *                [   dh/dx  2*dh/dy ]
 	 *                [   dh/dy    dh/dx ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B' has been allocated already, of size: 3x(NDOF2*NUMNODES)
@@ -214,5 +214,5 @@
 
 	/*Compute Bprime  matrix. Bprime=[Bprime1 Bprime2 Bprime3] where Bprimei is of size 3*NDOF2. 
-	 * For grid i, Bprimei can be expressed in the actual coordinate system
+	 * For node i, Bprimei can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bprimei=[  dh/dx    0   ]
@@ -220,5 +220,5 @@
 	 *               [  dh/dy  dh/dx ]
 	 *               [  dh/dx  dh/dy ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume Bprime has been allocated already, of size: 3x(NDOF2*NUMNODES)
@@ -247,9 +247,9 @@
 void TriaRef::GetBprimePrognostic(double* Bprime_prog, double* xyz_list, GaussTria* gauss){
 	/*Compute B'  matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2. 
-	 * For grid i, Bi' can be expressed in the actual coordinate system
+	 * For node i, Bi' can be expressed in the actual coordinate system
 	 * by: 
 	 *       Bi_prime=[ dh/dx ]
 	 *                [ dh/dy ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume B' has been allocated already, of size: 3x(NDOF2*NUMNODES)
@@ -272,5 +272,5 @@
 void TriaRef::GetL(double* L, double* xyz_list,GaussTria* gauss,int numdof){
 	/*Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof. 
-	 * For grid i, Li can be expressed in the actual coordinate system
+	 * For node i, Li can be expressed in the actual coordinate system
 	 * by: 
 	 *       numdof=1: 
@@ -279,5 +279,5 @@
 	 *                 Li=[ h   0 ]
 	 *                    [ 0   h ]
-	 * where h is the interpolation function for grid i.
+	 * where h is the interpolation function for node i.
 	 *
 	 * We assume L has been allocated already, of size: NUMNODES (numdof=1), or numdofx(numdof*NUMNODES) (numdof=2)
Index: /issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp
===================================================================
--- /issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp	(revision 8303)
@@ -195,9 +195,9 @@
 	int i,j;
 
-	const int numgrids=6;
+	const int numnodes=6;
 	const int DOFVELOCITY=3;
 	double B[8][27];
-	double B_reduced[6][DOFVELOCITY*numgrids];
-	double velocity[numgrids][DOFVELOCITY];
+	double B_reduced[6][DOFVELOCITY*numnodes];
+	double velocity[numnodes][DOFVELOCITY];
 
 	/*Get B matrix: */
@@ -226,5 +226,5 @@
 
 	/*Here, we are computing the strain rate of (vx,0,0)*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		velocity[i][0]=this->values[i];
 		velocity[i][1]=0.0;
@@ -232,5 +232,5 @@
 	}
 	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numgrids,0,&velocity[0][0],DOFVELOCITY*numgrids,1,0,epsilonvx,0);
+	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numnodes,0,&velocity[0][0],DOFVELOCITY*numnodes,1,0,epsilonvx,0);
 
 }
@@ -240,9 +240,9 @@
 	int i,j;
 
-	const int numgrids=6;
+	const int numnodes=6;
 	const int DOFVELOCITY=3;
 	double B[8][27];
-	double B_reduced[6][DOFVELOCITY*numgrids];
-	double velocity[numgrids][DOFVELOCITY];
+	double B_reduced[6][DOFVELOCITY*numnodes];
+	double velocity[numnodes][DOFVELOCITY];
 
 	/*Get B matrix: */
@@ -271,5 +271,5 @@
 
 	/*Here, we are computing the strain rate of (0,vy,0)*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		velocity[i][0]=0.0;
 		velocity[i][1]=this->values[i];
@@ -277,5 +277,5 @@
 	}
 	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numgrids,0,&velocity[0][0],DOFVELOCITY*numgrids,1,0,epsilonvy,0);
+	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numnodes,0,&velocity[0][0],DOFVELOCITY*numnodes,1,0,epsilonvy,0);
 
 }
@@ -285,9 +285,9 @@
 	int i,j;
 
-	const int numgrids=6;
+	const int numnodes=6;
 	const int DOFVELOCITY=3;
 	double B[8][27];
-	double B_reduced[6][DOFVELOCITY*numgrids];
-	double velocity[numgrids][DOFVELOCITY];
+	double B_reduced[6][DOFVELOCITY*numnodes];
+	double velocity[numnodes][DOFVELOCITY];
 
 	/*Get B matrix: */
@@ -316,5 +316,5 @@
 
 	/*Here, we are computing the strain rate of (0,0,vz)*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		velocity[i][0]=0.0;
 		velocity[i][1]=0.0;
@@ -323,5 +323,5 @@
 
 	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numgrids,0,&velocity[0][0],DOFVELOCITY*numgrids,1,0,epsilonvz,0);
+	MatrixMultiply(&B_reduced[0][0],6,DOFVELOCITY*numnodes,0,&velocity[0][0],DOFVELOCITY*numnodes,1,0,epsilonvz,0);
 
 }
@@ -331,7 +331,7 @@
 
 	int i;
-	const int numgrids=6;
-	double B[5][NDOF2*numgrids];
-	double velocity[numgrids][NDOF2];
+	const int numnodes=6;
+	double B[5][NDOF2*numnodes];
+	double velocity[numnodes][NDOF2];
 
 	/*Get B matrix: */
@@ -339,5 +339,5 @@
 
 	/*Here, we are computing the strain rate of (vx,0)*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		velocity[i][0]=this->values[i];
 		velocity[i][1]=0.0;
@@ -345,6 +345,6 @@
 
 	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply( &B[0][0],5,NDOF2*numgrids,0,
-				&velocity[0][0],NDOF2*numgrids,1,0,
+	MatrixMultiply( &B[0][0],5,NDOF2*numnodes,0,
+				&velocity[0][0],NDOF2*numnodes,1,0,
 				epsilonvx,0);
 
@@ -355,7 +355,7 @@
 
 	int i;
-	const int numgrids=6;
-	double B[5][NDOF2*numgrids];
-	double velocity[numgrids][NDOF2];
+	const int numnodes=6;
+	double B[5][NDOF2*numnodes];
+	double velocity[numnodes][NDOF2];
 
 	/*Get B matrix: */
@@ -363,5 +363,5 @@
 
 	/*Here, we are computing the strain rate of (0,vy)*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		velocity[i][0]=0.0;
 		velocity[i][1]=this->values[i];
@@ -369,6 +369,6 @@
 
 	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply( &B[0][0],5,NDOF2*numgrids,0,
-				&velocity[0][0],NDOF2*numgrids,1,0,
+	MatrixMultiply( &B[0][0],5,NDOF2*numnodes,0,
+				&velocity[0][0],NDOF2*numnodes,1,0,
 				epsilonvy,0);
 
@@ -414,7 +414,7 @@
 	
 	int i;
-	const int numgrids=6;
-
-	for(i=0;i<numgrids;i++) if (values[i]<minimum) values[i]=minimum;
+	const int numnodes=6;
+
+	for(i=0;i<numnodes;i++) if (values[i]<minimum) values[i]=minimum;
 }
 /*}}}*/
@@ -423,8 +423,8 @@
 
 	/*Output*/
-	const int numgrids=6;
+	const int numnodes=6;
 	double norm=0;
 
-	for(int i=0;i<numgrids;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
+	for(int i=0;i<numnodes;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
 	return norm;
 }
@@ -433,8 +433,8 @@
 double PentaVertexInput::Max(void){
 
-	const int numgrids=6;
+	const int numnodes=6;
 	double    max=values[0];
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(values[i]>max) max=values[i];
 	}
@@ -445,8 +445,8 @@
 double PentaVertexInput::MaxAbs(void){
 
-	const int numgrids=6;
+	const int numnodes=6;
 	double    max=fabs(values[0]);
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(fabs(values[i])>max) max=fabs(values[i]);
 	}
@@ -457,8 +457,8 @@
 double PentaVertexInput::Min(void){
 
-	const int numgrids=6;
+	const int numnodes=6;
 	double    min=values[0];
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(values[i]<min) min=values[i];
 	}
@@ -469,8 +469,8 @@
 double PentaVertexInput::MinAbs(void){
 
-	const int numgrids=6;
+	const int numnodes=6;
 	double    min=fabs(values[0]);
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(fabs(values[i])<min) min=fabs(values[i]);
 	}
@@ -482,7 +482,7 @@
 	
 	int i;
-	const int numgrids=6;
-
-	for(i=0;i<numgrids;i++)values[i]=values[i]*scale_factor;
+	const int numnodes=6;
+
+	for(i=0;i<numnodes;i++)values[i]=values[i]*scale_factor;
 }
 /*}}}*/
@@ -491,5 +491,5 @@
 
 	int i;
-	const int numgrids=6;
+	const int numnodes=6;
 
 	/*xinput is of the same type, so cast it: */
@@ -500,5 +500,5 @@
 		case PentaVertexInputEnum:{
 			PentaVertexInput* cast_input=(PentaVertexInput*)xinput;
-			for(i=0;i<numgrids;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);}
+			for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);}
 			return;
 		case ControlInputEnum:{
@@ -506,5 +506,5 @@
 			if(cont_input->values->Enum()!=PentaVertexInputEnum) _error_("not supported yet");
 			PentaVertexInput* cast_input=(PentaVertexInput*)cont_input->values;
-			for(i=0;i<numgrids;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);}
+			for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);}
 			return;
 		default:
@@ -518,8 +518,8 @@
 
 	int i;
-	const int numgrids=6;
+	const int numnodes=6;
 		
-	if(!isnan(cm_min)) for(i=0;i<numgrids;i++)if (this->values[i]<cm_min)this->values[i]=cm_min;
-	if(!isnan(cm_max)) for(i=0;i<numgrids;i++)if (this->values[i]>cm_max)this->values[i]=cm_max;
+	if(!isnan(cm_min)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_min)this->values[i]=cm_min;
+	if(!isnan(cm_max)) for(i=0;i<numnodes;i++)if (this->values[i]>cm_max)this->values[i]=cm_max;
 
 }
@@ -540,5 +540,5 @@
 	/*Intermediaries*/
 	int i;
-	const int  numgrids = 6;
+	const int  numnodes = 6;
 	int        num_thickness_values;
 	double    *thickness_values = NULL;
@@ -575,6 +575,6 @@
 	PentaVertexInput *xinputB     = NULL;
 	int               B_numvalues;
-	const int         numgrids    = 6;
-	double            AdotBvalues[numgrids];
+	const int         numnodes    = 6;
+	double            AdotBvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
@@ -583,5 +583,5 @@
 
 	/*Create point wise sum*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		_assert_(xinputB->values[i]!=0);
 		AdotBvalues[i]=this->values[i]/xinputB->values[i];
@@ -606,6 +606,6 @@
 	PentaVertexInput *xinputB     = NULL;
 	int               B_numvalues;
-	const int         numgrids    = 6;
-	double            minvalues[numgrids];
+	const int         numnodes    = 6;
+	double            minvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
@@ -614,5 +614,5 @@
 
 	/*Create point wise min*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		if(this->values[i] > xinputB->values[i]) minvalues[i]=xinputB->values[i];
 		else minvalues[i]=this->values[i];
@@ -637,6 +637,6 @@
 	PentaVertexInput *xinputB     = NULL;
 	int               B_numvalues;
-	const int         numgrids    = 6;
-	double            maxvalues[numgrids];
+	const int         numnodes    = 6;
+	double            maxvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
@@ -645,5 +645,5 @@
 
 	/*Create point wise max*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		if(this->values[i] < xinputB->values[i]) maxvalues[i]=xinputB->values[i];
 		else maxvalues[i]=this->values[i];
Index: /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp
===================================================================
--- /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp	(revision 8303)
@@ -185,6 +185,6 @@
 	/*Intermediary*/
 	int       i;
-	const int numgrids=3;
-	double B[3][NDOF2*numgrids];
+	const int numnodes=3;
+	double B[3][NDOF2*numnodes];
 	double velocity[3][NDOF2];
 
@@ -198,6 +198,6 @@
 	}
 	/*Get epsilon(vx) = B*velocity*/
-	MatrixMultiply( &B[0][0],3,NDOF2*numgrids,0,
-				&velocity[0][0],NDOF2*numgrids,1,0,
+	MatrixMultiply( &B[0][0],3,NDOF2*numnodes,0,
+				&velocity[0][0],NDOF2*numnodes,1,0,
 				epsilonvx,0);
 }
@@ -208,6 +208,6 @@
 	/*Intermediary*/
 	int       i;
-	const int numgrids=3;
-	double B[3][NDOF2*numgrids];
+	const int numnodes=3;
+	double B[3][NDOF2*numnodes];
 	double velocity[3][NDOF2];
 
@@ -221,6 +221,6 @@
 	}
 	/*Get epsilon(vy) = B*velocity*/
-	MatrixMultiply( &B[0][0],3,NDOF2*numgrids,0,
-				&velocity[0][0],NDOF2*numgrids,1,0,
+	MatrixMultiply( &B[0][0],3,NDOF2*numnodes,0,
+				&velocity[0][0],NDOF2*numnodes,1,0,
 				epsilonvy,0);
 }
@@ -265,7 +265,7 @@
 	
 	int i;
-	const int numgrids=3;
-
-	for(i=0;i<numgrids;i++) if (values[i]<minimum) values[i]=minimum;
+	const int numnodes=3;
+
+	for(i=0;i<numnodes;i++) if (values[i]<minimum) values[i]=minimum;
 }
 /*}}}*/
@@ -275,7 +275,7 @@
 	/*Output*/
 	double norm=0;
-	const int numgrids=3;
-
-	for(int i=0;i<numgrids;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
+	const int numnodes=3;
+
+	for(int i=0;i<numnodes;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
 	return norm;
 }
@@ -284,8 +284,8 @@
 double TriaVertexInput::Max(void){
 
-	const int numgrids=3;
+	const int numnodes=3;
 	double    max=values[0];
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(values[i]>max) max=values[i];
 	}
@@ -296,8 +296,8 @@
 double TriaVertexInput::MaxAbs(void){
 
-	const int numgrids=3;
+	const int numnodes=3;
 	double    max=fabs(values[0]);
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(fabs(values[i])>max) max=fabs(values[i]);
 	}
@@ -308,8 +308,8 @@
 double TriaVertexInput::Min(void){
 
-	const int numgrids=3;
+	const int numnodes=3;
 	double    min=values[0];
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(values[i]<min) min=values[i];
 	}
@@ -320,8 +320,8 @@
 double TriaVertexInput::MinAbs(void){
 
-	const int numgrids=3;
+	const int numnodes=3;
 	double    min=fabs(values[0]);
 
-	for(int i=1;i<numgrids;i++){
+	for(int i=1;i<numnodes;i++){
 		if(fabs(values[i])<min) min=fabs(values[i]);
 	}
@@ -333,7 +333,7 @@
 	
 	int i;
-	const int numgrids=3;
-
-	for(i=0;i<numgrids;i++)values[i]=values[i]*scale_factor;
+	const int numnodes=3;
+
+	for(i=0;i<numnodes;i++)values[i]=values[i]*scale_factor;
 }
 /*}}}*/
@@ -342,5 +342,5 @@
 
 	int i;
-	const int numgrids=3;
+	const int numnodes=3;
 	double noise;
 
@@ -351,5 +351,5 @@
 	 noise=min+(max-min)*(double)rand()/RAND_MAX;
 
-	for(i=0;i<numgrids;i++)values[i]=values[i]+noise;
+	for(i=0;i<numnodes;i++)values[i]=values[i]+noise;
 }
 /*}}}*/
@@ -358,5 +358,5 @@
 
 	int i;
-	const int numgrids=3;
+	const int numnodes=3;
 	TriaVertexInput*  xtriavertexinput=NULL;
 
@@ -368,5 +368,5 @@
 
 		case TriaVertexInputEnum :
-			for(i=0;i<numgrids;i++)this->values[i]=this->values[i]+scalar*xtriavertexinput->values[i];
+			for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*xtriavertexinput->values[i];
 			return;
 
@@ -381,8 +381,8 @@
 
 	int i;
-	const int numgrids=3;
+	const int numnodes=3;
 		
-	if(!isnan(cm_min)) for(i=0;i<numgrids;i++)if (this->values[i]<cm_min)this->values[i]=cm_min;
-	if(!isnan(cm_max)) for(i=0;i<numgrids;i++)if (this->values[i]>cm_max)this->values[i]=cm_max;
+	if(!isnan(cm_min)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_min)this->values[i]=cm_min;
+	if(!isnan(cm_max)) for(i=0;i<numnodes;i++)if (this->values[i]>cm_max)this->values[i]=cm_max;
 
 }
@@ -413,6 +413,6 @@
 	TriaVertexInput *xinputB     = NULL;
 	int               B_numvalues;
-	const int         numgrids    = 3;
-	double            minvalues[numgrids];
+	const int         numnodes    = 3;
+	double            minvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
@@ -421,5 +421,5 @@
 
 	/*Create point wise min*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		if(this->values[i] > xinputB->values[i]) minvalues[i]=xinputB->values[i];
 		else minvalues[i]=this->values[i];
@@ -444,6 +444,6 @@
 	TriaVertexInput *xinputB     = NULL;
 	int               B_numvalues;
-	const int         numgrids    = 3;
-	double            maxvalues[numgrids];
+	const int         numnodes    = 3;
+	double            maxvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
@@ -452,5 +452,5 @@
 
 	/*Create point wise max*/
-	for(i=0;i<numgrids;i++){
+	for(i=0;i<numnodes;i++){
 		if(this->values[i] < xinputB->values[i]) maxvalues[i]=xinputB->values[i];
 		else maxvalues[i]=this->values[i];
Index: /issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/objects/IoModel.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/IoModel.cpp	(revision 8303)
@@ -41,17 +41,17 @@
 	xfree((void**)&this->elements_type);
 	xfree((void**)&this->vertices_type);
-	xfree((void**)&this->gridonhutter);
-	xfree((void**)&this->gridonmacayeal);
+	xfree((void**)&this->nodeonhutter);
+	xfree((void**)&this->nodeonmacayeal);
 	if (this->dim==3){
 		xfree((void**)&this->elements2d);
 		xfree((void**)&this->upperelements);
 		xfree((void**)&this->lowerelements);
-		xfree((void**)&this->gridonpattyn);
+		xfree((void**)&this->nodeonpattyn);
 	}
 	xfree((void**)&this->elementonbed);
 	xfree((void**)&this->elementonsurface);
-	xfree((void**)&this->gridonbed);
-	xfree((void**)&this->gridonsurface);
-	xfree((void**)&this->gridonstokes);
+	xfree((void**)&this->nodeonbed);
+	xfree((void**)&this->nodeonsurface);
+	xfree((void**)&this->nodeonstokes);
 	xfree((void**)&this->borderstokes);
 	xfree((void**)&this->thickness_obs);
@@ -74,7 +74,7 @@
 	xfree((void**)&this->elementoniceshelf);
 	xfree((void**)&this->elementonwater);
-	xfree((void**)&this->gridonicesheet);
-	xfree((void**)&this->gridoniceshelf);
-	xfree((void**)&this->gridonwater);
+	xfree((void**)&this->nodeonicesheet);
+	xfree((void**)&this->nodeoniceshelf);
+	xfree((void**)&this->nodeonwater);
 	xfree((void**)&this->pressureload);
 	xfree((void**)&this->spcvelocity);
@@ -136,5 +136,5 @@
 	IoModelFetchData(&this->dim,iomodel_handle,"dim");
 	/*!Get numberofelements and numberofvertices: */
-	IoModelFetchData(&this->numberofvertices,iomodel_handle,"numberofgrids");
+	IoModelFetchData(&this->numberofvertices,iomodel_handle,"numberofnodes");
 	IoModelFetchData(&this->numberofelements,iomodel_handle,"numberofelements");
 	/*!In case we are running 3d, we are going to need the collapsed and non-collapsed 2d meshes, from which the 3d mesh was extruded: */
@@ -143,5 +143,5 @@
 		/*!Deal with 2d mesh: */
 		IoModelFetchData(&this->numberofelements2d,iomodel_handle,"numberofelements2d");
-		IoModelFetchData(&this->numberofvertices2d,iomodel_handle,"numberofgrids2d");
+		IoModelFetchData(&this->numberofvertices2d,iomodel_handle,"numberofnodes2d");
 		IoModelFetchData(&this->numlayers,iomodel_handle,"numlayers");
 	}
@@ -264,7 +264,7 @@
 	this->upperelements=NULL;
 	this->lowerelements=NULL;
-	this->gridonhutter=NULL;
-	this->gridonmacayeal=NULL;
-	this->gridonpattyn=NULL;
+	this->nodeonhutter=NULL;
+	this->nodeonmacayeal=NULL;
+	this->nodeonpattyn=NULL;
 	this->io_gather=1;
 	
@@ -285,7 +285,7 @@
 	this->elementonbed=NULL;
 	this->elementonsurface=NULL;
-	this->gridonbed=NULL;
-	this->gridonsurface=NULL;
-	this->gridonstokes=NULL;
+	this->nodeonbed=NULL;
+	this->nodeonsurface=NULL;
+	this->nodeonstokes=NULL;
 	this->borderstokes=NULL;
 	this->thickness_obs=NULL;
@@ -297,7 +297,7 @@
 	this->elementoniceshelf=NULL;
 	this->elementonwater=NULL;
-	this->gridonicesheet=NULL;
-	this->gridoniceshelf=NULL;
-	this->gridonwater=NULL;
+	this->nodeonicesheet=NULL;
+	this->nodeoniceshelf=NULL;
+	this->nodeonwater=NULL;
 
 	this->drag_type=0;
@@ -422,5 +422,5 @@
 		printf("IoModel penalties: \n");
 		printf("   number of penalties: %i\n",this->numpenalties);
-		printf("   grids: \n");
+		printf("   nodes: \n");
 
 		for(i=0;i<this->numpenalties;i++){
Index: /issm/trunk/src/c/objects/IoModel.h
===================================================================
--- /issm/trunk/src/c/objects/IoModel.h	(revision 8302)
+++ /issm/trunk/src/c/objects/IoModel.h	(revision 8303)
@@ -46,7 +46,7 @@
 		int     ismacayealpattyn;
 		int     isstokes;
-		double* gridonhutter;
-		double* gridonmacayeal;
-		double* gridonpattyn;
+		double* nodeonhutter;
+		double* nodeonmacayeal;
+		double* nodeonpattyn;
 
 		/*results: */
@@ -76,7 +76,7 @@
 		double* elementonbed;
 		double* elementonsurface;
-		double* gridonbed;
-		double* gridonsurface;
-		double* gridonstokes;
+		double* nodeonbed;
+		double* nodeonsurface;
+		double* nodeonstokes;
 		double* borderstokes;
 		double* thickness;
@@ -87,7 +87,7 @@
 		double* elementoniceshelf;
 		double* elementonwater;
-		double* gridonicesheet;
-		double* gridoniceshelf;
-		double* gridonwater;
+		double* nodeonicesheet;
+		double* nodeoniceshelf;
+		double* nodeonwater;
 
 		/*friction: */
Index: /issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 8303)
@@ -58,5 +58,5 @@
 		segment_width=6;
 	}
-	element=(int)(*(iomodel->pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (grid1 grid2 ... elem fill)
+	element=(int)(*(iomodel->pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill)
 
 	/*Build ids for hook constructors: */
Index: /issm/trunk/src/c/objects/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 8303)
@@ -462,5 +462,5 @@
 
 	int    found=0;
-	const int numgrids=1;
+	const int numnodes=1;
 	double pressure;
 	double temperature;
Index: /issm/trunk/src/c/objects/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 8303)
@@ -51,12 +51,12 @@
 	/*intermediary: */
 	int el1    ,el2;
-	int grid1  ,grid2;
-
-	/*Ok, retrieve all the data needed to add a penalty between the two grids: */
+	int node1  ,node2;
+
+	/*Ok, retrieve all the data needed to add a penalty between the two nodes: */
 	el1=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+2);
 	el2=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+3); 
 
-	grid1=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+0); 
-	grid2=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+1);
+	node1=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+0); 
+	node2=(int)*(iomodel->riftinfo+RIFTINFOSIZE*i+1);
 
 	/*id: */
@@ -65,6 +65,6 @@
 
 	/*hooks: */
-	riftfront_node_ids[0]=iomodel->nodecounter+grid1;
-	riftfront_node_ids[1]=iomodel->nodecounter+grid2;
+	riftfront_node_ids[0]=iomodel->nodecounter+node1;
+	riftfront_node_ids[1]=iomodel->nodecounter+node2;
 	riftfront_elem_ids[0]=el1;
 	riftfront_elem_ids[1]=el2;
@@ -96,5 +96,5 @@
 	riftfront_friction=*(iomodel->riftinfo+RIFTINFOSIZE*i+8);
 	riftfront_fractionincrement=*(iomodel->riftinfo+RIFTINFOSIZE*i+10);
-	riftfront_shelf=(bool)iomodel->gridoniceshelf[grid1-1];
+	riftfront_shelf=(bool)iomodel->nodeoniceshelf[node1-1];
 
 	this->inputs->AddInput(new IntInput(TypeEnum,riftfront_type));
@@ -623,7 +623,7 @@
 
 	/*Ok, this rift is opening. We should put loads on both sides of the rift flanks. Because we are dealing with contact mechanics, 
-	 * and we want to avoid zigzagging of the loads, we want lump the loads onto grids, not onto surfaces between grids.:*/
-
-	/*Ok, to compute the pressure, we are going to need material properties, thickness and bed for the two grids. We assume those properties to 
+	 * and we want to avoid zigzagging of the loads, we want lump the loads onto nodes, not onto surfaces between nodes.:*/
+
+	/*Ok, to compute the pressure, we are going to need material properties, thickness and bed for the two nodes. We assume those properties to 
 	 * be the same across the rift.: */
 
@@ -660,10 +660,10 @@
 	}
 
-	/*Ok, add contribution to first grid, along the normal i==0: */
+	/*Ok, add contribution to first node, along the normal i==0: */
 	for (j=0;j<2;j++){
 		pe->values[j]+=pressure*normal[j]*length;
 	}
 
-	/*Add contribution to second grid, along the opposite normal: i==1 */
+	/*Add contribution to second node, along the opposite normal: i==1 */
 	for (j=0;j<2;j++){
 		pe->values[2+j]+= -pressure*normal[j]*length;
@@ -679,5 +679,5 @@
 int Riftfront::Constrain(int* punstable){
 
-	const int   numgrids        = 2;
+	const int   numnodes        = 2;
 	double      max_penetration;
 	double      penetration;
@@ -802,5 +802,5 @@
 int   Riftfront::MaxPenetration(double* ppenetration){
 
-	const int     numgrids=2;
+	const int     numnodes=2;
 	double        max_penetration;
 	double        penetration=0;
@@ -831,5 +831,5 @@
 	tria2->GetParameterValue(&vy2,nodes[1],VyEnum);
 
-	/*Grid 1 faces grid2, compute penetration of 2 into 1 (V2-V1).N (with N normal vector, and V velocity vector: */
+	/*Node1 faces node2, compute penetration of 2 into 1 (V2-V1).N (with N normal vector, and V velocity vector: */
 	penetration=(vx2-vx1)*normal[0]+(vy2-vy1)*normal[1];
 
@@ -902,5 +902,5 @@
 
 
-	const int   numgrids        = 2;
+	const int   numnodes        = 2;
 	double      max_penetration;
 	double      penetration;
@@ -953,5 +953,5 @@
 int   Riftfront::PreConstrain(int* punstable){
 
-	const int   numgrids    = 2;
+	const int   numnodes    = 2;
 	double      penetration;
 	int         unstable;
Index: /issm/trunk/src/c/objects/Node.cpp
===================================================================
--- /issm/trunk/src/c/objects/Node.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Node.cpp	(revision 8303)
@@ -50,8 +50,8 @@
 	//intialize inputs, and add as many inputs per element as requested: 
 	this->inputs=new Inputs();
-	if (iomodel->gridonbed)      this->inputs->AddInput(new BoolInput(NodeOnBedEnum,(IssmBool)iomodel->gridonbed[io_index]));
-	if (iomodel->gridonsurface)  this->inputs->AddInput(new BoolInput(NodeOnSurfaceEnum,(IssmBool)iomodel->gridonsurface[io_index]));
-	if (iomodel->gridoniceshelf) this->inputs->AddInput(new BoolInput(NodeOnIceShelfEnum,(IssmBool)iomodel->gridoniceshelf[io_index]));
-	if (iomodel->gridonicesheet) this->inputs->AddInput(new BoolInput(NodeOnIceSheetEnum,(IssmBool)iomodel->gridonicesheet[io_index]));
+	if (iomodel->nodeonbed)      this->inputs->AddInput(new BoolInput(NodeOnBedEnum,(IssmBool)iomodel->nodeonbed[io_index]));
+	if (iomodel->nodeonsurface)  this->inputs->AddInput(new BoolInput(NodeOnSurfaceEnum,(IssmBool)iomodel->nodeonsurface[io_index]));
+	if (iomodel->nodeoniceshelf) this->inputs->AddInput(new BoolInput(NodeOnIceShelfEnum,(IssmBool)iomodel->nodeoniceshelf[io_index]));
+	if (iomodel->nodeonicesheet) this->inputs->AddInput(new BoolInput(NodeOnIceSheetEnum,(IssmBool)iomodel->nodeonicesheet[io_index]));
 	if (iomodel->numbernodetoelementconnectivity) this->inputs->AddInput(new IntInput(NumberNodeToElementConnectivityEnum,(IssmInt)iomodel->numbernodetoelementconnectivity[io_index]));
 	if (analysis_type==DiagnosticHorizAnalysisEnum) this->inputs->AddInput(new IntInput(ApproximationEnum,(IssmInt)iomodel->vertices_type[io_index]));
@@ -60,6 +60,6 @@
 
 	/*spc all nodes on water*/
-	if (!iomodel->gridonwater) _error_("iomodel->gridonwater is NULL");
-	if (iomodel->gridonwater[io_index]){
+	if (!iomodel->nodeonwater) _error_("iomodel->nodeonwater is NULL");
+	if (iomodel->nodeonwater[io_index]){
 		for(k=1;k<=gsize;k++){
 			this->FreezeDof(k);
@@ -70,17 +70,17 @@
 	if (analysis_type==DiagnosticHorizAnalysisEnum){
 		if (iomodel->dim==3){
-			/*We have a  3d mesh, we may have collapsed elements, hence dead grids. Freeze them out: */
-			if (!iomodel->gridonbed) _error_("iomodel->gridonbed is NULL");
+			/*We have a  3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */
+			if (!iomodel->nodeonbed) _error_("iomodel->nodeonbed is NULL");
 			if (!iomodel->vertices_type) _error_("iomodel->vertices_type is NULL");
-			if (iomodel->vertices_type[io_index]==MacAyealApproximationEnum && !iomodel->gridonbed[io_index]){
+			if (iomodel->vertices_type[io_index]==MacAyealApproximationEnum && !iomodel->nodeonbed[io_index]){
 				for(k=1;k<=gsize;k++) this->FreezeDof(k);
 			}
-			if (iomodel->vertices_type[io_index]==MacAyealPattynApproximationEnum && iomodel->gridonmacayeal[io_index]){
-				if(!iomodel->gridonbed[io_index]){
+			if (iomodel->vertices_type[io_index]==MacAyealPattynApproximationEnum && iomodel->nodeonmacayeal[io_index]){
+				if(!iomodel->nodeonbed[io_index]){
 					for(k=1;k<=gsize;k++) this->FreezeDof(k);
 				}
 			}
-			if (iomodel->vertices_type[io_index]==MacAyealStokesApproximationEnum && iomodel->gridonmacayeal[io_index]){
-				if(!iomodel->gridonbed[io_index]){
+			if (iomodel->vertices_type[io_index]==MacAyealStokesApproximationEnum && iomodel->nodeonmacayeal[io_index]){
+				if(!iomodel->nodeonbed[io_index]){
 					for(k=1;k<=2;k++) this->FreezeDof(k);
 				}
@@ -88,6 +88,6 @@
 		}
 		/*spc all nodes on hutter*/
-		if (!iomodel->gridonhutter) _error_("iomodel->gridonhutter is NULL");
-		if (iomodel->gridonhutter[io_index]){
+		if (!iomodel->nodeonhutter) _error_("iomodel->nodeonhutter is NULL");
+		if (iomodel->nodeonhutter[io_index]){
 			for(k=1;k<=gsize;k++){
 				this->FreezeDof(k);
@@ -100,6 +100,6 @@
 	if (analysis_type==DiagnosticHutterAnalysisEnum){
 		/*Spc all nodes that are not Hutter*/
-		if (!iomodel->gridonhutter) _error_("iomodel->gridonhutter is NULL");
-		if (!iomodel->gridonhutter[io_index]){
+		if (!iomodel->nodeonhutter) _error_("iomodel->nodeonhutter is NULL");
+		if (!iomodel->nodeonhutter[io_index]){
 			for(k=1;k<=gsize;k++){
 				this->FreezeDof(k);
@@ -118,7 +118,7 @@
 				){
 		if (iomodel->dim==3){
-			/*On a 3d mesh, we may have collapsed elements, hence dead grids. Freeze them out: */
-			if (!iomodel->gridonbed) _error_("iomodel->gridonbed is NULL");
-			if (!iomodel->gridonbed[io_index]){
+			/*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */
+			if (!iomodel->nodeonbed) _error_("iomodel->nodeonbed is NULL");
+			if (!iomodel->nodeonbed[io_index]){
 				for(k=1;k<=gsize;k++){
 					this->FreezeDof(k);
Index: /issm/trunk/src/c/objects/Object.h
===================================================================
--- /issm/trunk/src/c/objects/Object.h	(revision 8302)
+++ /issm/trunk/src/c/objects/Object.h	(revision 8303)
@@ -4,5 +4,5 @@
  * \file Object.h
  * This prototype describes the Object class. This is an abstract class, parent 
- * to any other objects (Quad, Tria, Grid, etc ...), that can be included in a 
+ * to any other objects (Quad, Tria, Node , etc ...), that can be included in a 
  * DataSet.
  */
Index: /issm/trunk/src/c/objects/Segment.cpp
===================================================================
--- /issm/trunk/src/c/objects/Segment.cpp	(revision 8302)
+++ /issm/trunk/src/c/objects/Segment.cpp	(revision 8303)
@@ -51,6 +51,6 @@
 	printf("Segment:\n");
 	printf("   eid: %i\n",eid);
-	printf("   grid 1: %g|%g\n",this->x1,this->y1);
-	printf("   grid 2: %g|%g\n",this->x2,this->y2);
+	printf("   node 1: %g|%g\n",this->x1,this->y1);
+	printf("   node 2: %g|%g\n",this->x2,this->y2);
 
 }
