Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 7355)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 7356)
@@ -66,4 +66,5 @@
 	parameters->AddObject(new IntParam(ArtDiffEnum,iomodel->artdiff));
 	parameters->AddObject(new IntParam(MeltingRateCorrectionApplyEnum,iomodel->melting_rate_correction_apply));
+	parameters->AddObject(new DoubleParam(GroundingLineMeltingRateEnum,iomodel->grounding_line_melting_rate));
 	parameters->AddObject(new DoubleParam(PenaltyMeltingEnum,iomodel->penalty_melting));
 	parameters->AddObject(new IntParam(MinThermalConstraintsEnum,iomodel->min_thermal_constraints));
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 7355)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 7356)
@@ -4823,10 +4823,12 @@
 	bool    elementonshelf = false;
 
-	double  shelf_melting=10;
+	/*melting rate at the grounding line: */
 	double  yts;
 	int     swap;
+	double  gl_melting_rate;
 
 	/*recover parameters: */
 	parameters->FindParam(&yts,YtsEnum);
+	parameters->FindParam(&gl_melting_rate,GroundingLineMeltingRateEnum);
 
 	/*Recover info at the vertices: */
@@ -4874,5 +4876,5 @@
 	if(swap){
 		Input* melting_rate_input     =inputs->GetInput(MeltingRateEnum);     _assert_(melting_rate_input);
-		melting_rate_input->GetValuesPtr(&values,NULL); for(i=0;i<3;i++)values[i]=shelf_melting/yts;
+		melting_rate_input->GetValuesPtr(&values,NULL); for(i=0;i<3;i++)values[i]=gl_melting_rate/yts;
 	}
 
Index: /issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/objects/IoModel.cpp	(revision 7355)
+++ /issm/trunk/src/c/objects/IoModel.cpp	(revision 7356)
@@ -84,4 +84,5 @@
 	xfree((void**)&this->melting_rate);
 	xfree((void**)&this->melting_rate_correction);
+	xfree((void**)&this->grounding_line_melting_rate);
 	xfree((void**)&this->accumulation_rate);
 	xfree((void**)&this->dhdt);
@@ -207,4 +208,5 @@
 	IoModelFetchData(&this->thermal_exchange_velocity,iomodel_handle,"thermal_exchange_velocity");
 	IoModelFetchData(&this->melting_rate_correction_apply,iomodel_handle,"melting_rate_correction_apply");
+	IoModelFetchData(&this->grounding_line_melting_rate,iomodel_handle,"grounding_line_melting_rate");
 	
 	/*qmu: */
@@ -269,4 +271,5 @@
 	this->pressure=NULL;
 	this->temperature=NULL;
+	this->grounding_line_melting_rate=0;
 	this->melting_rate=NULL;
 	this->melting_rate_correction=NULL;
Index: /issm/trunk/src/c/objects/IoModel.h
===================================================================
--- /issm/trunk/src/c/objects/IoModel.h	(revision 7355)
+++ /issm/trunk/src/c/objects/IoModel.h	(revision 7356)
@@ -180,4 +180,5 @@
 		/*basal: */
 		double*  melting_rate;
+		double  grounding_line_melting_rate;
 		double*  melting_rate_correction;
 		int      melting_rate_correction_apply;
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 7355)
+++ /issm/trunk/src/m/classes/model.m	(revision 7356)
@@ -250,4 +250,5 @@
 		 vel=NaN;
 		 temperature=NaN; %temperature solution vector
+		 gl_melting_rate=NaN;
 		 melting_rate=NaN;
 		 melting_rate_correction=NaN;
@@ -483,4 +484,5 @@
 
 			 %melting rate correction: 
+			 md.gl_melting_rate=0; 
 			 md.melting_rate_correction_apply=0; %do not apply
 
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 7355)
+++ /issm/trunk/src/m/model/marshall.m	(revision 7356)
@@ -89,4 +89,5 @@
 WriteData(fid,md.geothermalflux,'Mat','geothermalflux');
 WriteData(fid,md.accumulation_rate,'Mat','accumulation_rate');
+WriteData(fid,md.gl_melting_rate,'Mat','grounding_line_melting_rate');
 WriteData(fid,md.melting_rate,'Mat','melting_rate');
 WriteData(fid,md.melting_rate_correction_apply,'Integer','melting_rate_correction_apply');
