Index: /issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp	(revision 18068)
@@ -41,5 +41,5 @@
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum);
@@ -354,5 +354,5 @@
 	/*Retrieve all inputs and parameters*/
 	element->GetVerticesCoordinates(&xyz_list);
-	Input* mb_input   = element->GetInput(BasalforcingsMeltingRateEnum);       _assert_(mb_input);
+	Input* mb_input   = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);       _assert_(mb_input);
 	Input* ms_input   = element->GetInput(SurfaceforcingsMassBalanceEnum);     _assert_(ms_input);
 	Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input);
@@ -395,5 +395,5 @@
 	/*Retrieve all inputs and parameters*/
 	element->GetVerticesCoordinates(&xyz_list);
-	Input* mb_input   = element->GetInput(BasalforcingsMeltingRateEnum);       _assert_(mb_input);
+	Input* mb_input   = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);       _assert_(mb_input);
 	Input* ms_input   = element->GetInput(SurfaceforcingsMassBalanceEnum);     _assert_(ms_input);
 	Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input);
@@ -512,12 +512,12 @@
 	element->GetVerticesCoordinates(&xyz_list);
 	element->GradientIndexing(&vertexpidlist[0],control_index);
-	Input* thickness_input            = element->GetInput(ThicknessEnum);                          _assert_(thickness_input);
-	Input* thicknessobs_input         = element->GetInput(InversionThicknessObsEnum);              _assert_(thicknessobs_input);
-	Input* weights_input              = element->GetInput(InversionCostFunctionsCoefficientsEnum); _assert_(weights_input);
-	Input* vx_input                   = element->GetInput(VxEnum);                                 _assert_(vx_input);
-	Input* vy_input                   = element->GetInput(VyEnum);                                 _assert_(vy_input);
-	Input* surface_mass_balance_input = element->GetInput(SurfaceforcingsMassBalanceEnum);         _assert_(surface_mass_balance_input);
-	Input* basal_melting_input        = element->GetInput(BasalforcingsMeltingRateEnum);           _assert_(basal_melting_input);
-	Input* dhdt_input                 = element->GetInput(BalancethicknessThickeningRateEnum);     _assert_(dhdt_input);
+	Input* thickness_input            = element->GetInput(ThicknessEnum);                           _assert_(thickness_input);
+	Input* thicknessobs_input         = element->GetInput(InversionThicknessObsEnum);               _assert_(thicknessobs_input);
+	Input* weights_input              = element->GetInput(InversionCostFunctionsCoefficientsEnum);  _assert_(weights_input);
+	Input* vx_input                   = element->GetInput(VxEnum);                                  _assert_(vx_input);
+	Input* vy_input                   = element->GetInput(VyEnum);                                  _assert_(vy_input);
+	Input* surface_mass_balance_input = element->GetInput(SurfaceforcingsMassBalanceEnum);          _assert_(surface_mass_balance_input);
+	Input* basal_melting_input        = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(basal_melting_input);
+	Input* dhdt_input                 = element->GetInput(BalancethicknessThickeningRateEnum);      _assert_(dhdt_input);
 
 	/* Start  looping on the number of gaussian points: */
Index: /issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp	(revision 18068)
@@ -29,5 +29,5 @@
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum);
@@ -183,8 +183,8 @@
 	/*Retrieve all inputs and parameters*/
 	basalelement->GetVerticesCoordinates(&xyz_list);
-	Input* ms_input   = basalelement->GetInput(SurfaceforcingsMassBalanceEnum);     _assert_(ms_input);
-	Input* mb_input   = basalelement->GetInput(BasalforcingsMeltingRateEnum);       _assert_(mb_input);
-	Input* dhdt_input = basalelement->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input);
-	Input* H_input    = basalelement->GetInput(ThicknessEnum);                      _assert_(H_input);
+	Input* ms_input   = basalelement->GetInput(SurfaceforcingsMassBalanceEnum);          _assert_(ms_input);
+	Input* mb_input   = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input);
+	Input* dhdt_input = basalelement->GetInput(BalancethicknessThickeningRateEnum);      _assert_(dhdt_input);
+	Input* H_input    = basalelement->GetInput(ThicknessEnum);                           _assert_(H_input);
 	IssmDouble h = basalelement->CharacteristicLength();
 
Index: /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp	(revision 18068)
@@ -71,5 +71,5 @@
 	iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum);
 	iomodel->FetchDataToInput(elements,WatercolumnEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
@@ -80,5 +80,5 @@
 	if(dakota_analysis){
 		elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum);
-		elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum);
+		elements->InputDuplicate(BasalforcingsGroundediceMeltingRateEnum,QmuMeltingEnum);
 		elements->InputDuplicate(VxMeshEnum,QmuVxMeshEnum);
 		elements->InputDuplicate(VxMeshEnum,QmuVyMeshEnum);
@@ -965,5 +965,5 @@
 	element->GetInputListOnVertices(pressure,PressureEnum);
 	element->GetInputListOnVertices(watercolumn,WatercolumnEnum);
-	element->GetInputListOnVertices(basalmeltingrate,BasalforcingsMeltingRateEnum);
+	element->GetInputListOnVertices(basalmeltingrate,BasalforcingsGroundediceMeltingRateEnum);
 
 	Gauss* gauss=element->NewGauss();
@@ -1045,5 +1045,5 @@
 	element->AddInput(EnthalpyEnum,enthalpy,P1Enum);
 	element->AddInput(WatercolumnEnum,watercolumn,P1Enum);
-	element->AddInput(BasalforcingsMeltingRateEnum,basalmeltingrate,P1Enum);
+	element->AddInput(BasalforcingsGroundediceMeltingRateEnum,basalmeltingrate,P1Enum);
 
 	/*Clean up and return*/
Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 18068)
@@ -31,6 +31,6 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum,0.);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsFloatingiceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
@@ -232,5 +232,5 @@
 	int         domaintype,dim;
 	IssmDouble  Jdet,dt;
-	IssmDouble  mb,mb_correction,bed,vz;
+	IssmDouble  gmb,fmb,mb,bed,phi,vz;
 	Element*    basalelement = NULL;
 	IssmDouble *xyz_list  = NULL;
@@ -266,7 +266,8 @@
 	basalelement->GetVerticesCoordinates(&xyz_list);
 	basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
-	Input* mb_input            = basalelement->GetInput(BasalforcingsMeltingRateEnum);   _assert_(mb_input);
-	Input* mb_correction_input = basalelement->GetInput(BasalforcingsMeltingRateCorrectionEnum);
-	Input* base_input           = basalelement->GetInput(BaseEnum);                        _assert_(base_input);
+	Input* groundedice_input   = basalelement->GetInput(MaskGroundediceLevelsetEnum);              _assert_(groundedice_input);
+	Input* gmb_input           = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
+	Input* fmb_input           = basalelement->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
+	Input* base_input          = basalelement->GetInput(BaseEnum);                                 _assert_(base_input);
 	Input* vz_input      = NULL;
 	switch(dim){
@@ -276,5 +277,4 @@
 	}
 
-	/*Initialize mb_correction to 0, do not forget!:*/
 	/* Start  looping on the number of gaussian points: */
 	Gauss* gauss=basalelement->NewGauss(2);
@@ -286,12 +286,12 @@
 
 		vz_input->GetInputValue(&vz,gauss);
-		mb_input->GetInputValue(&mb,gauss);
+		gmb_input->GetInputValue(&gmb,gauss);
+		fmb_input->GetInputValue(&fmb,gauss);
 		base_input->GetInputValue(&bed,gauss);
-		if(mb_correction_input)
-		 mb_correction_input->GetInputValue(&mb_correction,gauss);
-		else
-		 mb_correction=0.;
-
-		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(bed+dt*(mb-mb_correction) + dt*vz)*basis[i];
+		groundedice_input->GetInputValue(&phi,gauss);
+		if(phi>0) mb=gmb;
+		else mb=fmb;
+
+		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(bed+dt*(mb) + dt*vz)*basis[i];
 	}
 
Index: /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp	(revision 18068)
@@ -84,5 +84,5 @@
 	iomodel->FetchDataToInput(elements,BaseEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,HydrologydcBasalMoulinInputEnum);
 	iomodel->FetchDataToInput(elements,SedimentHeadEnum);
@@ -307,6 +307,6 @@
 	Input* thickness_input   = basalelement->GetInput(ThicknessEnum);
 	Input* base_input        = basalelement->GetInput(BaseEnum);
-	Input* water_input       = basalelement->GetInput(BasalforcingsMeltingRateEnum);    _assert_(water_input);
-	if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);             _assert_(old_wh_input);}
+	Input* water_input       = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input);
+	if(dt!= 0.){old_wh_input = basalelement->GetInput(SedimentHeadOldEnum);                     _assert_(old_wh_input);}
 
 	IssmDouble sediment_storing    = SedimentStoring(basalelement);
Index: /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp	(revision 18068)
@@ -50,5 +50,5 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,WatercolumnEnum);
 
@@ -205,6 +205,6 @@
 	element->GetVerticesCoordinates(&xyz_list);
 	element->FindParam(&dt,TimesteppingTimeStepEnum);
-	Input* mb_input   = element->GetInput(BasalforcingsMeltingRateEnum); _assert_(mb_input);
-	Input* oldw_input = element->GetInput(WaterColumnOldEnum);           _assert_(oldw_input);
+	Input* mb_input   = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input);
+	Input* oldw_input = element->GetInput(WaterColumnOldEnum);                      _assert_(oldw_input);
 
 	/*Initialize mb_correction to 0, do not forget!:*/
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 18068)
@@ -64,6 +64,6 @@
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum,0.);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsFloatingiceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
@@ -524,5 +524,5 @@
 	/*Intermediaries */
 	IssmDouble  Jdet,dt;
-	IssmDouble  ms,mb,mb_correction=0.,thickness;
+	IssmDouble  ms,mb,gmb,fmb,thickness,phi;
 	IssmDouble* xyz_list = NULL;
 
@@ -537,10 +537,10 @@
 	element->GetVerticesCoordinates(&xyz_list);
 	element->FindParam(&dt,TimesteppingTimeStepEnum);
-	Input* mb_correction_input = element->GetInput(BasalforcingsMeltingRateCorrectionEnum);
-	Input* mb_input            = element->GetInput(BasalforcingsMeltingRateEnum);     _assert_(mb_input);
-	Input* ms_input            = element->GetInput(SurfaceforcingsMassBalanceEnum);   _assert_(ms_input);
-	Input* thickness_input     = element->GetInput(ThicknessEnum);                    _assert_(thickness_input);
-
-	/*Initialize mb_correction to 0, do not forget!:*/
+	Input* gmb_input           = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
+	Input* fmb_input           = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
+	Input* groundedice_input   = element->GetInput(MaskGroundediceLevelsetEnum);              _assert_(groundedice_input);
+	Input* ms_input            = element->GetInput(SurfaceforcingsMassBalanceEnum);           _assert_(ms_input);
+	Input* thickness_input     = element->GetInput(ThicknessEnum);                            _assert_(thickness_input);
+
 	/* Start  looping on the number of gaussian points: */
 	Gauss* gauss=element->NewGauss(2);
@@ -552,10 +552,12 @@
 
 		ms_input->GetInputValue(&ms,gauss);
-		mb_input->GetInputValue(&mb,gauss);
+		gmb_input->GetInputValue(&gmb,gauss);
+		fmb_input->GetInputValue(&fmb,gauss);
+		groundedice_input->GetInputValue(&phi,gauss);
 		thickness_input->GetInputValue(&thickness,gauss);
-		if(mb_correction_input)
-		 mb_correction_input->GetInputValue(&mb_correction,gauss);
-
-		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(thickness+dt*(ms-mb-mb_correction))*basis[i];
+		if(phi>0.) mb=gmb;
+		else mb=fmb;
+
+		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(thickness+dt*(ms-mb))*basis[i];
 	}
 
@@ -573,5 +575,5 @@
 	/*Intermediaries */
 	IssmDouble  Jdet,dt;
-	IssmDouble  ms,mb,mb_correction=0.,thickness;
+	IssmDouble  ms,mb,gmb,fmb,thickness,phi;
 	IssmDouble* xyz_list = NULL;
 
@@ -586,10 +588,10 @@
 	element->GetVerticesCoordinates(&xyz_list);
 	element->FindParam(&dt,TimesteppingTimeStepEnum);
-	Input* mb_correction_input = element->GetInput(BasalforcingsMeltingRateCorrectionEnum);
-	Input* mb_input            = element->GetInput(BasalforcingsMeltingRateEnum);     _assert_(mb_input);
-	Input* ms_input            = element->GetInput(SurfaceforcingsMassBalanceEnum);   _assert_(ms_input);
-	Input* thickness_input     = element->GetInput(ThicknessEnum);                    _assert_(thickness_input);
-
-	/*Initialize mb_correction to 0, do not forget!:*/
+	Input* gmb_input           = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
+	Input* fmb_input           = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
+	Input* ms_input            = element->GetInput(SurfaceforcingsMassBalanceEnum);          _assert_(ms_input);
+	Input* groundedice_input   = element->GetInput(MaskGroundediceLevelsetEnum);             _assert_(groundedice_input);
+	Input* thickness_input     = element->GetInput(ThicknessEnum);                           _assert_(thickness_input);
+
 	/* Start  looping on the number of gaussian points: */
 	Gauss* gauss=element->NewGauss(2);
@@ -601,10 +603,12 @@
 
 		ms_input->GetInputValue(&ms,gauss);
-		mb_input->GetInputValue(&mb,gauss);
+		gmb_input->GetInputValue(&gmb,gauss);
+		fmb_input->GetInputValue(&fmb,gauss);
+		groundedice_input->GetInputValue(&phi,gauss);
 		thickness_input->GetInputValue(&thickness,gauss);
-		if(mb_correction_input)
-		 mb_correction_input->GetInputValue(&mb_correction,gauss);
-
-		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(thickness+dt*(ms-mb-mb_correction))*basis[i];
+		if(phi>0) mb=gmb;
+		else mb=fmb;
+
+		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(thickness+dt*(ms-mb))*basis[i];
 	}
 
Index: /issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp	(revision 18068)
@@ -43,5 +43,5 @@
 	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
 	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,PressureEnum);
 	
@@ -155,5 +155,5 @@
 }/*}}}*/
 void MeltingAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
-	element->InputUpdateFromSolutionOneDof(solution,BasalforcingsMeltingRateEnum);
+	element->InputUpdateFromSolutionOneDof(solution,BasalforcingsGroundediceMeltingRateEnum);
 }/*}}}*/
 void MeltingAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 18068)
@@ -231,5 +231,5 @@
 	if(isFS){
 		iomodel->FetchDataToInput(elements,PressureEnum,0.);
-		iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum,0.);
+		iomodel->FetchDataToInput(elements,BasalforcingsFloatingiceMeltingRateEnum,0.);
 		if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum);
 	}
@@ -3618,5 +3618,5 @@
 	element->FindParam(&shelf_dampening,StressbalanceShelfDampeningEnum);
 	if(shelf_dampening) {
-		Input*      mb_input=element->GetInput(BasalforcingsMeltingRateEnum); _assert_(mb_input);
+		Input*      mb_input=element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(mb_input);
 		IssmDouble dt,mb,normal_b;
 		element->FindParam(&dt,TimesteppingTimeStepEnum);
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp	(revision 18068)
@@ -40,4 +40,5 @@
 	iomodel->FetchDataToInput(elements,ThicknessEnum);
 	iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
+	iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum);
 	if(islevelset){
 		iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum);
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 18068)
@@ -38,5 +38,6 @@
 		iomodel->FetchDataToInput(elements,MeshVertexonsurfaceEnum);
 	}
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsGroundediceMeltingRateEnum);
+	iomodel->FetchDataToInput(elements,BasalforcingsFloatingiceMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,VxEnum,0.);
 	iomodel->FetchDataToInput(elements,VyEnum,0.);
@@ -278,5 +279,6 @@
 	IssmDouble *xyz_list_base = NULL;
 	IssmDouble  Jdet,slope[3];
-	IssmDouble  vx,vy,vz=0.,dbdx,dbdy,basalmeltingvalue;
+	IssmDouble  vx,vy,vz=0.,dbdx,dbdy;
+	IssmDouble  gmb,fmb,phi,basalmeltingvalue;
 
 	if(!element->IsOnBase()) return NULL;
@@ -293,8 +295,10 @@
 	element->GetVerticesCoordinatesBase(&xyz_list_base);
 	element->GetInputValue(&approximation,ApproximationEnum);
-	Input* base_input=element->GetInput(BaseEnum);                                _assert_(base_input);
-	Input* basal_melting_input=element->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input);
-	Input* vx_input=element->GetInput(VxEnum);                                  _assert_(vx_input);
-	Input* vy_input=element->GetInput(VyEnum);                                  _assert_(vy_input);
+	Input* base_input=element->GetInput(BaseEnum);                                               _assert_(base_input);
+	Input* groundedice_input=element->GetInput(MaskGroundediceLevelsetEnum);                     _assert_(groundedice_input);
+	Input* groundedice_melting_input=element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input);
+	Input* floatingice_melting_input=element->GetInput(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingice_melting_input);
+	Input* vx_input=element->GetInput(VxEnum);                                                   _assert_(vx_input);
+	Input* vy_input=element->GetInput(VyEnum);                                                   _assert_(vy_input);
 	Input* vzFS_input=NULL;
 	if(approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
@@ -307,5 +311,7 @@
 		gauss->GaussPoint(ig);
 
-		basal_melting_input->GetInputValue(&basalmeltingvalue,gauss);
+		groundedice_melting_input->GetInputValue(&gmb,gauss);
+		floatingice_melting_input->GetInputValue(&fmb,gauss);
+		groundedice_input->GetInputValue(&phi,gauss);
 		base_input->GetInputDerivativeValue(&slope[0],xyz_list,gauss);
 		vx_input->GetInputValue(&vx,gauss);
@@ -316,4 +322,6 @@
 		dbdx=slope[0];
 		dbdy=slope[1];
+		if(phi>0.) basalmeltingvalue=gmb;
+		else basalmeltingvalue=fmb;
 
 		element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
Index: /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 18068)
@@ -77,5 +77,5 @@
 	if(dakota_analysis){
 		elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum);
-		elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum);
+		elements->InputDuplicate(BasalforcingsGroundediceMeltingRateEnum,QmuMeltingEnum);
 		elements->InputDuplicate(VxMeshEnum,QmuVxMeshEnum);
 		elements->InputDuplicate(VxMeshEnum,QmuVyMeshEnum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18068)
@@ -822,5 +822,6 @@
 				name==SurfaceSlopeYEnum ||
 				name==SurfaceforcingsMassBalanceEnum ||
-				name==BasalforcingsMeltingRateEnum ||
+				name==BasalforcingsGroundediceMeltingRateEnum ||
+				name==BasalforcingsFloatingiceMeltingRateEnum ||
 				name==BasalforcingsGeothermalfluxEnum ||
 				name==SurfaceAreaEnum||
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 18068)
@@ -3161,8 +3161,5 @@
 
 	int        i,migration_style;
-	bool       oldfloating;
-	bool       floatingelement = false;
-	bool       groundedelement = false;
-	IssmDouble bed_hydro,yts,gl_melting_rate;
+	IssmDouble bed_hydro,yts;
 	IssmDouble rho_water,rho_ice,density;
 	IssmDouble h[NUMVERTICES],s[NUMVERTICES],b[NUMVERTICES],r[NUMVERTICES];
@@ -3173,5 +3170,4 @@
 	/*Recover info at the vertices: */
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
-	parameters->FindParam(&gl_melting_rate,GroundinglineMeltingRateEnum);
 	parameters->FindParam(&yts,ConstantsYtsEnum);
 	GetInputListOnVertices(&h[0],ThicknessEnum);
@@ -3183,5 +3179,4 @@
 	rho_ice     = matpar->GetRhoIce();
 	density     = rho_ice/rho_water;
-	oldfloating = this->IsFloating(); //figure out if the element is floating before starting to change everything
 
 	/*go through vertices, and update inputs, considering them to be PentaVertex type: */
@@ -3228,29 +3223,4 @@
 	this->InputExtrude(MaskGroundediceLevelsetEnum);
 
-	/*SubelementMigrationEnum: if one grounded, all grounded*/
-	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){
-		for(i=0;i<NUMVERTICES;i++){
-			if(phi[i]>0.){
-				groundedelement=true;
-				break;
-			}
-		}
-		floatingelement=!groundedelement;
-	}
-	else{
-		for(i=0;i<NUMVERTICES;i++){
-			if(phi[i]<=0.){
-				floatingelement=true;
-				break;
-			}
-		}
-	}
-
-   /*Add basal melting rate if element just ungrounded*/
-	if(!oldfloating && floatingelement==true){
-		for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts;
-		this->inputs->AddInput(new PentaInput(BasalforcingsMeltingRateEnum,&melting[0],P1Enum));
-	} 
-
 	/*Update inputs*/
 	this->inputs->AddInput(new PentaInput(SurfaceEnum,&s[0],P1Enum));
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 18068)
@@ -2990,8 +2990,6 @@
 
 	int        i,migration_style;
-	bool       oldfloating;
-	bool       floatingelement = false;
 	bool       groundedelement = false;
-	IssmDouble bed_hydro,yts,gl_melting_rate;
+	IssmDouble bed_hydro,yts;
 	IssmDouble rho_water,rho_ice,density;
 	IssmDouble melting[NUMVERTICES],phi[NUMVERTICES];;
@@ -3000,5 +2998,4 @@
 	/*Recover info at the vertices: */
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
-	parameters->FindParam(&gl_melting_rate,GroundinglineMeltingRateEnum);
 	parameters->FindParam(&yts,ConstantsYtsEnum);
 	GetInputListOnVertices(&h[0],ThicknessEnum);
@@ -3010,5 +3007,4 @@
 	rho_ice     = matpar->GetRhoIce();
 	density     = rho_ice/rho_water;
-	oldfloating = this->IsFloating(); //figure out if element is floating before we start to change everything
 
 	if(migration_style == ContactEnum){
@@ -3023,16 +3019,4 @@
 			}
 		}
-
-		/*Add basal melting rate if element just ungrounded*/
-		for(i=0;i<NUMVERTICES;i++){
-			if(phi[i]<0.){
-				floatingelement=true;
-				break;
-			}
-		}
-		if(!oldfloating && floatingelement==true){
-			for(i=0;i<NUMVERTICES;i++) melting[i]=gl_melting_rate/yts;
-			this->inputs->AddInput(new TriaInput(BasalforcingsMeltingRateEnum,&melting[0],P1Enum));
-		} 
 
 		/*Update inputs*/
@@ -3085,30 +3069,4 @@
 	this->inputs->AddInput(new TriaInput(MaskGroundediceLevelsetEnum,&phi[0],P1Enum));
 
-	/*SubelementMigrationEnum: if one grounded, all grounded*/
-	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){
-		for(i=0;i<NUMVERTICES;i++){
-			if(phi[i]>0.){
-				groundedelement=true;
-				break;
-			}
-		}
-		floatingelement=!groundedelement;
-	}
-	else{
-		/*Otherwise: if one floating, all floating*/
-		for(i=0;i<NUMVERTICES;i++){
-			if(phi[i]<=0.){
-				floatingelement=true;
-				break;
-			}
-		}
-	}
-
-	/*Add basal melting rate if element just ungrounded*/
-	if(!oldfloating && floatingelement==true){
-		for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts;
-		this->inputs->AddInput(new TriaInput(BasalforcingsMeltingRateEnum,&melting[0],P1Enum));
-	} 
-
 	/*Update inputs*/
 	this->inputs->AddInput(new TriaInput(SurfaceEnum,&s[0],P1Enum));
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 18068)
@@ -1132,5 +1132,5 @@
 
 	IssmDouble  weight,vx,vy,H,dvx[2],dvy[2],dH[2];
-	IssmDouble  temp,Jdet,dhdt,basal_melting,surface_mass_balance;
+	IssmDouble  temp,Jdet,dhdt,groundedice_melting,surface_mass_balance;
 	IssmDouble* xyz_list = NULL;
 	IssmDouble  dp[3];
@@ -1145,11 +1145,11 @@
 		/* Get node coordinates*/
 		element->GetVerticesCoordinates(&xyz_list);
-		Input* weights_input              = element->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
-		Input* thickness_input            = element->GetInput(ThicknessEnum); _assert_(thickness_input);
-		Input* vx_input                   = element->GetInput(VxEnum);                                 _assert_(vx_input);
-		Input* vy_input                   = element->GetInput(VyEnum);                                 _assert_(vy_input);
-		Input* surface_mass_balance_input = element->GetInput(SurfaceforcingsMassBalanceEnum);         _assert_(surface_mass_balance_input);
-		Input* basal_melting_input        = element->GetInput(BasalforcingsMeltingRateEnum);           _assert_(basal_melting_input);
-		Input* dhdt_input                 = element->GetInput(BalancethicknessThickeningRateEnum);     _assert_(dhdt_input);
+		Input* weights_input                   = element->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
+		Input* thickness_input                 = element->GetInput(ThicknessEnum); _assert_(thickness_input);
+		Input* vx_input                        = element->GetInput(VxEnum);                                  _assert_(vx_input);
+		Input* vy_input                        = element->GetInput(VyEnum);                                  _assert_(vy_input);
+		Input* surface_mass_balance_input      = element->GetInput(SurfaceforcingsMassBalanceEnum);          _assert_(surface_mass_balance_input);
+		Input* groundedice_melting_input       = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input);
+		Input* dhdt_input                      = element->GetInput(BalancethicknessThickeningRateEnum);      _assert_(dhdt_input);
 
 		/* Start  looping on the number of gaussian points: */
@@ -1167,5 +1167,5 @@
 			thickness_input->GetInputDerivativeValue(&dH[0],xyz_list,gauss);
 			surface_mass_balance_input->GetInputValue(&surface_mass_balance,gauss);
-			basal_melting_input->GetInputValue(&basal_melting,gauss);
+			groundedice_melting_input->GetInputValue(&groundedice_melting,gauss);
 			dhdt_input->GetInputValue(&dhdt,gauss);
 			vx_input->GetInputValue(&vx,gauss);
@@ -1175,5 +1175,5 @@
 
 			/*Balance thickness soft constraint J = 1/2 (div(Hv)-a)^2*/
-			temp  = vx*dH[0]+vy*dH[1]+H*(dvx[0]+dvy[1]) - (surface_mass_balance-basal_melting-dhdt);
+			temp  = vx*dH[0]+vy*dH[1]+H*(dvx[0]+dvy[1]) - (surface_mass_balance-groundedice_melting-dhdt);
 			J    +=weight*1/2*temp*temp*Jdet*gauss->weight;
 		}
Index: /issm/trunk-jpl/src/c/cores/thermal_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/thermal_core.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/cores/thermal_core.cpp	(revision 18068)
@@ -33,5 +33,5 @@
 		InputDuplicatex(femmodel,QmuVzMeshEnum,VzMeshEnum);
 		InputDuplicatex(femmodel,QmuTemperatureEnum,TemperatureEnum);
-		InputDuplicatex(femmodel,QmuMeltingEnum,BasalforcingsMeltingRateEnum);
+		InputDuplicatex(femmodel,QmuMeltingEnum,BasalforcingsGroundediceMeltingRateEnum);
 		InputDuplicatex(femmodel,QmuMaterialsRheologyBEnum,MaterialsRheologyBEnum);
 		femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 18068)
@@ -86,5 +86,5 @@
 			InputDuplicatex(femmodel,QmuVzMeshEnum,VzMeshEnum);
 			InputDuplicatex(femmodel,QmuTemperatureEnum,TemperatureEnum);
-			InputDuplicatex(femmodel,QmuMeltingEnum,BasalforcingsMeltingRateEnum);
+			InputDuplicatex(femmodel,QmuMeltingEnum,BasalforcingsGroundediceMeltingRateEnum);
 			InputDuplicatex(femmodel,QmuMaterialsRheologyBEnum,MaterialsRheologyBEnum);
 			//Reset Thermal Constraints
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 18068)
@@ -58,5 +58,4 @@
 	parameters->AddObject(iomodel->CopyConstantObject(MeshAverageVertexConnectivityEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(MeshNumberofelementsEnum));
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 18067)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 18068)
@@ -39,6 +39,9 @@
 	BalancethicknessThickeningRateEnum,
 	BasalforcingsGeothermalfluxEnum,
-	BasalforcingsMeltingRateCorrectionEnum,
-	BasalforcingsMeltingRateEnum,
+	BasalforcingsGroundediceMeltingRateEnum,
+	BasalforcingsFloatingiceMeltingRateEnum,
+	BasalforcingsDeepwaterMeltingRateEnum,
+	BasalforcingsDeepwaterElevationEnum,
+	BasalforcingsUpperwaterElevationEnum,
 	BedEnum,
 	BaseEnum,
@@ -499,5 +502,4 @@
 	FractionIncrementEnum,
 	FrictionEnum,
-	GroundinglineMeltingRateEnum,
 	InternalEnum,
 	MassFluxEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 18068)
@@ -47,6 +47,9 @@
 		case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate";
 		case BasalforcingsGeothermalfluxEnum : return "BasalforcingsGeothermalflux";
-		case BasalforcingsMeltingRateCorrectionEnum : return "BasalforcingsMeltingRateCorrection";
-		case BasalforcingsMeltingRateEnum : return "BasalforcingsMeltingRate";
+		case BasalforcingsGroundediceMeltingRateEnum : return "BasalforcingsGroundediceMeltingRate";
+		case BasalforcingsFloatingiceMeltingRateEnum : return "BasalforcingsFloatingiceMeltingRate";
+		case BasalforcingsDeepwaterMeltingRateEnum : return "BasalforcingsDeepwaterMeltingRate";
+		case BasalforcingsDeepwaterElevationEnum : return "BasalforcingsDeepwaterElevation";
+		case BasalforcingsUpperwaterElevationEnum : return "BasalforcingsUpperwaterElevation";
 		case BedEnum : return "Bed";
 		case BaseEnum : return "Base";
@@ -490,5 +493,4 @@
 		case FractionIncrementEnum : return "FractionIncrement";
 		case FrictionEnum : return "Friction";
-		case GroundinglineMeltingRateEnum : return "GroundinglineMeltingRate";
 		case InternalEnum : return "Internal";
 		case MassFluxEnum : return "MassFlux";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 18067)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 18068)
@@ -47,6 +47,9 @@
 	      else if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum;
 	      else if (strcmp(name,"BasalforcingsGeothermalflux")==0) return BasalforcingsGeothermalfluxEnum;
-	      else if (strcmp(name,"BasalforcingsMeltingRateCorrection")==0) return BasalforcingsMeltingRateCorrectionEnum;
-	      else if (strcmp(name,"BasalforcingsMeltingRate")==0) return BasalforcingsMeltingRateEnum;
+	      else if (strcmp(name,"BasalforcingsGroundediceMeltingRate")==0) return BasalforcingsGroundediceMeltingRateEnum;
+	      else if (strcmp(name,"BasalforcingsFloatingiceMeltingRate")==0) return BasalforcingsFloatingiceMeltingRateEnum;
+	      else if (strcmp(name,"BasalforcingsDeepwaterMeltingRate")==0) return BasalforcingsDeepwaterMeltingRateEnum;
+	      else if (strcmp(name,"BasalforcingsDeepwaterElevation")==0) return BasalforcingsDeepwaterElevationEnum;
+	      else if (strcmp(name,"BasalforcingsUpperwaterElevation")==0) return BasalforcingsUpperwaterElevationEnum;
 	      else if (strcmp(name,"Bed")==0) return BedEnum;
 	      else if (strcmp(name,"Base")==0) return BaseEnum;
@@ -134,11 +137,11 @@
 	      else if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum;
 	      else if (strcmp(name,"HydrologydcPenaltyLock")==0) return HydrologydcPenaltyLockEnum;
-	      else if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum;
-	      else if (strcmp(name,"HydrologyLayer")==0) return HydrologyLayerEnum;
-	      else if (strcmp(name,"HydrologySediment")==0) return HydrologySedimentEnum;
          else stage=2;
    }
    if(stage==2){
-	      if (strcmp(name,"HydrologyEfficient")==0) return HydrologyEfficientEnum;
+	      if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum;
+	      else if (strcmp(name,"HydrologyLayer")==0) return HydrologyLayerEnum;
+	      else if (strcmp(name,"HydrologySediment")==0) return HydrologySedimentEnum;
+	      else if (strcmp(name,"HydrologyEfficient")==0) return HydrologyEfficientEnum;
 	      else if (strcmp(name,"HydrologySedimentKmax")==0) return HydrologySedimentKmaxEnum;
 	      else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum;
@@ -257,11 +260,11 @@
 	      else if (strcmp(name,"QmuPartition")==0) return QmuPartitionEnum;
 	      else if (strcmp(name,"QmuResponsedescriptors")==0) return QmuResponsedescriptorsEnum;
-	      else if (strcmp(name,"QmuVariabledescriptors")==0) return QmuVariabledescriptorsEnum;
-	      else if (strcmp(name,"QmuMaterialsRheologyB")==0) return QmuMaterialsRheologyBEnum;
-	      else if (strcmp(name,"RiftsNumrifts")==0) return RiftsNumriftsEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"RiftsRiftstruct")==0) return RiftsRiftstructEnum;
+	      if (strcmp(name,"QmuVariabledescriptors")==0) return QmuVariabledescriptorsEnum;
+	      else if (strcmp(name,"QmuMaterialsRheologyB")==0) return QmuMaterialsRheologyBEnum;
+	      else if (strcmp(name,"RiftsNumrifts")==0) return RiftsNumriftsEnum;
+	      else if (strcmp(name,"RiftsRiftstruct")==0) return RiftsRiftstructEnum;
 	      else if (strcmp(name,"SettingsResultsOnNodes")==0) return SettingsResultsOnNodesEnum;
 	      else if (strcmp(name,"SettingsIoGather")==0) return SettingsIoGatherEnum;
@@ -380,11 +383,11 @@
 	      else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum;
 	      else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum;
-	      else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
-	      else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;
-	      else if (strcmp(name,"SurfaceNormalVelocity")==0) return SurfaceNormalVelocityEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
+	      if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
+	      else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;
+	      else if (strcmp(name,"SurfaceNormalVelocity")==0) return SurfaceNormalVelocityEnum;
+	      else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
 	      else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum;
 	      else if (strcmp(name,"DepthAverageAnalysis")==0) return DepthAverageAnalysisEnum;
@@ -499,15 +502,14 @@
 	      else if (strcmp(name,"FractionIncrement")==0) return FractionIncrementEnum;
 	      else if (strcmp(name,"Friction")==0) return FrictionEnum;
-	      else if (strcmp(name,"GroundinglineMeltingRate")==0) return GroundinglineMeltingRateEnum;
 	      else if (strcmp(name,"Internal")==0) return InternalEnum;
 	      else if (strcmp(name,"MassFlux")==0) return MassFluxEnum;
 	      else if (strcmp(name,"MeltingOffset")==0) return MeltingOffsetEnum;
 	      else if (strcmp(name,"Misfit")==0) return MisfitEnum;
-	      else if (strcmp(name,"Pressure")==0) return PressureEnum;
-	      else if (strcmp(name,"PressurePicard")==0) return PressurePicardEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum;
+	      if (strcmp(name,"Pressure")==0) return PressureEnum;
+	      else if (strcmp(name,"PressurePicard")==0) return PressurePicardEnum;
+	      else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum;
 	      else if (strcmp(name,"QmuVx")==0) return QmuVxEnum;
 	      else if (strcmp(name,"QmuVy")==0) return QmuVyEnum;
@@ -627,10 +629,10 @@
 	      else if (strcmp(name,"MisfitModelEnum")==0) return MisfitModelEnumEnum;
 	      else if (strcmp(name,"MisfitObservation")==0) return MisfitObservationEnum;
-	      else if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum;
-	      else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum;
+	      if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum;
+	      else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum;
+	      else if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum;
 	      else if (strcmp(name,"MisfitWeightsEnum")==0) return MisfitWeightsEnumEnum;
 	      else if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum;
Index: /issm/trunk-jpl/src/m/classes/basalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 18068)
@@ -6,7 +6,7 @@
 classdef basalforcings
 	properties (SetAccess=public) 
-		melting_rate             = NaN;
-		melting_rate_correction  = NaN;
-		geothermalflux           = NaN;
+		groundedice_melting_rate  = NaN;
+		floatingice_melting_rate  = NaN;
+		geothermalflux            = NaN;
 	end
 	methods
@@ -15,5 +15,4 @@
             fprintf(fid, '%s\n', '<!-- basalforcings -->');
 			 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',    '<parameter key ="melting_rate" type="',            class(obj.melting_rate),'" default="',              num2str(obj.melting_rate),'">',              '     <section name="basalforcings" />','     <help> basal melting rate (positive if melting) [m/yr] </help>','</parameter>');
-             fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',    '<parameter key ="melting_rate_correction" type="', class(obj.melting_rate_correction),'" default="',   num2str(obj.melting_rate_correction),'">',   '     <section name="basalforcings" />','     <help> additional melting applied to compensate for dh/dt [m/yr] </help>','</parameter>');
              fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',        '<parameter key ="geothermalflux" type="',          class(obj.geothermalflux),'" default="',            num2str(obj.geothermalflux),'">',            '     <section name="basalforcings" />','     <help> geothermal heat flux [W/m^2] </help>','</parameter>');
              
@@ -29,7 +28,12 @@
 		function self = initialize(self,md) % {{{
 
-			if isnan(self.melting_rate),
-				self.melting_rate=zeros(md.mesh.numberofvertices,1);
-				disp('      no basalforcings.melting_rate specified: values set as zero');
+			if isnan(self.groundedice_melting_rate),
+				self.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
+				disp('      no basalforcings.groundedice_melting_rate specified: values set as zero');
+			end
+
+			if isnan(self.floatingice_melting_rate),
+				self.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
+				disp('      no basalforcings.floatingice_melting_rate specified: values set as zero');
 			end
 
@@ -41,11 +45,14 @@
 
 			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
-				md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1);
 			end
 			if ismember(BalancethicknessAnalysisEnum(),analyses),
-				md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
 			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
-				md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1);
+				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1);
 				md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
 			end
@@ -54,6 +61,6 @@
 			disp(sprintf('   basal forcings parameters:'));
 
-			fielddisplay(obj,'melting_rate','basal melting rate (positive if melting) [m/yr]');
-			fielddisplay(obj,'melting_rate_correction','additional melting applied to compensate for dh/dt [m/yr]');
+			fielddisplay(obj,'groundedice_melting_rate','basal melting rate (positive if melting) [m/yr]');
+			fielddisplay(obj,'floatingice_melting_rate','basal melting rate (positive if melting) [m/yr]');
 			fielddisplay(obj,'geothermalflux','geothermal heat flux [W/m^2]');
 
@@ -63,6 +70,6 @@
 			yts=365.0*24.0*3600.0;
 
-			WriteData(fid,'object',obj,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-			WriteData(fid,'object',obj,'fieldname','melting_rate_correction','format','DoubleMat','mattype',1,'scale',1./yts);
+			WriteData(fid,'object',obj,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+			WriteData(fid,'object',obj,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
 			WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/basalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 18068)
@@ -14,7 +14,7 @@
 
 	def __init__(self): # {{{
-		self.melting_rate             = float('NaN')
-		self.melting_rate_correction  = float('NaN')
-		self.geothermalflux           = float('NaN')
+		self.groundedice_melting_rate  = float('NaN')
+		self.floatingice_melting_rate  = float('NaN')
+		self.geothermalflux            = float('NaN')
 
 		#set defaults
@@ -25,6 +25,6 @@
 		string="   basal forcings parameters:"
 
-		string="%s\n%s"%(string,fielddisplay(self,"melting_rate","basal melting rate (positive if melting) [m/yr]"))
-		string="%s\n%s"%(string,fielddisplay(self,"melting_rate_correction","additional melting applied to compensate for dh/dt [m/yr]"))
+		string="%s\n%s"%(string,fielddisplay(self,"groundedice_melting_rate","basal melting rate (positive if melting) [m/yr]"))
+		string="%s\n%s"%(string,fielddisplay(self,"floatingice_melting_rate","basal melting rate (positive if melting) [m/yr]"))
 		string="%s\n%s"%(string,fielddisplay(self,"geothermalflux","geothermal heat flux [W/m^2]"))
 		return string
@@ -32,7 +32,11 @@
 	def initialize(self,md): # {{{
 
-		if numpy.all(numpy.isnan(self.melting_rate)):
-			self.melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
-			print "      no basalforcings.melting_rate specified: values set as zero"
+		if numpy.all(numpy.isnan(self.groundedice_melting_rate)):
+			self.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no basalforcings.groundedice_melting_rate specified: values set as zero"
+
+		if numpy.all(numpy.isnan(self.floatingice_melting_rate)):
+			self.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no basalforcings.floatingice_melting_rate specified: values set as zero"
 
 		return self
@@ -44,11 +48,14 @@
 
 		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
-			md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1)
 
 		if BalancethicknessAnalysisEnum() in analyses:
-			md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices])
 
 		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
-			md = checkfield(md,'fieldname','basalforcings.melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'forcing',1)
+			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'forcing',1)
 			md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0)
 
@@ -59,6 +66,6 @@
 		yts=365.0*24.0*3600.0
 
-		WriteData(fid,'object',self,'fieldname','melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'object',self,'fieldname','melting_rate_correction','format','DoubleMat','mattype',1,'scale',1./yts)
+		WriteData(fid,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
+		WriteData(fid,'object',self,'fieldname','floatingice_melting_rate','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1)
 		WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 18068)
@@ -7,5 +7,4 @@
 	properties (SetAccess=public) 
 		migration    = '';
-		melting_rate = NaN;
 	end
 	methods
@@ -23,5 +22,4 @@
             fprintf(fid, '%s\n%s\n','       <option value="None" type="string" default="false"></option>','</parameter>');
 
-            fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',    '<parameter key ="melting_rate" type="',          class(obj.melting_rate),'" default="',            convert2str(obj.melting_rate),'">',     '     <section name="groundingline" />','     <help> melting rate applied when previously grounded parts start floating [m/yr] </help>','</parameter>');
             fprintf(fid,'%s\n%s\n','</frame>');
         end % }}}
@@ -38,7 +36,4 @@
 			%Type of migration
 			obj.migration='None';
-
-			%basal melting rate correction: 
-			obj.melting_rate=0; 
 
 		end % }}}
@@ -64,10 +59,8 @@
 			disp(sprintf('   grounding line migration parameters:'));
 			fielddisplay(obj,'migration','type of grounding line migration: ''SoftMigration'',''AggressiveMigration'' or ''None''');
-			fielddisplay(obj,'melting_rate','melting rate applied when previously grounded parts start floating [m/yr]');
 
 		end % }}}
 		function marshall(obj,md,fid) % {{{
 			WriteData(fid,'data',StringToEnum(obj.migration),'enum',GroundinglineMigrationEnum(),'format','Integer');
-			WriteData(fid,'object',obj,'fieldname','melting_rate','format','Double');
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 18068)
@@ -17,5 +17,4 @@
 	def __init__(self): # {{{
 		self.migration=''
-		self.melting_rate=float('NaN')
 
 		#set defaults
@@ -27,5 +26,4 @@
 
 		string="%s\n%s"%(string,fielddisplay(self,'migration','type of grounding line migration: ''SoftMigration'',''AggressiveMigration'',''SubelementMigration'',''SubelementMigration2'',''Contact'',''None'''))
-		string="%s\n%s"%(string,fielddisplay(self,'melting_rate','melting rate applied when previously grounded parts start floating [m/yr]'))
 		return string
 		#}}}	
@@ -34,7 +32,4 @@
 		#Type of migration
 		self.migration='None'
-
-		#basal melting rate correction: 
-		self.melting_rate=0;
 
 		return self
@@ -57,4 +52,3 @@
 	def marshall(self,md,fid):    # {{{
 		WriteData(fid,'data',StringToEnum(self.migration)[0],'enum',GroundinglineMigrationEnum(),'format','Integer')
-		WriteData(fid,'object',self,'fieldname','melting_rate','format','Double')
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 18068)
@@ -43,8 +43,11 @@
 			md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
-			%isice=(md.mask.ice_levelset>0);
-			%if any(sum(isice(md.mesh.elements),2)==0),
-		%		warning('elements with no ice not implemented yet, each element should have at least one vertex with md.mask.ice_levelset > 0');
-		%	end
+			isice=(md.mask.ice_levelset<=0);
+			if sum(isice)==0,
+				warning('no ice present in the domain');
+			end
+			if max(md.mask.ice_levelset)<0,
+				warning('no ice front provided');
+			end
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 18068)
@@ -34,8 +34,7 @@
 
 		md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices])
-		#isice=numpy.array(md.mask.ice_levelset<0,int)
-		#totallyicefree=(numpy.sum(isice[md.mesh.elements-1],axis=1)==0).astype(int)
-		#if any(totallyicefree):
-		#	raise TypeError("elements with no ice not implemented yet, each element should have at least one vertex with md.mask.ice_levelset > 0")
+		isice=numpy.array(md.mask.ice_levelset<=0,int)
+		if numpy.sum(isice)==0:
+			raise TypeError("no ice present in the domain")
 
 		return md
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 18068)
@@ -221,5 +221,6 @@
 
 			%special for thermal modeling:
-			md.basalforcings.melting_rate=project2d(md,md.basalforcings.melting_rate,1); 
+			md.basalforcings.groundedice_melting_rate=project2d(md,md.basalforcings.melting_rate,1); 
+			md.basalforcings.floatingice_melting_rate=project2d(md,md.basalforcings.melting_rate,1); 
 			md.basalforcings.geothermalflux=project2d(md,md.basalforcings.geothermalflux,1); %bedrock only gets geothermal flux
 
@@ -800,5 +801,6 @@
 
 			%special for thermal modeling:
-			md.basalforcings.melting_rate=project3d(md,'vector',md.basalforcings.melting_rate,'type','node','layer',1); 
+			md.basalforcings.groundedice_melting_rate=project3d(md,'vector',md.basalforcings.groundedice_melting_rate,'type','node','layer',1); 
+			md.basalforcings.floatingice_melting_rate=project3d(md,'vector',md.basalforcings.floatingice_melting_rate,'type','node','layer',1); 
 			if ~isnan(md.basalforcings.geothermalflux)
 				md.basalforcings.geothermalflux=project3d(md,'vector',md.basalforcings.geothermalflux,'type','node','layer',1); %bedrock only gets geothermal flux
@@ -826,5 +828,5 @@
 			if isfield(structmd,'q'), md.friction.q=structmd.p; end
 			if isfield(structmd,'melting'), md.basalforcings.melting_rate=structmd.melting; end
-			if isfield(structmd,'melting_rate'), md.basalforcings.melting_rate=structmd.melting_rate; end
+			if isfield(structmd,'melting_rate'), md.basalforcings.floatingice_melting_rate=structmd.melting_rate; end
 			if isfield(structmd,'accumulation'), md.surfaceforcings.mass_balance=structmd.accumulation; end
 			if isfield(structmd,'numberofgrids'), md.mesh.numberofvertices=structmd.numberofgrids; end
@@ -840,6 +842,5 @@
 			if isfield(structmd,'yts'), md.constants.yts=structmd.yts; end
 			if isfield(structmd,'surface_mass_balance'), md.surfaceforcings.mass_balance=structmd.surface_mass_balance; end
-			if isfield(structmd,'basal_melting_rate'), md.basalforcings.melting_rate=structmd.basal_melting_rate; end
-			if isfield(structmd,'basal_melting_rate_correction'), md.basalforcings.melting_rate_correction=structmd.basal_melting_rate_correction; end
+			if isfield(structmd,'basal_melting_rate'), md.basalforcings.floatingice_melting_rate=structmd.basal_melting_rate; end
 			if isfield(structmd,'geothermalflux'), md.basalforcings.geothermalflux=structmd.geothermalflux; end
 			if isfield(structmd,'drag'), md.friction.coefficient=structmd.drag; end
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 18068)
@@ -697,5 +697,6 @@
 
 		#special for thermal modeling:
-		md.basalforcings.melting_rate=project3d(md,'vector',md.basalforcings.melting_rate,'type','node','layer',1)
+		md.basalforcings.groundedice_melting_rate=project3d(md,'vector',md.basalforcings.groundedice_melting_rate,'type','node','layer',1)
+		md.basalforcings.floatingice_melting_rate=project3d(md,'vector',md.basalforcings.floatingice_melting_rate,'type','node','layer',1)
 		if not numpy.any(numpy.isnan(md.basalforcings.geothermalflux)):
 			md.basalforcings.geothermalflux=project3d(md,'vector',md.basalforcings.geothermalflux,'type','node','layer',1)    #bedrock only gets geothermal flux
@@ -779,5 +780,6 @@
 
 		#special for thermal modeling:
-		md.basalforcings.melting_rate=project2d(md,md.basalforcings.melting_rate,1) 
+		md.basalforcings.groundedice_melting_rate=project2d(md,md.basalforcings.groundedice_melting_rate,1) 
+		md.basalforcings.floatingice_melting_rate=project2d(md,md.basalforcings.floatingice_melting_rate,1) 
 		md.basalforcings.geothermalflux=project2d(md,md.basalforcings.geothermalflux,1) #bedrock only gets geothermal flux
 
Index: /issm/trunk-jpl/src/m/classes/thermal.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/thermal.m	(revision 18068)
@@ -51,7 +51,7 @@
 
 			if self.isenthalpy,
-				list = {'Enthalpy','Temperature','Waterfraction','Watercolumn','BasalforcingsMeltingRate'};
+				list = {'Enthalpy','Temperature','Waterfraction','Watercolumn','BasalforcingsGroundediceMeltingRate'};
 			else
-				list = {'Temperature','BasalforcingsMeltingRate'};
+				list = {'Temperature','BasalforcingsGroundediceMeltingRate'};
 			end
 
Index: /issm/trunk-jpl/src/m/classes/thermal.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/classes/thermal.py	(revision 18068)
@@ -44,7 +44,7 @@
 
 		if self.isenthalpy:
-			return ['Enthalpy','Temperature','Waterfraction','Watercolumn','BasalforcingsMeltingRate']
+			return ['Enthalpy','Temperature','Waterfraction','Watercolumn','BasalforcingsGroundediceMeltingRate']
 		else:
-			return ['Temperature','BasalforcingsMeltingRate']
+			return ['Temperature','BasalforcingsGroundediceMeltingRate']
 
 	#}}}
Index: /issm/trunk-jpl/src/m/contrib/hack/tres.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/hack/tres.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/contrib/hack/tres.m	(revision 18068)
@@ -67,5 +67,5 @@
 	md.initialization.pressure=md.results.SteadystateSolution.Pressure;
 	md.initialization.temperature=md.results.SteadystateSolution.Temperature;
-	md.basalforcings.melting_rate=md.results.SteadystateSolution.BasalforcingsMeltingRate;
+	md.basalforcings.groundedice_melting_rate=md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate;
 
 	if md.inversion.iscontrol==1,
@@ -77,5 +77,5 @@
 elseif strcmpi(string,'thermal'),
 	md.initialization.temperature=md.results.ThermalSolution.Temperature;
-	md.basalforcings.melting_rate=md.results.ThermalSolution.BasalMeltingRate;
+	md.basalforcings.groundedice_melting_rate=md.results.ThermalSolution.BasalGroundediceMeltingRate;
 elseif strcmpi(string,'hydrology'),
 	md.initialization.watercolumn=md.results.HydrologySolution.Watercolumn;
Index: /issm/trunk-jpl/src/m/enum/BasalforcingsFloatingiceMeltingRateEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/BasalforcingsFloatingiceMeltingRateEnum.m	(revision 18068)
+++ /issm/trunk-jpl/src/m/enum/BasalforcingsFloatingiceMeltingRateEnum.m	(revision 18068)
@@ -0,0 +1,11 @@
+function macro=BasalforcingsFloatingiceMeltingRateEnum()
+%BASALFORCINGSFLOATINGICEMELTINGRATEENUM - Enum of BasalforcingsFloatingiceMeltingRate
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=BasalforcingsFloatingiceMeltingRateEnum()
+
+macro=StringToEnum('BasalforcingsFloatingiceMeltingRate');
Index: /issm/trunk-jpl/src/m/enum/BasalforcingsGroundediceMeltingRateEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/BasalforcingsGroundediceMeltingRateEnum.m	(revision 18068)
+++ /issm/trunk-jpl/src/m/enum/BasalforcingsGroundediceMeltingRateEnum.m	(revision 18068)
@@ -0,0 +1,11 @@
+function macro=BasalforcingsGroundediceMeltingRateEnum()
+%BASALFORCINGSGROUNDEDICEMELTINGRATEENUM - Enum of BasalforcingsGroundediceMeltingRate
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=BasalforcingsGroundediceMeltingRateEnum()
+
+macro=StringToEnum('BasalforcingsGroundediceMeltingRate');
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 18068)
@@ -39,6 +39,9 @@
 def BalancethicknessThickeningRateEnum(): return StringToEnum("BalancethicknessThickeningRate")[0]
 def BasalforcingsGeothermalfluxEnum(): return StringToEnum("BasalforcingsGeothermalflux")[0]
-def BasalforcingsMeltingRateCorrectionEnum(): return StringToEnum("BasalforcingsMeltingRateCorrection")[0]
-def BasalforcingsMeltingRateEnum(): return StringToEnum("BasalforcingsMeltingRate")[0]
+def BasalforcingsGroundediceMeltingRateEnum(): return StringToEnum("BasalforcingsGroundediceMeltingRate")[0]
+def BasalforcingsFloatingiceMeltingRateEnum(): return StringToEnum("BasalforcingsFloatingiceMeltingRate")[0]
+def BasalforcingsDeepwaterMeltingRateEnum(): return StringToEnum("BasalforcingsDeepwaterMeltingRate")[0]
+def BasalforcingsDeepwaterElevationEnum(): return StringToEnum("BasalforcingsDeepwaterElevation")[0]
+def BasalforcingsUpperwaterElevationEnum(): return StringToEnum("BasalforcingsUpperwaterElevation")[0]
 def BedEnum(): return StringToEnum("Bed")[0]
 def BaseEnum(): return StringToEnum("Base")[0]
@@ -482,5 +485,4 @@
 def FractionIncrementEnum(): return StringToEnum("FractionIncrement")[0]
 def FrictionEnum(): return StringToEnum("Friction")[0]
-def GroundinglineMeltingRateEnum(): return StringToEnum("GroundinglineMeltingRate")[0]
 def InternalEnum(): return StringToEnum("Internal")[0]
 def MassFluxEnum(): return StringToEnum("MassFlux")[0]
Index: /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.m
===================================================================
--- /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.m	(revision 18067)
+++ /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.m	(revision 18068)
@@ -12,5 +12,5 @@
 %	 The model md must also contain the fields: 
 %	 md.geometry.thickness
-%	 md.basalforcings.melting_rate (positive for melting, negative for freezing)
+%	 md.basalforcings.floatingice_melting_rate (positive for melting, negative for freezing)
 
 %   Usage:
@@ -38,5 +38,5 @@
 
 %vertical velocity of ice shelf, calculated from melting rate 
-wi=md.materials.rho_water/md.materials.rho_ice.*md.basalforcings.melting_rate; 
+wi=md.materials.rho_water/md.materials.rho_ice.*md.basalforcings.floatingice_melting_rate; 
 
 %temperature profile is linear if melting rate is zero, depth-averaged temp is simple average in this case
Index: /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.py
===================================================================
--- /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.py	(revision 18067)
+++ /issm/trunk-jpl/src/m/mech/steadystateiceshelftemp.py	(revision 18068)
@@ -13,5 +13,5 @@
 	The model md must also contain the fields: 
 	md.geometry.thickness
-	md.basalforcings.melting_rate (positive for melting, negative for freezing)
+	md.basalforcings.floatingice_melting_rate (positive for melting, negative for freezing)
 
    Usage:
@@ -37,5 +37,5 @@
 	
 	#vertical velocity of ice shelf, calculated from melting rate 
-	wi=md.materials.rho_water/md.materials.rho_ice*md.basalforcings.melting_rate 
+	wi=md.materials.rho_water/md.materials.rho_ice*md.basalforcings.floatingice_melting_rate 
 	
 	#temperature profile is linear if melting rate is zero, depth-averaged temp is simple average in this case
Index: /issm/trunk-jpl/test/NightlyRun/test108.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test108.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test108.m	(revision 18068)
@@ -9,8 +9,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-5};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test108.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test108.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test108.py	(revision 18068)
@@ -18,8 +18,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-5]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test109.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test109.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test109.m	(revision 18068)
@@ -12,8 +12,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test109.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test109.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test109.py	(revision 18068)
@@ -21,8 +21,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test111.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test111.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test111.m	(revision 18068)
@@ -10,7 +10,7 @@
 %Fields and tolerances to track changes
 field_names={...
-	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface2','Thickness1','Temperature1','BasalforcingsMeltingRate1','Volume1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2','Volume2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3','Volume3'};
+	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface2','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','Volume1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','Volume2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','Volume3'};
 field_tolerances={...
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-05,1e-13,...
@@ -27,5 +27,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(1).IceVolume),...
 	(md.results.TransientSolution(2).Vx),...
@@ -38,5 +38,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).IceVolume),...
 	(md.results.TransientSolution(3).Vx),...
@@ -49,5 +49,5 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).IceVolume),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test111.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test111.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test111.py	(revision 18068)
@@ -19,7 +19,7 @@
 #Fields and tolerances to track changes
 field_names=[\
-	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface2','Thickness1','Temperature1','BasalforcingsMeltingRate1','Volume1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2','Volume2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3','Volume3']
+	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface2','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1','Volume1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2','Volume2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3','Volume3']
 field_tolerances=[\
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-05,1e-13,\
@@ -36,5 +36,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[0].IceVolume,\
 	md.results.TransientSolution[1].Vx,\
@@ -47,5 +47,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].IceVolume,\
 	md.results.TransientSolution[2].Vx,\
@@ -58,5 +58,5 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].IceVolume,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test1208.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1208.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test1208.m	(revision 18068)
@@ -30,5 +30,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Thickness','Base','Surface','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Thickness','Base','Surface','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-08,1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,3e-07};
 field_values={...
@@ -42,4 +42,4 @@
 	(md.results.TransientSolution(end).Surface),...
 	(md.results.TransientSolution(end).Temperature),...
-	(md.results.TransientSolution(end).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(end).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test1208.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1208.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test1208.py	(revision 18068)
@@ -43,5 +43,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Thickness','Base','Surface','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Thickness','Base','Surface','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-08,1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-07]
 field_values=[\
@@ -55,4 +55,4 @@
 	md.results.TransientSolution[-1].Surface,\
 	md.results.TransientSolution[-1].Temperature,\
-	md.results.TransientSolution[-1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[-1].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test1301.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1301.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test1301.m	(revision 18068)
@@ -29,5 +29,5 @@
 
 %plot results
-comp_melting=md.results.ThermalSolution.BasalforcingsMeltingRate;
+comp_melting=md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate;
 relative=abs((comp_melting-melting)./melting)*100.;
 relative(find(comp_melting==melting))=0.;
Index: /issm/trunk-jpl/test/NightlyRun/test1301.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1301.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test1301.py	(revision 18068)
@@ -43,5 +43,5 @@
 
 #plot results
-comp_melting=md.results.ThermalSolution.BasalforcingsMeltingRate
+comp_melting=md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate
 relative=numpy.abs((comp_melting-melting)/melting)*100.
 relative[numpy.nonzero(comp_melting==melting)[0]]=0.
Index: /issm/trunk-jpl/test/NightlyRun/test206.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test206.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test206.m	(revision 18068)
@@ -9,8 +9,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,5e-6};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test206.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test206.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test206.py	(revision 18068)
@@ -22,8 +22,8 @@
 # Fields and tolerances to track changes
 
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,5e-6]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test207.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test207.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test207.m	(revision 18068)
@@ -12,12 +12,12 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Temperature1','BasalforcingsGroundediceMeltingRate1','Temperature2','BasalforcingsGroundediceMeltingRate2','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={1e-13,1e-6,1e-13,1e-6,1e-13,1e-6};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test207.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test207.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test207.py	(revision 18068)
@@ -23,12 +23,12 @@
 
 # Fields and tolerances to track changes
-field_names     =['Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Temperature1','BasalforcingsGroundediceMeltingRate1','Temperature2','BasalforcingsGroundediceMeltingRate2','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[1e-13,1e-6,1e-13,1e-6,1e-13,1e-6]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test209.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test209.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test209.m	(revision 18068)
@@ -8,7 +8,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,...
@@ -25,5 +25,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -35,5 +35,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -45,4 +45,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test209.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test209.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test209.py	(revision 18068)
@@ -21,7 +21,7 @@
 # Fields and tolerances to track changes
 
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,\
@@ -39,5 +39,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -49,5 +49,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -59,4 +59,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test210.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test210.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test210.m	(revision 18068)
@@ -8,7 +8,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,...
@@ -25,5 +25,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -35,5 +35,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -45,4 +45,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test210.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test210.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test210.py	(revision 18068)
@@ -21,7 +21,7 @@
 # Fields and tolerances to track changes
 
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,\
@@ -38,5 +38,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -48,5 +48,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -58,4 +58,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test211.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test211.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test211.m	(revision 18068)
@@ -10,7 +10,7 @@
 %Fields and tolerances to track changes
 field_names={...
-	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	2e-08,2e-08,1e-06,2e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,...
@@ -27,5 +27,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -37,5 +37,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -47,4 +47,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test211.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test211.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test211.py	(revision 18068)
@@ -23,7 +23,7 @@
 
 field_names=[\
-	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+	'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	2e-08,2e-08,1e-06,2e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,\
@@ -40,5 +40,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -50,5 +50,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -60,4 +60,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test224.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test224.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test224.m	(revision 18068)
@@ -9,7 +9,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,...
@@ -26,5 +26,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -36,5 +36,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -46,4 +46,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test224.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test224.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test224.py	(revision 18068)
@@ -18,7 +18,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,\
@@ -35,5 +35,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -45,5 +45,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -55,4 +55,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test225.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 18068)
@@ -10,7 +10,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-05,...
@@ -27,5 +27,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -37,5 +37,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -47,4 +47,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test225.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 18068)
@@ -20,7 +20,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-05,\
@@ -37,5 +37,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -47,5 +47,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -57,4 +57,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test227.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test227.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test227.m	(revision 18068)
@@ -10,7 +10,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,...
@@ -27,5 +27,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -37,5 +37,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -47,4 +47,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test227.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test227.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test227.py	(revision 18068)
@@ -19,7 +19,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,\
@@ -36,5 +36,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -46,5 +46,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -56,4 +56,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test232.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test232.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test232.m	(revision 18068)
@@ -15,14 +15,14 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3','Temperature4','BasalforcingsMeltingRate4'};
+field_names     ={'Temperature1','BasalforcingsGroundediceMeltingRate1','Temperature2','BasalforcingsGroundediceMeltingRate2','Temperature3','BasalforcingsGroundediceMeltingRate3','Temperature4','BasalforcingsGroundediceMeltingRate4'};
 field_tolerances={1e-13,1e-6,1e-13,1e-6,1e-13,1e-6,1e-13,1e-6};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(4).Temperature),...
-	(md.results.TransientSolution(4).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(4).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test232.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test232.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test232.py	(revision 18068)
@@ -25,14 +25,14 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3','Temperature4','BasalforcingsMeltingRate4']
+field_names     =['Temperature1','BasalforcingsGroundediceMeltingRate1','Temperature2','BasalforcingsGroundediceMeltingRate2','Temperature3','BasalforcingsGroundediceMeltingRate3','Temperature4','BasalforcingsGroundediceMeltingRate4']
 field_tolerances=[1e-13,1e-6,1e-13,1e-6,1e-13,1e-6,1e-13,1e-6]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[3].Temperature,\
-	md.results.TransientSolution[3].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[3].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test233.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test233.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test233.m	(revision 18068)
@@ -11,8 +11,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3', ...
-	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalforcingsMeltingRate4'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3', ...
+	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalforcingsGroundediceMeltingRate4'};
 field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
 	1e-09,1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06, ...
@@ -29,5 +29,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -39,5 +39,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -49,5 +49,5 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(4).Vx),...
 	(md.results.TransientSolution(4).Vy),...
@@ -59,4 +59,4 @@
 	(md.results.TransientSolution(4).Thickness),...
 	(md.results.TransientSolution(4).Temperature),...
-	(md.results.TransientSolution(4).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(4).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test233.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test233.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test233.py	(revision 18068)
@@ -21,8 +21,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3', \
-	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalforcingsMeltingRate4']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3', \
+	'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalforcingsGroundediceMeltingRate4']
 field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, \
 	1e-09,1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06, \
@@ -39,5 +39,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -49,5 +49,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -59,5 +59,5 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[3].Vx,\
 	md.results.TransientSolution[3].Vy,\
@@ -69,4 +69,4 @@
 	md.results.TransientSolution[3].Thickness,\
 	md.results.TransientSolution[3].Temperature,\
-	md.results.TransientSolution[3].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[3].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test237.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test237.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test237.m	(revision 18068)
@@ -54,7 +54,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-						'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-						'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+						'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+						'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-8,1e-13,1e-8,...
@@ -71,5 +71,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(1).SurfaceforcingsMonthlytemperatures),...
 	(md.results.TransientSolution(1).SurfaceforcingsMassBalance),...
@@ -83,5 +83,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).SurfaceforcingsMonthlytemperatures),...
 	(md.results.TransientSolution(2).SurfaceforcingsMassBalance),...
@@ -95,5 +95,5 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).SurfaceforcingsMonthlytemperatures),...
 	(md.results.TransientSolution(3).SurfaceforcingsMassBalance),...
Index: /issm/trunk-jpl/test/NightlyRun/test237.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test237.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test237.py	(revision 18068)
@@ -66,7 +66,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-						'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-						'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+						'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+						'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,1e-8,1e-13,1e-13,1e-8,\
@@ -83,5 +83,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[0].SurfaceforcingsMonthlytemperatures,\
 	md.results.TransientSolution[0].SurfaceforcingsMassBalance,\
@@ -95,5 +95,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].SurfaceforcingsMonthlytemperatures,\
 	md.results.TransientSolution[1].SurfaceforcingsMassBalance,\
@@ -107,5 +107,5 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].SurfaceforcingsMonthlytemperatures,\
 	md.results.TransientSolution[2].SurfaceforcingsMassBalance,\
Index: /issm/trunk-jpl/test/NightlyRun/test3008.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 18068)
@@ -12,8 +12,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test3008.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3008.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3008.py	(revision 18068)
@@ -20,8 +20,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test3009.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 18068)
@@ -15,8 +15,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test3009.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3009.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3009.py	(revision 18068)
@@ -23,8 +23,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test3108.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3108.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3108.m	(revision 18068)
@@ -12,8 +12,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test3108.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3108.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3108.py	(revision 18068)
@@ -20,8 +20,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test3109.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3109.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3109.m	(revision 18068)
@@ -15,8 +15,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test3109.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3109.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test3109.py	(revision 18068)
@@ -23,8 +23,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test312.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test312.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test312.m	(revision 18068)
@@ -9,8 +9,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-8};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test312.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test312.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test312.py	(revision 18068)
@@ -18,8 +18,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-8]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test313.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test313.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test313.m	(revision 18068)
@@ -13,8 +13,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test313.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test313.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test313.py	(revision 18068)
@@ -22,8 +22,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test315.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test315.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test315.m	(revision 18068)
@@ -8,7 +8,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2',...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2',...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...,
 	1e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
@@ -24,5 +24,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -34,5 +34,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -44,4 +44,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test315.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test315.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test315.py	(revision 18068)
@@ -17,7 +17,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',\
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2',\
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',\
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2',\
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
 	1e-10,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
@@ -33,5 +33,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -43,5 +43,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -53,4 +53,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test317.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test317.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test317.m	(revision 18068)
@@ -8,7 +8,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2',...
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2',...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
 	1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
@@ -24,5 +24,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -34,5 +34,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -44,4 +44,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test317.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test317.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test317.py	(revision 18068)
@@ -17,7 +17,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',\
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2',\
-	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',\
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2',\
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
 		1e-09,1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
@@ -33,5 +33,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -43,5 +43,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -53,4 +53,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test318.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test318.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test318.m	(revision 18068)
@@ -9,5 +9,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13,4e-10,1e-10,1e-13,1e-11,1e-6};
 field_values={...
@@ -18,4 +18,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test318.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test318.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test318.py	(revision 18068)
@@ -18,5 +18,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13,1.5e-10,1e-10,1e-13,1e-11,1e-6]
 field_values=[\
@@ -27,4 +27,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test324.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 18068)
@@ -10,7 +10,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',...
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
-	%'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2'};
+	%'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={1e-13,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...,
 	5*1e-11,1e-13,1.5e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
@@ -26,5 +26,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -36,5 +36,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 %	(md.results.TransientSolution(3).Vx),...
 %	(md.results.TransientSolution(3).Vy),...
@@ -46,4 +46,4 @@
 %	(md.results.TransientSolution(3).Thickness),...
 %	(md.results.TransientSolution(3).Temperature),...
-%	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+%	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test324.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 18068)
@@ -20,7 +20,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',\
-	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2']
-	#'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1',\
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2']
+	#'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[1e-13,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
 	5*1e-11,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
@@ -36,5 +36,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -46,5 +46,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 #	md.results.TransientSolution[2].Vx,\
 #	md.results.TransientSolution[2].Vy,\
@@ -56,4 +56,4 @@
 #	md.results.TransientSolution[2].Thickness,\
 #	md.results.TransientSolution[2].Temperature,\
-#	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+#	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test332.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test332.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test332.m	(revision 18068)
@@ -15,5 +15,6 @@
 pos=find(md.mesh.y==0);
 md.hydrology.spcsediment_head(pos)=0.0;
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate = 0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.sediment_transmitivity=3*ones(md.mesh.numberofvertices,1);
 md.timestepping.time_step=0;
Index: /issm/trunk-jpl/test/NightlyRun/test333.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test333.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test333.m	(revision 18068)
@@ -13,5 +13,6 @@
 md.initialization.sediment_head=0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.spcsediment_head=NaN*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate = 0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.sediment_transmitivity=3*ones(md.mesh.numberofvertices,1);
 
@@ -20,5 +21,4 @@
 md.hydrology.spcepl_head=NaN*ones(md.mesh.numberofvertices,1);
 md.hydrology.mask_eplactive_node=0*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.epl_conductivity=30;
 md.hydrology.epl_initial_thickness=1;
Index: /issm/trunk-jpl/test/NightlyRun/test334.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test334.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test334.m	(revision 18068)
@@ -15,5 +15,6 @@
 pos=find(md.mesh.y==0);
 md.hydrology.spcsediment_head(pos)=0.0;
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate = 0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.sediment_transmitivity= 3.0*ones(md.mesh.numberofvertices,1);
 md.timestepping.time_step=0;
Index: /issm/trunk-jpl/test/NightlyRun/test335.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test335.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test335.m	(revision 18068)
@@ -13,5 +13,6 @@
 md.initialization.sediment_head=0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.spcsediment_head=NaN*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate = 0.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.sediment_transmitivity=3*ones(md.mesh.numberofvertices,1);
 
@@ -20,5 +21,4 @@
 md.hydrology.spcepl_head=NaN*ones(md.mesh.numberofvertices,1);
 md.hydrology.mask_eplactive_node=0*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate = 2.0*ones(md.mesh.numberofvertices,1);
 md.hydrology.epl_conductivity=30;
 md.hydrology.epl_initial_thickness=1;
Index: /issm/trunk-jpl/test/NightlyRun/test406.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 18068)
@@ -9,8 +9,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-5};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test406.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 18068)
@@ -19,8 +19,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-5]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test407.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test407.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test407.m	(revision 18068)
@@ -12,8 +12,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test407.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 18068)
@@ -22,8 +22,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-13,1e-13]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test409.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test409.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test409.m	(revision 18068)
@@ -8,7 +8,7 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
-					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', ...
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3'};
 field_tolerances={...
 	1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,...
@@ -25,5 +25,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -35,5 +35,5 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(3).Vx),...
 	(md.results.TransientSolution(3).Vy),...
@@ -45,4 +45,4 @@
 	(md.results.TransientSolution(3).Thickness),...
 	(md.results.TransientSolution(3).Temperature),...
-	(md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(3).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test409.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 18068)
@@ -18,7 +18,7 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', \
-					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2', \
+					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsGroundediceMeltingRate3']
 field_tolerances=[\
 	1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,\
@@ -35,5 +35,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -45,5 +45,5 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[2].Vx,\
 	md.results.TransientSolution[2].Vy,\
@@ -55,4 +55,4 @@
 	md.results.TransientSolution[2].Thickness,\
 	md.results.TransientSolution[2].Temperature,\
-	md.results.TransientSolution[2].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[2].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test410.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test410.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test410.m	(revision 18068)
@@ -9,5 +9,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-09,1e-09,1e-08,3e-10,1e-13,3e-10,1e-06};
 field_values={...
@@ -18,4 +18,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test410.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 18068)
@@ -19,5 +19,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-09,1e-09,1e-08,1e-09,1e-13,3e-10,1e-06]
 field_values=[\
@@ -28,4 +28,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test411.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test411.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test411.m	(revision 18068)
@@ -9,5 +9,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={2e-09,1e-09,1e-08,1e-09,1e-09,1e-08,1e-05
 };
@@ -19,4 +19,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test411.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 18068)
@@ -19,5 +19,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-09,1e-09,1e-08,1e-09,1e-09,1e-08,1e-05
 ]
@@ -29,4 +29,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test415.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 18068)
@@ -23,5 +23,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-09,1e-9,2e-10,1e-13,1e-09,1e-09,1e-09,1e-8,1e-09,1e-6};
 field_values={...
@@ -35,4 +35,4 @@
 	(md.results.SteadystateSolution.Vz),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate)
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate)
 };
Index: /issm/trunk-jpl/test/NightlyRun/test415.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 18068)
@@ -35,5 +35,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate']
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-9,1e-9,2e-10,1e-13,1e-09,1e-09,1e-09,1e-8,1e-09,1e-6]
 field_values=[\
@@ -47,4 +47,4 @@
 	md.results.SteadystateSolution.Vz,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate
 ]
Index: /issm/trunk-jpl/test/NightlyRun/test416.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 18068)
@@ -23,5 +23,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-08,1e-05};
 field_values={...
@@ -35,4 +35,4 @@
 	(md.results.SteadystateSolution.Vz),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate)
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate)
 };
Index: /issm/trunk-jpl/test/NightlyRun/test416.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 18068)
@@ -35,5 +35,5 @@
 
 #Fields and tolerances to track changes
-field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate']
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-08,1e-05]
 field_values=[\
@@ -47,4 +47,4 @@
 	md.results.SteadystateSolution.Vz,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate
 ]
Index: /issm/trunk-jpl/test/NightlyRun/test435.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 18068)
@@ -31,5 +31,6 @@
 md.friction.p=3*ones(md.mesh.numberofelements,1);
 md.surfaceforcings.mass_balance(:)=1;
-md.basalforcings.melting_rate(:)=0;
+md.basalforcings.groundedice_melting_rate(:)=0;
+md.basalforcings.floatingice_melting_rate(:)=0;
 md.transient.isthermal=0;
 md.transient.isstressbalance=1;
Index: /issm/trunk-jpl/test/NightlyRun/test505.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test505.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test505.m	(revision 18068)
@@ -8,6 +8,6 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2'};
 field_tolerances={1e-12,1e-12,3e-10,1e-12,1e-13,1e-11,5e-12,9e-12,1e-13,5e-9,...
 						5e-11,5e-11,1e-10,2e-11,7e-12,1e-11,1e-11,5e-12,1e-11,2e-8};
@@ -22,5 +22,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -32,4 +32,4 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test505.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test505.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test505.py	(revision 18068)
@@ -17,6 +17,6 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2']
 field_tolerances=[1e-12,1e-12,1e-10,1e-12,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13, \
 						1e-13,1e-12,1e-10,1e-12,1e-13,1e-11,1e-11,2e-12,1e-11,1e-8]
@@ -31,5 +31,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -41,4 +41,4 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test506.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test506.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test506.m	(revision 18068)
@@ -8,6 +8,6 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2'};
 field_tolerances={1e-10,1e-10,1e-10,1e-10,1e-12,1e-11,2e-12,1e-11,1e-12,1e-09,...
 						1e-11,1e-11,1e-09,1e-11,1e-11,1e-10,1e-11,1e-10,1e-11,2e-08};
@@ -22,5 +22,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -32,4 +32,4 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test506.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test506.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test506.py	(revision 18068)
@@ -17,6 +17,6 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2']
 field_tolerances=[1e-10,1e-10,1e-10,1e-10,1e-12,1e-11,2e-12,1e-11,1e-12,1e-09,\
 						1e-11,1e-11,1e-09,1e-11,1e-11,1e-10,1e-11,1e-10,1e-11,2e-08]
@@ -31,5 +31,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -41,4 +41,4 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test507.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test507.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test507.m	(revision 18068)
@@ -8,6 +8,6 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2'};
 field_tolerances={1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,3e-06,1e-06};
 field_values={...
@@ -21,5 +21,5 @@
 	(md.results.TransientSolution(1).Thickness),...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Vx),...
 	(md.results.TransientSolution(2).Vy),...
@@ -31,4 +31,4 @@
 	(md.results.TransientSolution(2).Thickness),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test507.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test507.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test507.py	(revision 18068)
@@ -17,6 +17,6 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', \
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2']
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsGroundediceMeltingRate2']
 field_tolerances=[1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06,1e-06]
 field_values=[\
@@ -30,5 +30,5 @@
 	md.results.TransientSolution[0].Thickness,\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Vx,\
 	md.results.TransientSolution[1].Vy,\
@@ -40,4 +40,4 @@
 	md.results.TransientSolution[1].Thickness,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test508.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test508.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test508.m	(revision 18068)
@@ -9,5 +9,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={5e-08,3e-08,5e-08,3e-08,1e-09,2e-07,8e-07};
 field_values={...
@@ -18,4 +18,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test508.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test508.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test508.py	(revision 18068)
@@ -18,5 +18,5 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[5e-08,1.6e-08,5e-08,1.6e-08,1e-09,6e-08,5e-07]
 field_values=[\
@@ -27,4 +27,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test509.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test509.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test509.m	(revision 18068)
@@ -10,5 +10,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06
 };
@@ -20,4 +20,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test509.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test509.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test509.py	(revision 18068)
@@ -19,5 +19,5 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06]
 field_values=[\
@@ -28,4 +28,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test510.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test510.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test510.m	(revision 18068)
@@ -9,5 +9,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06};
 field_values={...
@@ -18,4 +18,4 @@
 	(md.results.SteadystateSolution.Pressure),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate),...
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test510.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test510.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test510.py	(revision 18068)
@@ -18,5 +18,5 @@
 
 # Fields and tolerances to track changes
-field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06]
 field_values=[\
@@ -27,4 +27,4 @@
 	md.results.SteadystateSolution.Pressure,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate,\
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test513.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test513.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test513.m	(revision 18068)
@@ -24,5 +24,5 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={2e-10,2e-10,1e-10,1e-10,3e-6,3e-6,3e-6,3e-6,2e-6,2e-06};
 field_values={...
@@ -36,4 +36,4 @@
 	(md.results.SteadystateSolution.Vz),...
 	(md.results.SteadystateSolution.Temperature),...
-	(md.results.SteadystateSolution.BasalforcingsMeltingRate)
+	(md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate)
 };
Index: /issm/trunk-jpl/test/NightlyRun/test513.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 18068)
@@ -35,5 +35,5 @@
 
 # Fields and tolerances to track changes
-field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate']
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[2e-10,2e-10,1e-10,1e-10,3e-6,3e-6,3e-6,3e-6,2e-6,2e-06]
 field_values=[\
@@ -47,4 +47,4 @@
 	md.results.SteadystateSolution.Vz,\
 	md.results.SteadystateSolution.Temperature,\
-	md.results.SteadystateSolution.BasalforcingsMeltingRate
+	md.results.SteadystateSolution.BasalforcingsGroundediceMeltingRate
 ]
Index: /issm/trunk-jpl/test/NightlyRun/test515.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test515.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test515.m	(revision 18068)
@@ -13,11 +13,11 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature1','BasalforcingsMeltingRate1', ...
-				      'Temperature2','BasalforcingsMeltingRate2'};
+field_names     ={'Temperature1','BasalforcingsGroundediceMeltingRate1', ...
+				      'Temperature2','BasalforcingsGroundediceMeltingRate2'};
 field_tolerances={1e-13,1e-8,1e-13,3e-8};
 field_values={...
 	(md.results.TransientSolution(1).Temperature),...
-	(md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
 	(md.results.TransientSolution(2).Temperature),...
-	(md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+	(md.results.TransientSolution(2).BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test515.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test515.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test515.py	(revision 18068)
@@ -22,11 +22,11 @@
 
 # Fields and tolerances to track changes
-field_names     =['Temperature1','BasalforcingsMeltingRate1', \
-				      'Temperature2','BasalforcingsMeltingRate2']
+field_names     =['Temperature1','BasalforcingsGroundediceMeltingRate1', \
+				      'Temperature2','BasalforcingsGroundediceMeltingRate2']
 field_tolerances=[1e-13,1e-8,1e-13,2e-8]
 field_values=[\
 	md.results.TransientSolution[0].Temperature,\
-	md.results.TransientSolution[0].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[0].BasalforcingsGroundediceMeltingRate,\
 	md.results.TransientSolution[1].Temperature,\
-	md.results.TransientSolution[1].BasalforcingsMeltingRate,\
+	md.results.TransientSolution[1].BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test516.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test516.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test516.m	(revision 18068)
@@ -11,8 +11,8 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Temperature','BasalforcingsMeltingRate'};
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
 field_tolerances={1e-11,1e-11};
 field_values={...
 	(md.results.ThermalSolution.Temperature),...
-	(md.results.ThermalSolution.BasalforcingsMeltingRate),...
+	(md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test516.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test516.py	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test516.py	(revision 18068)
@@ -21,8 +21,8 @@
 
 #Fields and tolerances to track changes
-field_names     =['Temperature','BasalforcingsMeltingRate']
+field_names     =['Temperature','BasalforcingsGroundediceMeltingRate']
 field_tolerances=[1e-11,1e-11]
 field_values=[\
 	md.results.ThermalSolution.Temperature,\
-	md.results.ThermalSolution.BasalforcingsMeltingRate,\
+	md.results.ThermalSolution.BasalforcingsGroundediceMeltingRate,\
 	]
Index: /issm/trunk-jpl/test/NightlyRun/test703.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 18067)
+++ /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 18068)
@@ -43,8 +43,10 @@
 md.stressbalance.shelf_dampening=1;
 md.surfaceforcings.mass_balance=zeros(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
 md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1);
 posb=find((md.mesh.x>0) & md.mesh.vertexonbase);
-md.basalforcings.melting_rate(posb)=18;
+md.basalforcings.groundedice_melting_rate(posb)=18;
+md.basalforcings.floatingice_melting_rate(posb)=18;
 md.initialization.vx=zeros(md.mesh.numberofvertices,1);
 md.initialization.vy=zeros(md.mesh.numberofvertices,1);
Index: /issm/trunk-jpl/test/Par/79North.par
===================================================================
--- /issm/trunk-jpl/test/Par/79North.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/79North.par	(revision 18068)
@@ -28,6 +28,7 @@
 
 %Ice shelf melting and surface mass balance 
-md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate(find(md.mask.groundedice_levelset<0.))=0.;
+md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate(find(md.mask.groundedice_levelset<0.))=0.;
+md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
 md.surfaceforcings.mass_balance=15.*ones(md.mesh.numberofvertices,1);
 
Index: /issm/trunk-jpl/test/Par/79North.py
===================================================================
--- /issm/trunk-jpl/test/Par/79North.py	(revision 18067)
+++ /issm/trunk-jpl/test/Par/79North.py	(revision 18068)
@@ -40,6 +40,7 @@
 
 #Ice shelf melting and surface mass balance 
-md.basalforcings.melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
-md.basalforcings.melting_rate[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+md.basalforcings.floatingice_melting_rate[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
+md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
 md.surfaceforcings.mass_balance=15*numpy.ones((md.mesh.numberofvertices,1))
 
Index: /issm/trunk-jpl/test/Par/RoundSheetShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetShelf.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/RoundSheetShelf.par	(revision 18068)
@@ -63,6 +63,7 @@
 %Surface mass balance and basal melting
 md.surfaceforcings.mass_balance=-10.*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1);
-pos=find(md.mask.groundedice_levelset>0.);md.basalforcings.melting_rate(pos)=10.;
+md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
+pos=find(md.mask.groundedice_levelset>0.);md.basalforcings.groundedice_melting_rate(pos)=10.;
+md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
 md.basalforcings.geothermalflux=ones(md.mesh.numberofvertices,1);
 
Index: /issm/trunk-jpl/test/Par/RoundSheetShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetShelf.py	(revision 18067)
+++ /issm/trunk-jpl/test/Par/RoundSheetShelf.py	(revision 18068)
@@ -70,7 +70,8 @@
 #Surface mass balance and basal melting
 md.surfaceforcings.mass_balance=-10.*numpy.ones((md.mesh.numberofvertices,1))
-md.basalforcings.melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
+md.basalforcings.groundedice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
 pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0]
-md.basalforcings.melting_rate[pos]=10.
+md.basalforcings.groudedice_melting_rate[pos]=10.
+md.basalforcings.floatingice_melting_rate=numpy.zeros((md.mesh.numberofvertices,1))
 md.basalforcings.geothermalflux=numpy.ones((md.mesh.numberofvertices,1))
 
Index: /issm/trunk-jpl/test/Par/SquareEISMINT.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareEISMINT.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareEISMINT.par	(revision 18068)
@@ -28,5 +28,6 @@
 disp('      creating surface mass balance');
 md.surfaceforcings.mass_balance=0.2*ones(md.mesh.numberofvertices,1); %0m/a
-md.basalforcings.melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a
+md.basalforcings.floatingice_melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a
+md.basalforcings.groundedice_melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a
 
 disp('      boundary conditions');
Index: /issm/trunk-jpl/test/Par/SquareEISMINT.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareEISMINT.py	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareEISMINT.py	(revision 18068)
@@ -31,5 +31,6 @@
 print "      creating surface mass balance"
 md.surfaceforcings.mass_balance=0.2*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
-md.basalforcings.melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
+md.basalforcings.floatingice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
+md.basalforcings.groundedice_melting_rate=0.*numpy.ones((md.mesh.numberofvertices,1))    #0m/a
 
 print "      boundary conditions"
Index: /issm/trunk-jpl/test/Par/SquareSheetShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetShelf.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareSheetShelf.par	(revision 18068)
@@ -34,5 +34,6 @@
 %Accumulation and melting
 md.surfaceforcings.mass_balance=10.*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate=5.*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate=5.*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate=5.*ones(md.mesh.numberofvertices,1);
 
 %Friction
Index: /issm/trunk-jpl/test/Par/SquareSheetShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetShelf.py	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareSheetShelf.py	(revision 18068)
@@ -45,5 +45,6 @@
 #Accumulation and melting
 md.surfaceforcings.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))
-md.basalforcings.melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
 
 #Friction
Index: /issm/trunk-jpl/test/Par/SquareShelfConstrained.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelfConstrained.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareShelfConstrained.par	(revision 18068)
@@ -31,5 +31,6 @@
 %Surface mass balance and basal melting
 md.surfaceforcings.mass_balance=10*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate=5*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate=5*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate=5*ones(md.mesh.numberofvertices,1);
 
 %Friction
Index: /issm/trunk-jpl/test/Par/SquareShelfConstrained.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 18068)
@@ -42,5 +42,6 @@
 #Surface mass balance and basal melting
 md.surfaceforcings.mass_balance=10.*numpy.ones((md.mesh.numberofvertices,1))
-md.basalforcings.melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+md.basalforcings.groundedice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
+md.basalforcings.floatingice_melting_rate=5.*numpy.ones((md.mesh.numberofvertices,1))
 
 #Friction
Index: /issm/trunk-jpl/test/Par/SquareThermal.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareThermal.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/SquareThermal.par	(revision 18068)
@@ -29,5 +29,6 @@
 disp('      creating surface mass balance');
 md.surfaceforcings.mass_balance=ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a
-md.basalforcings.melting_rate=0.*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a
+md.basalforcings.groundedice_melting_rate=0.*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a
+md.basalforcings.floatingice_melting_rate=0.*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a
 
 %Deal with boundary conditions:
Index: /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 18067)
+++ /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 18068)
@@ -50,5 +50,6 @@
 %Surface mass balance and basal melting
 md.surfaceforcings.mass_balance = 0.3*ones(md.mesh.numberofvertices,1);
-md.basalforcings.melting_rate = md.surfaceforcings.mass_balance;
+md.basalforcings.floatingice_melting_rate = md.surfaceforcings.mass_balance;
+md.basalforcings.groundedice_melting_rate = md.surfaceforcings.mass_balance;
 
 %Friction
