Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 14763)
@@ -267,5 +267,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<3;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 
@@ -335,5 +335,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -970,5 +970,5 @@
 
 	/*Get xyz list: */
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	xmin=xyz_list[0][0]; xmax=xyz_list[0][0];
 	ymin=xyz_list[0][1]; ymax=xyz_list[0][1];
@@ -1317,5 +1317,5 @@
 	IssmDouble z_list[NUMVERTICES];
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES;i++) z_list[i]=xyz_list[i][2];
 	PentaRef::GetInputValue(&z,z_list,gauss);
@@ -1541,5 +1541,5 @@
 
 		/*Step2: Create element thickness input*/
-		GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
+		GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
 		for(i=0;i<3;i++){
 			Helem_list[i]=xyz_list[i+3][2]-xyz_list[i][2];
@@ -2984,5 +2984,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], this->nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	minx=xyz_list[0][0];
@@ -3203,5 +3203,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
@@ -3246,5 +3246,5 @@
 	if(IsOnWater())return 0;
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*First calculate the area of the base (cross section triangle)
@@ -3474,5 +3474,5 @@
 	if(IsOnWater() || !IsOnSurface()) return 0.;
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*First calculate the area of the base (cross section triangle)
@@ -3553,5 +3553,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	rho_water=matpar->GetRhoWater();
 	rho_ice=matpar->GetRhoIce();
@@ -3703,5 +3703,5 @@
 	rho_ice=matpar->GetRhoIce();
 	heatcapacity=matpar->GetHeatCapacity();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 
@@ -3786,5 +3786,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	rho_water=matpar->GetRhoWater();
 	rho_ice=matpar->GetRhoIce();
@@ -3934,5 +3934,5 @@
 	rho_ice=matpar->GetRhoIce();
 	heatcapacity=matpar->GetHeatCapacity();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 
@@ -4004,5 +4004,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	rho_ice=matpar->GetRhoIce();
 	heatcapacity=matpar->GetHeatCapacity();
@@ -4096,5 +4096,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	mixed_layer_capacity=matpar->GetMixedLayerCapacity();
@@ -4157,5 +4157,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
@@ -4266,5 +4266,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	rho_ice=matpar->GetRhoIce();
 	heatcapacity=matpar->GetHeatCapacity();
@@ -4350,5 +4350,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	mixed_layer_capacity=matpar->GetMixedLayerCapacity();
@@ -4409,5 +4409,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
@@ -4543,5 +4543,5 @@
 
 	/*Get all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input);
 
@@ -4611,5 +4611,5 @@
 
 	/*Get all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GetInputListOnVertices(&pressure[0],PressureEnum);
 	Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input);
@@ -4811,5 +4811,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -4879,5 +4879,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -5133,5 +5133,5 @@
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	GradientIndexing(&vertexpidlist[0],control_index);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	Input* adjointx_input=inputs->GetInput(AdjointxEnum);               _assert_(adjointx_input);
@@ -5205,5 +5205,5 @@
 	/*Retrieve all inputs and parameters*/
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	GradientIndexing(&vertexpidlist[0],control_index);
@@ -6009,5 +6009,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
@@ -6099,5 +6099,5 @@
 
 	/*retrieve inputs :*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
@@ -6219,5 +6219,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
@@ -6323,5 +6323,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
@@ -6611,5 +6611,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
@@ -6758,5 +6758,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);        _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);        _assert_(vy_input);
@@ -6855,5 +6855,5 @@
 	/*Retrieve all inputs and parameters*/
 	inputs->GetInputValue(&approximation,ApproximationEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
@@ -6923,5 +6923,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
@@ -7027,5 +7027,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
 	Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
@@ -7094,5 +7094,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
@@ -7172,5 +7172,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/* Start  looping on the number of gaussian points: */
@@ -7218,5 +7218,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i+3][j];
 	SurfaceNormal(&surface_normal[0],xyz_list_tria);
@@ -7282,5 +7282,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
@@ -7349,5 +7349,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
@@ -7433,5 +7433,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
 	Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
@@ -7500,5 +7500,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
@@ -7643,5 +7643,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	rho_ice=matpar->GetRhoIce();
 	gravity=matpar->GetG();
@@ -7754,5 +7754,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
 	Input* surface_input=inputs->GetInput(SurfaceEnum);     _assert_(surface_input);
@@ -7830,5 +7830,5 @@
 	rho_ice=matpar->GetRhoIce();
 	gravity=matpar->GetG();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);   _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);   _assert_(vy_input);
@@ -7913,5 +7913,5 @@
 	rho_water=matpar->GetRhoWater();
 	gravity=matpar->GetG();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* bed_input=inputs->GetInput(BedEnum); _assert_(bed_input);
 	Input* vx_input=inputs->GetInput(VxEnum);   _assert_(vx_input);
@@ -7988,5 +7988,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	inputs->GetInputValue(&approximation,ApproximationEnum);
 	Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
@@ -8047,5 +8047,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
 	inputs->GetInputValue(&approximation,ApproximationEnum);
@@ -8164,5 +8164,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -8229,5 +8229,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -8595,5 +8595,5 @@
 
 		/*Get node data: */
-		GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
+		GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
 
 		/*Now Compute vel*/
@@ -8658,5 +8658,5 @@
 
 	/*Get node data: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector: */
@@ -8745,5 +8745,5 @@
 
 	/*Get node data: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector: */
@@ -8860,5 +8860,5 @@
 
 		/*Get node data: */
-		GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
+		GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
 
 		/*Now Compute vel*/
@@ -8914,5 +8914,5 @@
 
 	/*Get node data: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector: */
@@ -8999,5 +8999,5 @@
 
 	/*Get node data: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector: */
@@ -9082,5 +9082,5 @@
 
 	/*Get node data: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector: */
@@ -9153,5 +9153,5 @@
 	/*Get dof list and vertices coordinates: */
 	GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Use the dof list to index into the solution vector vz: */
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 14763)
@@ -297,5 +297,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	latentheat=matpar->GetLatentHeat();
 	heatcapacity=matpar->GetHeatCapacity();
@@ -363,5 +363,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	this->parameters->FindParam(&dim,MeshDimensionEnum);
@@ -478,5 +478,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	this->parameters->FindParam(&dim,MeshDimensionEnum);
@@ -546,5 +546,5 @@
 	ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,NoneApproximationEnum);
 
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/* Start looping on the number of gaussian points: */
@@ -667,5 +667,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
@@ -718,5 +718,5 @@
 	/*Retrieve all inputs and parameters*/
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
 	Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
@@ -764,5 +764,5 @@
 	/*Retrieve all inputs and parameters*/
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* slope_input=NULL;
 	if ( (analysis_type==SurfaceSlopeXAnalysisEnum) || (analysis_type==SurfaceSlopeYAnalysisEnum)){
@@ -855,5 +855,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -1082,5 +1082,5 @@
 
 	/*Get xyz list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	x1=xyz_list[0][0]; y1=xyz_list[0][1];
 	x2=xyz_list[1][0]; y2=xyz_list[1][1];
@@ -2538,5 +2538,5 @@
 	if(IsOnWater())return 0;
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	for(int i=0;i<3;i++){
@@ -2602,5 +2602,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], this->nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	minx=xyz_list[0][0];
@@ -2755,5 +2755,5 @@
 	if(IsOnWater())return 0;
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*First calculate the area of the base (cross section triangle)
@@ -2796,5 +2796,5 @@
 
 	/*Get xyz list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*get area coordinates of 0 and 1 locations: */
@@ -3031,5 +3031,5 @@
    if(IsOnWater())return 0;
 
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*First calculate the area of the base (cross section triangle)
@@ -3120,5 +3120,5 @@
 
 	/*figure out gravity center of our element: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	x0=(xyz_list[0][0]+xyz_list[1][0]+xyz_list[2][0])/3.0;
 	y0=(xyz_list[0][1]+xyz_list[1][1]+xyz_list[2][1])/3.0;
@@ -3202,5 +3202,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
 	Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
@@ -3273,5 +3273,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
 	Input* surface_input=inputs->GetInput(SurfaceEnum);       _assert_(surface_input);
@@ -3371,5 +3371,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 
 	Input* surface_input=inputs->GetInput(SurfaceEnum);     _assert_(surface_input);
@@ -3478,5 +3478,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -3742,5 +3742,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input              = inputs->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
 	Input* thickness_input            = inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
@@ -3957,5 +3957,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 	Input* rheologyb_input=material->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
@@ -3997,5 +3997,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 	Input* rheologyz_input=material->inputs->GetInput(MaterialsRheologyZbarEnum); _assert_(rheologyz_input);
@@ -4039,5 +4039,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&doflist[0],control_index);
 
@@ -4096,5 +4096,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&doflist[0],control_index);
 
@@ -4160,5 +4160,5 @@
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 	this->GetConnectivityList(&connectivity[0]);
@@ -4240,5 +4240,5 @@
 	/*Retrieve all inputs we will be needing: */
 	if(IsFloating())return;
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 	Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input);
@@ -4300,5 +4300,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 
@@ -4343,5 +4343,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 
@@ -4392,9 +4392,9 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	GradientIndexing(&vertexpidlist[0],control_index);
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
 	this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
@@ -4512,5 +4512,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input  =inputs->GetInput(InversionCostFunctionsCoefficientsEnum);              _assert_(weights_input);
 	Input* rheologyb_input=material->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
@@ -4551,5 +4551,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -4612,5 +4612,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -4674,5 +4674,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -4734,5 +4734,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -4795,5 +4795,5 @@
 
 	/* Get node coordinates and dof list: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 
 	/*Retrieve all inputs we will be needing: */
@@ -4858,5 +4858,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input  =inputs->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
 	Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
@@ -4902,5 +4902,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input  = inputs->GetInput(InversionCostFunctionsCoefficientsEnum); _assert_(weights_input);
 	Input* thickness_input= inputs->GetInput(ThicknessEnum);                          _assert_(thickness_input);
@@ -4953,5 +4953,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input  = inputs->GetInput(InversionCostFunctionsCoefficientsEnum); _assert_(weights_input);
 	Input* thickness_input= inputs->GetInput(ThicknessEnum);                          _assert_(thickness_input);
@@ -5001,5 +5001,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* thickness_input   =inputs->GetInput(ThicknessEnum);   _assert_(thickness_input);
 	Input* thicknessobs_input=inputs->GetInput(InversionThicknessObsEnum);_assert_(thicknessobs_input);
@@ -5053,5 +5053,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
 	this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
@@ -5142,5 +5142,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
 	this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
@@ -5324,5 +5324,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
 	this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
@@ -5502,5 +5502,5 @@
 
 	/*Retrieve all inputs we will be needing: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* weights_input=inputs->GetInput(InversionCostFunctionsCoefficientsEnum);         _assert_(weights_input);
 	Input* drag_input   =inputs->GetInput(FrictionCoefficientEnum); _assert_(drag_input);
@@ -5575,5 +5575,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
@@ -5857,5 +5857,5 @@
 	
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	this->parameters->FindParam(&diffusivity,HydrologyshreveStabilizationEnum);
@@ -5949,5 +5949,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	sediment_storing       = matpar->GetSedimentStoring();
@@ -6010,5 +6010,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	epl_storing       = matpar->GetEplStoring();
@@ -6095,5 +6095,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input);
@@ -6142,5 +6142,5 @@
 	/*Retrieve all inputs and parameters*/
 	sediment_storing = matpar->GetSedimentStoring();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* water_input=inputs->GetInput(BasalforcingsMeltingRateEnum);  _assert_(water_input);
@@ -6199,5 +6199,5 @@
 	/*Retrieve all inputs and parameters*/
 	epl_storing = matpar->GetEplStoring();
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* water_input=inputs->GetInput(BasalforcingsMeltingRateEnum);  _assert_(water_input);
@@ -6526,5 +6526,5 @@
 
 	/*Retrieve all Inputs and parameters: */
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&stabilization,BalancethicknessStabilizationEnum);
 	this->parameters->FindParam(&dim,MeshDimensionEnum);
@@ -6630,5 +6630,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	this->parameters->FindParam(&dim,MeshDimensionEnum);
 	Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
@@ -6695,5 +6695,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
 	Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
@@ -6738,5 +6738,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
 	Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
Index: /issm/trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp	(revision 14763)
@@ -521,5 +521,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,numnodes);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESSEG);
 	Input* thickness_input=tria->inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
 	Input* bed_input      =tria->inputs->GetInput(BedEnum);       _assert_(bed_input);
@@ -641,5 +641,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICESQUA);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESQUA);
 	Input* surface_input  =penta->inputs->GetInput(SurfaceEnum);   _assert_(surface_input);
 	inputs->GetInputValue(&fill,FillEnum);
@@ -718,5 +718,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICESQUA);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESQUA);
 	inputs->GetInputValue(&fill,FillEnum);
 	rho_water=matpar->GetRhoWater();
Index: /issm/trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp	(revision 14763)
@@ -20,6 +20,7 @@
 
 /*Load macros*/
-#define NUMVERTICES_INTERNAL 4
-#define NUMVERTICES_BOUNDARY 2
+#define NUMVERTICES 2
+#define NUMNODES_INTERNAL 4
+#define NUMNODES_BOUNDARY 2
 
 /*Numericalflux constructors and destructor*/
@@ -132,5 +133,5 @@
 	/*Hooks: */
 	this->hnodes    =new Hook(numericalflux_node_ids,num_nodes);
-	this->hvertices =new Hook(numericalflux_vertex_ids,2);
+	this->hvertices =new Hook(&numericalflux_vertex_ids[0],2);
 	this->helement  =new Hook(numericalflux_elem_ids,1); // take only the first element for now
 
@@ -327,8 +328,8 @@
 	switch(type){
 		case InternalEnum:
-			for(int i=0;i<NUMVERTICES_INTERNAL;i++) sidlist[i]=nodes[i]->Sid();
+			for(int i=0;i<NUMNODES_INTERNAL;i++) sidlist[i]=nodes[i]->Sid();
 			return;
 		case BoundaryEnum:
-			for(int i=0;i<NUMVERTICES_BOUNDARY;i++) sidlist[i]=nodes[i]->Sid();
+			for(int i=0;i<NUMNODES_BOUNDARY;i++) sidlist[i]=nodes[i]->Sid();
 			return;
 		default:
@@ -345,7 +346,7 @@
 	switch(type){
 		case InternalEnum:
-			return NUMVERTICES_INTERNAL;
+			return NUMNODES_INTERNAL;
 		case BoundaryEnum:
-			return NUMVERTICES_BOUNDARY;
+			return NUMNODES_BOUNDARY;
 		default:
 			_error_("Numericalflux type " << EnumToStringx(type) << " not supported yet");
@@ -454,10 +455,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_INTERNAL;
+	const int numdof=NDOF1*NUMNODES_INTERNAL;
 
 	/* Intermediaries*/
 	int        i,j,ig,index1,index2;
 	IssmDouble     DL1,DL2,Jdet,dt,vx,vy,UdotN;
-	IssmDouble     xyz_list[NUMVERTICES_INTERNAL][3];
+	IssmDouble     xyz_list[NUMVERTICES][3];
 	IssmDouble     normal[2];
 	IssmDouble     B[numdof];
@@ -470,8 +471,8 @@
 	Tria*  tria=(Tria*)element;
 	if(tria->IsOnWater()) return NULL;
-	ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES_INTERNAL,this->parameters);
+	ElementMatrix* Ke=new ElementMatrix(nodes,NUMNODES_INTERNAL,this->parameters);
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES_INTERNAL);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
@@ -519,10 +520,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
+	const int numdof=NDOF1*NUMNODES_BOUNDARY;
 
 	/* Intermediaries*/
 	int        i,j,ig,index1,index2;
 	IssmDouble     DL,Jdet,dt,vx,vy,mean_vx,mean_vy,UdotN;
-	IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
+	IssmDouble     xyz_list[NUMVERTICES][3];
 	IssmDouble     normal[2];
 	IssmDouble     L[numdof];
@@ -536,5 +537,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input);
@@ -557,5 +558,5 @@
 	}
 	else{
-		Ke=new ElementMatrix(nodes,NUMVERTICES_BOUNDARY,this->parameters);
+		Ke=new ElementMatrix(nodes,NUMNODES_BOUNDARY,this->parameters);
 	}
 
@@ -607,10 +608,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_INTERNAL;
+	const int numdof=NDOF1*NUMNODES_INTERNAL;
 
 	/* Intermediaries*/
 	int        i,j,ig,index1,index2;
 	IssmDouble     DL1,DL2,Jdet,vx,vy,UdotN;
-	IssmDouble     xyz_list[NUMVERTICES_INTERNAL][3];
+	IssmDouble     xyz_list[NUMVERTICES][3];
 	IssmDouble     normal[2];
 	IssmDouble     B[numdof];
@@ -623,8 +624,8 @@
 	Tria*  tria=(Tria*)element;
 	if(tria->IsOnWater()) return NULL;
-	ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES_INTERNAL,this->parameters);
+	ElementMatrix* Ke=new ElementMatrix(nodes,NUMNODES_INTERNAL,this->parameters);
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES_INTERNAL);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
 	Input* vyaverage_input=tria->inputs->GetInput(VyEnum);
@@ -671,10 +672,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
+	const int numdof=NDOF1*NUMNODES_BOUNDARY;
 
 	/* Intermediaries*/
 	int        i,j,ig,index1,index2;
 	IssmDouble     DL,Jdet,vx,vy,mean_vx,mean_vy,UdotN;
-	IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
+	IssmDouble     xyz_list[NUMVERTICES][3];
 	IssmDouble     normal[2];
 	IssmDouble     L[numdof];
@@ -688,5 +689,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
 	Input* vyaverage_input=tria->inputs->GetInput(VyEnum);
@@ -708,5 +709,5 @@
 	}
 	else{
-		Ke=new ElementMatrix(nodes,NUMVERTICES_BOUNDARY,this->parameters);
+		Ke=new ElementMatrix(nodes,NUMNODES_BOUNDARY,this->parameters);
 	}
 
@@ -798,10 +799,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
+	const int numdof=NDOF1*NUMNODES_BOUNDARY;
 
 	/* Intermediaries*/
 	int        i,ig,index1,index2;
 	IssmDouble     DL,Jdet,dt,vx,vy,mean_vx,mean_vy,UdotN,thickness;
-	IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
+	IssmDouble     xyz_list[NUMVERTICES][3];
 	IssmDouble     normal[2];
 	IssmDouble     L[numdof];
@@ -814,5 +815,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	parameters->FindParam(&dt,TimesteppingTimeStepEnum);
 	Input* vxaverage_input   =tria->inputs->GetInput(VxEnum);                     _assert_(vxaverage_input); 
@@ -836,5 +837,5 @@
 	}
 	else{
-		pe=new ElementVector(nodes,NUMVERTICES_BOUNDARY,this->parameters);
+		pe=new ElementVector(nodes,NUMNODES_BOUNDARY,this->parameters);
 	}
 
@@ -892,10 +893,10 @@
 
 	/* constants*/
-	const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
+	const int numdof=NDOF1*NUMNODES_BOUNDARY;
 
 	/* Intermediaries*/
 	int        i,ig,index1,index2;
 	IssmDouble DL,Jdet,vx,vy,mean_vx,mean_vy,UdotN,thickness;
-	IssmDouble xyz_list[NUMVERTICES_BOUNDARY][3];
+	IssmDouble xyz_list[NUMVERTICES][3];
 	IssmDouble normal[2];
 	IssmDouble L[numdof];
@@ -908,5 +909,5 @@
 
 	/*Retrieve all inputs and parameters*/
-	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
+	GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
 	Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input); 
 	Input* vyaverage_input=tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);
@@ -928,5 +929,5 @@
 	}
 	else{
-		pe=new ElementVector(nodes,NUMVERTICES_BOUNDARY,this->parameters);
+		pe=new ElementVector(nodes,NUMNODES_BOUNDARY,this->parameters);
 	}
 
Index: /issm/trunk-jpl/src/c/classes/objects/Node.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Node.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Node.cpp	(revision 14763)
@@ -599,36 +599,4 @@
 }
 /*}}}*/
-/*FUNCTION Node::GetSigma {{{*/
-IssmDouble Node::GetSigma(){
-	Vertex* vertex=NULL;
-
-	vertex=(Vertex*)hvertex->delivers();
-	return vertex->sigma;
-}
-/*}}}*/
-/*FUNCTION Node::GetX {{{*/
-IssmDouble Node::GetX(){
-	Vertex* vertex=NULL;
-
-	vertex=(Vertex*)hvertex->delivers();
-	return vertex->x;
-}
-/*}}}*/
-/*FUNCTION Node::GetY {{{*/
-IssmDouble Node::GetY(){
-	Vertex* vertex=NULL;
-
-	vertex=(Vertex*)hvertex->delivers();
-	return vertex->y;
-}
-/*}}}*/
-/*FUNCTION Node::GetZ {{{*/
-IssmDouble Node::GetZ(){
-	Vertex* vertex=NULL;
-
-	vertex=(Vertex*)hvertex->delivers();
-	return vertex->z;
-}
-/*}}}*/
 /*FUNCTION Node::IsClone {{{*/
 int   Node::IsClone(){
Index: /issm/trunk-jpl/src/c/classes/objects/Node.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Node.h	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Node.h	(revision 14763)
@@ -84,8 +84,4 @@
 		int    GetVertexPid(void);
 		int    GetVertexSid(void);
-		IssmDouble GetX();
-		IssmDouble GetY();
-		IssmDouble GetZ();
-		IssmDouble GetSigma();
 		int    IsOnBed();
 		int    IsOnSurface();
Index: /issm/trunk-jpl/src/c/classes/objects/Vertex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Vertex.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Vertex.cpp	(revision 14763)
@@ -105,4 +105,19 @@
 int    Vertex::Connectivity(void){return connectivity;}
 /*}}}*/
+/*FUNCTION Vertex::GetX {{{*/
+IssmDouble Vertex::GetX(){
+	return this->x;
+}
+/*}}}*/
+/*FUNCTION Vertex::GetY {{{*/
+IssmDouble Vertex::GetY(){
+	return this->y;
+}
+/*}}}*/
+/*FUNCTION Vertex::GetZ {{{*/
+IssmDouble Vertex::GetZ(){
+	return this->z;
+}
+/*}}}*/
 /*FUNCTION Vertex::Sid{{{*/
 int    Vertex::Sid(void){ return sid; }
Index: /issm/trunk-jpl/src/c/classes/objects/Vertex.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Vertex.h	(revision 14762)
+++ /issm/trunk-jpl/src/c/classes/objects/Vertex.h	(revision 14763)
@@ -46,14 +46,17 @@
 		/*}}}*/
 		/*Vertex management:*/ 
-		int   Sid(void); 
-		int   Connectivity(void); 
-		void  UpdatePosition(Vector<IssmDouble>* vz,Parameters* parameters,IssmDouble* thickness,IssmDouble* bed);
-		void  DistributePids(int* ppidcount);
-		void  OffsetPids(int pidcount);
-		void  ShowTruePids(int* borderpids);
-		void  UpdateClonePids(int* allborderpids);
-		void  SetClone(int* minranks);
-		void  ToXYZ(Matrix<IssmDouble>* matrix);
-		void  VertexCoordinates(Vector<IssmDouble>* vx,Vector<IssmDouble>* vy,Vector<IssmDouble>* vz);
+		int        Sid(void); 
+		int        Connectivity(void); 
+		IssmDouble GetX(void); 
+		IssmDouble GetY(void); 
+		IssmDouble GetZ(void); 
+		void       UpdatePosition(Vector<IssmDouble>* vz,Parameters* parameters,IssmDouble* thickness,IssmDouble* bed);
+		void       DistributePids(int* ppidcount);
+		void       OffsetPids(int pidcount);
+		void       ShowTruePids(int* borderpids);
+		void       UpdateClonePids(int* allborderpids);
+		void       SetClone(int* minranks);
+		void       ToXYZ(Matrix<IssmDouble>* matrix);
+		void       VertexCoordinates(Vector<IssmDouble>* vx,Vector<IssmDouble>* vy,Vector<IssmDouble>* vz);
 };
 #endif  /* _VERTEX_H */
Index: /issm/trunk-jpl/src/c/shared/Elements/GetVerticesCoordinates.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Elements/GetVerticesCoordinates.cpp	(revision 14762)
+++ /issm/trunk-jpl/src/c/shared/Elements/GetVerticesCoordinates.cpp	(revision 14763)
@@ -5,13 +5,13 @@
 #include "./elements.h"
 
-void GetVerticesCoordinates(IssmDouble* xyz,  Node** nodes, int numvertices){
+void GetVerticesCoordinates(IssmDouble* xyz,Vertex** vertices, int numvertices){
 
-	/*In debugging mode, check that nodes is not a NULL pointer*/
-	_assert_(nodes);
+	_assert_(vertices);
+	_assert_(xyz);
 
 	for(int i=0;i<numvertices;i++) {
-		xyz[i*3+0]=nodes[i]->GetX();
-		xyz[i*3+1]=nodes[i]->GetY();
-		xyz[i*3+2]=nodes[i]->GetZ();
+		xyz[i*3+0]=vertices[i]->GetX();
+		xyz[i*3+1]=vertices[i]->GetY();
+		xyz[i*3+2]=vertices[i]->GetZ();
 	}
 }
Index: /issm/trunk-jpl/src/c/shared/Elements/elements.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Elements/elements.h	(revision 14762)
+++ /issm/trunk-jpl/src/c/shared/Elements/elements.h	(revision 14763)
@@ -10,4 +10,5 @@
 class ElementMatrix;
 class ElementVector;
+class Vertex;
 
 IssmDouble Paterson(IssmDouble temperature);
@@ -21,5 +22,5 @@
 				     IssmDouble* TemperaturesLgm, IssmDouble* TemperaturesPresentday, 
 					     IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout);
-void   GetVerticesCoordinates(IssmDouble* xyz,  Node** nodes, int numvertices);
+void   GetVerticesCoordinates(IssmDouble* xyz,Vertex** vertices,int numvertices);
 int    GetNumberOfDofs( Node** nodes,int numnodes,int setenum,int approximation_enum);
 int*   GetLocalDofList( Node** nodes,int numnodes,int setenum,int approximation_enum);
