Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 20982)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 20983)
@@ -451,7 +451,4 @@
 issm_sources += ./analyses/ExtrapolationAnalysis.cpp
 endif
-if LSFREINITIALIZATION
-issm_sources += ./analyses/LsfReinitializationAnalysis.cpp
-endif
 #}}}
 #Gia sources  {{{
Index: /issm/trunk-jpl/src/c/analyses/EnumToAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnumToAnalysis.cpp	(revision 20982)
+++ /issm/trunk-jpl/src/c/analyses/EnumToAnalysis.cpp	(revision 20983)
@@ -113,7 +113,4 @@
 		case ExtrapolationAnalysisEnum : return new ExtrapolationAnalysis();
 		#endif
-		#ifdef _HAVE_LSFREINITIALIZATION_
-		case LsfReinitializationAnalysisEnum : return new LsfReinitializationAnalysis();
-		#endif
 		#ifdef _HAVE_SEALEVELRISE_
 		case SealevelriseAnalysisEnum : return new SealevelriseAnalysis();
Index: /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 20982)
+++ /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 20983)
@@ -74,4 +74,5 @@
 void LevelsetAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
 	parameters->AddObject(iomodel->CopyConstantObject("md.levelset.stabilization",LevelsetStabilizationEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.levelset.reinit_frequency",LevelsetReinitFrequencyEnum));
 	int  calvinglaw;
 	iomodel->FindConstant(&calvinglaw,"md.calving.law");
Index: sm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.cpp	(revision 20982)
+++ 	(revision )
@@ -1,559 +1,0 @@
-#include "./LsfReinitializationAnalysis.h"
-#include "../toolkits/toolkits.h"
-#include "../classes/classes.h"
-#include "../shared/shared.h"
-#include "../modules/modules.h"
-#include "../solutionsequences/solutionsequences.h"
-#include "../cores/cores.h"
-
-#include "../modules/GetVectorFromInputsx/GetVectorFromInputsx.h"
-
-/*Model processing*/
-void LsfReinitializationAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
-	/* Do nothing for now */
-}/*}}}*/
-void LsfReinitializationAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/
-	/* Do nothing for now */
-}/*}}}*/
-void LsfReinitializationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
-	int finiteelement=P1Enum;
-	if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
-	::CreateNodes(nodes,iomodel,LsfReinitializationAnalysisEnum,finiteelement);
-	iomodel->DeleteData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface");
-}/*}}}*/
-int  LsfReinitializationAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/
-	return 1;
-}/*}}}*/
-void LsfReinitializationAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
-	int    finiteelement;
-
-	/*Finite element type*/
-	finiteelement = P1Enum;
-
-	/*Update elements: */
-	int counter=0;
-	for(int i=0;i<iomodel->numberofelements;i++){
-		if(iomodel->my_elements[i]){
-			Element* element=(Element*)elements->GetObjectByOffset(counter);
-			element->Update(i,iomodel,analysis_counter,analysis_type,finiteelement);
-			counter++;
-		}
-	}
-
-	iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
-}/*}}}*/
-void LsfReinitializationAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
-	/* Do nothing for now */
-}/*}}}*/
-
-/*Finite element Analysis*/
-void           LsfReinitializationAnalysis::Core(FemModel* femmodel){/*{{{*/
-
-	/*parameters: */
-	bool save_results;
-	int maxiter = 3;
-	int step;
-	IssmDouble reltol = 0.05;
-
-	Vector<IssmDouble>* lsfg     = NULL;
-	Vector<IssmDouble>* lsfg_old = NULL;
-
-	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
-
-	/*activate formulation: */
-	femmodel->SetCurrentConfiguration(LsfReinitializationAnalysisEnum);
-
-	/* set spcs for reinitialization */
-	if(VerboseSolution()) _printf0_("Update spcs for reinitialization:\n");
-	SetReinitSPCs(femmodel);
-
-	step = 1;
-	for(;;){
-
-		_printf_("smoothing lsf slope\n");
-		/* smoothen slope of lsf for computation of normal on ice domain*/
-		levelsetfunctionslope_core(femmodel);
-
-		//solve current artificial time step
-		if(VerboseSolution()) _printf0_("call computational core for reinitialization in step " << step << ":\n");
-		solutionsequence_linear(femmodel);
-		GetSolutionFromInputsx(&lsfg,femmodel);
-
-		if(step>1){
-			if(VerboseSolution()) _printf0_("   checking reinitialization convergence\n");
-			if(ReinitConvergence(lsfg,lsfg_old,reltol)) break;
-		}
-		if(step>maxiter){
-			if(VerboseSolution()) _printf0_("   maximum number reinitialization iterations " << maxiter << " reached\n");
-			break;
-		}
-
-		/*update results and increase counter*/
-		delete lsfg_old;lsfg_old=lsfg;
-		step++;
-	}
-
-	if(save_results){
-		if(VerboseSolution()) _printf0_("   saving results\n");
-		int outputs[1] = {MaskIceLevelsetEnum};
-		femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1);
-	}
-
-}/*}}}*/
-ElementVector* LsfReinitializationAnalysis::CreateDVector(Element* element){/*{{{*/
-	/*Default, return NULL*/
-	return NULL;
-}/*}}}*/
-ElementMatrix* LsfReinitializationAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/
-	_error_("not implemented yet");
-}/*}}}*/
-ElementMatrix* LsfReinitializationAnalysis::CreateKMatrix(Element* element){/*{{{*/
-	
-	/*Intermediaries */
-	const int dim = 2;
-	int        row,col,stabilization;
-	IssmDouble Jdet,D_scalar;
-	IssmDouble dtau = 1.;
-	IssmDouble mu = 1.;
-	IssmDouble* xyz_list = NULL;
-
-	/*Fetch number of nodes and dof for this finite element*/
-	int numnodes = element->GetNumberOfNodes();
-
-	/*Initialize Element vector and other vectors*/
-	ElementMatrix* Ke     = element->NewElementMatrix();
-	IssmDouble*    basis    = xNew<IssmDouble>(numnodes);
-	IssmDouble*    Bprime = xNew<IssmDouble>(dim*numnodes);
-	IssmDouble*    D		= xNew<IssmDouble>(dim*dim);
-	IssmDouble*    dlsf	= xNew<IssmDouble>(dim);
-	IssmDouble*    normal= xNew<IssmDouble>(dim);
-
-	element->GetVerticesCoordinates(&xyz_list);
-
-	/* Start  looping on the number of gaussian points: */
-	Gauss* gauss=element->NewGauss(2);
-	for(int ig=gauss->begin();ig<gauss->end();ig++){/*{{{*/
-		gauss->GaussPoint(ig);
-
-		element->JacobianDeterminant(&Jdet,xyz_list,gauss);
-		D_scalar=gauss->weight*Jdet;
-
-		if(dtau!=0.){
-			element->NodalFunctions(basis,gauss);
-			TripleMultiply(basis,numnodes,1,0,
-						&D_scalar,1,1,0,
-						basis,1,numnodes,0,
-						&Ke->values[0],1);
-			D_scalar*=dtau;
-		}
-
-		GetBprime(Bprime,element,xyz_list,gauss);
-
-		for(row=0;row<dim;row++)
-			for(col=0;col<dim;col++)
-				if(row==col)
-					D[row*dim+col]=mu*D_scalar;
-				else
-					D[row*dim+col]=0.;
-		TripleMultiply(Bprime,dim,numnodes,1,
-					D,dim,dim,0,
-					Bprime,dim,numnodes,0,
-					&Ke->values[0],1);
-
-		/* Stabilization */
-		stabilization=0;
-		if (stabilization==0){/* no stabilization, do nothing*/}
-		
-	}/*}}}*/
-
-	/*Clean up and return*/
-	xDelete<IssmDouble>(xyz_list);
-	xDelete<IssmDouble>(basis);
-	xDelete<IssmDouble>(Bprime);
-	xDelete<IssmDouble>(D);
-	delete gauss;
-	return Ke;
-}/*}}}*/
-ElementVector* LsfReinitializationAnalysis::CreatePVector(Element* element){/*{{{*/
-	
-	/*Intermediaries */
-	int i,k;
-	int dim = 2;
-	IssmDouble dtau = 1.;
-	IssmDouble mu = 1.;
-	IssmDouble Jdet, D_scalar;
-	IssmDouble lsf;
-	IssmDouble norm_dlsf;
-	IssmDouble dbasis_normal;
-
-	/*Fetch number of nodes */
-	int numnodes = element->GetNumberOfNodes();
-
-	IssmDouble* xyz_list = NULL;
-	IssmDouble* basis = xNew<IssmDouble>(numnodes);
-	IssmDouble* dbasis=xNew<IssmDouble>(dim*numnodes);
-	IssmDouble* dlsf = xNew<IssmDouble>(dim);
-	IssmDouble* normal = xNew<IssmDouble>(dim);
-	element->GetVerticesCoordinates(&xyz_list);
-
-	/*Initialize Element vector*/
-	ElementVector* pe = element->NewElementVector();
-
-	/*Retrieve all inputs and parameters*/
-	Input* lsf_input = element->GetInput(MaskIceLevelsetEnum); _assert_(lsf_input);
-	Input* lsf_slopex_input=element->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input);
-	Input* lsf_slopey_input=element->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
-
-	Gauss* gauss=element->NewGauss(2);
-	for(int ig=gauss->begin();ig<gauss->end();ig++){
-		gauss->GaussPoint(ig);
-
-		element->JacobianDeterminant(&Jdet,xyz_list,gauss);
-		element->NodalFunctions(basis,gauss);
-		element->NodalFunctionsDerivatives(dbasis,xyz_list,gauss);
-
-		D_scalar=Jdet*gauss->weight;
-
-		if(dtau!=0.){
-			/* old function value */
-			lsf_input->GetInputValue(&lsf,gauss);
-			for(i=0;i<numnodes;i++) pe->values[i]+=D_scalar*lsf*basis[i];
-			D_scalar*=dtau;
-		}
-
-		lsf_slopex_input->GetInputValue(&dlsf[0],gauss);
-		lsf_slopey_input->GetInputValue(&dlsf[1],gauss);
-
-		/*get normal*/
-		norm_dlsf=0.;
-		for(i=0;i<dim;i++) norm_dlsf+=dlsf[i]*dlsf[i]; 
-		norm_dlsf=sqrt(norm_dlsf);
-		if(norm_dlsf>0.)
-			for(i=0;i<dim;i++)	normal[i]=dlsf[i]/norm_dlsf;
-		else
-			for(i=0;i<dim;i++)	normal[i]=0.;
-
-		/* multiply normal and dbasis */
-		for(i=0;i<numnodes;i++){
-			dbasis_normal=0.;
-			for(k=0;k<dim;k++) dbasis_normal+=dbasis[k*numnodes+i]*normal[k];
-			pe->values[i]+=D_scalar*mu*dbasis_normal; 
-		}
-	}
-
-	xDelete<IssmDouble>(basis);
-	xDelete<IssmDouble>(dbasis);
-	xDelete<IssmDouble>(xyz_list);
-	xDelete<IssmDouble>(dlsf);
-	xDelete<IssmDouble>(normal);
-	return pe;
-	}/*}}}*/
-void           LsfReinitializationAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
-	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
-	 * For node i, Bi can be expressed in the actual coordinate system
-	 * by: 
-	 *       Bi=[ N ]
-	 *          [ N ]
-	 * where N is the finiteelement function for node i.
-	 *
-	 * We assume B_prog has been allocated already, of size: 2x(NDOF1*numnodes)
-	 */
-
-	/*Fetch number of nodes for this finite element*/
-	int numnodes = element->GetNumberOfNodes();
-
-	/*Get nodal functions*/
-	IssmDouble* basis=xNew<IssmDouble>(numnodes);
-	element->NodalFunctions(basis,gauss);
-
-	/*Build B: */
-	for(int i=0;i<numnodes;i++){
-		B[numnodes*0+i] = basis[i];
-		B[numnodes*1+i] = basis[i];
-	}
-
-	/*Clean-up*/
-	xDelete<IssmDouble>(basis);
-}/*}}}*/
-void           LsfReinitializationAnalysis::GetBprime(IssmDouble* Bprime,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
-	/*Compute B'  matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2. 
-	 * For node i, Bi' can be expressed in the actual coordinate system
-	 * by: 
-	 *       Bi_prime=[ dN/dx ]
-	 *                [ dN/dy ]
-	 * where N is the finiteelement function for node i.
-	 *
-	 * We assume B' has been allocated already, of size: 3x(NDOF2*numnodes)
-	 */
-
-	/*Fetch number of nodes for this finite element*/
-	int numnodes = element->GetNumberOfNodes();
-
-	/*Get nodal functions derivatives*/
-	IssmDouble* dbasis=xNew<IssmDouble>(2*numnodes);
-	element->NodalFunctionsDerivatives(dbasis,xyz_list,gauss);
-
-	/*Build B': */
-	for(int i=0;i<numnodes;i++){
-		Bprime[numnodes*0+i] = dbasis[0*numnodes+i];
-		Bprime[numnodes*1+i] = dbasis[1*numnodes+i];
-	}
-
-	/*Clean-up*/
-	xDelete<IssmDouble>(dbasis);
-
-}/*}}}*/
-IssmDouble     LsfReinitializationAnalysis::GetDistanceToStraight(IssmDouble* q, IssmDouble* s0, IssmDouble* s1){/*{{{*/
-	// returns distance d of point q to straight going through points s0, s1
-	// d=|a x b|/|b|
-	// with a=q-s0, b=s1-s0
-	
-	/* Intermediaries */
-	const int dim=2;
-	int i;
-	IssmDouble a[dim], b[dim];
-	IssmDouble norm_b;
-
-	for(i=0;i<dim;i++){
-		a[i]=q[i]-s0[i];
-		b[i]=s1[i]-s0[i];
-	}
-	
-	norm_b=0.;
-	for(i=0;i<dim;i++)
-		norm_b+=b[i]*b[i];
-	norm_b=sqrt(norm_b);
-	_assert_(norm_b>0.);
-
-	return fabs(a[0]*b[1]-a[1]*b[0])/norm_b;
-}/*}}}*/
-void           LsfReinitializationAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
-
-	IssmDouble   lsf;
-	int          dim;
-	int*         doflist = NULL;
-
-	/*Get some parameters*/
-	element->FindParam(&dim,DomainDimensionEnum);
-
-	/*Fetch number of nodes and dof for this finite element*/
-	int numnodes = element->GetNumberOfNodes();
-
-	/*Fetch dof list and allocate solution vector*/
-	element->GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
-	IssmDouble* values = xNew<IssmDouble>(numnodes);
-
-	/*Get inputs*/
-	Input* lsf_input=element->GetInput(MaskIceLevelsetEnum); _assert_(lsf_input);
-
-	Gauss* gauss=element->NewGauss();
-	for(int i=0;i<numnodes;i++){
-		gauss->GaussNode(element->FiniteElement(),i);
-
-		lsf_input->GetInputValue(&lsf,gauss);
-		values[i]=lsf;
-	}
-
-	solution->SetValues(numnodes,doflist,values,INS_VAL);
-
-	/*Free ressources:*/
-	delete gauss;
-	xDelete<IssmDouble>(values);
-	xDelete<int>(doflist);
-
-}/*}}}*/
-void           LsfReinitializationAnalysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index){/*{{{*/
-	_error_("Not implemented yet");
-}/*}}}*/
-void           LsfReinitializationAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
-
-	int domaintype;
-	element->FindParam(&domaintype,DomainTypeEnum);
-	switch(domaintype){
-		case Domain2DhorizontalEnum:
-			element->InputUpdateFromSolutionOneDof(solution,MaskIceLevelsetEnum);
-			break;
-		case Domain3DEnum:
-			element->InputUpdateFromSolutionOneDofCollapsed(solution,MaskIceLevelsetEnum);
-			break;
-		default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
-	}
-}/*}}}*/
-bool           LsfReinitializationAnalysis::ReinitConvergence(Vector<IssmDouble>* lsfg,Vector<IssmDouble>* lsfg_old,IssmDouble reltol){/*{{{*/
-
-	/*Output*/
-	bool converged = true;
-
-	/*Intermediary*/
-	Vector<IssmDouble>* dlsfg    = NULL;
-	IssmDouble          norm_dlsf,norm_lsf;
-
-	/*compute norm(du)/norm(u)*/
-	dlsfg=lsfg_old->Duplicate(); lsfg_old->Copy(dlsfg); dlsfg->AYPX(lsfg,-1.0);
-	norm_dlsf=dlsfg->Norm(NORM_TWO); norm_lsf=lsfg_old->Norm(NORM_TWO);
-	if (xIsNan<IssmDouble>(norm_dlsf) || xIsNan<IssmDouble>(norm_lsf)) _error_("convergence criterion is NaN!");
-	if((norm_dlsf/norm_lsf)<reltol){
-		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<norm_dlsf/norm_lsf*100<<" < "<<reltol*100<<" %\n");
-	}
-	else{ 
-		if(VerboseConvergence()) _printf0_("\n"<<setw(50)<<left<<"   Velocity convergence: norm(du)/norm(u)"<<norm_dlsf/norm_lsf*100<<" > "<<reltol*100<<" %\n");
-		converged=false;
-	}
-
-	/*Cleanup*/
-	delete dlsfg;
-
-	return converged;
-}/*}}}*/
-void           LsfReinitializationAnalysis::SetDistanceOnIntersectedElements(FemModel* femmodel){/*{{{*/
-
-	/* Intermediaries */
-	int i;
-	IssmDouble dmaxp,dmaxm,val;
-	Element* element;
-
-	/*Initialize vector with number of vertices*/
-	int numvertices=femmodel->vertices->NumberOfVertices();
-
-	Vector<IssmDouble>* vec_dist_zerolevelset = NULL;
-	GetVectorFromInputsx(&vec_dist_zerolevelset, femmodel, MaskIceLevelsetEnum, VertexPIdEnum);
-	
-	/* set distance on elements intersected by zero levelset */
-	for(i=0;i<femmodel->elements->Size();i++){
-		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		if(element->IsZeroLevelset(MaskIceLevelsetEnum)){
-			SetDistanceToZeroLevelsetElement(vec_dist_zerolevelset, element);
-		}
-	}
-	vec_dist_zerolevelset->Assemble();
-
-	/* Get maximum distance to interface along vertices */
-	dmaxp=0.; dmaxm=0.;
-	for(i=0;i<numvertices;i++){
-		vec_dist_zerolevelset->GetValue(&val,i); 
-		if((val>0.) && (val>dmaxp))
-			 dmaxp=val;
-		else if((val<0.) && (val<dmaxm))
-			 dmaxm=val;
-	}
-	//wait until all values are computed
-
-	/* set all none intersected vertices to max/min distance */
-	for(i=0;i<numvertices;i++){
-		vec_dist_zerolevelset->GetValue(&val,i);
-		if(val==1.) //FIXME: improve check
-			vec_dist_zerolevelset->SetValue(i,3.*dmaxp,INS_VAL);
-		else if(val==-1.)
-			vec_dist_zerolevelset->SetValue(i,3.*dmaxm,INS_VAL);
-	}
-
-	/*Assemble vector and serialize */
-	vec_dist_zerolevelset->Assemble();
-	IssmDouble* dist_zerolevelset=vec_dist_zerolevelset->ToMPISerial();
-	InputUpdateFromVectorx(femmodel,dist_zerolevelset,MaskIceLevelsetEnum,VertexSIdEnum);
-
-	/*Clean up and return*/
-	delete vec_dist_zerolevelset;
-	delete dist_zerolevelset;
-
-}/*}}}*/
-void           LsfReinitializationAnalysis::SetDistanceToZeroLevelsetElement(Vector<IssmDouble>* vec_signed_dist, Element* element){/*{{{*/
-
-	if(!element->IsZeroLevelset(MaskIceLevelsetEnum))
-		return;
-
-	/* Intermediaries */
-	int dim=3;
-	int i,d;
-	IssmDouble dist,lsf_old;
-
-	int numvertices=element->GetNumberOfVertices();
-
-	IssmDouble* lsf = xNew<IssmDouble>(numvertices);
-	IssmDouble* sign_lsf = xNew<IssmDouble>(numvertices);
-	IssmDouble* signed_dist = xNew<IssmDouble>(numvertices);
-	IssmDouble* s0 = xNew<IssmDouble>(dim);
-	IssmDouble* s1 = xNew<IssmDouble>(dim);
-	IssmDouble* v = xNew<IssmDouble>(dim);
-	IssmDouble* xyz_list = NULL;
-	IssmDouble* xyz_list_zero = NULL;
-
-	/* retrieve inputs and parameters */
-	element->GetVerticesCoordinates(&xyz_list);
-	element->GetInputListOnVertices(lsf,MaskIceLevelsetEnum);
-
-	/* get sign of levelset function */
-	for(i=0;i<numvertices;i++)
-		sign_lsf[i]=(lsf[i]>=0.?1.:-1.);
-
-	element->ZeroLevelsetCoordinates(&xyz_list_zero, xyz_list, MaskIceLevelsetEnum);
-	for(i=0;i<dim;i++){
-		s0[i]=xyz_list_zero[0+i];
-		s1[i]=xyz_list_zero[3+i];
-	}
-
-	/* get signed_distance of vertices to zero levelset straight */
-	for(i=0;i<numvertices;i++){
-		for(d=0;d<dim;d++)
-			v[d]=xyz_list[dim*i+d];
-		dist=GetDistanceToStraight(&v[0],&s0[0],&s1[0]);
-		signed_dist[i]=sign_lsf[i]*dist;
-	}
-	
-	/* insert signed_distance into vec_signed_dist, if computed distance is smaller */
-	for(i=0;i<numvertices;i++){
-		vec_signed_dist->GetValue(&lsf_old, element->vertices[i]->Sid());
-		/* initial lsf values are +-1. Update those fields or if distance to interface smaller.*/
-		if(fabs(lsf_old)==1. || fabs(signed_dist[i])<fabs(lsf_old))
-			vec_signed_dist->SetValue(element->vertices[i]->Sid(),signed_dist[i],INS_VAL);
-	}
-
-	xDelete<IssmDouble>(lsf);
-	xDelete<IssmDouble>(sign_lsf);
-	xDelete<IssmDouble>(signed_dist);
-	xDelete<IssmDouble>(s0);
-	xDelete<IssmDouble>(s1);
-	xDelete<IssmDouble>(v);
-
-}/*}}}*/
-void           LsfReinitializationAnalysis::SetReinitSPCs(FemModel* femmodel){/*{{{*/
-
-	int i,k, numnodes;
-	Element* element;
-	Node* node;
-
-	/* deactivate all spcs */
-	for(i=0;i<femmodel->elements->Size();i++){
-		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		for(k=0;k<element->GetNumberOfNodes();k++){
-			node=element->GetNode(k);
-			if(node->IsActive()){
-				node->DofInFSet(0); 
-			}
-		}
-	}
-
-	SetDistanceOnIntersectedElements(femmodel);
-
-	/* reactivate spcs on elements intersected by zero levelset */
-	for(i=0;i<femmodel->elements->Size();i++){
-		element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
-		if(element->IsZeroLevelset(MaskIceLevelsetEnum)){
-			/*iterate over nodes and set spc */
-			numnodes=element->GetNumberOfNodes();
-			IssmDouble* lsf = xNew<IssmDouble>(numnodes);
-			element->GetInputListOnNodes(&lsf[0],MaskIceLevelsetEnum);
-			for(k=0;k<numnodes;k++){
-				node=element->GetNode(k);
-				if(node->IsActive()){
-					node->ApplyConstraint(0,lsf[k]);
-				}
-			}
-			xDelete<IssmDouble>(lsf);
-		}
-	}
-
-}/*}}}*/
-void           LsfReinitializationAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
-	/* Do nothing for now */
-}/*}}}*/
Index: sm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.h
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.h	(revision 20982)
+++ 	(revision )
@@ -1,40 +1,0 @@
-/*! \file LsfReinitializationAnalysis.h 
- *  \brief: header file for generic external result object
- */
-
-#ifndef _LsfReinitializationAnalysis_
-#define _LsfReinitializationAnalysis_
-
-/*Headers*/
-#include "./Analysis.h"
-
-class LsfReinitializationAnalysis: public Analysis{
-	
-public:
-	/*Model processing*/
-	void CreateConstraints(Constraints* constraints,IoModel* iomodel);
-	void CreateLoads(Loads* loads, IoModel* iomodel);
-	void CreateNodes(Nodes* nodes,IoModel* iomodel);
-	int  DofsPerNode(int** doflist,int domaintype,int approximation);
-	void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
-	void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum);
-
-	/*Finite element Analysis*/
-	void           Core(FemModel* femmodel);
-	ElementVector* CreateDVector(Element* element);
-	ElementMatrix* CreateJacobianMatrix(Element* element);
-	ElementMatrix* CreateKMatrix(Element* element);
-	ElementVector* CreatePVector(Element* element);
-	void           GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
-	void           GetBprime(IssmDouble* Bprime,Element* element,IssmDouble* xyz_list,Gauss* gauss);
-	IssmDouble     GetDistanceToStraight(IssmDouble* q, IssmDouble* s0, IssmDouble* s1);
-	void           GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
-	void           GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
-	void           InputUpdateFromSolution(IssmDouble* solution,Element* element);
-	bool           ReinitConvergence(Vector<IssmDouble>* lsfg,Vector<IssmDouble>* lsfg_old,IssmDouble reltol);
-	void           SetDistanceOnIntersectedElements(FemModel* femmodel);
-	void           SetDistanceToZeroLevelsetElement(Vector<IssmDouble>* vec_dist, Element* element);
-	void           SetReinitSPCs(FemModel* femmodel);
-	void           UpdateConstraints(FemModel* femmodel);
-};
-#endif
Index: /issm/trunk-jpl/src/c/analyses/analyses.h
===================================================================
--- /issm/trunk-jpl/src/c/analyses/analyses.h	(revision 20982)
+++ /issm/trunk-jpl/src/c/analyses/analyses.h	(revision 20983)
@@ -29,5 +29,4 @@
 #include "./HydrologySommersAnalysis.h"
 #include "./LevelsetAnalysis.h"
-#include "./LsfReinitializationAnalysis.h"
 #include "./MasstransportAnalysis.h"
 #include "./SmbAnalysis.h"
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 20982)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 20983)
@@ -677,7 +677,6 @@
 			if(issmb) analyses_temp[numanalyses++]=SmbAnalysisEnum;
 			if(ismovingfront){
+				analyses_temp[numanalyses++]=ExtrapolationAnalysisEnum;
 				analyses_temp[numanalyses++]=LevelsetAnalysisEnum;
-				analyses_temp[numanalyses++]=ExtrapolationAnalysisEnum;
-				analyses_temp[numanalyses++]=LsfReinitializationAnalysisEnum;
 			}
 			if(ishydrology){
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 20982)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 20983)
@@ -554,5 +554,4 @@
 	LevelsetStabilizationEnum,
 	ExtrapolationAnalysisEnum,
-	LsfReinitializationAnalysisEnum,
 	/*}}}*/
 	/*Approximations {{{*/
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 20982)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 20983)
@@ -550,5 +550,4 @@
 		case LevelsetStabilizationEnum : return "LevelsetStabilization";
 		case ExtrapolationAnalysisEnum : return "ExtrapolationAnalysis";
-		case LsfReinitializationAnalysisEnum : return "LsfReinitializationAnalysis";
 		case ApproximationEnum : return "Approximation";
 		case NoneApproximationEnum : return "NoneApproximation";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 20982)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 20983)
@@ -562,5 +562,4 @@
 	      else if (strcmp(name,"LevelsetStabilization")==0) return LevelsetStabilizationEnum;
 	      else if (strcmp(name,"ExtrapolationAnalysis")==0) return ExtrapolationAnalysisEnum;
-	      else if (strcmp(name,"LsfReinitializationAnalysis")==0) return LsfReinitializationAnalysisEnum;
 	      else if (strcmp(name,"Approximation")==0) return ApproximationEnum;
 	      else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
@@ -629,9 +628,9 @@
 	      else if (strcmp(name,"Masscon")==0) return MassconEnum;
 	      else if (strcmp(name,"MassconName")==0) return MassconNameEnum;
+	      else if (strcmp(name,"MassconDefinitionenum")==0) return MassconDefinitionenumEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"MassconDefinitionenum")==0) return MassconDefinitionenumEnum;
-	      else if (strcmp(name,"MassconLevelset")==0) return MassconLevelsetEnum;
+	      if (strcmp(name,"MassconLevelset")==0) return MassconLevelsetEnum;
 	      else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum;
 	      else if (strcmp(name,"MassconaxpbyName")==0) return MassconaxpbyNameEnum;
@@ -752,9 +751,9 @@
 	      else if (strcmp(name,"DeviatoricStressxy")==0) return DeviatoricStressxyEnum;
 	      else if (strcmp(name,"DeviatoricStressxz")==0) return DeviatoricStressxzEnum;
+	      else if (strcmp(name,"DeviatoricStressyy")==0) return DeviatoricStressyyEnum;
          else stage=7;
    }
    if(stage==7){
-	      if (strcmp(name,"DeviatoricStressyy")==0) return DeviatoricStressyyEnum;
-	      else if (strcmp(name,"DeviatoricStressyz")==0) return DeviatoricStressyzEnum;
+	      if (strcmp(name,"DeviatoricStressyz")==0) return DeviatoricStressyzEnum;
 	      else if (strcmp(name,"DeviatoricStresszz")==0) return DeviatoricStresszzEnum;
 	      else if (strcmp(name,"DeviatoricStresseffective")==0) return DeviatoricStresseffectiveEnum;
@@ -875,9 +874,9 @@
 	      else if (strcmp(name,"Outputdefinition68")==0) return Outputdefinition68Enum;
 	      else if (strcmp(name,"Outputdefinition69")==0) return Outputdefinition69Enum;
+	      else if (strcmp(name,"Outputdefinition70")==0) return Outputdefinition70Enum;
          else stage=8;
    }
    if(stage==8){
-	      if (strcmp(name,"Outputdefinition70")==0) return Outputdefinition70Enum;
-	      else if (strcmp(name,"Outputdefinition71")==0) return Outputdefinition71Enum;
+	      if (strcmp(name,"Outputdefinition71")==0) return Outputdefinition71Enum;
 	      else if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum;
 	      else if (strcmp(name,"Outputdefinition73")==0) return Outputdefinition73Enum;
@@ -998,9 +997,9 @@
 	      else if (strcmp(name,"RestartFileName")==0) return RestartFileNameEnum;
 	      else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum;
+	      else if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum;
          else stage=9;
    }
    if(stage==9){
-	      if (strcmp(name,"ToolkitsOptionsStrings")==0) return ToolkitsOptionsStringsEnum;
-	      else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;
+	      if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum;
 	      else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
 	      else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.js
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 20982)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 20983)
@@ -535,489 +535,488 @@
 function LevelsetStabilizationEnum(){ return 531;}
 function ExtrapolationAnalysisEnum(){ return 532;}
-function LsfReinitializationAnalysisEnum(){ return 533;}
-function ApproximationEnum(){ return 534;}
-function NoneApproximationEnum(){ return 535;}
-function SIAApproximationEnum(){ return 536;}
-function SSAApproximationEnum(){ return 537;}
-function SSAHOApproximationEnum(){ return 538;}
-function SSAFSApproximationEnum(){ return 539;}
-function L1L2ApproximationEnum(){ return 540;}
-function HOApproximationEnum(){ return 541;}
-function HOFSApproximationEnum(){ return 542;}
-function FSApproximationEnum(){ return 543;}
-function FSvelocityEnum(){ return 544;}
-function FSpressureEnum(){ return 545;}
-function DataSetEnum(){ return 546;}
-function ConstraintsEnum(){ return 547;}
-function LoadsEnum(){ return 548;}
-function MaterialsEnum(){ return 549;}
-function NodesEnum(){ return 550;}
-function ContoursEnum(){ return 551;}
-function ParametersEnum(){ return 552;}
-function VerticesEnum(){ return 553;}
-function ResultsEnum(){ return 554;}
-function GenericParamEnum(){ return 555;}
-function AdolcParamEnum(){ return 556;}
-function BoolInputEnum(){ return 557;}
-function BoolParamEnum(){ return 558;}
-function ContourEnum(){ return 559;}
-function ControlInputEnum(){ return 560;}
-function DatasetInputEnum(){ return 561;}
-function DoubleInputEnum(){ return 562;}
-function DoubleArrayInputEnum(){ return 563;}
-function DataSetParamEnum(){ return 564;}
-function DoubleMatArrayParamEnum(){ return 565;}
-function DoubleMatParamEnum(){ return 566;}
-function DoubleParamEnum(){ return 567;}
-function DoubleVecParamEnum(){ return 568;}
-function ElementEnum(){ return 569;}
-function ElementHookEnum(){ return 570;}
-function HookEnum(){ return 571;}
-function ExternalResultEnum(){ return 572;}
-function FileParamEnum(){ return 573;}
-function InputEnum(){ return 574;}
-function IntInputEnum(){ return 575;}
-function InputToExtrudeEnum(){ return 576;}
-function InputToL2ProjectEnum(){ return 577;}
-function InputToDepthaverageEnum(){ return 578;}
-function InputToSmoothEnum(){ return 579;}
-function SmoothThicknessMultiplierEnum(){ return 580;}
-function IntParamEnum(){ return 581;}
-function IntVecParamEnum(){ return 582;}
-function TransientParamEnum(){ return 583;}
-function MaticeEnum(){ return 584;}
-function MatdamageiceEnum(){ return 585;}
-function MatestarEnum(){ return 586;}
-function MatparEnum(){ return 587;}
-function NodeEnum(){ return 588;}
-function NumericalfluxEnum(){ return 589;}
-function NumericalfluxTypeEnum(){ return 590;}
-function NeumannfluxEnum(){ return 591;}
-function ParamEnum(){ return 592;}
-function MoulinEnum(){ return 593;}
-function PengridEnum(){ return 594;}
-function PenpairEnum(){ return 595;}
-function ProfilerEnum(){ return 596;}
-function MatrixParamEnum(){ return 597;}
-function MassconEnum(){ return 598;}
-function MassconNameEnum(){ return 599;}
-function MassconDefinitionenumEnum(){ return 600;}
-function MassconLevelsetEnum(){ return 601;}
-function MassconaxpbyEnum(){ return 602;}
-function MassconaxpbyNameEnum(){ return 603;}
-function MassconaxpbyDefinitionenumEnum(){ return 604;}
-function MassconaxpbyNamexEnum(){ return 605;}
-function MassconaxpbyNameyEnum(){ return 606;}
-function MassconaxpbyAlphaEnum(){ return 607;}
-function MassconaxpbyBetaEnum(){ return 608;}
-function NodeSIdEnum(){ return 609;}
-function VectorParamEnum(){ return 610;}
-function RiftfrontEnum(){ return 611;}
-function RiftfrontTypeEnum(){ return 612;}
-function SegmentEnum(){ return 613;}
-function SegmentRiftfrontEnum(){ return 614;}
-function SpcDynamicEnum(){ return 615;}
-function SpcStaticEnum(){ return 616;}
-function SpcTransientEnum(){ return 617;}
-function StringArrayParamEnum(){ return 618;}
-function StringParamEnum(){ return 619;}
-function SegEnum(){ return 620;}
-function SegInputEnum(){ return 621;}
-function TriaEnum(){ return 622;}
-function TriaInputEnum(){ return 623;}
-function TetraEnum(){ return 624;}
-function TetraInputEnum(){ return 625;}
-function PentaEnum(){ return 626;}
-function PentaInputEnum(){ return 627;}
-function VertexEnum(){ return 628;}
-function VertexPIdEnum(){ return 629;}
-function VertexSIdEnum(){ return 630;}
-function AirEnum(){ return 631;}
-function IceEnum(){ return 632;}
-function MelangeEnum(){ return 633;}
-function WaterEnum(){ return 634;}
-function ClosedEnum(){ return 635;}
-function FreeEnum(){ return 636;}
-function OpenEnum(){ return 637;}
-function AdjointpEnum(){ return 638;}
-function AdjointxEnum(){ return 639;}
-function AdjointyEnum(){ return 640;}
-function AdjointzEnum(){ return 641;}
-function BalancethicknessMisfitEnum(){ return 642;}
-function BedSlopeXEnum(){ return 643;}
-function BedSlopeYEnum(){ return 644;}
-function BoundaryEnum(){ return 645;}
-function ConvergedEnum(){ return 646;}
-function FillEnum(){ return 647;}
-function FractionIncrementEnum(){ return 648;}
-function FrictionEnum(){ return 649;}
-function InternalEnum(){ return 650;}
-function MassFluxEnum(){ return 651;}
-function MeltingOffsetEnum(){ return 652;}
-function MisfitEnum(){ return 653;}
-function PressureEnum(){ return 654;}
-function PressurePicardEnum(){ return 655;}
-function AndroidFrictionCoefficientEnum(){ return 656;}
-function ResetPenaltiesEnum(){ return 657;}
-function SegmentOnIceShelfEnum(){ return 658;}
-function SurfaceAbsVelMisfitEnum(){ return 659;}
-function SurfaceAreaEnum(){ return 660;}
-function SurfaceAverageVelMisfitEnum(){ return 661;}
-function SurfaceLogVelMisfitEnum(){ return 662;}
-function SurfaceLogVxVyMisfitEnum(){ return 663;}
-function SurfaceRelVelMisfitEnum(){ return 664;}
-function SurfaceSlopeXEnum(){ return 665;}
-function SurfaceSlopeYEnum(){ return 666;}
-function TemperatureEnum(){ return 667;}
-function TemperaturePicardEnum(){ return 668;}
-function TemperaturePDDEnum(){ return 669;}
-function ThicknessAbsMisfitEnum(){ return 670;}
-function SurfaceAbsMisfitEnum(){ return 671;}
-function VelEnum(){ return 672;}
-function VelocityEnum(){ return 673;}
-function VxAverageEnum(){ return 674;}
-function VxEnum(){ return 675;}
-function VxPicardEnum(){ return 676;}
-function VyAverageEnum(){ return 677;}
-function VyEnum(){ return 678;}
-function VyPicardEnum(){ return 679;}
-function VzEnum(){ return 680;}
-function VzSSAEnum(){ return 681;}
-function VzHOEnum(){ return 682;}
-function VzPicardEnum(){ return 683;}
-function VzFSEnum(){ return 684;}
-function VxMeshEnum(){ return 685;}
-function VyMeshEnum(){ return 686;}
-function VzMeshEnum(){ return 687;}
-function EnthalpyEnum(){ return 688;}
-function EnthalpyPicardEnum(){ return 689;}
-function ThicknessAbsGradientEnum(){ return 690;}
-function ThicknessAlongGradientEnum(){ return 691;}
-function ThicknessAcrossGradientEnum(){ return 692;}
-function ThicknessPositiveEnum(){ return 693;}
-function IntMatParamEnum(){ return 694;}
-function RheologyBbarAbsGradientEnum(){ return 695;}
-function RheologyBAbsGradientEnum(){ return 696;}
-function DragCoefficientAbsGradientEnum(){ return 697;}
-function TransientInputEnum(){ return 698;}
-function WaterfractionEnum(){ return 699;}
-function WatercolumnEnum(){ return 700;}
-function BasalFrictionEnum(){ return 701;}
-function ViscousHeatingEnum(){ return 702;}
-function HydrologyWaterVxEnum(){ return 703;}
-function HydrologyWaterVyEnum(){ return 704;}
-function DrivingStressXEnum(){ return 705;}
-function DrivingStressYEnum(){ return 706;}
-function SigmaNNEnum(){ return 707;}
-function StressTensorEnum(){ return 708;}
-function StressTensorxxEnum(){ return 709;}
-function StressTensorxyEnum(){ return 710;}
-function StressTensorxzEnum(){ return 711;}
-function StressTensoryyEnum(){ return 712;}
-function StressTensoryzEnum(){ return 713;}
-function StressTensorzzEnum(){ return 714;}
-function StressMaxPrincipalEnum(){ return 715;}
-function DeviatoricStressEnum(){ return 716;}
-function DeviatoricStressxxEnum(){ return 717;}
-function DeviatoricStressxyEnum(){ return 718;}
-function DeviatoricStressxzEnum(){ return 719;}
-function DeviatoricStressyyEnum(){ return 720;}
-function DeviatoricStressyzEnum(){ return 721;}
-function DeviatoricStresszzEnum(){ return 722;}
-function DeviatoricStresseffectiveEnum(){ return 723;}
-function LambdaSEnum(){ return 724;}
-function StrainRateEnum(){ return 725;}
-function StrainRatexxEnum(){ return 726;}
-function StrainRatexyEnum(){ return 727;}
-function StrainRatexzEnum(){ return 728;}
-function StrainRateyyEnum(){ return 729;}
-function StrainRateyzEnum(){ return 730;}
-function StrainRatezzEnum(){ return 731;}
-function DivergenceEnum(){ return 732;}
-function MaxDivergenceEnum(){ return 733;}
-function GiaCrossSectionShapeEnum(){ return 734;}
-function GiadWdtEnum(){ return 735;}
-function GiaWEnum(){ return 736;}
-function P0Enum(){ return 737;}
-function P0ArrayEnum(){ return 738;}
-function P1Enum(){ return 739;}
-function P1DGEnum(){ return 740;}
-function P1bubbleEnum(){ return 741;}
-function P1bubblecondensedEnum(){ return 742;}
-function P2Enum(){ return 743;}
-function P2bubbleEnum(){ return 744;}
-function P2bubblecondensedEnum(){ return 745;}
-function P2xP1Enum(){ return 746;}
-function P1xP2Enum(){ return 747;}
-function P1xP3Enum(){ return 748;}
-function P2xP4Enum(){ return 749;}
-function P1P1Enum(){ return 750;}
-function P1P1GLSEnum(){ return 751;}
-function MINIEnum(){ return 752;}
-function MINIcondensedEnum(){ return 753;}
-function TaylorHoodEnum(){ return 754;}
-function LATaylorHoodEnum(){ return 755;}
-function XTaylorHoodEnum(){ return 756;}
-function OneLayerP4zEnum(){ return 757;}
-function CrouzeixRaviartEnum(){ return 758;}
-function LACrouzeixRaviartEnum(){ return 759;}
-function SaveResultsEnum(){ return 760;}
-function BoolExternalResultEnum(){ return 761;}
-function DoubleExternalResultEnum(){ return 762;}
-function DoubleMatExternalResultEnum(){ return 763;}
-function IntExternalResultEnum(){ return 764;}
-function JEnum(){ return 765;}
-function StringExternalResultEnum(){ return 766;}
-function StepEnum(){ return 767;}
-function TimeEnum(){ return 768;}
-function WaterColumnOldEnum(){ return 769;}
-function OutputdefinitionEnum(){ return 770;}
-function Outputdefinition1Enum(){ return 771;}
-function Outputdefinition2Enum(){ return 772;}
-function Outputdefinition3Enum(){ return 773;}
-function Outputdefinition4Enum(){ return 774;}
-function Outputdefinition5Enum(){ return 775;}
-function Outputdefinition6Enum(){ return 776;}
-function Outputdefinition7Enum(){ return 777;}
-function Outputdefinition8Enum(){ return 778;}
-function Outputdefinition9Enum(){ return 779;}
-function Outputdefinition10Enum(){ return 780;}
-function Outputdefinition11Enum(){ return 781;}
-function Outputdefinition12Enum(){ return 782;}
-function Outputdefinition13Enum(){ return 783;}
-function Outputdefinition14Enum(){ return 784;}
-function Outputdefinition15Enum(){ return 785;}
-function Outputdefinition16Enum(){ return 786;}
-function Outputdefinition17Enum(){ return 787;}
-function Outputdefinition18Enum(){ return 788;}
-function Outputdefinition19Enum(){ return 789;}
-function Outputdefinition20Enum(){ return 790;}
-function Outputdefinition21Enum(){ return 791;}
-function Outputdefinition22Enum(){ return 792;}
-function Outputdefinition23Enum(){ return 793;}
-function Outputdefinition24Enum(){ return 794;}
-function Outputdefinition25Enum(){ return 795;}
-function Outputdefinition26Enum(){ return 796;}
-function Outputdefinition27Enum(){ return 797;}
-function Outputdefinition28Enum(){ return 798;}
-function Outputdefinition29Enum(){ return 799;}
-function Outputdefinition30Enum(){ return 800;}
-function Outputdefinition31Enum(){ return 801;}
-function Outputdefinition32Enum(){ return 802;}
-function Outputdefinition33Enum(){ return 803;}
-function Outputdefinition34Enum(){ return 804;}
-function Outputdefinition35Enum(){ return 805;}
-function Outputdefinition36Enum(){ return 806;}
-function Outputdefinition37Enum(){ return 807;}
-function Outputdefinition38Enum(){ return 808;}
-function Outputdefinition39Enum(){ return 809;}
-function Outputdefinition40Enum(){ return 810;}
-function Outputdefinition41Enum(){ return 811;}
-function Outputdefinition42Enum(){ return 812;}
-function Outputdefinition43Enum(){ return 813;}
-function Outputdefinition44Enum(){ return 814;}
-function Outputdefinition45Enum(){ return 815;}
-function Outputdefinition46Enum(){ return 816;}
-function Outputdefinition47Enum(){ return 817;}
-function Outputdefinition48Enum(){ return 818;}
-function Outputdefinition49Enum(){ return 819;}
-function Outputdefinition50Enum(){ return 820;}
-function Outputdefinition51Enum(){ return 821;}
-function Outputdefinition52Enum(){ return 822;}
-function Outputdefinition53Enum(){ return 823;}
-function Outputdefinition54Enum(){ return 824;}
-function Outputdefinition55Enum(){ return 825;}
-function Outputdefinition56Enum(){ return 826;}
-function Outputdefinition57Enum(){ return 827;}
-function Outputdefinition58Enum(){ return 828;}
-function Outputdefinition59Enum(){ return 829;}
-function Outputdefinition60Enum(){ return 830;}
-function Outputdefinition61Enum(){ return 831;}
-function Outputdefinition62Enum(){ return 832;}
-function Outputdefinition63Enum(){ return 833;}
-function Outputdefinition64Enum(){ return 834;}
-function Outputdefinition65Enum(){ return 835;}
-function Outputdefinition66Enum(){ return 836;}
-function Outputdefinition67Enum(){ return 837;}
-function Outputdefinition68Enum(){ return 838;}
-function Outputdefinition69Enum(){ return 839;}
-function Outputdefinition70Enum(){ return 840;}
-function Outputdefinition71Enum(){ return 841;}
-function Outputdefinition72Enum(){ return 842;}
-function Outputdefinition73Enum(){ return 843;}
-function Outputdefinition74Enum(){ return 844;}
-function Outputdefinition75Enum(){ return 845;}
-function Outputdefinition76Enum(){ return 846;}
-function Outputdefinition77Enum(){ return 847;}
-function Outputdefinition78Enum(){ return 848;}
-function Outputdefinition79Enum(){ return 849;}
-function Outputdefinition80Enum(){ return 850;}
-function Outputdefinition81Enum(){ return 851;}
-function Outputdefinition82Enum(){ return 852;}
-function Outputdefinition83Enum(){ return 853;}
-function Outputdefinition84Enum(){ return 854;}
-function Outputdefinition85Enum(){ return 855;}
-function Outputdefinition86Enum(){ return 856;}
-function Outputdefinition87Enum(){ return 857;}
-function Outputdefinition88Enum(){ return 858;}
-function Outputdefinition89Enum(){ return 859;}
-function Outputdefinition90Enum(){ return 860;}
-function Outputdefinition91Enum(){ return 861;}
-function Outputdefinition92Enum(){ return 862;}
-function Outputdefinition93Enum(){ return 863;}
-function Outputdefinition94Enum(){ return 864;}
-function Outputdefinition95Enum(){ return 865;}
-function Outputdefinition96Enum(){ return 866;}
-function Outputdefinition97Enum(){ return 867;}
-function Outputdefinition98Enum(){ return 868;}
-function Outputdefinition99Enum(){ return 869;}
-function Outputdefinition100Enum(){ return 870;}
-function OutputdefinitionListEnum(){ return 871;}
-function MassfluxatgateEnum(){ return 872;}
-function MassfluxatgateNameEnum(){ return 873;}
-function MassfluxatgateDefinitionenumEnum(){ return 874;}
-function MassfluxatgateSegmentsEnum(){ return 875;}
-function NodalvalueEnum(){ return 876;}
-function NodalvalueNameEnum(){ return 877;}
-function NodalvalueDefinitionenumEnum(){ return 878;}
-function NodalvalueModelEnum(){ return 879;}
-function NodalvalueNodeEnum(){ return 880;}
-function MisfitNameEnum(){ return 881;}
-function MisfitDefinitionenumEnum(){ return 882;}
-function MisfitModelEnum(){ return 883;}
+function ApproximationEnum(){ return 533;}
+function NoneApproximationEnum(){ return 534;}
+function SIAApproximationEnum(){ return 535;}
+function SSAApproximationEnum(){ return 536;}
+function SSAHOApproximationEnum(){ return 537;}
+function SSAFSApproximationEnum(){ return 538;}
+function L1L2ApproximationEnum(){ return 539;}
+function HOApproximationEnum(){ return 540;}
+function HOFSApproximationEnum(){ return 541;}
+function FSApproximationEnum(){ return 542;}
+function FSvelocityEnum(){ return 543;}
+function FSpressureEnum(){ return 544;}
+function DataSetEnum(){ return 545;}
+function ConstraintsEnum(){ return 546;}
+function LoadsEnum(){ return 547;}
+function MaterialsEnum(){ return 548;}
+function NodesEnum(){ return 549;}
+function ContoursEnum(){ return 550;}
+function ParametersEnum(){ return 551;}
+function VerticesEnum(){ return 552;}
+function ResultsEnum(){ return 553;}
+function GenericParamEnum(){ return 554;}
+function AdolcParamEnum(){ return 555;}
+function BoolInputEnum(){ return 556;}
+function BoolParamEnum(){ return 557;}
+function ContourEnum(){ return 558;}
+function ControlInputEnum(){ return 559;}
+function DatasetInputEnum(){ return 560;}
+function DoubleInputEnum(){ return 561;}
+function DoubleArrayInputEnum(){ return 562;}
+function DataSetParamEnum(){ return 563;}
+function DoubleMatArrayParamEnum(){ return 564;}
+function DoubleMatParamEnum(){ return 565;}
+function DoubleParamEnum(){ return 566;}
+function DoubleVecParamEnum(){ return 567;}
+function ElementEnum(){ return 568;}
+function ElementHookEnum(){ return 569;}
+function HookEnum(){ return 570;}
+function ExternalResultEnum(){ return 571;}
+function FileParamEnum(){ return 572;}
+function InputEnum(){ return 573;}
+function IntInputEnum(){ return 574;}
+function InputToExtrudeEnum(){ return 575;}
+function InputToL2ProjectEnum(){ return 576;}
+function InputToDepthaverageEnum(){ return 577;}
+function InputToSmoothEnum(){ return 578;}
+function SmoothThicknessMultiplierEnum(){ return 579;}
+function IntParamEnum(){ return 580;}
+function IntVecParamEnum(){ return 581;}
+function TransientParamEnum(){ return 582;}
+function MaticeEnum(){ return 583;}
+function MatdamageiceEnum(){ return 584;}
+function MatestarEnum(){ return 585;}
+function MatparEnum(){ return 586;}
+function NodeEnum(){ return 587;}
+function NumericalfluxEnum(){ return 588;}
+function NumericalfluxTypeEnum(){ return 589;}
+function NeumannfluxEnum(){ return 590;}
+function ParamEnum(){ return 591;}
+function MoulinEnum(){ return 592;}
+function PengridEnum(){ return 593;}
+function PenpairEnum(){ return 594;}
+function ProfilerEnum(){ return 595;}
+function MatrixParamEnum(){ return 596;}
+function MassconEnum(){ return 597;}
+function MassconNameEnum(){ return 598;}
+function MassconDefinitionenumEnum(){ return 599;}
+function MassconLevelsetEnum(){ return 600;}
+function MassconaxpbyEnum(){ return 601;}
+function MassconaxpbyNameEnum(){ return 602;}
+function MassconaxpbyDefinitionenumEnum(){ return 603;}
+function MassconaxpbyNamexEnum(){ return 604;}
+function MassconaxpbyNameyEnum(){ return 605;}
+function MassconaxpbyAlphaEnum(){ return 606;}
+function MassconaxpbyBetaEnum(){ return 607;}
+function NodeSIdEnum(){ return 608;}
+function VectorParamEnum(){ return 609;}
+function RiftfrontEnum(){ return 610;}
+function RiftfrontTypeEnum(){ return 611;}
+function SegmentEnum(){ return 612;}
+function SegmentRiftfrontEnum(){ return 613;}
+function SpcDynamicEnum(){ return 614;}
+function SpcStaticEnum(){ return 615;}
+function SpcTransientEnum(){ return 616;}
+function StringArrayParamEnum(){ return 617;}
+function StringParamEnum(){ return 618;}
+function SegEnum(){ return 619;}
+function SegInputEnum(){ return 620;}
+function TriaEnum(){ return 621;}
+function TriaInputEnum(){ return 622;}
+function TetraEnum(){ return 623;}
+function TetraInputEnum(){ return 624;}
+function PentaEnum(){ return 625;}
+function PentaInputEnum(){ return 626;}
+function VertexEnum(){ return 627;}
+function VertexPIdEnum(){ return 628;}
+function VertexSIdEnum(){ return 629;}
+function AirEnum(){ return 630;}
+function IceEnum(){ return 631;}
+function MelangeEnum(){ return 632;}
+function WaterEnum(){ return 633;}
+function ClosedEnum(){ return 634;}
+function FreeEnum(){ return 635;}
+function OpenEnum(){ return 636;}
+function AdjointpEnum(){ return 637;}
+function AdjointxEnum(){ return 638;}
+function AdjointyEnum(){ return 639;}
+function AdjointzEnum(){ return 640;}
+function BalancethicknessMisfitEnum(){ return 641;}
+function BedSlopeXEnum(){ return 642;}
+function BedSlopeYEnum(){ return 643;}
+function BoundaryEnum(){ return 644;}
+function ConvergedEnum(){ return 645;}
+function FillEnum(){ return 646;}
+function FractionIncrementEnum(){ return 647;}
+function FrictionEnum(){ return 648;}
+function InternalEnum(){ return 649;}
+function MassFluxEnum(){ return 650;}
+function MeltingOffsetEnum(){ return 651;}
+function MisfitEnum(){ return 652;}
+function PressureEnum(){ return 653;}
+function PressurePicardEnum(){ return 654;}
+function AndroidFrictionCoefficientEnum(){ return 655;}
+function ResetPenaltiesEnum(){ return 656;}
+function SegmentOnIceShelfEnum(){ return 657;}
+function SurfaceAbsVelMisfitEnum(){ return 658;}
+function SurfaceAreaEnum(){ return 659;}
+function SurfaceAverageVelMisfitEnum(){ return 660;}
+function SurfaceLogVelMisfitEnum(){ return 661;}
+function SurfaceLogVxVyMisfitEnum(){ return 662;}
+function SurfaceRelVelMisfitEnum(){ return 663;}
+function SurfaceSlopeXEnum(){ return 664;}
+function SurfaceSlopeYEnum(){ return 665;}
+function TemperatureEnum(){ return 666;}
+function TemperaturePicardEnum(){ return 667;}
+function TemperaturePDDEnum(){ return 668;}
+function ThicknessAbsMisfitEnum(){ return 669;}
+function SurfaceAbsMisfitEnum(){ return 670;}
+function VelEnum(){ return 671;}
+function VelocityEnum(){ return 672;}
+function VxAverageEnum(){ return 673;}
+function VxEnum(){ return 674;}
+function VxPicardEnum(){ return 675;}
+function VyAverageEnum(){ return 676;}
+function VyEnum(){ return 677;}
+function VyPicardEnum(){ return 678;}
+function VzEnum(){ return 679;}
+function VzSSAEnum(){ return 680;}
+function VzHOEnum(){ return 681;}
+function VzPicardEnum(){ return 682;}
+function VzFSEnum(){ return 683;}
+function VxMeshEnum(){ return 684;}
+function VyMeshEnum(){ return 685;}
+function VzMeshEnum(){ return 686;}
+function EnthalpyEnum(){ return 687;}
+function EnthalpyPicardEnum(){ return 688;}
+function ThicknessAbsGradientEnum(){ return 689;}
+function ThicknessAlongGradientEnum(){ return 690;}
+function ThicknessAcrossGradientEnum(){ return 691;}
+function ThicknessPositiveEnum(){ return 692;}
+function IntMatParamEnum(){ return 693;}
+function RheologyBbarAbsGradientEnum(){ return 694;}
+function RheologyBAbsGradientEnum(){ return 695;}
+function DragCoefficientAbsGradientEnum(){ return 696;}
+function TransientInputEnum(){ return 697;}
+function WaterfractionEnum(){ return 698;}
+function WatercolumnEnum(){ return 699;}
+function BasalFrictionEnum(){ return 700;}
+function ViscousHeatingEnum(){ return 701;}
+function HydrologyWaterVxEnum(){ return 702;}
+function HydrologyWaterVyEnum(){ return 703;}
+function DrivingStressXEnum(){ return 704;}
+function DrivingStressYEnum(){ return 705;}
+function SigmaNNEnum(){ return 706;}
+function StressTensorEnum(){ return 707;}
+function StressTensorxxEnum(){ return 708;}
+function StressTensorxyEnum(){ return 709;}
+function StressTensorxzEnum(){ return 710;}
+function StressTensoryyEnum(){ return 711;}
+function StressTensoryzEnum(){ return 712;}
+function StressTensorzzEnum(){ return 713;}
+function StressMaxPrincipalEnum(){ return 714;}
+function DeviatoricStressEnum(){ return 715;}
+function DeviatoricStressxxEnum(){ return 716;}
+function DeviatoricStressxyEnum(){ return 717;}
+function DeviatoricStressxzEnum(){ return 718;}
+function DeviatoricStressyyEnum(){ return 719;}
+function DeviatoricStressyzEnum(){ return 720;}
+function DeviatoricStresszzEnum(){ return 721;}
+function DeviatoricStresseffectiveEnum(){ return 722;}
+function LambdaSEnum(){ return 723;}
+function StrainRateEnum(){ return 724;}
+function StrainRatexxEnum(){ return 725;}
+function StrainRatexyEnum(){ return 726;}
+function StrainRatexzEnum(){ return 727;}
+function StrainRateyyEnum(){ return 728;}
+function StrainRateyzEnum(){ return 729;}
+function StrainRatezzEnum(){ return 730;}
+function DivergenceEnum(){ return 731;}
+function MaxDivergenceEnum(){ return 732;}
+function GiaCrossSectionShapeEnum(){ return 733;}
+function GiadWdtEnum(){ return 734;}
+function GiaWEnum(){ return 735;}
+function P0Enum(){ return 736;}
+function P0ArrayEnum(){ return 737;}
+function P1Enum(){ return 738;}
+function P1DGEnum(){ return 739;}
+function P1bubbleEnum(){ return 740;}
+function P1bubblecondensedEnum(){ return 741;}
+function P2Enum(){ return 742;}
+function P2bubbleEnum(){ return 743;}
+function P2bubblecondensedEnum(){ return 744;}
+function P2xP1Enum(){ return 745;}
+function P1xP2Enum(){ return 746;}
+function P1xP3Enum(){ return 747;}
+function P2xP4Enum(){ return 748;}
+function P1P1Enum(){ return 749;}
+function P1P1GLSEnum(){ return 750;}
+function MINIEnum(){ return 751;}
+function MINIcondensedEnum(){ return 752;}
+function TaylorHoodEnum(){ return 753;}
+function LATaylorHoodEnum(){ return 754;}
+function XTaylorHoodEnum(){ return 755;}
+function OneLayerP4zEnum(){ return 756;}
+function CrouzeixRaviartEnum(){ return 757;}
+function LACrouzeixRaviartEnum(){ return 758;}
+function SaveResultsEnum(){ return 759;}
+function BoolExternalResultEnum(){ return 760;}
+function DoubleExternalResultEnum(){ return 761;}
+function DoubleMatExternalResultEnum(){ return 762;}
+function IntExternalResultEnum(){ return 763;}
+function JEnum(){ return 764;}
+function StringExternalResultEnum(){ return 765;}
+function StepEnum(){ return 766;}
+function TimeEnum(){ return 767;}
+function WaterColumnOldEnum(){ return 768;}
+function OutputdefinitionEnum(){ return 769;}
+function Outputdefinition1Enum(){ return 770;}
+function Outputdefinition2Enum(){ return 771;}
+function Outputdefinition3Enum(){ return 772;}
+function Outputdefinition4Enum(){ return 773;}
+function Outputdefinition5Enum(){ return 774;}
+function Outputdefinition6Enum(){ return 775;}
+function Outputdefinition7Enum(){ return 776;}
+function Outputdefinition8Enum(){ return 777;}
+function Outputdefinition9Enum(){ return 778;}
+function Outputdefinition10Enum(){ return 779;}
+function Outputdefinition11Enum(){ return 780;}
+function Outputdefinition12Enum(){ return 781;}
+function Outputdefinition13Enum(){ return 782;}
+function Outputdefinition14Enum(){ return 783;}
+function Outputdefinition15Enum(){ return 784;}
+function Outputdefinition16Enum(){ return 785;}
+function Outputdefinition17Enum(){ return 786;}
+function Outputdefinition18Enum(){ return 787;}
+function Outputdefinition19Enum(){ return 788;}
+function Outputdefinition20Enum(){ return 789;}
+function Outputdefinition21Enum(){ return 790;}
+function Outputdefinition22Enum(){ return 791;}
+function Outputdefinition23Enum(){ return 792;}
+function Outputdefinition24Enum(){ return 793;}
+function Outputdefinition25Enum(){ return 794;}
+function Outputdefinition26Enum(){ return 795;}
+function Outputdefinition27Enum(){ return 796;}
+function Outputdefinition28Enum(){ return 797;}
+function Outputdefinition29Enum(){ return 798;}
+function Outputdefinition30Enum(){ return 799;}
+function Outputdefinition31Enum(){ return 800;}
+function Outputdefinition32Enum(){ return 801;}
+function Outputdefinition33Enum(){ return 802;}
+function Outputdefinition34Enum(){ return 803;}
+function Outputdefinition35Enum(){ return 804;}
+function Outputdefinition36Enum(){ return 805;}
+function Outputdefinition37Enum(){ return 806;}
+function Outputdefinition38Enum(){ return 807;}
+function Outputdefinition39Enum(){ return 808;}
+function Outputdefinition40Enum(){ return 809;}
+function Outputdefinition41Enum(){ return 810;}
+function Outputdefinition42Enum(){ return 811;}
+function Outputdefinition43Enum(){ return 812;}
+function Outputdefinition44Enum(){ return 813;}
+function Outputdefinition45Enum(){ return 814;}
+function Outputdefinition46Enum(){ return 815;}
+function Outputdefinition47Enum(){ return 816;}
+function Outputdefinition48Enum(){ return 817;}
+function Outputdefinition49Enum(){ return 818;}
+function Outputdefinition50Enum(){ return 819;}
+function Outputdefinition51Enum(){ return 820;}
+function Outputdefinition52Enum(){ return 821;}
+function Outputdefinition53Enum(){ return 822;}
+function Outputdefinition54Enum(){ return 823;}
+function Outputdefinition55Enum(){ return 824;}
+function Outputdefinition56Enum(){ return 825;}
+function Outputdefinition57Enum(){ return 826;}
+function Outputdefinition58Enum(){ return 827;}
+function Outputdefinition59Enum(){ return 828;}
+function Outputdefinition60Enum(){ return 829;}
+function Outputdefinition61Enum(){ return 830;}
+function Outputdefinition62Enum(){ return 831;}
+function Outputdefinition63Enum(){ return 832;}
+function Outputdefinition64Enum(){ return 833;}
+function Outputdefinition65Enum(){ return 834;}
+function Outputdefinition66Enum(){ return 835;}
+function Outputdefinition67Enum(){ return 836;}
+function Outputdefinition68Enum(){ return 837;}
+function Outputdefinition69Enum(){ return 838;}
+function Outputdefinition70Enum(){ return 839;}
+function Outputdefinition71Enum(){ return 840;}
+function Outputdefinition72Enum(){ return 841;}
+function Outputdefinition73Enum(){ return 842;}
+function Outputdefinition74Enum(){ return 843;}
+function Outputdefinition75Enum(){ return 844;}
+function Outputdefinition76Enum(){ return 845;}
+function Outputdefinition77Enum(){ return 846;}
+function Outputdefinition78Enum(){ return 847;}
+function Outputdefinition79Enum(){ return 848;}
+function Outputdefinition80Enum(){ return 849;}
+function Outputdefinition81Enum(){ return 850;}
+function Outputdefinition82Enum(){ return 851;}
+function Outputdefinition83Enum(){ return 852;}
+function Outputdefinition84Enum(){ return 853;}
+function Outputdefinition85Enum(){ return 854;}
+function Outputdefinition86Enum(){ return 855;}
+function Outputdefinition87Enum(){ return 856;}
+function Outputdefinition88Enum(){ return 857;}
+function Outputdefinition89Enum(){ return 858;}
+function Outputdefinition90Enum(){ return 859;}
+function Outputdefinition91Enum(){ return 860;}
+function Outputdefinition92Enum(){ return 861;}
+function Outputdefinition93Enum(){ return 862;}
+function Outputdefinition94Enum(){ return 863;}
+function Outputdefinition95Enum(){ return 864;}
+function Outputdefinition96Enum(){ return 865;}
+function Outputdefinition97Enum(){ return 866;}
+function Outputdefinition98Enum(){ return 867;}
+function Outputdefinition99Enum(){ return 868;}
+function Outputdefinition100Enum(){ return 869;}
+function OutputdefinitionListEnum(){ return 870;}
+function MassfluxatgateEnum(){ return 871;}
+function MassfluxatgateNameEnum(){ return 872;}
+function MassfluxatgateDefinitionenumEnum(){ return 873;}
+function MassfluxatgateSegmentsEnum(){ return 874;}
+function NodalvalueEnum(){ return 875;}
+function NodalvalueNameEnum(){ return 876;}
+function NodalvalueDefinitionenumEnum(){ return 877;}
+function NodalvalueModelEnum(){ return 878;}
+function NodalvalueNodeEnum(){ return 879;}
+function MisfitNameEnum(){ return 880;}
+function MisfitDefinitionenumEnum(){ return 881;}
+function MisfitModelEnum(){ return 882;}
+function MisfitObservationEnum(){ return 883;}
 function MisfitObservationEnum(){ return 884;}
-function MisfitObservationEnum(){ return 885;}
-function MisfitLocalEnum(){ return 886;}
-function MisfitTimeinterpolationEnum(){ return 887;}
+function MisfitLocalEnum(){ return 885;}
+function MisfitTimeinterpolationEnum(){ return 886;}
+function MisfitWeightsEnum(){ return 887;}
 function MisfitWeightsEnum(){ return 888;}
-function MisfitWeightsEnum(){ return 889;}
-function SurfaceObservationEnum(){ return 890;}
-function WeightsSurfaceObservationEnum(){ return 891;}
-function VxObsEnum(){ return 892;}
-function WeightsVxObsEnum(){ return 893;}
-function VyObsEnum(){ return 894;}
-function WeightsVyObsEnum(){ return 895;}
-function MinVelEnum(){ return 896;}
-function MaxVelEnum(){ return 897;}
-function MinVxEnum(){ return 898;}
-function MaxVxEnum(){ return 899;}
-function MaxAbsVxEnum(){ return 900;}
-function MinVyEnum(){ return 901;}
-function MaxVyEnum(){ return 902;}
-function MaxAbsVyEnum(){ return 903;}
-function MinVzEnum(){ return 904;}
-function MaxVzEnum(){ return 905;}
-function MaxAbsVzEnum(){ return 906;}
-function FloatingAreaEnum(){ return 907;}
-function GroundedAreaEnum(){ return 908;}
-function IceMassEnum(){ return 909;}
-function IceVolumeEnum(){ return 910;}
-function IceVolumeAboveFloatationEnum(){ return 911;}
-function TotalFloatingBmbEnum(){ return 912;}
-function TotalGroundedBmbEnum(){ return 913;}
-function TotalSmbEnum(){ return 914;}
-function AbsoluteEnum(){ return 915;}
-function IncrementalEnum(){ return 916;}
-function AugmentedLagrangianREnum(){ return 917;}
-function AugmentedLagrangianRhopEnum(){ return 918;}
-function AugmentedLagrangianRlambdaEnum(){ return 919;}
-function AugmentedLagrangianRholambdaEnum(){ return 920;}
-function AugmentedLagrangianThetaEnum(){ return 921;}
-function NoneEnum(){ return 922;}
-function AggressiveMigrationEnum(){ return 923;}
-function SoftMigrationEnum(){ return 924;}
-function SubelementMigrationEnum(){ return 925;}
-function SubelementMigration2Enum(){ return 926;}
-function ContactEnum(){ return 927;}
-function GroundingOnlyEnum(){ return 928;}
-function MaskGroundediceLevelsetEnum(){ return 929;}
-function GaussSegEnum(){ return 930;}
-function GaussTriaEnum(){ return 931;}
-function GaussTetraEnum(){ return 932;}
-function GaussPentaEnum(){ return 933;}
-function FSSolverEnum(){ return 934;}
-function AdjointEnum(){ return 935;}
-function ColinearEnum(){ return 936;}
-function ControlSteadyEnum(){ return 937;}
-function FsetEnum(){ return 938;}
-function Gradient1Enum(){ return 939;}
-function Gradient2Enum(){ return 940;}
-function Gradient3Enum(){ return 941;}
-function GradientEnum(){ return 942;}
-function GroundinglineMigrationEnum(){ return 943;}
-function GsetEnum(){ return 944;}
-function IndexEnum(){ return 945;}
-function IndexedEnum(){ return 946;}
-function IntersectEnum(){ return 947;}
-function NodalEnum(){ return 948;}
-function OldGradientEnum(){ return 949;}
-function OutputBufferPointerEnum(){ return 950;}
-function OutputBufferSizePointerEnum(){ return 951;}
-function OutputFilePointerEnum(){ return 952;}
-function ToolkitsFileNameEnum(){ return 953;}
-function RootPathEnum(){ return 954;}
-function OutputFileNameEnum(){ return 955;}
-function InputFileNameEnum(){ return 956;}
-function LockFileNameEnum(){ return 957;}
-function RestartFileNameEnum(){ return 958;}
-function ToolkitsOptionsAnalysesEnum(){ return 959;}
-function ToolkitsOptionsStringsEnum(){ return 960;}
-function QmuErrNameEnum(){ return 961;}
-function QmuInNameEnum(){ return 962;}
-function QmuOutNameEnum(){ return 963;}
-function RegularEnum(){ return 964;}
-function ScaledEnum(){ return 965;}
-function SeparateEnum(){ return 966;}
-function SsetEnum(){ return 967;}
-function VerboseEnum(){ return 968;}
-function TriangleInterpEnum(){ return 969;}
-function BilinearInterpEnum(){ return 970;}
-function NearestInterpEnum(){ return 971;}
-function XYEnum(){ return 972;}
-function XYZEnum(){ return 973;}
-function DenseEnum(){ return 974;}
-function MpiDenseEnum(){ return 975;}
-function MpiSparseEnum(){ return 976;}
-function SeqEnum(){ return 977;}
-function MpiEnum(){ return 978;}
-function MumpsEnum(){ return 979;}
-function GslEnum(){ return 980;}
-function OptionEnum(){ return 981;}
-function GenericOptionEnum(){ return 982;}
-function OptionCellEnum(){ return 983;}
-function OptionStructEnum(){ return 984;}
-function CuffeyEnum(){ return 985;}
-function BuddJackaEnum(){ return 986;}
-function CuffeyTemperateEnum(){ return 987;}
-function PatersonEnum(){ return 988;}
-function ArrheniusEnum(){ return 989;}
-function LliboutryDuvalEnum(){ return 990;}
-function SpclevelsetEnum(){ return 991;}
-function ExtrapolationVariableEnum(){ return 992;}
-function IceMaskNodeActivationEnum(){ return 993;}
-function LevelsetfunctionSlopeXEnum(){ return 994;}
-function LevelsetfunctionSlopeYEnum(){ return 995;}
-function LevelsetfunctionPicardEnum(){ return 996;}
-function LevelsetReinitFrequencyEnum(){ return 997;}
-function SealevelriseSolutionEnum(){ return 998;}
-function SealevelriseAnalysisEnum(){ return 999;}
-function SealevelEnum(){ return 1000;}
-function SealevelEustaticEnum(){ return 1001;}
-function SealevelriseDeltathicknessEnum(){ return 1002;}
-function SealevelriseMaxiterEnum(){ return 1003;}
-function SealevelriseReltolEnum(){ return 1004;}
-function SealevelriseAbstolEnum(){ return 1005;}
-function SealevelriseLoveHEnum(){ return 1006;}
-function SealevelriseLoveKEnum(){ return 1007;}
-function SealevelriseTideLoveHEnum(){ return 1008;}
-function SealevelriseTideLoveKEnum(){ return 1009;}
-function SealevelriseRigidEnum(){ return 1010;}
-function SealevelriseElasticEnum(){ return 1011;}
-function SealevelriseRotationEnum(){ return 1012;}
-function SealevelriseGElasticEnum(){ return 1013;}
-function SealevelriseDegaccEnum(){ return 1014;}
-function SealevelriseTransitionsEnum(){ return 1015;}
-function SealevelriseRequestedOutputsEnum(){ return 1016;}
-function SealevelriseNumRequestedOutputsEnum(){ return 1017;}
-function ParametersENDEnum(){ return 1018;}
-function MaximumNumberOfDefinitionsEnum(){ return 1019;}
+function SurfaceObservationEnum(){ return 889;}
+function WeightsSurfaceObservationEnum(){ return 890;}
+function VxObsEnum(){ return 891;}
+function WeightsVxObsEnum(){ return 892;}
+function VyObsEnum(){ return 893;}
+function WeightsVyObsEnum(){ return 894;}
+function MinVelEnum(){ return 895;}
+function MaxVelEnum(){ return 896;}
+function MinVxEnum(){ return 897;}
+function MaxVxEnum(){ return 898;}
+function MaxAbsVxEnum(){ return 899;}
+function MinVyEnum(){ return 900;}
+function MaxVyEnum(){ return 901;}
+function MaxAbsVyEnum(){ return 902;}
+function MinVzEnum(){ return 903;}
+function MaxVzEnum(){ return 904;}
+function MaxAbsVzEnum(){ return 905;}
+function FloatingAreaEnum(){ return 906;}
+function GroundedAreaEnum(){ return 907;}
+function IceMassEnum(){ return 908;}
+function IceVolumeEnum(){ return 909;}
+function IceVolumeAboveFloatationEnum(){ return 910;}
+function TotalFloatingBmbEnum(){ return 911;}
+function TotalGroundedBmbEnum(){ return 912;}
+function TotalSmbEnum(){ return 913;}
+function AbsoluteEnum(){ return 914;}
+function IncrementalEnum(){ return 915;}
+function AugmentedLagrangianREnum(){ return 916;}
+function AugmentedLagrangianRhopEnum(){ return 917;}
+function AugmentedLagrangianRlambdaEnum(){ return 918;}
+function AugmentedLagrangianRholambdaEnum(){ return 919;}
+function AugmentedLagrangianThetaEnum(){ return 920;}
+function NoneEnum(){ return 921;}
+function AggressiveMigrationEnum(){ return 922;}
+function SoftMigrationEnum(){ return 923;}
+function SubelementMigrationEnum(){ return 924;}
+function SubelementMigration2Enum(){ return 925;}
+function ContactEnum(){ return 926;}
+function GroundingOnlyEnum(){ return 927;}
+function MaskGroundediceLevelsetEnum(){ return 928;}
+function GaussSegEnum(){ return 929;}
+function GaussTriaEnum(){ return 930;}
+function GaussTetraEnum(){ return 931;}
+function GaussPentaEnum(){ return 932;}
+function FSSolverEnum(){ return 933;}
+function AdjointEnum(){ return 934;}
+function ColinearEnum(){ return 935;}
+function ControlSteadyEnum(){ return 936;}
+function FsetEnum(){ return 937;}
+function Gradient1Enum(){ return 938;}
+function Gradient2Enum(){ return 939;}
+function Gradient3Enum(){ return 940;}
+function GradientEnum(){ return 941;}
+function GroundinglineMigrationEnum(){ return 942;}
+function GsetEnum(){ return 943;}
+function IndexEnum(){ return 944;}
+function IndexedEnum(){ return 945;}
+function IntersectEnum(){ return 946;}
+function NodalEnum(){ return 947;}
+function OldGradientEnum(){ return 948;}
+function OutputBufferPointerEnum(){ return 949;}
+function OutputBufferSizePointerEnum(){ return 950;}
+function OutputFilePointerEnum(){ return 951;}
+function ToolkitsFileNameEnum(){ return 952;}
+function RootPathEnum(){ return 953;}
+function OutputFileNameEnum(){ return 954;}
+function InputFileNameEnum(){ return 955;}
+function LockFileNameEnum(){ return 956;}
+function RestartFileNameEnum(){ return 957;}
+function ToolkitsOptionsAnalysesEnum(){ return 958;}
+function ToolkitsOptionsStringsEnum(){ return 959;}
+function QmuErrNameEnum(){ return 960;}
+function QmuInNameEnum(){ return 961;}
+function QmuOutNameEnum(){ return 962;}
+function RegularEnum(){ return 963;}
+function ScaledEnum(){ return 964;}
+function SeparateEnum(){ return 965;}
+function SsetEnum(){ return 966;}
+function VerboseEnum(){ return 967;}
+function TriangleInterpEnum(){ return 968;}
+function BilinearInterpEnum(){ return 969;}
+function NearestInterpEnum(){ return 970;}
+function XYEnum(){ return 971;}
+function XYZEnum(){ return 972;}
+function DenseEnum(){ return 973;}
+function MpiDenseEnum(){ return 974;}
+function MpiSparseEnum(){ return 975;}
+function SeqEnum(){ return 976;}
+function MpiEnum(){ return 977;}
+function MumpsEnum(){ return 978;}
+function GslEnum(){ return 979;}
+function OptionEnum(){ return 980;}
+function GenericOptionEnum(){ return 981;}
+function OptionCellEnum(){ return 982;}
+function OptionStructEnum(){ return 983;}
+function CuffeyEnum(){ return 984;}
+function BuddJackaEnum(){ return 985;}
+function CuffeyTemperateEnum(){ return 986;}
+function PatersonEnum(){ return 987;}
+function ArrheniusEnum(){ return 988;}
+function LliboutryDuvalEnum(){ return 989;}
+function SpclevelsetEnum(){ return 990;}
+function ExtrapolationVariableEnum(){ return 991;}
+function IceMaskNodeActivationEnum(){ return 992;}
+function LevelsetfunctionSlopeXEnum(){ return 993;}
+function LevelsetfunctionSlopeYEnum(){ return 994;}
+function LevelsetfunctionPicardEnum(){ return 995;}
+function LevelsetReinitFrequencyEnum(){ return 996;}
+function SealevelriseSolutionEnum(){ return 997;}
+function SealevelriseAnalysisEnum(){ return 998;}
+function SealevelEnum(){ return 999;}
+function SealevelEustaticEnum(){ return 1000;}
+function SealevelriseDeltathicknessEnum(){ return 1001;}
+function SealevelriseMaxiterEnum(){ return 1002;}
+function SealevelriseReltolEnum(){ return 1003;}
+function SealevelriseAbstolEnum(){ return 1004;}
+function SealevelriseLoveHEnum(){ return 1005;}
+function SealevelriseLoveKEnum(){ return 1006;}
+function SealevelriseTideLoveHEnum(){ return 1007;}
+function SealevelriseTideLoveKEnum(){ return 1008;}
+function SealevelriseRigidEnum(){ return 1009;}
+function SealevelriseElasticEnum(){ return 1010;}
+function SealevelriseRotationEnum(){ return 1011;}
+function SealevelriseGElasticEnum(){ return 1012;}
+function SealevelriseDegaccEnum(){ return 1013;}
+function SealevelriseTransitionsEnum(){ return 1014;}
+function SealevelriseRequestedOutputsEnum(){ return 1015;}
+function SealevelriseNumRequestedOutputsEnum(){ return 1016;}
+function ParametersENDEnum(){ return 1017;}
+function MaximumNumberOfDefinitionsEnum(){ return 1018;}
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 20982)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 20983)
@@ -542,5 +542,4 @@
 def LevelsetStabilizationEnum(): return StringToEnum("LevelsetStabilization")[0]
 def ExtrapolationAnalysisEnum(): return StringToEnum("ExtrapolationAnalysis")[0]
-def LsfReinitializationAnalysisEnum(): return StringToEnum("LsfReinitializationAnalysis")[0]
 def ApproximationEnum(): return StringToEnum("Approximation")[0]
 def NoneApproximationEnum(): return StringToEnum("NoneApproximation")[0]
Index: sm/trunk-jpl/src/m/enum/LsfReinitializationAnalysisEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/LsfReinitializationAnalysisEnum.m	(revision 20982)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=LsfReinitializationAnalysisEnum()
-%LSFREINITIALIZATIONANALYSISENUM - Enum of LsfReinitializationAnalysis
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-%            Please read src/c/shared/Enum/README for more information
-%
-%   Usage:
-%      macro=LsfReinitializationAnalysisEnum()
-
-macro=StringToEnum('LsfReinitializationAnalysis');
