Index: /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 18741)
+++ /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 18742)
@@ -100,5 +100,5 @@
 
 	/*Intermediaries */
-	int  dim, domaintype;
+	int  dim, domaintype, iscalvingrate;
 	int i, row, col;
 	IssmDouble kappa;
@@ -109,5 +109,6 @@
 	IssmDouble* xyz_list = NULL;
 
-	/*Get problem dimension*/
+	/*Get problem dimension and whether there is calving or not*/
+	basalelement->FindParam(&iscalvingrate,MasstransportIscalvingrateEnum);
 	basalelement->FindParam(&domaintype,DomainTypeEnum);
 	switch(domaintype){
@@ -142,17 +143,23 @@
 		vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
 		vy_input=basalelement->GetInput(VyEnum); _assert_(vy_input);
-		calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
-		calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
+		if(iscalvingrate){
+			calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
+			calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
+		}
 	}
 	else{
 		if(dim==1){
 			vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
-			calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
+			if(iscalvingrate){
+				calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
+			}
 		}
 		if(dim==2){
 			vx_input=basalelement->GetInput(VxAverageEnum); _assert_(vx_input);
 			vy_input=basalelement->GetInput(VyAverageEnum); _assert_(vy_input);
-			calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
-			calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
+			if(iscalvingrate){
+				calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
+				calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
+			}
 		}
 	}
@@ -185,6 +192,12 @@
 		vx_input->GetInputValue(&v[0],gauss); // in 3D case, add mesh velocity 
 		vy_input->GetInputValue(&v[1],gauss); 
-		calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 
-		calvingratey_input->GetInputValue(&c[1],gauss); 
+		if(iscalvingrate){
+			calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 
+			calvingratey_input->GetInputValue(&c[1],gauss); 
+			for(i=0;i<dim;i++) w[i]=v[i]-c[i];
+		}
+		else{
+			for(i=0;i<dim;i++) w[i]=v[i];
+		}
 		//lsf_slopex_input->GetInputValue(&dlsf[0],gauss);
 		//lsf_slopey_input->GetInputValue(&dlsf[1],gauss);
@@ -200,5 +213,4 @@
 		//for(i=0;i<dim;i++) c[i]=0.;
 		
-		for(i=0;i<dim;i++) w[i]=v[i]-c[i];
 
 		for(row=0;row<dim;row++)
