Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17962)
@@ -33,5 +33,5 @@
 
 /*Other*/
-void Element::AddInput(Input* input_in){/*{{{*/
+void       Element::AddInput(Input* input_in){/*{{{*/
 
 	/*Call inputs method*/
@@ -39,21 +39,5 @@
 	this->inputs->AddInput(input_in);
 }/*}}}*/
-/* bool Element::AllActive(void){/\*{{{*\/ */
-
-/* 	int numnodes = this->GetNumberOfNodes(); */
-/* 	for(int i=0;i<numnodes;i++){ */
-/* 		if(!this->nodes[i]->IsActive()) return false; */
-/* 	} */
-/* 	return true; */
-/* }/\*}}}*\/ */
-/* bool Element::AnyActive(void){/\*{{{*\/ */
-
-/* 	int numnodes = this->GetNumberOfNodes(); */
-/* 	for(int i=0;i<numnodes;i++){ */
-/* 		if(this->nodes[i]->IsActive()) return true; */
-/* 	} */
-/* 	return false; */
-/* }/\*}}}*\/ */
-void Element::CoordinateSystemTransform(IssmDouble** ptransform,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
+void       Element::CoordinateSystemTransform(IssmDouble** ptransform,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
 
 	int         i,counter;
@@ -129,8 +113,8 @@
 }
 /*}}}*/
-void Element::DeleteMaterials(void){/*{{{*/
+void       Element::DeleteMaterials(void){/*{{{*/
 	delete this->material;
 }/*}}}*/
-void Element::DeepEcho(void){/*{{{*/
+void       Element::DeepEcho(void){/*{{{*/
 
 	_printf_(EnumToStringx(this->ObjectEnum())<<" element:\n");
@@ -166,5 +150,5 @@
 }
 /*}}}*/
-void Element::Echo(void){/*{{{*/
+void       Element::Echo(void){/*{{{*/
 	_printf_(EnumToStringx(this->ObjectEnum())<<" element:\n");
 	_printf_("   id : "<<this->id <<"\n");
@@ -229,8 +213,8 @@
 	return divergence;
 }/*}}}*/
-void Element::ThermalToEnthalpy(IssmDouble* penthalpy,IssmDouble temperature,IssmDouble waterfraction,IssmDouble pressure){/*{{{*/
+void       Element::ThermalToEnthalpy(IssmDouble* penthalpy,IssmDouble temperature,IssmDouble waterfraction,IssmDouble pressure){/*{{{*/
 	matpar->ThermalToEnthalpy(penthalpy,temperature,waterfraction,pressure);
 }/*}}}*/
-void Element::EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure){/*{{{*/
+void       Element::EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure){/*{{{*/
 	matpar->EnthalpyToThermal(ptemperature,pwaterfraction,enthalpy,pressure);
 }/*}}}*/
@@ -241,17 +225,17 @@
 	return matpar->GetEnthalpyDiffusionParameterVolume(numvertices,enthalpy,pressure);
 }/*}}}*/
-void Element::FindParam(bool* pvalue,int paramenum){/*{{{*/
+void       Element::FindParam(bool* pvalue,int paramenum){/*{{{*/
 	this->parameters->FindParam(pvalue,paramenum);
 }/*}}}*/
-void Element::FindParam(int* pvalue,int paramenum){/*{{{*/
+void       Element::FindParam(int* pvalue,int paramenum){/*{{{*/
 	this->parameters->FindParam(pvalue,paramenum);
 }/*}}}*/
-void Element::FindParam(IssmDouble* pvalue,int paramenum){/*{{{*/
+void       Element::FindParam(IssmDouble* pvalue,int paramenum){/*{{{*/
 	this->parameters->FindParam(pvalue,paramenum);
 }/*}}}*/
-void Element::FindParam(int** pvalues,int* psize,int paramenum){/*{{{*/
+void       Element::FindParam(int** pvalues,int* psize,int paramenum){/*{{{*/
 	this->parameters->FindParam(pvalues,psize,paramenum);
 }/*}}}*/
-void Element::GetDofList(int** pdoflist,int approximation_enum,int setenum){/*{{{*/
+void       Element::GetDofList(int** pdoflist,int approximation_enum,int setenum){/*{{{*/
 
 	/*Fetch number of nodes and dof for this finite element*/
@@ -276,5 +260,5 @@
 }
 /*}}}*/
-void Element::GetDofListVelocity(int** pdoflist,int setenum){/*{{{*/
+void       Element::GetDofListVelocity(int** pdoflist,int setenum){/*{{{*/
 
 	/*Fetch number of nodes and dof for this finite element*/
@@ -299,5 +283,5 @@
 }
 /*}}}*/
-void Element::GetDofListPressure(int** pdoflist,int setenum){/*{{{*/
+void       Element::GetDofListPressure(int** pdoflist,int setenum){/*{{{*/
 
 	/*Fetch number of nodes and dof for this finite element*/
@@ -337,5 +321,5 @@
 	}
 }/*}}}*/
-void Element::GetPhi(IssmDouble* phi, IssmDouble*  epsilon, IssmDouble viscosity){/*{{{*/
+void       Element::GetPhi(IssmDouble* phi, IssmDouble*  epsilon, IssmDouble viscosity){/*{{{*/
 	/*Compute deformational heating from epsilon and viscosity */
 
@@ -374,8 +358,8 @@
 }
 /*}}}*/
-Input* Element::GetInput(int inputenum){/*{{{*/
+Input*     Element::GetInput(int inputenum){/*{{{*/
 	return inputs->GetInput(inputenum);
 }/*}}}*/
-void Element::GetInputListOnVertices(IssmDouble* pvalue,int enumtype){/*{{{*/
+void       Element::GetInputListOnVertices(IssmDouble* pvalue,int enumtype){/*{{{*/
 
 	/*Recover input*/
@@ -400,5 +384,5 @@
 }
 /*}}}*/
-void Element::GetInputListOnVertices(IssmDouble* pvalue,int enumtype,IssmDouble defaultvalue){/*{{{*/
+void       Element::GetInputListOnVertices(IssmDouble* pvalue,int enumtype,IssmDouble defaultvalue){/*{{{*/
 
 	/*Recover input*/
@@ -425,5 +409,5 @@
 }
 /*}}}*/
-void Element::GetInputListOnNodes(IssmDouble* pvalue,int enumtype,IssmDouble defaultvalue){/*{{{*/
+void       Element::GetInputListOnNodes(IssmDouble* pvalue,int enumtype,IssmDouble defaultvalue){/*{{{*/
 
 	_assert_(pvalue);
@@ -446,5 +430,5 @@
 }
 /*}}}*/
-void Element::GetInputListOnNodes(IssmDouble* pvalue,int enumtype){/*{{{*/
+void       Element::GetInputListOnNodes(IssmDouble* pvalue,int enumtype){/*{{{*/
 
 	_assert_(pvalue);
@@ -463,5 +447,5 @@
 }
 /*}}}*/
-void Element::GetInputListOnNodesVelocity(IssmDouble* pvalue,int enumtype){/*{{{*/
+void       Element::GetInputListOnNodesVelocity(IssmDouble* pvalue,int enumtype){/*{{{*/
 
 	_assert_(pvalue);
@@ -480,5 +464,5 @@
 }
 /*}}}*/
-void Element::GetInputValue(bool* pvalue,int inputenum){/*{{{*/
+void       Element::GetInputValue(bool* pvalue,int inputenum){/*{{{*/
 
 	Input* input=inputs->GetInput(inputenum);
@@ -487,5 +471,5 @@
 
 }/*}}}*/
-void Element::GetInputValue(int* pvalue,int inputenum){/*{{{*/
+void       Element::GetInputValue(int* pvalue,int inputenum){/*{{{*/
 
 	Input* input=inputs->GetInput(inputenum);
@@ -494,5 +478,5 @@
 
 }/*}}}*/
-void Element::GetInputValue(IssmDouble* pvalue,int inputenum){/*{{{*/
+void       Element::GetInputValue(IssmDouble* pvalue,int inputenum){/*{{{*/
 
 	Input* input=inputs->GetInput(inputenum);
@@ -501,5 +485,5 @@
 
 }/*}}}*/
-void Element::GetInputValue(IssmDouble* pvalue,Gauss* gauss,int inputenum){/*{{{*/
+void       Element::GetInputValue(IssmDouble* pvalue,Gauss* gauss,int inputenum){/*{{{*/
 
 	Input* input=inputs->GetInput(inputenum);
@@ -508,5 +492,5 @@
 
 }/*}}}*/
-void Element::GetNodesSidList(int* sidlist){/*{{{*/
+void       Element::GetNodesSidList(int* sidlist){/*{{{*/
 
 	_assert_(sidlist);
@@ -518,5 +502,5 @@
 }
 /*}}}*/
-void Element::GetNodesLidList(int* lidlist){/*{{{*/
+void       Element::GetNodesLidList(int* lidlist){/*{{{*/
 
 	_assert_(lidlist);
@@ -528,5 +512,5 @@
 }
 /*}}}*/
-void  Element::GetVectorFromInputs(Vector<IssmDouble>* vector,int input_enum){/*{{{*/
+void       Element::GetVectorFromInputs(Vector<IssmDouble>* vector,int input_enum){/*{{{*/
 
 	/*Fetch number vertices for this element and allocate arrays*/
@@ -546,5 +530,5 @@
 }
 /*}}}*/
-void  Element::GetVertexPidList(int* pidlist){/*{{{*/
+void       Element::GetVertexPidList(int* pidlist){/*{{{*/
 
 	int numvertices = this->GetNumberOfVertices();
@@ -553,5 +537,5 @@
 }
 /*}}}*/
-void Element::GetVerticesCoordinates(IssmDouble** pxyz_list){/*{{{*/
+void       Element::GetVerticesCoordinates(IssmDouble** pxyz_list){/*{{{*/
 
 	int         numvertices = this->GetNumberOfVertices();
@@ -562,5 +546,5 @@
 
 }/*}}}*/
-void Element::GetVerticesSidList(int* sidlist){/*{{{*/
+void       Element::GetVerticesSidList(int* sidlist){/*{{{*/
 
 	int numvertices = this->GetNumberOfVertices();
@@ -568,5 +552,5 @@
 }
 /*}}}*/
-void Element::GetVerticesConnectivityList(int* connectivity){/*{{{*/
+void       Element::GetVerticesConnectivityList(int* connectivity){/*{{{*/
 
 	int numvertices = this->GetNumberOfVertices();
@@ -616,11 +600,11 @@
 	return z;
 }/*}}}*/
-bool Element::HasNodeOnBase(){/*{{{*/
+bool       Element::HasNodeOnBase(){/*{{{*/
 	return (this->inputs->Max(MeshVertexonbaseEnum)>0.);
 }/*}}}*/
-bool Element::HasNodeOnSurface(){/*{{{*/
+bool       Element::HasNodeOnSurface(){/*{{{*/
 	return (this->inputs->Max(MeshVertexonsurfaceEnum)>0.);
 }/*}}}*/
-int  Element::Id(){/*{{{*/
+int        Element::Id(){/*{{{*/
 
 	return this->id;
@@ -628,9 +612,9 @@
 }
 /*}}}*/
-void Element::InputChangeName(int original_enum,int new_enum){/*{{{*/
+void       Element::InputChangeName(int original_enum,int new_enum){/*{{{*/
 	this->inputs->ChangeEnum(original_enum,new_enum);
 }
 /*}}}*/
-void Element::InputCreate(IssmDouble* vector,IoModel* iomodel,int M,int N,int vector_type,int vector_enum,int code){/*{{{*/
+void       Element::InputCreate(IssmDouble* vector,IoModel* iomodel,int M,int N,int vector_type,int vector_enum,int code){/*{{{*/
 
 	/*Intermediaries*/
@@ -700,5 +684,5 @@
 	}
 }/*}}}*/
-void  Element::InputDuplicate(int original_enum,int new_enum){/*{{{*/
+void       Element::InputDuplicate(int original_enum,int new_enum){/*{{{*/
 
 	/*Call inputs method*/
@@ -707,5 +691,5 @@
 }
 /*}}}*/
-void Element::InputUpdateFromConstant(int constant, int name){/*{{{*/
+void       Element::InputUpdateFromConstant(int constant, int name){/*{{{*/
 
 	/*Check that name is an element input*/
@@ -716,5 +700,5 @@
 }
 /*}}}*/
-void Element::InputUpdateFromConstant(IssmDouble constant, int name){/*{{{*/
+void       Element::InputUpdateFromConstant(IssmDouble constant, int name){/*{{{*/
 
 	/*Check that name is an element input*/
@@ -725,5 +709,5 @@
 }
 /*}}}*/
-void Element::InputUpdateFromConstant(bool constant, int name){/*{{{*/
+void       Element::InputUpdateFromConstant(bool constant, int name){/*{{{*/
 
 	/*Check that name is an element input*/
@@ -734,5 +718,5 @@
 }
 /*}}}*/
-bool Element::IsFloating(){/*{{{*/
+bool       Element::IsFloating(){/*{{{*/
 
 	bool shelf;
@@ -752,9 +736,9 @@
 	return shelf;
 }/*}}}*/
-bool Element::IsIceInElement(){/*{{{*/
+bool       Element::IsIceInElement(){/*{{{*/
 	return (this->inputs->Min(MaskIceLevelsetEnum)<0.);
 }
 /*}}}*/
-bool Element::IsInput(int name){/*{{{*/
+bool       Element::IsInput(int name){/*{{{*/
 	if (
 				name==ThicknessEnum ||
@@ -847,5 +831,5 @@
 	return this->matpar->PureIceEnthalpy(pressure);
 }/*}}}*/
-void Element::ResultInterpolation(int* pinterpolation,int* pnodesperelement,int output_enum){/*{{{*/
+void       Element::ResultInterpolation(int* pinterpolation,int* pnodesperelement,int output_enum){/*{{{*/
 
 	Input* input=this->inputs->GetInput(output_enum);
@@ -898,5 +882,5 @@
 	*pnodesperelement = input->GetResultNumberOfNodes();
 }/*}}}*/
-void Element::ResultToVector(Vector<IssmDouble>* vector,int output_enum){/*{{{*/
+void       Element::ResultToVector(Vector<IssmDouble>* vector,int output_enum){/*{{{*/
 
 	Input* input=this->inputs->GetInput(output_enum);
@@ -944,5 +928,5 @@
 	}
 } /*}}}*/
-void Element::ResultToPatch(IssmDouble* values,int nodesperelement,int output_enum){/*{{{*/
+void       Element::ResultToPatch(IssmDouble* values,int nodesperelement,int output_enum){/*{{{*/
 
 	Input* input=this->inputs->GetInput(output_enum);
@@ -952,5 +936,5 @@
 
 } /*}}}*/
-void Element::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum){/*{{{*/
+void       Element::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum){/*{{{*/
 
 	/*Intermediaries*/
@@ -1022,5 +1006,5 @@
 }
 /*}}}*/
-int  Element::Sid(){/*{{{*/
+int        Element::Sid(){/*{{{*/
 
 	return this->sid;
@@ -1032,5 +1016,5 @@
 	return this->matpar->TMeltingPoint(pressure);
 }/*}}}*/
-void Element::ViscousHeatingCreateInput(void){/*{{{*/
+void       Element::ViscousHeatingCreateInput(void){/*{{{*/
 
 	/*Intermediaries*/
@@ -1074,5 +1058,5 @@
 }
 /*}}}*/
-void Element::ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+void       Element::ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
 	/*The effective strain rate is defined in Paterson 3d Ed p 91 eq 9,
 	 * and Cuffey p 303 eq 8.18:
@@ -1113,5 +1097,5 @@
 }
 /*}}}*/
-void Element::ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surface_input){/*{{{*/
+void       Element::ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surface_input){/*{{{*/
 	/*Compute the L1L2 viscosity
 	 *
@@ -1172,5 +1156,5 @@
 	*pviscosity = viscosity;
 }/*}}}*/
-void Element::ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+void       Element::ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
 
 	/*Intermediaries*/
@@ -1197,5 +1181,5 @@
 	*pviscosity=viscosity;
 }/*}}}*/
-void Element::ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+void       Element::ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
 
 	/*Intermediaries*/
@@ -1222,14 +1206,14 @@
 	*pviscosity=viscosity;
 }/*}}}*/
-void Element::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+void       Element::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
 	this->material->GetViscosity2dDerivativeEpsSquare(pmu_prime,epsilon);
 }/*}}}*/
-void Element::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+void       Element::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
 	this->material->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon);
 }/*}}}*/
-void Element::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
+void       Element::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon){/*{{{*/
 	this->material->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon);
 }/*}}}*/
-void Element::StrainRateFS(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
+void       Element::StrainRateFS(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
 	/*Compute the 3d Strain Rate (6 components):
 	 *
@@ -1259,5 +1243,5 @@
 
 }/*}}}*/
-void Element::StrainRateHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+void       Element::StrainRateHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
 	/*Compute the 3d Blatter/HOStrain Rate (5 components):
 	 *
@@ -1289,5 +1273,5 @@
 
 }/*}}}*/
-void Element::StrainRateHO2dvertical(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+void       Element::StrainRateHO2dvertical(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
 	/*Compute the 2d Blatter/HOStrain Rate (2 components):
 	 *
@@ -1313,5 +1297,5 @@
 
 }/*}}}*/
-void Element::StrainRateSSA(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
+void       Element::StrainRateSSA(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/
 
 	/*Intermediaries*/
@@ -1332,5 +1316,5 @@
 
 }/*}}}*/
-void Element::StrainRateSSA1d(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input){/*{{{*/
+void       Element::StrainRateSSA1d(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input){/*{{{*/
 
 	/*Intermediaries*/
@@ -1347,5 +1331,5 @@
 
 }/*}}}*/
-void Element::TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,int transformenum){/*{{{*/
+void       Element::TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,int transformenum){/*{{{*/
 
 	/*All nodes have the same Coordinate System*/
@@ -1360,5 +1344,5 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
+void       Element::TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
 
 	int         i,j;
@@ -1394,5 +1378,5 @@
 	xDelete<IssmDouble>(values);
 }/*}}}*/
-void Element::TransformLoadVectorCoord(ElementVector* pe,int transformenum){/*{{{*/
+void       Element::TransformLoadVectorCoord(ElementVector* pe,int transformenum){/*{{{*/
 
 	/*All nodes have the same Coordinate System*/
@@ -1407,10 +1391,10 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformLoadVectorCoord(ElementVector* pe,int* cs_array){/*{{{*/
+void       Element::TransformLoadVectorCoord(ElementVector* pe,int* cs_array){/*{{{*/
 
 	this->TransformLoadVectorCoord(pe,this->nodes,this->GetNumberOfNodes(),cs_array);
 
 }/*}}}*/
-void Element::TransformLoadVectorCoord(ElementVector* pe,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
+void       Element::TransformLoadVectorCoord(ElementVector* pe,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
 
 	int         i;
@@ -1445,5 +1429,5 @@
 	xDelete<IssmDouble>(values);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* values,int transformenum){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* values,int transformenum){/*{{{*/
 
 	/*All nodes have the same Coordinate System*/
@@ -1458,8 +1442,8 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* values,int* transformenum_list){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* values,int* transformenum_list){/*{{{*/
 	this->TransformSolutionCoord(values,this->nodes,this->GetNumberOfNodes(),transformenum_list);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* values,int numnodes,int transformenum){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* values,int numnodes,int transformenum){/*{{{*/
 
 	/*All nodes have the same Coordinate System*/
@@ -1473,8 +1457,8 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* solution,int numnodes,int* cs_array){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* solution,int numnodes,int* cs_array){/*{{{*/
 	this->TransformSolutionCoord(solution,this->nodes,numnodes,cs_array);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* values,Node** nodes_list,int numnodes,int transformenum){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* values,Node** nodes_list,int numnodes,int transformenum){/*{{{*/
 	/*NOT NEEDED*/
 	/*All nodes have the same Coordinate System*/
@@ -1488,5 +1472,5 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformSolutionCoord(IssmDouble* solution,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
+void       Element::TransformSolutionCoord(IssmDouble* solution,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
 
 	int         i;
@@ -1521,5 +1505,5 @@
 	xDelete<IssmDouble>(values);
 }/*}}}*/
-void Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,int transformenum){/*{{{*/
+void       Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,int transformenum){/*{{{*/
 
 	/*All nodes have the same Coordinate System*/
@@ -1534,8 +1518,8 @@
 	xDelete<int>(cs_array);
 }/*}}}*/
-void Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,int* transformenum_list){/*{{{*/
+void       Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,int* transformenum_list){/*{{{*/
 	this->TransformStiffnessMatrixCoord(Ke,this->nodes,this->GetNumberOfNodes(),transformenum_list);
 }/*}}}*/
-void Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
+void       Element::TransformStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
 
 	int         numdofs = 0;
Index: /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp	(revision 17962)
@@ -16,6 +16,5 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION ElementHook::ElementHook(){{{*/
-ElementHook::ElementHook(){
+ElementHook::ElementHook(){/*{{{*/
 	numanalyses=UNDEF;
 	this->hnodes     = NULL;
@@ -26,6 +25,5 @@
 }
 /*}}}*/
-/*FUNCTION ElementHook::~ElementHook(){{{*/
-ElementHook::~ElementHook(){
+ElementHook::~ElementHook(){/*{{{*/
 
 	int i;
@@ -41,6 +39,5 @@
 }
 /*}}}*/
-/*FUNCTION ElementHook::ElementHook(int in_numanalyses,int element_id, int numvertices,IoModel* iomodel){{{*/
-ElementHook::ElementHook(int in_numanalyses,int element_id,int numvertices,IoModel* iomodel){
+ElementHook::ElementHook(int in_numanalyses,int element_id,int numvertices,IoModel* iomodel){/*{{{*/
 
 	/*intermediary: */
@@ -78,16 +75,13 @@
 /*}}}*/
 
-/*FUNCTION ElementHook::SetHookNodes{{{*/
-void ElementHook::SetHookNodes(int* node_ids,int numnodes,int analysis_counter){
+void ElementHook::SetHookNodes(int* node_ids,int numnodes,int analysis_counter){/*{{{*/
 	this->hnodes[analysis_counter]= new Hook(node_ids,numnodes);
 }
 /*}}}*/
-/*FUNCTION ElementHook::InitHookNeighbors{{{*/
-void ElementHook::InitHookNeighbors(int* element_ids){
+void ElementHook::InitHookNeighbors(int* element_ids){/*{{{*/
 	this->hneighbors=new Hook(element_ids,2);
 }
 /*}}}*/
-/*FUNCTION ElementHook::SpawnTriaHook{{{*/
-void ElementHook::SpawnTriaHook(ElementHook* triahook,int index1,int index2,int index3){
+void ElementHook::SpawnTriaHook(ElementHook* triahook,int index1,int index2,int index3){/*{{{*/
 
 	/*Create arrow of indices depending on location (0=base 1=surface)*/
@@ -117,6 +111,5 @@
 }
 /*}}}*/
-/*FUNCTION ElementHook::SpawnSegHook{{{*/
-void ElementHook::SpawnSegHook(ElementHook* triahook,int index1,int index2){
+void ElementHook::SpawnSegHook(ElementHook* triahook,int index1,int index2){/*{{{*/
 
 	triahook->numanalyses=this->numanalyses;
Index: /issm/trunk-jpl/src/c/classes/Elements/Elements.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Elements.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/Elements.cpp	(revision 17962)
@@ -23,12 +23,10 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION Elements::Elements(){{{*/
-Elements::Elements(){
+Elements::Elements(){/*{{{*/
 	enum_type=MeshElementsEnum;
 	return;
 }
 /*}}}*/
-/*FUNCTION Elements::~Elements(){{{*/
-Elements::~Elements(){
+Elements::~Elements(){/*{{{*/
 	return;
 }
@@ -36,6 +34,5 @@
 
 /*Object management*/
-/*FUNCTION Elements::Configure{{{*/
-void Elements::Configure(Elements* elements,Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){
+void Elements::Configure(Elements* elements,Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){/*{{{*/
 
 	vector<Object*>::iterator object;
@@ -51,6 +48,5 @@
 }
 /*}}}*/
-/*FUNCTION Elements::SetCurrentConfiguration{{{*/
-void Elements::SetCurrentConfiguration(Elements* elements,Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){
+void Elements::SetCurrentConfiguration(Elements* elements,Loads* loads, Nodes* nodes, Vertices* vertices, Materials* materials,Parameters* parameters){/*{{{*/
 
 	vector<Object*>::iterator object;
@@ -66,6 +62,5 @@
 }
 /*}}}*/
-/*FUNCTION Elements::MaxNumNodes{{{*/
-int Elements::MaxNumNodes(void){
+int  Elements::MaxNumNodes(void){/*{{{*/
 
 	int max=0;
@@ -88,6 +83,5 @@
 }
 /*}}}*/
-/*FUNCTION Elements::NumberOfElements{{{*/
-int Elements::NumberOfElements(void){
+int  Elements::NumberOfElements(void){/*{{{*/
 
 	int local_nelem;
@@ -100,6 +94,5 @@
 }
 /*}}}*/
-/*FUNCTION Elements::InputDuplicate{{{*/
-void Elements::InputDuplicate(int input_enum,int output_enum){
+void Elements::InputDuplicate(int input_enum,int output_enum){/*{{{*/
 
 	for(int i=0;i<this->Size();i++){
Index: /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 17962)
@@ -27,11 +27,9 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION PentaRef::PentaRef(){{{*/
-PentaRef::PentaRef(){
+PentaRef::PentaRef(){/*{{{*/
 	this->element_type_list=NULL;
 }
 /*}}}*/
-/*FUNCTION PentaRef::PentaRef(int* types,int nummodels){{{*/
-PentaRef::PentaRef(const int nummodels){
+PentaRef::PentaRef(const int nummodels){/*{{{*/
 
 	/*Only allocate pointer*/
@@ -40,6 +38,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::~PentaRef(){{{*/
-PentaRef::~PentaRef(){
+PentaRef::~PentaRef(){/*{{{*/
 	xDelete<int>(element_type_list);
 }
@@ -47,6 +44,5 @@
 
 /*Management*/
-/*FUNCTION PentaRef::SetElementType{{{*/
-void PentaRef::SetElementType(int type,int type_counter){
+void PentaRef::SetElementType(int type,int type_counter){/*{{{*/
 
 	/*initialize element type*/
@@ -56,6 +52,5 @@
 
 /*Reference Element numerics*/
-/*FUNCTION PentaRef::GetJacobian {{{*/
-void PentaRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,Gauss* gauss_in){
+void PentaRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,Gauss* gauss_in){/*{{{*/
 	/*The Jacobian is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -113,6 +108,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetJacobianDeterminant {{{*/
-void PentaRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){
+void PentaRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*On a penta, Jacobian varies according to coordinates. We need to get the Jacobian, and take 
 	 * the determinant of it: */
@@ -128,6 +122,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetTriaJacobianDeterminant{{{*/
-void PentaRef::GetTriaJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){
+void PentaRef::GetTriaJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -148,6 +141,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetSegmentJacobianDeterminant{{{*/
-void PentaRef::GetSegmentJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){
+void PentaRef::GetSegmentJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -165,6 +157,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetJacobianInvert {{{*/
-void PentaRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,Gauss* gauss){
+void PentaRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	/*Jacobian*/
@@ -178,6 +169,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){{{*/
-void PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){
+void PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -187,6 +177,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement){{{*/
-void PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement){
+void PentaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -332,11 +321,9 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){
+void PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 	GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){{{*/
-void PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){
+void PentaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -371,11 +358,9 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){{{*/
-void PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){
+void PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){/*{{{*/
 	GetNodalFunctionsDerivativesReference(dbasis,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in,int finiteelement){{{*/
-void PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in,int finiteelement){
+void PentaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in,int finiteelement){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -799,6 +784,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsMINIDerivatives{{{*/
-void PentaRef::GetNodalFunctionsMINIDerivatives(IssmDouble* dbasismini,IssmDouble* xyz_list, Gauss* gauss){
+void PentaRef::GetNodalFunctionsMINIDerivatives(IssmDouble* dbasismini,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -829,6 +813,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsMINIDerivativesReference{{{*/
-void PentaRef::GetNodalFunctionsMINIDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in){
+void PentaRef::GetNodalFunctionsMINIDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -871,6 +854,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsP1 {{{*/
-void PentaRef::GetNodalFunctionsP1(IssmDouble* basis, Gauss* gauss_in){
+void PentaRef::GetNodalFunctionsP1(IssmDouble* basis, Gauss* gauss_in){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -888,6 +870,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsP1Derivatives {{{*/
-void PentaRef::GetNodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){
+void PentaRef::GetNodalFunctionsP1Derivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -917,6 +898,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetNodalFunctionsP1DerivativesReference {{{*/
-void PentaRef::GetNodalFunctionsP1DerivativesReference(IssmDouble* dbasis,Gauss* gauss_in){
+void PentaRef::GetNodalFunctionsP1DerivativesReference(IssmDouble* dbasis,Gauss* gauss_in){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -955,6 +935,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetQuadJacobianDeterminant{{{*/
-void PentaRef::GetQuadJacobianDeterminant(IssmDouble* Jdet,IssmDouble* xyz_list,Gauss* gauss){
+void PentaRef::GetQuadJacobianDeterminant(IssmDouble* Jdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -981,6 +960,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss){{{*/
-void PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss){
+void PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss){/*{{{*/
 
 	GetInputValue(pvalue,plist,gauss,this->element_type);
@@ -988,6 +966,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss,int finiteelement){{{*/
-void PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss,int finiteelement){
+void PentaRef::GetInputValue(IssmDouble* pvalue,IssmDouble* plist,Gauss* gauss,int finiteelement){/*{{{*/
 
 	/*Output*/
@@ -1010,6 +987,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::GetInputDerivativeValue{{{*/
-void PentaRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, Gauss* gauss){
+void PentaRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 	/*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
@@ -1047,12 +1023,10 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::NumberofNodes(){{{*/
-int PentaRef::NumberofNodes(void){
+int  PentaRef::NumberofNodes(void){/*{{{*/
 
 	return this->NumberofNodes(this->element_type);
 }
 /*}}}*/
-/*FUNCTION PentaRef::NumberofNodes(int finiteelement){{{*/
-int PentaRef::NumberofNodes(int finiteelement){
+int  PentaRef::NumberofNodes(int finiteelement){/*{{{*/
 
 	switch(finiteelement){
@@ -1078,6 +1052,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::VelocityInterpolation{{{*/
-int PentaRef::VelocityInterpolation(void){
+int  PentaRef::VelocityInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -1094,6 +1067,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::PressureInterpolation{{{*/
-int PentaRef::PressureInterpolation(void){
+int  PentaRef::PressureInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -1110,6 +1082,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::TensorInterpolation{{{*/
-int PentaRef::TensorInterpolation(void){
+int  PentaRef::TensorInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -1121,6 +1092,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::BasalNodeIndices{{{*/
-void PentaRef::BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){
+void PentaRef::BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){/*{{{*/
 
 	/*Output*/
@@ -1196,6 +1166,5 @@
 }
 /*}}}*/
-/*FUNCTION PentaRef::SurfaceNodeIndices{{{*/
-void PentaRef::SurfaceNodeIndices(int* pnumindices,int** pindices,int finiteelement){
+void PentaRef::SurfaceNodeIndices(int* pnumindices,int** pindices,int finiteelement){/*{{{*/
 
 	/*Output*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 17962)
@@ -19,6 +19,5 @@
 #define NUMVERTICES 2
 /*Constructors/destructor/copy*/
-/*FUNCTION Seg::Seg(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/
-Seg::Seg(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels)
+Seg::Seg(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels)/*{{{*/
 		:SegRef(nummodels),ElementHook(nummodels,index+1,NUMVERTICES,iomodel){
 
@@ -40,17 +39,14 @@
 		}
 /*}}}*/
-/*FUNCTION Seg::~Seg(){{{*/
-Seg::~Seg(){
+Seg::~Seg(){/*{{{*/
 	this->parameters=NULL;
 }
 /*}}}*/
-/*FUNCTION Seg::copy {{{*/
-Object* Seg::copy() {
+Object* Seg::copy(){/*{{{*/
 	_error_("not implemented yet");
 }
 /*}}}*/
 
-/*FUNCTION Seg::CharacteristicLength{{{*/
-IssmDouble Seg::CharacteristicLength(void){
+IssmDouble Seg::CharacteristicLength(void){/*{{{*/
 
 	IssmDouble xyz_list[NUMVERTICES][3];
@@ -65,11 +61,9 @@
 }
 /*}}}*/
-/*FUNCTION Seg::FiniteElement{{{*/
-int Seg::FiniteElement(void){
+int        Seg::FiniteElement(void){/*{{{*/
 	return this->element_type;
 }
 /*}}}*/
-/*FUNCTION Seg::ObjectEnum{{{*/
-int Seg::ObjectEnum(void){
+int        Seg::ObjectEnum(void){/*{{{*/
 
 	return SegEnum;
@@ -77,6 +71,5 @@
 }
 /*}}}*/
-
-void  Seg::GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
+void       Seg::GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
 	
 	/* Intermediaries */
@@ -106,16 +99,13 @@
 	*pxyz_front=xyz_front;
 }/*}}}*/
-/*FUNCTION Seg::GetNumberOfNodes;{{{*/
-int Seg::GetNumberOfNodes(void){
+int        Seg::GetNumberOfNodes(void){/*{{{*/
 	return this->NumberofNodes();
 }
 /*}}}*/
-/*FUNCTION Seg::GetNumberOfVertices;{{{*/
-int Seg::GetNumberOfVertices(void){
+int        Seg::GetNumberOfVertices(void){/*{{{*/
 	return NUMVERTICES;
 }
 /*}}}*/
-/*FUNCTION Seg::GetVerticesCoordinates(IssmDouble** pxyz_list){{{*/
-void Seg::GetVerticesCoordinates(IssmDouble** pxyz_list){
+void       Seg::GetVerticesCoordinates(IssmDouble** pxyz_list){/*{{{*/
 
 	IssmDouble* xyz_list = xNew<IssmDouble>(NUMVERTICES*3);
@@ -126,5 +116,5 @@
 
 }/*}}}*/
-bool Seg::IsIcefront(void){/*{{{*/
+bool       Seg::IsIcefront(void){/*{{{*/
 
 	bool isicefront;
@@ -145,6 +135,5 @@
 	return isicefront;
 }/*}}}*/
-/*FUNCTION Seg::JacobianDeterminant{{{*/
-void Seg::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void       Seg::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussSegEnum);
@@ -153,6 +142,5 @@
 }
 /*}}}*/
-/*FUNCTION Seg::JacobianDeterminantSurface{{{*/
-void Seg::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void       Seg::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	*pJdet = 1.;
@@ -160,16 +148,13 @@
 }
 /*}}}*/
-/*FUNCTION Seg::NewGauss(){{{*/
-Gauss* Seg::NewGauss(void){
+Gauss*     Seg::NewGauss(void){/*{{{*/
 	return new GaussSeg();
 }
 /*}}}*/
-/*FUNCTION Seg::NewGauss(int order){{{*/
-Gauss* Seg::NewGauss(int order){
+Gauss*     Seg::NewGauss(int order){/*{{{*/
 	return new GaussSeg(order);
 }
 /*}}}*/
-/*FUNCTION Seg::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){{{*/
-Gauss* Seg::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){
+Gauss*     Seg::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){/*{{{*/
 
 	/*Output*/
@@ -189,6 +174,5 @@
 }
 /*}}}*/
-/*FUNCTION Seg::NodalFunctions{{{*/
-void Seg::NodalFunctions(IssmDouble* basis, Gauss* gauss){
+void       Seg::NodalFunctions(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussSegEnum);
@@ -197,6 +181,5 @@
 }
 /*}}}*/
-/*FUNCTION Seg::NodalFunctionsDerivatives{{{*/
-void Seg::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){
+void       Seg::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussSegEnum);
@@ -205,6 +188,5 @@
 }
 /*}}}*/
-/*FUNCTION Seg::NormalSection{{{*/
-void Seg::NormalSection(IssmDouble* normal,IssmDouble* xyz_list_front){
+void       Seg::NormalSection(IssmDouble* normal,IssmDouble* xyz_list_front){/*{{{*/
 
 	IssmDouble* xyz_list = xNew<IssmDouble>(NUMVERTICES*3);
Index: /issm/trunk-jpl/src/c/classes/Elements/SegRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/SegRef.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/SegRef.cpp	(revision 17962)
@@ -20,11 +20,9 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION SegRef::SegRef(){{{*/
-SegRef::SegRef(){
+SegRef::SegRef(){/*{{{*/
 	this->element_type_list=NULL;
 }
 /*}}}*/
-/*FUNCTION SegRef::SegRef(int* types,int nummodels){{{*/
-SegRef::SegRef(const int nummodels){
+SegRef::SegRef(const int nummodels){/*{{{*/
 
 	/*Only allocate pointer*/
@@ -33,6 +31,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::~SegRef(){{{*/
-SegRef::~SegRef(){
+SegRef::~SegRef(){/*{{{*/
 	xDelete<int>(element_type_list);
 }
@@ -40,6 +37,5 @@
 
 /*Management*/
-/*FUNCTION SegRef::SetElementType{{{*/
-void SegRef::SetElementType(int type,int type_counter){
+void SegRef::SetElementType(int type,int type_counter){/*{{{*/
 
 	/*initialize element type*/
@@ -49,6 +45,5 @@
 
 /*Reference Element numerics*/
-/*FUNCTION SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss){{{*/
-void SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss){
+void SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -58,6 +53,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss,int finiteelement){{{*/
-void SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss,int finiteelement){
+void SegRef::GetNodalFunctions(IssmDouble* basis,GaussSeg* gauss,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -82,6 +76,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss){{{*/
-void SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss){
+void SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss){/*{{{*/
 
 	GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss,this->element_type);
@@ -89,6 +82,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss,int finiteelement){{{*/
-void SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss,int finiteelement){
+void SegRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussSeg* gauss,int finiteelement){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -118,6 +110,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss){{{*/
-void SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss){
+void SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -127,6 +118,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss,int finiteelement){{{*/
-void SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss,int finiteelement){
+void SegRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussSeg* gauss,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -157,6 +147,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetInputDerivativeValue{{{*/
-void SegRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, GaussSeg* gauss){
+void SegRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, GaussSeg* gauss){/*{{{*/
 
 	/*From node values of parameter p (plist[0],plist[1]), return parameter derivative value at gaussian 
@@ -186,12 +175,10 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss){{{*/
-void SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss){
+void SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss){/*{{{*/
 
 	GetInputValue(p,plist,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss,int finiteelement){{{*/
-void SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss,int finiteelement){
+void SegRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussSeg* gauss,int finiteelement){/*{{{*/
 
 	/*Output*/
@@ -213,6 +200,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetJacobian{{{*/
-void SegRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussSeg* gauss){
+void SegRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussSeg* gauss){/*{{{*/
 	/*The Jacobian is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size 1*/
@@ -224,6 +210,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetJacobianDeterminant{{{*/
-void SegRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussSeg* gauss){
+void SegRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussSeg* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -235,6 +220,5 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::GetJacobianInvert {{{*/
-void SegRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,GaussSeg* gauss){
+void SegRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,GaussSeg* gauss){/*{{{*/
 
 	/*Jacobian*/
@@ -248,12 +232,10 @@
 }
 /*}}}*/
-/*FUNCTION SegRef::NumberofNodes(){{{*/
-int SegRef::NumberofNodes(void){
+int  SegRef::NumberofNodes(void){/*{{{*/
 
 	return this->NumberofNodes(this->element_type);
 }
 /*}}}*/
-/*FUNCTION SegRef::NumberofNodes(int finiteelement){{{*/
-int SegRef::NumberofNodes(int finiteelement){
+int  SegRef::NumberofNodes(int finiteelement){/*{{{*/
 
 	switch(finiteelement){
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 17962)
@@ -20,6 +20,5 @@
 
 /*Constructors/destructor/copy*/
-/*FUNCTION Tetra::Tetra(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/
-Tetra::Tetra(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels)
+Tetra::Tetra(int seg_id, int seg_sid, int index, IoModel* iomodel,int nummodels)/*{{{*/
 		:TetraRef(nummodels),ElementHook(nummodels,index+1,NUMVERTICES,iomodel){
 
@@ -41,28 +40,22 @@
 		}
 /*}}}*/
-/*FUNCTION Tetra::~Tetra(){{{*/
-Tetra::~Tetra(){
+Tetra::~Tetra(){/*{{{*/
 	this->parameters=NULL;
 }
 /*}}}*/
-/*FUNCTION Tetra::copy {{{*/
-Object* Tetra::copy() {
+Object* Tetra::copy() {/*{{{*/
 	_error_("not implemented yet");
 }
 /*}}}*/
 
-/*FUNCTION Tetra::FiniteElement{{{*/
-int Tetra::FiniteElement(void){
+int      Tetra::FiniteElement(void){/*{{{*/
 	return this->element_type;
 } /*}}}*/
-/*FUNCTION Tetra::ObjectEnum{{{*/
-int Tetra::ObjectEnum(void){
+int      Tetra::ObjectEnum(void){/*{{{*/
 
 	return TetraEnum;
 
 }/*}}}*/
-
-/*FUNCTION Tetra::AddInput{{{*/
-void  Tetra::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){
+void     Tetra::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
 
 	/*Call inputs method*/
@@ -71,6 +64,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::Configure {{{*/
-void  Tetra::Configure(Elements* elementsin, Loads* loadsin, Nodes* nodesin,Vertices* verticesin, Materials* materialsin, Parameters* parametersin){
+void     Tetra::Configure(Elements* elementsin, Loads* loadsin, Nodes* nodesin,Vertices* verticesin, Materials* materialsin, Parameters* parametersin){/*{{{*/
 
 	int analysis_counter;
@@ -103,6 +95,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::ElementSizes (THIS ONE){{{*/
-void Tetra::ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){
+void     Tetra::ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){/*{{{*/
 
 	IssmDouble xyz_list[NUMVERTICES][3];
@@ -130,6 +121,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::FaceOnBaseIndices{{{*/
-void Tetra::FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3){
+void     Tetra::FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -151,6 +141,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::FaceOnSurfaceIndices{{{*/
-void Tetra::FaceOnSurfaceIndices(int* pindex1,int* pindex2,int* pindex3){
+void     Tetra::FaceOnSurfaceIndices(int* pindex1,int* pindex2,int* pindex3){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -172,6 +161,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::FaceOnFrontIndices{{{*/
-void Tetra::FaceOnFrontIndices(int* pindex1,int* pindex2,int* pindex3){
+void     Tetra::FaceOnFrontIndices(int* pindex1,int* pindex2,int* pindex3){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -193,6 +181,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::GetElementType {{{*/
-int Tetra::GetElementType(){
+int      Tetra::GetElementType(){/*{{{*/
 
 	/*return TetraRef field*/
@@ -200,6 +187,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype) (THIS ONE??){{{*/
-void Tetra::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){
+void     Tetra::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){/*{{{*/
 
 	Input* input=inputs->GetInput(enumtype);
@@ -213,6 +199,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::GetNodeIndex (THIS ONE){{{*/
-int Tetra::GetNodeIndex(Node* node){
+int      Tetra::GetNodeIndex(Node* node){/*{{{*/
 
 	_assert_(nodes);
@@ -226,16 +211,13 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::GetNumberOfNodes;{{{*/
-int Tetra::GetNumberOfNodes(void){
+int      Tetra::GetNumberOfNodes(void){/*{{{*/
 	return this->NumberofNodes();
 }
 /*}}}*/
-/*FUNCTION Tetra::GetNumberOfVertices;{{{*/
-int Tetra::GetNumberOfVertices(void){
+int      Tetra::GetNumberOfVertices(void){/*{{{*/
 	return NUMVERTICES;
 }
 /*}}}*/
-/*FUNCTION Tetra::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){{{*/
-void Tetra::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){
+void     Tetra::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){/*{{{*/
 
 	int        indices[3];
@@ -254,6 +236,5 @@
 
 }/*}}}*/
-/*FUNCTION Tetra::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){{{*/
-void Tetra::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){
+void     Tetra::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){/*{{{*/
 
 	int        indices[3];
@@ -272,6 +253,5 @@
 
 }/*}}}*/
-/*FUNCTION Tetra::HasFaceOnBase{{{*/
-bool Tetra::HasFaceOnBase(){
+bool     Tetra::HasFaceOnBase(){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -292,6 +272,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::HasFaceOnSurface{{{*/
-bool Tetra::HasFaceOnSurface(){
+bool     Tetra::HasFaceOnSurface(){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -312,6 +291,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::InputUpdateFromIoModel {{{*/
-void Tetra::InputUpdateFromIoModel(int index,IoModel* iomodel){ 
+void     Tetra::InputUpdateFromIoModel(int index,IoModel* iomodel){ /*{{{*/
 
 	/*Intermediaries*/
@@ -416,6 +394,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::InputUpdateFromSolutionOneDof{{{*/
-void  Tetra::InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type){
+void     Tetra::InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type){/*{{{*/
 
 	/*Intermediary*/
@@ -443,15 +420,13 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::IsOnBase {{{*/
-bool Tetra::IsOnBase(){
+bool     Tetra::IsOnBase(){/*{{{*/
 	return HasFaceOnBase();
 }
 /*}}}*/
-/*FUNCTION Tetra::IsOnSurface {{{*/
-bool Tetra::IsOnSurface(){
+bool     Tetra::IsOnSurface(){/*{{{*/
 	return HasFaceOnSurface();
 }
 /*}}}*/
-bool Tetra::IsIcefront(void){/*{{{*/
+bool     Tetra::IsIcefront(void){/*{{{*/
 
 	/*Retrieve all inputs and parameters*/
@@ -467,6 +442,5 @@
 	return false;
 }/*}}}*/
-/*FUNCTION Tetra::JacobianDeterminant{{{*/
-void Tetra::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void     Tetra::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -475,6 +449,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::JacobianDeterminantSurface{{{*/
-void Tetra::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void     Tetra::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -483,6 +456,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::JacobianDeterminantBase{{{*/
-void Tetra::JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){
+void     Tetra::JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -491,6 +463,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::JacobianDeterminantTop{{{*/
-void Tetra::JacobianDeterminantTop(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){
+void     Tetra::JacobianDeterminantTop(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -499,16 +470,13 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NewGauss(){{{*/
-Gauss* Tetra::NewGauss(void){
+Gauss*   Tetra::NewGauss(void){/*{{{*/
 	return new GaussTetra();
 }
 /*}}}*/
-/*FUNCTION Tetra::NewGauss(int order){{{*/
-Gauss* Tetra::NewGauss(int order){
+Gauss*   Tetra::NewGauss(int order){/*{{{*/
 	return new GaussTetra(order);
 }
 /*}}}*/
-/*FUNCTION Tetra::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){{{*/
-Gauss* Tetra::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){
+Gauss*   Tetra::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){/*{{{*/
 	/*FIXME: this is messed up, should provide indices and not xyz_list!*/
 	int indices[3];
@@ -517,6 +485,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NewGaussBase(int order){{{*/
-Gauss* Tetra::NewGaussBase(int order){
+Gauss*   Tetra::NewGaussBase(int order){/*{{{*/
 
 	int indices[3];
@@ -525,6 +492,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NewGaussTop(int order){{{*/
-Gauss* Tetra::NewGaussTop(int order){
+Gauss*   Tetra::NewGaussTop(int order){/*{{{*/
 
 	int indices[3];
@@ -533,6 +499,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctions{{{*/
-void Tetra::NodalFunctions(IssmDouble* basis, Gauss* gauss){
+void     Tetra::NodalFunctions(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -541,6 +506,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctionsVelocity{{{*/
-void Tetra::NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss){
+void     Tetra::NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -549,6 +513,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctionsPressure{{{*/
-void Tetra::NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss){
+void     Tetra::NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -557,6 +520,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctionsTensor{{{*/
-void Tetra::NodalFunctionsTensor(IssmDouble* basis, Gauss* gauss){
+void     Tetra::NodalFunctionsTensor(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -565,6 +527,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctionsDerivatives{{{*/
-void Tetra::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){
+void     Tetra::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -573,6 +534,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NodalFunctionsDerivativesVelocity{{{*/
-void Tetra::NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){
+void     Tetra::NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTetraEnum);
@@ -581,6 +541,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NormalSection{{{*/
-void Tetra::NormalSection(IssmDouble* normal,IssmDouble* xyz_list){
+void     Tetra::NormalSection(IssmDouble* normal,IssmDouble* xyz_list){/*{{{*/
 
 	/*Build unit outward pointing vector*/
@@ -602,6 +561,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NormalBase (THIS ONE){{{*/
-void Tetra::NormalBase(IssmDouble* bed_normal,IssmDouble* xyz_list){
+void     Tetra::NormalBase(IssmDouble* bed_normal,IssmDouble* xyz_list){/*{{{*/
 
 	IssmDouble v13[3],v23[3];
@@ -627,6 +585,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NormalTop (THIS ONE){{{*/
-void Tetra::NormalTop(IssmDouble* top_normal,IssmDouble* xyz_list){
+void     Tetra::NormalTop(IssmDouble* top_normal,IssmDouble* xyz_list){/*{{{*/
 
 	IssmDouble v13[3],v23[3];
@@ -650,16 +607,13 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::NumberofNodesPressure{{{*/
-int Tetra::NumberofNodesPressure(void){
+int      Tetra::NumberofNodesPressure(void){/*{{{*/
 	return TetraRef::NumberofNodes(this->PressureInterpolation());
 }
 /*}}}*/
-/*FUNCTION Tetra::NumberofNodesVelocity{{{*/
-int Tetra::NumberofNodesVelocity(void){
+int      Tetra::NumberofNodesVelocity(void){/*{{{*/
 	return TetraRef::NumberofNodes(this->VelocityInterpolation());
 }
 /*}}}*/
-/*FUNCTION Tetra::ReduceMatrices{{{*/
-void Tetra::ReduceMatrices(ElementMatrix* Ke,ElementVector* pe){
+void     Tetra::ReduceMatrices(ElementMatrix* Ke,ElementVector* pe){/*{{{*/
 
 	if(pe){
@@ -696,6 +650,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::ResetFSBasalBoundaryCondition {{{*/
-void  Tetra::ResetFSBasalBoundaryCondition(void){
+void     Tetra::ResetFSBasalBoundaryCondition(void){/*{{{*/
 
 	int numnodes = this->GetNumberOfNodes();
@@ -756,6 +709,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::SetCurrentConfiguration {{{*/
-void  Tetra::SetCurrentConfiguration(Elements* elementsin, Loads* loadsin, Nodes* nodesin, Materials* materialsin, Parameters* parametersin){
+void     Tetra::SetCurrentConfiguration(Elements* elementsin, Loads* loadsin, Nodes* nodesin, Materials* materialsin, Parameters* parametersin){/*{{{*/
 
 	/*go into parameters and get the analysis_counter: */
@@ -772,6 +724,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::SpawnBasalElement{{{*/
-Element*  Tetra::SpawnBasalElement(void){
+Element* Tetra::SpawnBasalElement(void){/*{{{*/
 
 	_assert_(HasFaceOnBase());
@@ -781,6 +732,5 @@
 	return SpawnTria(index1,index2,index3);
 }/*}}}*/
-/*FUNCTION Tetra::SpawnTopElement{{{*/
-Element*  Tetra::SpawnTopElement(void){
+Element* Tetra::SpawnTopElement(void){/*{{{*/
 
 	_assert_(HasFaceOnSurface());
@@ -790,6 +740,5 @@
 	return SpawnTria(index1,index2,index3);
 }/*}}}*/
-/*FUNCTION Tetra::SpawnTria{{{*/
-Tria*  Tetra::SpawnTria(int index1,int index2,int index3){
+Tria*    Tetra::SpawnTria(int index1,int index2,int index3){/*{{{*/
 
 	int analysis_counter;
@@ -818,6 +767,5 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::Update {{{*/
-void Tetra::Update(int index,IoModel* iomodel,int analysis_counter,int analysis_type,int finiteelement_type){ 
+void     Tetra::Update(int index,IoModel* iomodel,int analysis_counter,int analysis_type,int finiteelement_type){ /*{{{*/
 
 	/*Intermediaries*/
@@ -923,11 +871,9 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::VelocityInterpolation{{{*/
-int Tetra::VelocityInterpolation(void){
+int      Tetra::VelocityInterpolation(void){/*{{{*/
 	return TetraRef::VelocityInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tetra::ViscousHeating (THIS ONE){{{*/
-void Tetra::ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){
+void     Tetra::ViscousHeating(IssmDouble* pphi,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/
 
 	/*Intermediaries*/
@@ -945,16 +891,13 @@
 }
 /*}}}*/
-/*FUNCTION Tetra::PressureInterpolation{{{*/
-int Tetra::PressureInterpolation(void){
+int      Tetra::PressureInterpolation(void){/*{{{*/
 	return TetraRef::PressureInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tetra::TensorInterpolation{{{*/
-int Tetra::TensorInterpolation(void){
+int      Tetra::TensorInterpolation(void){/*{{{*/
 	return TetraRef::TensorInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tetra::ZeroLevelsetCoordinates{{{*/
-void Tetra::ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){
+void     Tetra::ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
 	/*Compute portion of the element that is grounded*/ 
 
Index: /issm/trunk-jpl/src/c/classes/Elements/TetraRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TetraRef.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/TetraRef.cpp	(revision 17962)
@@ -4,5 +4,5 @@
 
 /*Headers:*/
-/*{{{*/
+/*{{{*//*{{{*/
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -22,11 +22,9 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION TetraRef::TetraRef(){{{*/
-TetraRef::TetraRef(){
+TetraRef::TetraRef(){/*{{{*/
 	this->element_type_list=NULL;
 }
 /*}}}*/
-/*FUNCTION TetraRef::TetraRef(int* types,int nummodels){{{*/
-TetraRef::TetraRef(const int nummodels){
+TetraRef::TetraRef(const int nummodels){/*{{{*/
 
 	/*Only allocate pointer*/
@@ -35,6 +33,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::~TetraRef(){{{*/
-TetraRef::~TetraRef(){
+TetraRef::~TetraRef(){/*{{{*/
 	xDelete<int>(element_type_list);
 }
@@ -42,6 +39,5 @@
 
 /*Management*/
-/*FUNCTION TetraRef::SetElementType{{{*/
-void TetraRef::SetElementType(int type,int type_counter){
+void TetraRef::SetElementType(int type,int type_counter){/*{{{*/
 
 	/*initialize element type*/
@@ -51,6 +47,5 @@
 
 /*Reference Element numerics*/
-/*FUNCTION TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss){{{*/
-void TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss){
+void TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 	_assert_(basis);
@@ -58,6 +53,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss,int finiteelement){{{*/
-void TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss,int finiteelement){
+void TetraRef::GetNodalFunctions(IssmDouble* basis,GaussTetra* gauss,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -102,11 +96,9 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss){{{*/
-void TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss){
+void TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss){/*{{{*/
 	GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss,int finiteelement){{{*/
-void TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss,int finiteelement){
+void TetraRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, GaussTetra* gauss,int finiteelement){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -141,6 +133,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss){{{*/
-void TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss){
+void TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -150,6 +141,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss,int finiteelement){{{*/
-void TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss,int finiteelement){
+void TetraRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,GaussTetra* gauss,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -249,6 +239,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetInputDerivativeValue{{{*/
-void TetraRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, GaussTetra* gauss){
+void TetraRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, GaussTetra* gauss){/*{{{*/
 	/*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
@@ -285,12 +274,10 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss){{{*/
-void TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss){
+void TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss){/*{{{*/
 
 	GetInputValue(p,plist,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss,int finiteelement){{{*/
-void TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss,int finiteelement){
+void TetraRef::GetInputValue(IssmDouble* p, IssmDouble* plist, GaussTetra* gauss,int finiteelement){/*{{{*/
 
 	/*Output*/
@@ -312,6 +299,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetJacobian{{{*/
-void TetraRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussTetra* gauss){
+void TetraRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussTetra* gauss){/*{{{*/
 	/*The Jacobian is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size 1*/
@@ -345,6 +331,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetJacobianDeterminant{{{*/
-void TetraRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussTetra* gauss){
+void TetraRef::GetJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussTetra* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -360,6 +345,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetJacobianDeterminantFace{{{*/
-void TetraRef::GetJacobianDeterminantFace(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussTetra* gauss){
+void TetraRef::GetJacobianDeterminantFace(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussTetra* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -380,6 +364,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::GetJacobianInvert {{{*/
-void TetraRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,GaussTetra* gauss){
+void TetraRef::GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,GaussTetra* gauss){/*{{{*/
 
 	/*Jacobian*/
@@ -393,12 +376,10 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::NumberofNodes(){{{*/
-int TetraRef::NumberofNodes(void){
+int  TetraRef::NumberofNodes(void){/*{{{*/
 
 	return this->NumberofNodes(this->element_type);
 }
 /*}}}*/
-/*FUNCTION TetraRef::NumberofNodes(int finiteelement){{{*/
-int TetraRef::NumberofNodes(int finiteelement){
+int  TetraRef::NumberofNodes(int finiteelement){/*{{{*/
 
 	switch(finiteelement){
@@ -420,6 +401,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::VelocityInterpolation{{{*/
-int TetraRef::VelocityInterpolation(void){
+int  TetraRef::VelocityInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -435,6 +415,5 @@
 }
 /*}}}*/
-/*FUNCTION TetraRef::PressureInterpolation{{{*/
-int TetraRef::PressureInterpolation(void){
+int TetraRef::PressureInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -449,6 +428,5 @@
 	return -1;
 }/*}}}*/
-/*FUNCTION TetraRef::TensorInterpolation{{{*/
-int TetraRef::TensorInterpolation(void){
+int  TetraRef::TensorInterpolation(void){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17962)
@@ -24,6 +24,5 @@
 
 /*Constructors/destructor/copy*/
-/*FUNCTION Tria::Tria(int id, int sid,int index, IoModel* iomodel,int nummodels){{{*/
-Tria::Tria(int tria_id, int tria_sid, int index, IoModel* iomodel,int nummodels)
+Tria::Tria(int tria_id, int tria_sid, int index, IoModel* iomodel,int nummodels)/*{{{*/
 	:TriaRef(nummodels),ElementHook(nummodels,index+1,NUMVERTICES,iomodel){
 
@@ -45,11 +44,9 @@
 }
 /*}}}*/
-/*FUNCTION Tria::~Tria(){{{*/
-Tria::~Tria(){
+Tria::~Tria(){/*{{{*/
 	this->parameters=NULL;
 }
 /*}}}*/
-/*FUNCTION Tria::copy {{{*/
-Object* Tria::copy() {
+Object* Tria::copy() {/*{{{*/
 
 	int i;
@@ -95,6 +92,5 @@
 
 /*Other*/
-/*FUNCTION Tria::AddBasalInput{{{*/
-void  Tria::AddBasalInput(int input_enum,IssmDouble* values, int interpolation_enum){
+void       Tria::AddBasalInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
 
 	/*Call inputs method*/
@@ -128,6 +124,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::AddInput{{{*/
-void  Tria::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){
+void       Tria::AddInput(int input_enum,IssmDouble* values, int interpolation_enum){/*{{{*/
 
 	/*Call inputs method*/
@@ -136,17 +131,14 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CharacteristicLength{{{*/
-IssmDouble Tria::CharacteristicLength(void){
+IssmDouble Tria::CharacteristicLength(void){/*{{{*/
 
 	return sqrt(2*this->GetArea());
 }
 /*}}}*/
-/*FUNCTION Tria::ComputeBasalStress {{{*/
-void  Tria::ComputeBasalStress(Vector<IssmDouble>* eps){
+void       Tria::ComputeBasalStress(Vector<IssmDouble>* eps){/*{{{*/
 	_error_("Not Implemented yet");
 }
 /*}}}*/
-/*FUNCTION Tria::ComputeSigmaNN {{{*/
-void  Tria::ComputeSigmaNN(){
+void       Tria::ComputeSigmaNN(){/*{{{*/
 
 	if(!IsOnBase()){
@@ -205,6 +197,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ComputeStrainRate {{{*/
-void  Tria::ComputeStrainRate(){
+void       Tria::ComputeStrainRate(){/*{{{*/
 
 	IssmDouble      xyz_list[NUMVERTICES][3];
@@ -251,6 +242,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ComputeStressTensor {{{*/
-void  Tria::ComputeStressTensor(){
+void       Tria::ComputeStressTensor(){/*{{{*/
 
 	IssmDouble  xyz_list[NUMVERTICES][3];
@@ -304,6 +294,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ComputeDeviatoricStressTensor {{{*/
-void  Tria::ComputeDeviatoricStressTensor(){
+void       Tria::ComputeDeviatoricStressTensor(){/*{{{*/
 
 	IssmDouble  xyz_list[NUMVERTICES][3];
@@ -355,6 +344,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::Configure {{{*/
-void  Tria::Configure(Elements* elementsin, Loads* loadsin,Nodes* nodesin,Vertices *verticesin,Materials* materialsin, Parameters* parametersin){
+void       Tria::Configure(Elements* elementsin, Loads* loadsin,Nodes* nodesin,Vertices *verticesin,Materials* materialsin, Parameters* parametersin){/*{{{*/
 
 	/*go into parameters and get the analysis_counter: */
@@ -387,6 +375,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::Delta18oParameterization{{{*/
-void  Tria::Delta18oParameterization(void){
+void       Tria::Delta18oParameterization(void){/*{{{*/
 
 	int        i;
@@ -458,6 +445,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ElementSizes{{{*/
-void Tria::ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){
+void       Tria::ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){/*{{{*/
 
 	IssmDouble xyz_list[NUMVERTICES][3];
@@ -482,11 +468,9 @@
 }
 /*}}}*/
-/*FUNCTION Tria::FiniteElement{{{*/
-int Tria::FiniteElement(void){
+int        Tria::FiniteElement(void){/*{{{*/
 	return this->element_type;
 }
 /*}}}*/
-/*FUNCTION Tria::ObjectEnum{{{*/
-int Tria::ObjectEnum(void){
+int        Tria::ObjectEnum(void){/*{{{*/
 
 	return TriaEnum;
@@ -494,6 +478,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetArea {{{*/
-IssmDouble Tria::GetArea(void){
+IssmDouble Tria::GetArea(void){/*{{{*/
 
 	IssmDouble xyz_list[NUMVERTICES][3];
@@ -510,6 +493,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetAreaCoordinates{{{*/
-void Tria::GetAreaCoordinates(IssmDouble* area_coordinates,IssmDouble* xyz_zero,IssmDouble* xyz_list,int numpoints){
+void       Tria::GetAreaCoordinates(IssmDouble* area_coordinates,IssmDouble* xyz_zero,IssmDouble* xyz_list,int numpoints){/*{{{*/
 	/*Computeportion of the element that is grounded*/ 
 
@@ -546,6 +528,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetElementType {{{*/
-int Tria::GetElementType(){
+int        Tria::GetElementType(){/*{{{*/
 
 	/*return TriaRef field*/
@@ -554,6 +535,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetGroundedPart{{{*/
-void Tria::GetGroundedPart(int* point1,IssmDouble* fraction1,IssmDouble* fraction2, bool* mainlyfloating){
+void       Tria::GetGroundedPart(int* point1,IssmDouble* fraction1,IssmDouble* fraction2, bool* mainlyfloating){/*{{{*/
 	/*Computeportion of the element that is grounded*/ 
 
@@ -608,6 +588,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetGroundedPortion{{{*/
-IssmDouble Tria::GetGroundedPortion(IssmDouble* xyz_list){
+IssmDouble Tria::GetGroundedPortion(IssmDouble* xyz_list){/*{{{*/
 	/*Computeportion of the element that is grounded*/ 
 
@@ -727,6 +706,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){{{*/
-void Tria::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){
+void       Tria::GetVerticesCoordinatesBase(IssmDouble** pxyz_list){/*{{{*/
 
 	int        indices[2];
@@ -745,6 +723,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){{{*/
-void Tria::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){
+void       Tria::GetVerticesCoordinatesTop(IssmDouble** pxyz_list){/*{{{*/
 
 	int        indices[2];
@@ -763,6 +740,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::NormalSection{{{*/
-void Tria::NormalSection(IssmDouble* normal,IssmDouble* xyz_list){
+void       Tria::NormalSection(IssmDouble* normal,IssmDouble* xyz_list){/*{{{*/
 
 	/*Build unit outward pointing vector*/
@@ -779,6 +755,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ZeroLevelsetCoordinates{{{*/
-void Tria::ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){
+void       Tria::ZeroLevelsetCoordinates(IssmDouble** pxyz_zero,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
 
 	int         normal_orientation=0;
@@ -874,5 +849,5 @@
 }
 /*}}}*/
-void  Tria::GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
+void       Tria::GetIcefrontCoordinates(IssmDouble** pxyz_front,IssmDouble* xyz_list,int levelsetenum){/*{{{*/
 	
 	/* Intermediaries */
@@ -914,6 +889,5 @@
 	xDelete<int>(indicesfront);
 }/*}}}*/
-/*FUNCTION Tria::GetNodeIndex {{{*/
-int Tria::GetNodeIndex(Node* node){
+int        Tria::GetNodeIndex(Node* node){/*{{{*/
 
 	_assert_(nodes);
@@ -925,16 +899,13 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetNumberOfNodes;{{{*/
-int Tria::GetNumberOfNodes(void){
+int        Tria::GetNumberOfNodes(void){/*{{{*/
 	return this->NumberofNodes();
 }
 /*}}}*/
-/*FUNCTION Tria::GetNumberOfVertices;{{{*/
-int Tria::GetNumberOfVertices(void){
+int        Tria::GetNumberOfVertices(void){/*{{{*/
 	return NUMVERTICES;
 }
 /*}}}*/
-/*FUNCTION Tria::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype) {{{*/
-void Tria::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){
+void       Tria::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){/*{{{*/
 
 	Input* input=inputs->GetInput(enumtype);
@@ -948,5 +919,5 @@
 }
 /*}}}*/
-Node* Tria::GetNode(int node_number){/*{{{*/
+Node*      Tria::GetNode(int node_number){/*{{{*/
 	_assert_(node_number>=0); 
 	_assert_(node_number<this->NumberofNodes()); 
@@ -954,6 +925,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::InputDepthAverageAtBase {{{*/
-void  Tria::InputDepthAverageAtBase(int enum_type,int average_enum_type){
+void       Tria::InputDepthAverageAtBase(int enum_type,int average_enum_type){/*{{{*/
 
 	/*New input*/
@@ -973,6 +943,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputScale{{{*/
-void  Tria::InputScale(int enum_type,IssmDouble scale_factor){
+void       Tria::InputScale(int enum_type,IssmDouble scale_factor){/*{{{*/
 
 	Input* input=NULL;
@@ -986,6 +955,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputUpdateFromIoModel{{{*/
-void Tria::InputUpdateFromIoModel(int index, IoModel* iomodel){ //i is the element index
+void       Tria::InputUpdateFromIoModel(int index, IoModel* iomodel){ //i is the element index/*{{{*/
 
 	/*Intermediaries*/
@@ -1084,6 +1052,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputUpdateFromSolutionOneDof{{{*/
-void  Tria::InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type){
+void       Tria::InputUpdateFromSolutionOneDof(IssmDouble* solution,int enum_type){/*{{{*/
 
 	/*Intermediary*/
@@ -1111,6 +1078,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputUpdateFromVector(IssmDouble* vector, int name, int type);{{{*/
-void  Tria::InputUpdateFromVector(IssmDouble* vector, int name, int type){
+void       Tria::InputUpdateFromVector(IssmDouble* vector, int name, int type){/*{{{*/
 
 	/*Check that name is an element input*/
@@ -1177,6 +1143,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::IsOnBase {{{*/
-bool Tria::IsOnBase(){
+bool       Tria::IsOnBase(){/*{{{*/
 
 	int domaintype;
@@ -1191,6 +1156,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::IsOnSurface {{{*/
-bool Tria::IsOnSurface(){
+bool       Tria::IsOnSurface(){/*{{{*/
 
 	int domaintype;
@@ -1205,6 +1169,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::JacobianDeterminant{{{*/
-void Tria::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void       Tria::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1213,6 +1176,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::JacobianDeterminantBase{{{*/
-void Tria::JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){
+void       Tria::JacobianDeterminantBase(IssmDouble* pJdet,IssmDouble* xyz_list_base,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1221,6 +1183,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::JacobianDeterminantSurface{{{*/
-void Tria::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){
+void       Tria::JacobianDeterminantSurface(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1229,6 +1190,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::JacobianDeterminantTop{{{*/
-void Tria::JacobianDeterminantTop(IssmDouble* pJdet,IssmDouble* xyz_list_top,Gauss* gauss){
+void       Tria::JacobianDeterminantTop(IssmDouble* pJdet,IssmDouble* xyz_list_top,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1237,6 +1197,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::HasEdgeOnBase {{{*/
-bool Tria::HasEdgeOnBase(){
+bool       Tria::HasEdgeOnBase(){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1259,6 +1218,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::HasEdgeOnSurface {{{*/
-bool Tria::HasEdgeOnSurface(){
+bool       Tria::HasEdgeOnSurface(){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1281,6 +1239,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::EdgeOnBaseIndices{{{*/
-void Tria::EdgeOnBaseIndices(int* pindex1,int* pindex2){
+void       Tria::EdgeOnBaseIndices(int* pindex1,int* pindex2){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1302,6 +1259,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::EdgeOnSurfaceIndices{{{*/
-void Tria::EdgeOnSurfaceIndices(int* pindex1,int* pindex2){
+void       Tria::EdgeOnSurfaceIndices(int* pindex1,int* pindex2){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1323,6 +1279,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::EdgeOnBaseIndex{{{*/
-int Tria::EdgeOnBaseIndex(void){
+int        Tria::EdgeOnBaseIndex(void){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1342,6 +1297,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::EdgeOnSurfaceIndex{{{*/
-int Tria::EdgeOnSurfaceIndex(void){
+int        Tria::EdgeOnSurfaceIndex(void){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -1361,6 +1315,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::FSContactMigration{{{*/
-void Tria::FSContactMigration(Vector<IssmDouble>* vertexgrounded,Vector<IssmDouble>* vertexfloating){
+void       Tria::FSContactMigration(Vector<IssmDouble>* vertexgrounded,Vector<IssmDouble>* vertexfloating){/*{{{*/
 
 	if(!IsOnBase()) return;
@@ -1441,6 +1394,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::IsNodeOnShelfFromFlags {{{*/
-bool   Tria::IsNodeOnShelfFromFlags(IssmDouble* flags){
+bool       Tria::IsNodeOnShelfFromFlags(IssmDouble* flags){/*{{{*/
 
 	int  i;
@@ -1456,16 +1408,13 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NewGauss(){{{*/
-Gauss* Tria::NewGauss(void){
+Gauss*     Tria::NewGauss(void){/*{{{*/
 	return new GaussTria();
 }
 /*}}}*/
-/*FUNCTION Tria::NewGauss(int order){{{*/
-Gauss* Tria::NewGauss(int order){
+Gauss*     Tria::NewGauss(int order){/*{{{*/
 	return new GaussTria(order);
 }
 /*}}}*/
-/*FUNCTION Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){{{*/
-Gauss* Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){
+Gauss*     Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order){/*{{{*/
 
 	IssmDouble  area_coordinates[2][3];
@@ -1474,12 +1423,10 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NewGauss(int point1,IssmDouble fraction1,IssmDouble fraction2,bool mainlyfloating){{{*/
-Gauss* Tria::NewGauss(int point1,IssmDouble fraction1,IssmDouble fraction2,bool mainlyfloating,int order){
+Gauss*     Tria::NewGauss(int point1,IssmDouble fraction1,IssmDouble fraction2,bool mainlyfloating,int order){/*{{{*/
 
 	return new GaussTria(point1,fraction1,fraction2,mainlyfloating,order);
 }
 /*}}}*/
-/*FUNCTION Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){{{*/
-Gauss* Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){
+Gauss*     Tria::NewGauss(IssmDouble* xyz_list, IssmDouble* xyz_list_front,int order_horiz,int order_vert){/*{{{*/
 
 	IssmDouble  area_coordinates[2][3];
@@ -1488,6 +1435,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NewGaussBase(int order){{{*/
-Gauss* Tria::NewGaussBase(int order){
+Gauss*     Tria::NewGaussBase(int order){/*{{{*/
 
 	int indices[2];
@@ -1496,6 +1442,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NewGaussTop(int order){{{*/
-Gauss* Tria::NewGaussTop(int order){
+Gauss*     Tria::NewGaussTop(int order){/*{{{*/
 
 	int indices[2];
@@ -1504,6 +1449,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctions{{{*/
-void Tria::NodalFunctions(IssmDouble* basis, Gauss* gauss){
+void       Tria::NodalFunctions(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1512,6 +1456,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctionsDerivatives{{{*/
-void Tria::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){
+void       Tria::NodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1520,6 +1463,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctionsDerivativesVelocity{{{*/
-void Tria::NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){
+void       Tria::NodalFunctionsDerivativesVelocity(IssmDouble* dbasis,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1528,6 +1470,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctionsVelocity{{{*/
-void Tria::NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss){
+void       Tria::NodalFunctionsVelocity(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1536,6 +1477,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctionsPressure{{{*/
-void Tria::NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss){
+void       Tria::NodalFunctionsPressure(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1544,6 +1484,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalFunctionsTensor{{{*/
-void Tria::NodalFunctionsTensor(IssmDouble* basis, Gauss* gauss){
+void       Tria::NodalFunctionsTensor(IssmDouble* basis, Gauss* gauss){/*{{{*/
 
 	_assert_(gauss->Enum()==GaussTriaEnum);
@@ -1552,6 +1491,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NodalValue {{{*/
-int    Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){
+int        Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){/*{{{*/
 
 	int         found = 0;
@@ -1585,6 +1523,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NormalBase {{{*/
-void Tria::NormalBase(IssmDouble* bed_normal,IssmDouble* xyz_list){
+void       Tria::NormalBase(IssmDouble* bed_normal,IssmDouble* xyz_list){/*{{{*/
 
 	/*Build unit outward pointing vector*/
@@ -1602,6 +1539,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::NormalTop {{{*/
-void Tria::NormalTop(IssmDouble* top_normal,IssmDouble* xyz_list){
+void       Tria::NormalTop(IssmDouble* top_normal,IssmDouble* xyz_list){/*{{{*/
 
 	/*Build unit outward pointing vector*/
@@ -1621,31 +1557,25 @@
 }
 /*}}}*/
-/*FUNCTION Tria::VelocityInterpolation{{{*/
-int Tria::VelocityInterpolation(void){
+int        Tria::VelocityInterpolation(void){/*{{{*/
 	return TriaRef::VelocityInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tria::PressureInterpolation{{{*/
-int Tria::PressureInterpolation(void){
+int        Tria::PressureInterpolation(void){/*{{{*/
 	return TriaRef::PressureInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tria::TensorInterpolation{{{*/
-int Tria::TensorInterpolation(void){
+int        Tria::TensorInterpolation(void){/*{{{*/
 	return TriaRef::TensorInterpolation();
 }
 /*}}}*/
-/*FUNCTION Tria::NumberofNodesPressure{{{*/
-int Tria::NumberofNodesPressure(void){
+int        Tria::NumberofNodesPressure(void){/*{{{*/
 	return TriaRef::NumberofNodes(this->PressureInterpolation());
 }
 /*}}}*/
-/*FUNCTION Tria::NumberofNodesVelocity{{{*/
-int Tria::NumberofNodesVelocity(void){
+int        Tria::NumberofNodesVelocity(void){/*{{{*/
 	return TriaRef::NumberofNodes(this->VelocityInterpolation());
 }
 /*}}}*/
-/*FUNCTION Tria::PositiveDegreeDay{{{*/
-void  Tria::PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm){
+void       Tria::PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm){/*{{{*/
 
    IssmDouble agd[NUMVERTICES];             // surface mass balance
@@ -1696,6 +1626,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ReduceMatrices {{{*/
-void Tria::ReduceMatrices(ElementMatrix* Ke,ElementVector* pe){
+void       Tria::ReduceMatrices(ElementMatrix* Ke,ElementVector* pe){/*{{{*/
 
 	/*Static condensation if requested*/
@@ -1735,6 +1664,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ResetFSBasalBoundaryCondition{{{*/
-void  Tria::ResetFSBasalBoundaryCondition(void){
+void       Tria::ResetFSBasalBoundaryCondition(void){/*{{{*/
 
 	int numnodes = this->NumberofNodesVelocity();
@@ -1786,12 +1714,10 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SetClone {{{*/
-void  Tria::SetClone(int* minranks){
+void       Tria::SetClone(int* minranks){/*{{{*/
 
 	_error_("not implemented yet");
 }
 /*}}}*/
-/*FUNCTION Tria::SmbGradients{{{*/
-void Tria::SmbGradients(void){
+void       Tria::SmbGradients(void){/*{{{*/
 
 	int i;
@@ -1838,6 +1764,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SpawnSeg {{{*/
-Seg*  Tria::SpawnSeg(int index1,int index2){
+Seg*       Tria::SpawnSeg(int index1,int index2){/*{{{*/
 
 	int analysis_counter;
@@ -1866,6 +1791,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SpawnBasalElement{{{*/
-Element*  Tria::SpawnBasalElement(void){
+Element*   Tria::SpawnBasalElement(void){/*{{{*/
 
 	int index1,index2;
@@ -1885,6 +1809,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SpawnTopElement{{{*/
-Element*  Tria::SpawnTopElement(void){
+Element*   Tria::SpawnTopElement(void){/*{{{*/
 
 	int index1,index2;
@@ -1904,6 +1827,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SetCurrentConfiguration {{{*/
-void  Tria::SetCurrentConfiguration(Elements* elementsin, Loads* loadsin, Nodes* nodesin, Materials* materialsin, Parameters* parametersin){
+void       Tria::SetCurrentConfiguration(Elements* elementsin, Loads* loadsin, Nodes* nodesin, Materials* materialsin, Parameters* parametersin){/*{{{*/
 
 	/*go into parameters and get the analysis_counter: */
@@ -1920,6 +1842,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceArea {{{*/
-IssmDouble Tria::SurfaceArea(void){
+IssmDouble Tria::SurfaceArea(void){/*{{{*/
 
 	IssmDouble S;
@@ -1948,6 +1869,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::TimeAdapt{{{*/
-IssmDouble  Tria::TimeAdapt(void){
+IssmDouble Tria::TimeAdapt(void){/*{{{*/
 
 	/*intermediary: */
@@ -1990,6 +1910,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::Update{{{*/
-void Tria::Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finiteelement_type){
+void       Tria::Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type,int finiteelement_type){/*{{{*/
 
 	/*Intermediaries*/
@@ -2087,6 +2006,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::UpdateConstraintsExtrudeFromBase{{{*/
-void  Tria::UpdateConstraintsExtrudeFromBase(void){
+void       Tria::UpdateConstraintsExtrudeFromBase(void){/*{{{*/
 
 	if(!HasEdgeOnBase()) return;
@@ -2112,6 +2030,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::UpdateConstraintsExtrudeFromTop{{{*/
-void  Tria::UpdateConstraintsExtrudeFromTop(void){
+void       Tria::UpdateConstraintsExtrudeFromTop(void){/*{{{*/
 
 	if(!HasEdgeOnSurface()) return;
@@ -2135,22 +2052,18 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ValueP1OnGauss{{{*/
-void Tria::ValueP1OnGauss(IssmDouble* pvalue,IssmDouble* values,Gauss* gauss){
+void       Tria::ValueP1OnGauss(IssmDouble* pvalue,IssmDouble* values,Gauss* gauss){/*{{{*/
 	TriaRef::GetInputValue(pvalue,values,gauss,P1Enum);
 }
 /*}}}*/
-/*FUNCTION Tria::ValueP1DerivativesOnGauss{{{*/
-void Tria::ValueP1DerivativesOnGauss(IssmDouble* dvalue,IssmDouble* values,IssmDouble* xyz_list,Gauss* gauss){
+void       Tria::ValueP1DerivativesOnGauss(IssmDouble* dvalue,IssmDouble* values,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	TriaRef::GetInputDerivativeValue(dvalue,values,xyz_list,gauss);
 }
 /*}}}*/
-/*FUNCTION Tria::VertexConnectivity{{{*/
-int Tria::VertexConnectivity(int vertexindex){
+int        Tria::VertexConnectivity(int vertexindex){/*{{{*/
 	_assert_(this->vertices);
 	return this->vertices[vertexindex]->Connectivity();
 }
 /*}}}*/
-/*FUNCTION Tria::IsZeroLevelset{{{*/
-bool Tria::IsZeroLevelset(int levelset_enum){
+bool       Tria::IsZeroLevelset(int levelset_enum){/*{{{*/
 
 	bool iszerols;
@@ -2171,5 +2084,5 @@
 }
 /*}}}*/
-bool Tria::IsIcefront(void){/*{{{*/
+bool       Tria::IsIcefront(void){/*{{{*/
 
 	bool isicefront;
@@ -2190,5 +2103,5 @@
 	return isicefront;
 }/*}}}*/
-bool Tria::IsFaceOnBoundary(void){/*{{{*/
+bool       Tria::IsFaceOnBoundary(void){/*{{{*/
 
 	IssmDouble values[NUMVERTICES];
@@ -2210,6 +2123,5 @@
 	}
 }/*}}}*/
-/*FUNCTION Tria::AverageOntoPartition {{{*/
-void  Tria::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
+void       Tria::AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){/*{{{*/
 
 	bool       already = false;
@@ -2249,6 +2161,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::IceVolume {{{*/
-IssmDouble Tria::IceVolume(void){
+IssmDouble Tria::IceVolume(void){/*{{{*/
 
 	/*The volume of a troncated prism is base * 1/3 sum(length of edges)*/
@@ -2278,6 +2189,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::IceVolumeAboveFloatation {{{*/
-IssmDouble Tria::IceVolumeAboveFloatation(void){
+IssmDouble Tria::IceVolumeAboveFloatation(void){/*{{{*/
 
 	/*The volume above floatation: H + rho_water/rho_ice * bathymetry */
@@ -2309,6 +2219,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MassFlux {{{*/
-IssmDouble Tria::MassFlux( IssmDouble x1, IssmDouble y1, IssmDouble x2, IssmDouble y2,int segment_id){
+IssmDouble Tria::MassFlux( IssmDouble x1, IssmDouble y1, IssmDouble x2, IssmDouble y2,int segment_id){/*{{{*/
 
 	int        domaintype;
@@ -2373,6 +2282,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MassFlux {{{*/
-IssmDouble Tria::MassFlux( IssmDouble* segment){
+IssmDouble Tria::MassFlux( IssmDouble* segment){/*{{{*/
 
 	int        domaintype;
@@ -2440,6 +2348,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxAbsVx{{{*/
-void  Tria::MaxAbsVx(IssmDouble* pmaxabsvx){
+void       Tria::MaxAbsVx(IssmDouble* pmaxabsvx){/*{{{*/
 
 	/*Get maximum:*/
@@ -2450,6 +2357,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxAbsVy{{{*/
-void  Tria::MaxAbsVy(IssmDouble* pmaxabsvy){
+void       Tria::MaxAbsVy(IssmDouble* pmaxabsvy){/*{{{*/
 
 	/*Get maximum:*/
@@ -2460,6 +2366,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxAbsVz{{{*/
-void  Tria::MaxAbsVz(IssmDouble* pmaxabsvz){
+void       Tria::MaxAbsVz(IssmDouble* pmaxabsvz){/*{{{*/
 
 	/*Get maximum:*/
@@ -2470,6 +2375,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxVel{{{*/
-void  Tria::MaxVel(IssmDouble* pmaxvel){
+void       Tria::MaxVel(IssmDouble* pmaxvel){/*{{{*/
 
 	/*Get maximum:*/
@@ -2480,6 +2384,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxVx{{{*/
-void  Tria::MaxVx(IssmDouble* pmaxvx){
+void       Tria::MaxVx(IssmDouble* pmaxvx){/*{{{*/
 
 	/*Get maximum:*/
@@ -2490,6 +2393,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxVy{{{*/
-void  Tria::MaxVy(IssmDouble* pmaxvy){
+void       Tria::MaxVy(IssmDouble* pmaxvy){/*{{{*/
 
 	/*Get maximum:*/
@@ -2501,6 +2403,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MaxVz{{{*/
-void  Tria::MaxVz(IssmDouble* pmaxvz){
+void       Tria::MaxVz(IssmDouble* pmaxvz){/*{{{*/
 
 	/*Get maximum:*/
@@ -2511,6 +2412,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MinVel{{{*/
-void  Tria::MinVel(IssmDouble* pminvel){
+void       Tria::MinVel(IssmDouble* pminvel){/*{{{*/
 
 	/*Get minimum:*/
@@ -2521,6 +2421,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MinVx{{{*/
-void  Tria::MinVx(IssmDouble* pminvx){
+void       Tria::MinVx(IssmDouble* pminvx){/*{{{*/
 
 	/*Get minimum:*/
@@ -2531,6 +2430,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MinVy{{{*/
-void  Tria::MinVy(IssmDouble* pminvy){
+void       Tria::MinVy(IssmDouble* pminvy){/*{{{*/
 
 	/*Get minimum:*/
@@ -2541,6 +2439,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MinVz{{{*/
-void  Tria::MinVz(IssmDouble* pminvz){
+void       Tria::MinVz(IssmDouble* pminvz){/*{{{*/
 
 	/*Get minimum:*/
@@ -2551,6 +2448,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ElementResponse{{{*/
-void Tria::ElementResponse(IssmDouble* presponse,int response_enum){
+void       Tria::ElementResponse(IssmDouble* presponse,int response_enum){/*{{{*/
 
 	switch(response_enum){
@@ -2577,6 +2473,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::TotalSmb {{{*/
-IssmDouble Tria::TotalSmb(void){
+IssmDouble Tria::TotalSmb(void){/*{{{*/
 
 	/*The smb[kg yr-1] of one element is area[m2] * smb [kg m^-2 yr^-1]*/
@@ -2606,6 +2501,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::MisfitArea{{{*/
-IssmDouble Tria::MisfitArea(int weightsenum){
+IssmDouble Tria::MisfitArea(int weightsenum){/*{{{*/
 
 	/*Intermediaries*/
@@ -2644,6 +2538,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::Misfit{{{*/
-IssmDouble Tria::Misfit(int modelenum,int observationenum,int weightsenum){
+IssmDouble Tria::Misfit(int modelenum,int observationenum,int weightsenum){/*{{{*/
 
 	/*Intermediaries*/
@@ -2688,6 +2581,5 @@
 
 #ifdef _HAVE_GIA_
-/*FUNCTION Tria::GiaDeflection {{{*/
-void Tria::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){
+void       Tria::GiaDeflection(Vector<IssmDouble>* wg,Vector<IssmDouble>* dwgdt,IssmDouble* x, IssmDouble* y){/*{{{*/
 
 	int i;
@@ -2816,6 +2708,5 @@
 #endif
 
-/*FUNCTION Tria::BalancethicknessMisfit{{{*/
-IssmDouble Tria::BalancethicknessMisfit(void){
+IssmDouble Tria::BalancethicknessMisfit(void){/*{{{*/
 
 	/* Intermediaries */
@@ -2874,6 +2765,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputControlUpdate{{{*/
-void  Tria::InputControlUpdate(IssmDouble scalar,bool save_parameter){
+void       Tria::InputControlUpdate(IssmDouble scalar,bool save_parameter){/*{{{*/
 
 	/*Intermediary*/
@@ -2902,6 +2792,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ControlInputGetGradient{{{*/
-void Tria::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){
+void       Tria::ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index){/*{{{*/
 
 	int vertexpidlist[NUMVERTICES];
@@ -2915,6 +2804,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::ControlInputScaleGradient{{{*/
-void Tria::ControlInputScaleGradient(int enum_type,IssmDouble scale){
+void       Tria::ControlInputScaleGradient(int enum_type,IssmDouble scale){/*{{{*/
 
 	Input* input=inputs->GetInput(enum_type);
@@ -2924,6 +2812,5 @@
 	((ControlInput*)input)->ScaleGradient(scale);
 }/*}}}*/
-/*FUNCTION Tria::ControlInputSetGradient{{{*/
-void Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){
+void       Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
 
 	int    vertexpidlist[NUMVERTICES];
@@ -2942,6 +2829,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::ControlToVectors{{{*/
-void Tria::ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){
+void       Tria::ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum){/*{{{*/
 
 	Input* input=inputs->GetInput(control_enum);
@@ -2974,6 +2860,5 @@
 
 }/*}}}*/
-/*FUNCTION Tria::Gradj {{{*/
-void  Tria::Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index){
+void       Tria::Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index){/*{{{*/
 	/*dJ/dalpha = ∂L/∂alpha = ∂J/∂alpha + ∂/∂alpha(KU-F)*/
 
@@ -3042,6 +2927,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjBGradient{{{*/
-void  Tria::GradjBGradient(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjBGradient(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	int        i;
@@ -3082,6 +2966,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjBSSA{{{*/
-void  Tria::GradjBSSA(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjBSSA(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries*/
@@ -3139,6 +3022,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjDSSA{{{*/
-void  Tria::GradjDSSA(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjDSSA(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries*/
@@ -3197,6 +3079,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjDragSSA {{{*/
-void  Tria::GradjDragSSA(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjDragSSA(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	int        i;
@@ -3284,6 +3165,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjDragGradient{{{*/
-void  Tria::GradjDragGradient(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjDragGradient(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	int        i;
@@ -3328,6 +3208,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjDhDtBalancedthickness{{{*/
-void  Tria::GradjDhDtBalancedthickness(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjDhDtBalancedthickness(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries*/
@@ -3344,6 +3223,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjVxBalancedthickness{{{*/
-void  Tria::GradjVxBalancedthickness(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjVxBalancedthickness(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries*/
@@ -3387,6 +3265,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjVyBalancedthickness{{{*/
-void  Tria::GradjVyBalancedthickness(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjVyBalancedthickness(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries*/
@@ -3429,6 +3306,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradjThicknessBalancethicknessSoft{{{*/
-void  Tria::GradjThicknessBalancethicknessSoft(Vector<IssmDouble>* gradient,int control_index){
+void       Tria::GradjThicknessBalancethicknessSoft(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
 
 	/*Intermediaries */
@@ -3538,6 +3414,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GradientIndexing{{{*/
-void  Tria::GradientIndexing(int* indexing,int control_index){
+void       Tria::GradientIndexing(int* indexing,int control_index){/*{{{*/
 
 	/*Get some parameters*/
@@ -3552,6 +3427,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::RheologyBbarAbsGradient{{{*/
-IssmDouble Tria::RheologyBbarAbsGradient(void){
+IssmDouble Tria::RheologyBbarAbsGradient(void){/*{{{*/
 
 	/* Intermediaries */
@@ -3595,6 +3469,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceAverageVelMisfit {{{*/
-IssmDouble Tria::SurfaceAverageVelMisfit(void){
+IssmDouble Tria::SurfaceAverageVelMisfit(void){/*{{{*/
 
 	IssmDouble Jelem=0,S,Jdet;
@@ -3651,6 +3524,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceLogVelMisfit {{{*/
-IssmDouble Tria::SurfaceLogVelMisfit(void){
+IssmDouble Tria::SurfaceLogVelMisfit(void){/*{{{*/
 
 	IssmDouble Jelem=0.;
@@ -3711,6 +3583,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceLogVxVyMisfit {{{*/
-IssmDouble Tria::SurfaceLogVxVyMisfit(void){
+IssmDouble Tria::SurfaceLogVxVyMisfit(void){/*{{{*/
 
 	IssmDouble Jelem=0, S=0;
@@ -3771,6 +3642,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceAbsVelMisfit {{{*/
-IssmDouble Tria::SurfaceAbsVelMisfit(void){
+IssmDouble Tria::SurfaceAbsVelMisfit(void){/*{{{*/
 
 	IssmDouble Jelem=0;
@@ -3827,6 +3697,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SurfaceRelVelMisfit {{{*/
-IssmDouble Tria::SurfaceRelVelMisfit(void){
+IssmDouble Tria::SurfaceRelVelMisfit(void){/*{{{*/
 
 	IssmDouble  Jelem=0;
@@ -3888,6 +3757,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ThicknessAbsGradient{{{*/
-IssmDouble Tria::ThicknessAbsGradient(void){
+IssmDouble Tria::ThicknessAbsGradient(void){/*{{{*/
 
 	/* Intermediaries */
@@ -3931,6 +3799,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ThicknessAlongGradient{{{*/
-IssmDouble Tria::ThicknessAlongGradient(void){
+IssmDouble Tria::ThicknessAlongGradient(void){/*{{{*/
 
 	/* Intermediaries */
@@ -3982,6 +3849,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ThicknessAcrossGradient{{{*/
-IssmDouble Tria::ThicknessAcrossGradient(void){
+IssmDouble Tria::ThicknessAcrossGradient(void){/*{{{*/
 
 	/* Intermediaries */
@@ -4033,6 +3899,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::ThicknessAbsMisfit {{{*/
-IssmDouble Tria::ThicknessAbsMisfit(void){
+IssmDouble Tria::ThicknessAbsMisfit(void){/*{{{*/
 
 	/*Intermediaries*/
@@ -4077,6 +3942,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::DragCoefficientAbsGradient{{{*/
-IssmDouble Tria::DragCoefficientAbsGradient(void){
+IssmDouble Tria::DragCoefficientAbsGradient(void){/*{{{*/
 
 	/* Intermediaries */
@@ -4120,6 +3984,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetVectorFromControlInputs{{{*/
-void  Tria::GetVectorFromControlInputs(Vector<IssmDouble>* vector,int control_enum,int control_index,const char* data){
+void       Tria::GetVectorFromControlInputs(Vector<IssmDouble>* vector,int control_enum,int control_index,const char* data){/*{{{*/
 
 	int vertexpidlist[NUMVERTICES];
@@ -4143,6 +4006,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::SetControlInputsFromVector{{{*/
-void  Tria::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){
+void       Tria::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
 
 	IssmDouble  values[NUMVERTICES];
@@ -4171,6 +4033,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetSolutionFromInputsOneDof{{{*/
-void  Tria::GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution, int enum_type){
+void       Tria::GetSolutionFromInputsOneDof(Vector<IssmDouble>* solution, int enum_type){/*{{{*/
 
 	int        *doflist = NULL;
@@ -4206,6 +4067,5 @@
 
 #ifdef _HAVE_DAKOTA_
-/*FUNCTION Tria::InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);{{{*/
-void  Tria::InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){
+void       Tria::InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){/*{{{*/
 
 	int i,j;
@@ -4298,6 +4158,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type);{{{*/
-void  Tria::InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type){
+void       Tria::InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type){/*{{{*/
 
 	int             i,t,row;
@@ -4339,6 +4198,5 @@
 #endif
 
-/*FUNCTION Tria::MigrateGroundingLine{{{*/
-void  Tria::MigrateGroundingLine(IssmDouble* phi_ungrounding){
+void       Tria::MigrateGroundingLine(IssmDouble* phi_ungrounding){/*{{{*/
 
 	int        i,migration_style;
@@ -4470,6 +4328,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::PotentialUngrounding{{{*/
-void  Tria::PotentialUngrounding(Vector<IssmDouble>* potential_ungrounding){
+void       Tria::PotentialUngrounding(Vector<IssmDouble>* potential_ungrounding){/*{{{*/
 
 	IssmDouble  h[NUMVERTICES],r[NUMVERTICES],gl[NUMVERTICES];
@@ -4498,6 +4355,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::UpdatePotentialUngrounding{{{*/
-int Tria::UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
+int        Tria::UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){/*{{{*/
 
 	int i;
Index: /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 17961)
+++ /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 17962)
@@ -4,5 +4,5 @@
 
 /*Headers:*/
-/*{{{*/
+/*{{{*//*{{{*/
 #ifdef HAVE_CONFIG_H
 	#include <config.h>
@@ -22,11 +22,9 @@
 
 /*Object constructors and destructor*/
-/*FUNCTION TriaRef::TriaRef(){{{*/
-TriaRef::TriaRef(){
+TriaRef::TriaRef(){/*{{{*/
 	this->element_type_list=NULL;
 }
 /*}}}*/
-/*FUNCTION TriaRef::TriaRef(int* types,int nummodels){{{*/
-TriaRef::TriaRef(const int nummodels){
+TriaRef::TriaRef(const int nummodels){/*{{{*/
 
 	/*Only allocate pointer*/
@@ -35,6 +33,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::~TriaRef(){{{*/
-TriaRef::~TriaRef(){
+TriaRef::~TriaRef(){/*{{{*/
 	xDelete<int>(element_type_list);
 }
@@ -42,6 +39,5 @@
 
 /*Management*/
-/*FUNCTION TriaRef::SetElementType{{{*/
-void TriaRef::SetElementType(int type,int type_counter){
+void TriaRef::SetElementType(int type,int type_counter){/*{{{*/
 
 	/*initialize element type*/
@@ -51,6 +47,5 @@
 
 /*Reference Element numerics*/
-/*FUNCTION TriaRef::GetSegmentBFlux{{{*/
-void TriaRef::GetSegmentBFlux(IssmDouble* B,Gauss* gauss, int index1,int index2){
+void TriaRef::GetSegmentBFlux(IssmDouble* B,Gauss* gauss, int index1,int index2){/*{{{*/
 	/*Compute B  matrix. B=[phi1 phi2 -phi3 -phi4]
 	 *
@@ -77,6 +72,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetSegmentBprimeFlux{{{*/
-void TriaRef::GetSegmentBprimeFlux(IssmDouble* Bprime,Gauss* gauss, int index1,int index2){
+void TriaRef::GetSegmentBprimeFlux(IssmDouble* Bprime,Gauss* gauss, int index1,int index2){/*{{{*/
 	/*Compute Bprime  matrix. Bprime=[phi1 phi2 phi3 phi4]
 	 *
@@ -103,6 +97,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetJacobian{{{*/
-void TriaRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,Gauss* gauss){
+void TriaRef::GetJacobian(IssmDouble* J, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*The Jacobian is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -121,6 +114,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetSegmentJacobianDeterminant{{{*/
-void TriaRef::GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss){
+void TriaRef::GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated*/
@@ -136,6 +128,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetJacobianDeterminant{{{*/
-void TriaRef::GetJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss){
+void TriaRef::GetJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 	/*The Jacobian determinant is constant over the element, discard the gaussian points. 
 	 * J is assumed to have been allocated of size NDOF2xNDOF2.*/
@@ -151,6 +142,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetJacobianInvert{{{*/
-void TriaRef::GetJacobianInvert(IssmDouble*  Jinv, IssmDouble* xyz_list,Gauss* gauss){
+void TriaRef::GetJacobianInvert(IssmDouble*  Jinv, IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
 
 	/*Jacobian*/
@@ -165,6 +155,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){{{*/
-void TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){
+void TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -174,6 +163,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss,int finiteelement){{{*/
-void TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement){
+void TriaRef::GetNodalFunctions(IssmDouble* basis,Gauss* gauss_in,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -216,6 +204,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetSegmentNodalFunctions{{{*/
-void TriaRef::GetSegmentNodalFunctions(IssmDouble* basis,Gauss* gauss,int index1,int index2){
+void TriaRef::GetSegmentNodalFunctions(IssmDouble* basis,Gauss* gauss,int index1,int index2){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -256,6 +243,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){
+void TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 
 	GetNodalFunctionsDerivatives(dbasis,xyz_list,gauss,this->element_type);
@@ -263,6 +249,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){{{*/
-void TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){
+void TriaRef::GetNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list, Gauss* gauss,int finiteelement){/*{{{*/
 
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
@@ -294,6 +279,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){{{*/
-void TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){
+void TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -303,6 +287,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss,int finiteelement){{{*/
-void TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in,int finiteelement){
+void TriaRef::GetNodalFunctionsDerivativesReference(IssmDouble* dbasis,Gauss* gauss_in,int finiteelement){/*{{{*/
 	/*This routine returns the values of the nodal functions derivatives  (with respect to the 
 	 * natural coordinate system) at the gaussian point. */
@@ -371,6 +354,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetInputDerivativeValue{{{*/
-void TriaRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, Gauss* gauss){
+void TriaRef::GetInputDerivativeValue(IssmDouble* p, IssmDouble* plist,IssmDouble* xyz_list, Gauss* gauss){/*{{{*/
 
 	/*From node values of parameter p (plist[0],plist[1],plist[2]), return parameter derivative value at gaussian 
@@ -404,12 +386,10 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss){{{*/
-void TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss){
+void TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss){/*{{{*/
 
 	GetInputValue(p,plist,gauss,this->element_type);
 }
 /*}}}*/
-/*FUNCTION TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss,int finiteelement){{{*/
-void TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss,int finiteelement){
+void TriaRef::GetInputValue(IssmDouble* p, IssmDouble* plist, Gauss* gauss,int finiteelement){/*{{{*/
 
 	/*Output*/
@@ -431,12 +411,10 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::NumberofNodes(){{{*/
-int TriaRef::NumberofNodes(void){
+int  TriaRef::NumberofNodes(void){/*{{{*/
 
 	return this->NumberofNodes(this->element_type);
 }
 /*}}}*/
-/*FUNCTION TriaRef::NumberofNodes(int finiteelement){{{*/
-int TriaRef::NumberofNodes(int finiteelement){
+int  TriaRef::NumberofNodes(int finiteelement){/*{{{*/
 
 	switch(finiteelement){
@@ -459,6 +437,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::VelocityInterpolation{{{*/
-int TriaRef::VelocityInterpolation(void){
+int  TriaRef::VelocityInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -475,6 +452,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::PressureInterpolation{{{*/
-int TriaRef::PressureInterpolation(void){
+int  TriaRef::PressureInterpolation(void){/*{{{*/
 
 	switch(this->element_type){
@@ -491,6 +467,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::TensorInterpolation{{{*/
-int TriaRef::TensorInterpolation(void){
+int  TriaRef::TensorInterpolation(void){/*{{{*/
 	/*This routine returns the values of the nodal functions  at the gaussian point.*/
 
@@ -501,6 +476,5 @@
 }
 /*}}}*/
-/*FUNCTION TriaRef::NodeOnEdgeIndices{{{*/
-void TriaRef::NodeOnEdgeIndices(int* pnumindices,int** pindices,int index,int finiteelement){
+void TriaRef::NodeOnEdgeIndices(int* pnumindices,int** pindices,int index,int finiteelement){/*{{{*/
 
 	/*Output*/
