Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp	(revision 23370)
@@ -607,11 +607,9 @@
 				//thickness[i] = old_thickness[i]*(1.0+opening-closing)/(1.0-opening+closing);
 
-				/* if(element->nodes[i]->Sid()==2299){ */
-				/* 	printf("for node %i \n",element->nodes[i]->Sid()); */
-				/* 	printf(" old thickness is  %g \n",old_thickness[i]); */
-				/* 	printf(" new thickness is  %g \n",thickness[i]); */
-				/* 	printf(" closing is %g \n",((2.0*A*dt*pow(EPL_N,n))/(pow(n,n)))); */
-				/* 	printf(" opening is %g \n",((rho_water*gravity*epl_conductivity*EPLgrad2*dt)/(rho_ice*latentheat))); */
-				/* } */
+				if(element->nodes[i]->Sid()==2299){
+					printf("for node %i \n",element->nodes[i]->Sid());
+					printf(" old thickness is  %g \n",old_thickness[i]);
+					printf(" new thickness is  %g \n",thickness[i]);
+				}
 				/*Take care of otherthikening*/
 				if(thickness[i]>max_thick){
@@ -711,17 +709,10 @@
 			vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
 			/* If epl thickness gets under colapse thickness, close the layer */
-				/* if(element->nodes[i]->Sid()==2299){ */
-				/* 	printf("thickness for maksing for node %i is %g \n",element->nodes[i]->Sid(),epl_thickness[i]);} */
 			if(epl_thickness[i]<colapse_thick){
-				/* if(element->nodes[i]->Sid()==2299){ */
-				/* 	printf("maksing node %i\n",element->nodes[i]->Sid());} */
+				if(element->nodes[i]->Sid()==2299){
+					printf("masking node %i with thickness %f\n",element->nodes[i]->Sid(),epl_thickness[i]);}
 				vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
 				recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
 			}
-			/* //If epl head gets under base elevation, close the layer */
-			/* else if(eplhead[i]<(base[i]-1.0e-8)){ */
-			/* 	vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
-			/* 	recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
-			/* } */
 		}
 		/*If node is now closed bring its thickness back to initial*/
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 23370)
@@ -29,4 +29,6 @@
 
 	/*retrieve some parameters: */
+	/* bool   issmb; */
+	/* iomodel->FindConstant(&issmb,"md.transient.issmb"); */
 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
 
@@ -63,4 +65,8 @@
 		parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit));
 	}
+	/* if(!issmb){ */
+	/* 	parameters->AddObject(iomodel->CopyConstantObject("md.smb.model",SmbEnum)); */
+	/* } */
+
   /*Requested outputs*/
   iomodel->FindConstant(&requestedoutputs,&numoutputs,"md.hydrology.requested_outputs");
@@ -77,4 +83,6 @@
 	/*Fetch data needed: */
 	iomodel->FindConstant(&hydrology_model,"md.hydrology.model");
+	bool   issmb;
+	iomodel->FindConstant(&issmb,"md.transient.issmb");
 
 	/*Now, do we really want DC?*/
@@ -109,4 +117,8 @@
 		iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHeadHydrostepEnum);
 	}
+	if(!issmb){
+		iomodel->FetchDataToInput(elements,"md.smb.model",SmbEnum);
+}
+
 }/*}}}*/
 
@@ -638,7 +650,5 @@
 	IssmDouble base_elev,prestep_head,water_sheet;
 	IssmDouble sediment_thickness       = element->GetMaterialParameter(HydrologydcSedimentThicknessEnum);
-	bool isthermal;
-
-	element->FindParam(&isthermal,TransientIsthermalEnum);
+
 	element->FindParam(&unconf_scheme,HydrologydcUnconfinedFlagEnum);
 	SedTrans_input->GetInputValue(&FullLayer_transmitivity,gauss);
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 23370)
@@ -188,5 +188,5 @@
 
 	if(!issmb){
-		iomodel->FetchDataToInput(elements,"md.smb.mass_balance",SmbMassBalanceEnum);
+		iomodel->FetchDataToInput(elements,"md.smb.model",SmbEnum);
 	}
 	if(stabilization==3){
@@ -629,7 +629,7 @@
 }/*}}}*/
 void           MasstransportAnalysis::GetB(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
-	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
+	/*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: 
+	 * by:
 	 *       Bi=[ N ]
 	 *          [ N ]
@@ -657,7 +657,7 @@
 }/*}}}*/
 void           MasstransportAnalysis::GetBprime(IssmDouble* Bprime,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
-	/*Compute B'  matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2. 
+	/*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: 
+	 * by:
 	 *       Bi_prime=[ dN/dx ]
 	 *                [ dN/dy ]
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 23370)
@@ -92,5 +92,5 @@
 }
 /*}}}*/
-void Parameters::DeepEcho(void){/*{{{*/	
+void Parameters::DeepEcho(void){/*{{{*/
 	for(int i=0;i<NUMPARAMS;i++) {
 		if(this->params[i]) this->params[i]->DeepEcho();
@@ -99,5 +99,5 @@
 }
 /*}}}*/
-void Parameters::Echo(void){/*{{{*/	
+void Parameters::Echo(void){/*{{{*/
 	for(int i=0;i<NUMPARAMS;i++) {
 		if(this->params[i]) this->params[i]->Echo();
@@ -139,5 +139,5 @@
 
 			/*Recover enum of object first: */
-			MARSHALLING(obj_enum); 
+			MARSHALLING(obj_enum);
 
 			if(obj_enum==DoubleParamEnum){
@@ -200,5 +200,5 @@
 				fileparam->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
 				delete fileparam;
-				/* No need to add this object, the pointer is not valid             
+				/* No need to add this object, the pointer is not valid
 					The FemModel should reset all FileParams in the restart function */
 			}
@@ -649,5 +649,5 @@
 char* OptionsFromAnalysis(char** pouttoolkit,Parameters* parameters,int analysis_type){ /*{{{*/
 
-	/* figure out ISSM options for current analysis, return a string. */ 
+	/* figure out ISSM options for current analysis, return a string. */
 
 	/*output: */
@@ -667,6 +667,6 @@
 
 	parameters->FindParam(&strings,&numanalyses,ToolkitsOptionsStringsEnum);
-	parameters->FindParam(&toolkits,&dummy,ToolkitsTypesEnum); _assert_(dummy==numanalyses); 
-	parameters->FindParam(&analyses,&dummy,ToolkitsOptionsAnalysesEnum); _assert_(dummy==numanalyses); 
+	parameters->FindParam(&toolkits,&dummy,ToolkitsTypesEnum); _assert_(dummy==numanalyses);
+	parameters->FindParam(&analyses,&dummy,ToolkitsOptionsAnalysesEnum); _assert_(dummy==numanalyses);
 
 	if(numanalyses==0)return NULL; //we did not find petsc options, don't bother.
@@ -710,14 +710,14 @@
 	xDelete<int>(analyses);
 	return outstring;
-} 
+}
 /*}}}*/
 void ToolkitsOptionsFromAnalysis(Parameters* parameters,int analysis_type){ /*{{{*/
 
 	/*!\file:  ToolkitsOptionsFromAnalysis.cpp
-	 * \brief: for each analysis, setup the issmoptions string. 
-	 * This is mainly for the case where we run our toolkits using petsc. In this case, we need to 
-	 * plug our toolkits options directly into the petsc options database. This is the case for each analysis type 
+	 * \brief: for each analysis, setup the issmoptions string.
+	 * This is mainly for the case where we run our toolkits using petsc. In this case, we need to
+	 * plug our toolkits options directly into the petsc options database. This is the case for each analysis type
 	 * and parameters
-	 */ 
+	 */
 
 	char* options = NULL;
@@ -731,5 +731,5 @@
 
 	#ifdef _HAVE_PETSC_
-		/*In case we are using PETSC, we do not rely on issmoptions. Instead, we dump issmoptions into the Petsc 
+		/*In case we are using PETSC, we do not rely on issmoptions. Instead, we dump issmoptions into the Petsc
 		 * options database: */
 		#if (_PETSC_MINOR_>=7)
Index: /issm/trunk-jpl/src/c/cores/hydrology_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/cores/hydrology_core.cpp	(revision 23370)
@@ -14,5 +14,5 @@
 	/*Start profiler*/
 	femmodel->profiler->Start(HYDROLOGYCORE);
-        
+
 	/*intermediary*/
 	int          hydrology_model;
@@ -50,5 +50,4 @@
 		/*intermediary: */
 		bool       isefficientlayer;
-		bool       isthermal;
 		int        step,hydroslices;
 		IssmDouble time,init_time,hydrotime,yts;
@@ -62,5 +61,4 @@
 		femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
 
-		femmodel->parameters->FindParam(&isthermal,TransientIsthermalEnum);
 		/*first we exclude frozen nodes of the solved nodes*/
 		femmodel->SetCurrentConfiguration(HydrologyDCInefficientAnalysisEnum);
@@ -153,5 +151,5 @@
 		xDelete<char*>(requested_outputs);
 	}
-	
+
 	/*End profiler*/
 	femmodel->profiler->Stop(HYDROLOGYCORE);
Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 23369)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 23370)
@@ -384,5 +384,5 @@
 		}
 
-		/*duplicating smb position to have runoff value*/
+		/*shifting smb position to have runoff value*/
 		if(issmb) smb_core(femmodel);
 
@@ -396,5 +396,5 @@
 
 		/* from here on, prepare geometry for next time step*/
-		if(issmb) smb_core(femmodel);
+		//if(issmb) smb_core(femmodel);
 
 		if(ismasstransport){
