Index: /issm/trunk-jpl/src/c/cores/movingfront_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/movingfront_core.cpp	(revision 20981)
+++ /issm/trunk-jpl/src/c/cores/movingfront_core.cpp	(revision 20982)
@@ -14,5 +14,5 @@
 	/* intermediaries */
 	bool save_results,isstressbalance,ismasstransport,isthermal,isenthalpy,islevelset,ismovingfront;
-	int domaintype, num_extrapol_vars, index;
+	int  domaintype, num_extrapol_vars, index,reinit_frequency,step;
 	int* extrapol_vars=NULL;
 	Analysis  *analysis=NULL;
@@ -25,4 +25,6 @@
 	femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum);
 	femmodel->parameters->FindParam(&ismovingfront,TransientIsmovingfrontEnum);
+	femmodel->parameters->FindParam(&reinit_frequency,LevelsetReinitFrequencyEnum);
+	femmodel->parameters->FindParam(&step,StepEnum);
 	if(isthermal && domaintype==Domain3DEnum) femmodel->parameters->FindParam(&isenthalpy,ThermalIsenthalpyEnum);
 
@@ -31,5 +33,6 @@
 	/* start the work from here */
 	Calvingx(femmodel);
-	if(VerboseSolution()) _printf0_("   computing levelset transport\n");
+	if(VerboseSolution()) _printf0_("   computing level set transport\n");
+
 	/* smoothen slope of lsf for computation of normal on ice domain*/
 	levelsetfunctionslope_core(femmodel);
@@ -67,4 +70,10 @@
 	delete analysis;
 
+	/*Reset levelset if needed*/
+	if(reinit_frequency && (step%reinit_frequency==0)){
+		if(VerboseSolution()) _printf0_("   reinitializing level set\n");
+		femmodel->ResetLevelset();
+	}
+
 	/* update vertices included for next calculation */
 	GetMaskOfIceVerticesLSMx(femmodel);
