Index: /issm/trunk-jpl/src/c/analyses/LoveAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LoveAnalysis.cpp	(revision 26233)
+++ /issm/trunk-jpl/src/c/analyses/LoveAnalysis.cpp	(revision 26234)
@@ -19,5 +19,4 @@
 }/*}}}*/
 void LoveAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
-
 	IssmDouble* frequencies = NULL;
 	int         nfreq;
@@ -33,7 +32,14 @@
 	parameters->AddObject(iomodel->CopyConstantObject("md.love.r0",LoveR0Enum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.love.mu0",LoveMu0Enum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.Gravitational_Constant",LoveGravitationalConstantEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.love.allow_layer_deletion",LoveAllowLayerDeletionEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.underflow_tol",LoveUnderflowTolEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.integration_steps_per_layer",LoveIntStepsPerLayerEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.istemporal",LoveIsTemporalEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.n_temporal_iterations",LoveNTemporalIterationsEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.love.love_kernels",LoveKernelsEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.love.forcing_type",LoveForcingTypeEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.inner_core_boundary",LoveInnerCoreBoundaryEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.love.core_mantle_boundary",LoveCoreMantleBoundaryEnum));
 }/*}}}*/
 void LoveAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp	(revision 26233)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matlitho.cpp	(revision 26234)
@@ -21,6 +21,10 @@
 	this->burgers_viscosity=NULL;
 	this->burgers_mu=NULL;
+	this->ebm_alpha=NULL;
+	this->ebm_delta=NULL;	
+	this->ebm_taul=NULL;
+	this->ebm_tauh=NULL;
 	this->density=NULL;
-	this->isburgers=NULL;
+	this->rheologymodel=NULL;
 	this->issolid=NULL;
 	return;
@@ -29,5 +33,5 @@
 Matlitho::Matlitho(int matlitho_mid, IoModel* iomodel){/*{{{*/
 
-	IssmDouble* isburgersd=NULL;
+	IssmDouble* rheologymodeld=NULL;
 	IssmDouble* issolidd=NULL;
 
@@ -53,17 +57,29 @@
 	xMemCpy<IssmDouble>(this->burgers_mu, iomodel->Data("md.materials.burgers_mu"),this->numlayers);
 
+	this->ebm_alpha=xNew<IssmDouble>(this->numlayers);
+	xMemCpy<IssmDouble>(this->ebm_alpha, iomodel->Data("md.materials.ebm_alpha"),this->numlayers);
+
+	this->ebm_delta=xNew<IssmDouble>(this->numlayers);
+	xMemCpy<IssmDouble>(this->ebm_delta, iomodel->Data("md.materials.ebm_delta"),this->numlayers);
+
+	this->ebm_taul=xNew<IssmDouble>(this->numlayers);
+	xMemCpy<IssmDouble>(this->ebm_taul, iomodel->Data("md.materials.ebm_taul"),this->numlayers);
+
+	this->ebm_tauh=xNew<IssmDouble>(this->numlayers);
+	xMemCpy<IssmDouble>(this->ebm_tauh, iomodel->Data("md.materials.ebm_tauh"),this->numlayers);
+
 	this->density=xNew<IssmDouble>(this->numlayers);
 	xMemCpy<IssmDouble>(this->density, iomodel->Data("md.materials.density"),this->numlayers);
 
-	this->isburgers=xNew<IssmDouble>(this->numlayers);
-	xMemCpy<IssmDouble>(this->isburgers, iomodel->Data("md.materials.isburgers"),this->numlayers);
+	this->rheologymodel=xNew<IssmDouble>(this->numlayers);
+	xMemCpy<IssmDouble>(this->rheologymodel, iomodel->Data("md.materials.rheologymodel"),this->numlayers);
 
 	this->issolid=xNew<IssmDouble>(this->numlayers);
 	xMemCpy<IssmDouble>(this->issolid, iomodel->Data("md.materials.issolid"),this->numlayers);
 
-	/*isburgersd= xNew<IssmDouble>(this->numlayers);
-	this->isburgers=xNew<bool>(this->numlayers);
-	xMemCpy<IssmDouble>(isburgersd, iomodel->Data("md.materials.isburgers"),this->numlayers);
-	for (int i=0;i<this->numlayers;i++)this->isburgers[i]=reCast<bool,IssmDouble>(isburgersd[i]);
+	/*rheologymodeld= xNew<IssmDouble>(this->numlayers);
+	this->rheologymodel=xNew<bool>(this->numlayers);
+	xMemCpy<IssmDouble>(rheologymodeld, iomodel->Data("md.materials.rheologymodel"),this->numlayers);
+	for (int i=0;i<this->numlayers;i++)this->rheologymodel[i]=reCast<bool,IssmDouble>(rheologymodeld[i]);
 
 	issolidd= xNew<IssmDouble>(this->numlayers);
@@ -73,5 +89,5 @@
 
 	/*free ressources: */
-	xDelete<IssmDouble>(isburgersd);
+	xDelete<IssmDouble>(rheologymodeld);
 	xDelete<IssmDouble>(issolidd);
 }
@@ -85,6 +101,10 @@
 	xDelete<IssmDouble>(burgers_viscosity);
 	xDelete<IssmDouble>(burgers_mu);
+	xDelete<IssmDouble>(ebm_alpha);
+	xDelete<IssmDouble>(ebm_delta);
+	xDelete<IssmDouble>(ebm_taul);
+	xDelete<IssmDouble>(ebm_tauh);
 	xDelete<IssmDouble>(density);
-	xDelete<IssmDouble>(isburgers);
+	xDelete<IssmDouble>(rheologymodel);
 	xDelete<IssmDouble>(issolid);
 
@@ -116,8 +136,12 @@
 		matlitho->burgers_viscosity=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->burgers_viscosity, this->burgers_viscosity,this->numlayers);
 		matlitho->burgers_mu=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->burgers_mu, this->burgers_mu,this->numlayers);
+		matlitho->ebm_alpha=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->ebm_alpha, this->ebm_alpha,this->numlayers);
+		matlitho->ebm_delta=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->ebm_delta, this->ebm_delta,this->numlayers);
+		matlitho->ebm_taul=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->ebm_taul, this->ebm_taul,this->numlayers);
+		matlitho->ebm_tauh=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->ebm_tauh, this->ebm_tauh,this->numlayers);
 		matlitho->density=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->density, this->density,this->numlayers);
-		matlitho->isburgers=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->isburgers, this->isburgers,this->numlayers);
+		matlitho->rheologymodel=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->rheologymodel, this->rheologymodel,this->numlayers);
 		matlitho->issolid=xNew<IssmDouble>(this->numlayers); xMemCpy<IssmDouble>(matlitho->issolid, this->issolid,this->numlayers);
-		/*matlitho->isburgers=xNew<bool>(this->numlayers); for(int i=0;i<this->numlayers;i++)matlitho->isburgers[i]=this->isburgers[i]; 
+		/*matlitho->rheologymodel=xNew<bool>(this->numlayers); for(int i=0;i<this->numlayers;i++)matlitho->rheologymodel[i]=this->rheologymodel[i]; 
 		matlitho->issolid=xNew<bool>(this->numlayers); for(int i=0;i<this->numlayers;i++)matlitho->issolid[i]=this->issolid[i];*/ 
 	}
@@ -136,7 +160,7 @@
 	_printf_("   mid: " << mid << "\n");
 	_printf_("   numlayers: " << numlayers << "\n");
-	_printf_("layer radius viscosity lame_lambda lame_mu burgers_viscosity burgers_mu density isburgers issolid\n");
+	_printf_("layer radius viscosity lame_lambda lame_mu burgers_viscosity burgers_mu ebm_alpha ebm_delta ebm_taul ebm_tauh density rheologymodel issolid\n");
 	for (int i=0;i<numlayers;i++){
-		_printf_(i << " " << radius[i] << " " << viscosity[i] << " " << lame_lambda[i] << " " << lame_mu[i] << " " << burgers_viscosity[i] << " " << burgers_mu[i] << " " << density[i] << " " << isburgers[i] << " " << issolid[i]);
+		_printf_(i << " " << radius[i] << " " << viscosity[i] << " " << lame_lambda[i] << " " << lame_mu[i] << " " << burgers_viscosity[i] << " " << burgers_mu[i] << " " << ebm_alpha[i] << " " << ebm_delta[i] << " " << ebm_taul[i] << " " << ebm_tauh[i] << " " << density[i] << " " << rheologymodel[i] << " " << issolid[i]);
 	}
 	return;
@@ -158,6 +182,10 @@
 		marshallhandle->call(this->burgers_viscosity,numlayers);
 		marshallhandle->call(this->burgers_mu,numlayers);
+		marshallhandle->call(this->ebm_alpha,numlayers);
+		marshallhandle->call(this->ebm_delta,numlayers);
+		marshallhandle->call(this->ebm_taul,numlayers);
+		marshallhandle->call(this->ebm_tauh,numlayers);
 		marshallhandle->call(this->density,numlayers);
-		marshallhandle->call(this->isburgers,numlayers);
+		marshallhandle->call(this->rheologymodel,numlayers);
 		marshallhandle->call(this->issolid,numlayers);
 	}
@@ -169,6 +197,10 @@
 		burgers_viscosity = NULL;
 		burgers_mu        = NULL;
+		ebm_alpha         = NULL;
+		ebm_delta         = NULL;
+		ebm_taul          = NULL;
+		ebm_tauh          = NULL;
 		density           = NULL;
-		isburgers         = NULL;
+		rheologymodel     = NULL;
 		issolid           = NULL;
 	}
Index: /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h	(revision 26233)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matlitho.h	(revision 26234)
@@ -23,6 +23,10 @@
 		IssmDouble*  burgers_viscosity;
 		IssmDouble*  burgers_mu;
+		IssmDouble*  ebm_alpha;
+		IssmDouble*  ebm_delta;
+		IssmDouble*  ebm_taul;
+		IssmDouble*  ebm_tauh;
 		IssmDouble*  density;
-		IssmDouble*  isburgers;
+		IssmDouble*  rheologymodel;
 		IssmDouble*  issolid;
 
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 26233)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 26234)
@@ -198,7 +198,7 @@
 					case MatlithoEnum:
 						{ /*{{{*/
-							iomodel->FetchData(9,"md.materials.radius","md.materials.viscosity","md.materials.lame_lambda","md.materials.lame_mu","md.materials.burgers_viscosity","md.materials.burgers_mu","md.materials.isburgers","md.materials.issolid","md.materials.density");
+							iomodel->FetchData(13,"md.materials.radius","md.materials.viscosity","md.materials.lame_lambda","md.materials.lame_mu","md.materials.burgers_viscosity","md.materials.burgers_mu","md.materials.ebm_alpha","md.materials.ebm_delta","md.materials.ebm_taul","md.materials.ebm_tauh","md.materials.rheologymodel","md.materials.issolid","md.materials.density");
 							materials->AddObject(new Matlitho(iomodel->numberofelements+1,iomodel));
-							iomodel->DeleteData(9,"md.materials.radius","md.materials.viscosity","md.materials.lame_lambda","md.materials.lame_mu","md.materials.burgers_viscosity","md.materials.burgers_mu","md.materials.isburgers","md.materials.issolid","md.materials.density");
+							iomodel->DeleteData(13,"md.materials.radius","md.materials.viscosity","md.materials.lame_lambda","md.materials.lame_mu","md.materials.burgers_viscosity","md.materials.burgers_mu","md.materials.ebm_alpha","md.materials.ebm_delta","md.materials.ebm_taul","md.materials.ebm_tauh","md.materials.rheologymodel","md.materials.issolid","md.materials.density");
 						}
 						/*}}}*/
